| package com.doumee.core.wx.wxPlat; | 
|   | 
| import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
| import com.doumee.core.utils.Constants; | 
| import com.doumee.dao.business.WxNoticeConfigMapper; | 
| import com.doumee.dao.business.model.Visits; | 
| import com.doumee.dao.business.model.WxNoticeConfig; | 
| import com.github.xiaoymin.knife4j.core.util.CollectionUtils; | 
| import lombok.extern.slf4j.Slf4j; | 
| import me.chanjar.weixin.common.error.WxErrorException; | 
| import me.chanjar.weixin.mp.api.WxMpService; | 
| import me.chanjar.weixin.mp.bean.template.WxMpTemplateData; | 
| import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage; | 
| import org.apache.commons.lang3.StringUtils; | 
| import org.springframework.stereotype.Component; | 
|   | 
| import java.util.List; | 
| import java.util.Objects; | 
|   | 
| /** | 
|  * 微信公众号通知 | 
|  * | 
|  * @Author : Rk | 
|  * @create 2023/12/27 9:19 | 
|  */ | 
| @Slf4j | 
| @Component | 
| public class WxPlatNotice { | 
|   | 
|     /** | 
|      * 微信公众号API的Service | 
|      */ | 
|     private final WxMpService wxMpService; | 
|   | 
|     public WxPlatNotice(WxMpService wxMpService) { | 
|         this.wxMpService = wxMpService; | 
|     } | 
|   | 
|   | 
|     /** | 
|      * 访客业务通知接口 | 
|      */ | 
|     public Boolean  sendVisitAuditTemplateNotice(Visits visits,String prefix,String tempId){ | 
|         if(StringUtils.isBlank(visits.getOpenid())){ | 
|             return false; | 
|         } | 
|         WxMpTemplateMessage templateMessage =  WxMpTemplateMessage.builder() | 
|                 .toUser(visits.getOpenid()) | 
|                 .templateId(tempId) | 
|                 .url(prefix + visits.getId()) | 
|                 .build(); | 
|   | 
|   | 
|         String thing1 = "待审批"; | 
|         if(visits.getStatus()==2){ | 
|             thing1 = "审核通过"; | 
|         }else if(visits.getStatus()==3){ | 
|             thing1 = "审核不通过"; | 
|         }else if(visits.getStatus()==5){ | 
|             thing1 = "设备授权成功"; | 
|         }else if(visits.getStatus()==6){ | 
|             thing1 = "设备授权未成功"; | 
|         } | 
|         // 添加模板数据 | 
|         templateMessage.addData(new WxMpTemplateData("thing1", thing1)) | 
|                 .addData(new WxMpTemplateData("thing2", visits.getName())) | 
|                 .addData(new WxMpTemplateData("phone_number6", visits.getPhone())); | 
|         String msgId = null; | 
|         try { | 
|             // 发送模板消息 | 
|             msgId = wxMpService.getTemplateMsgService().sendTemplateMsg(templateMessage); | 
|         } catch (WxErrorException e) { | 
|             e.printStackTrace(); | 
|         } | 
|         log.warn("·==++--·推送微信模板信息:{}·--++==·", msgId != null ? "成功" : "失败"); | 
|         return msgId != null; | 
|     } | 
|   | 
|   | 
|   | 
|     /** | 
|      * 访客业务通知 | 
|      */ | 
|     public void  sendVisitTemplateNotice(WxNoticeConfigMapper wxNoticeConfigMapper,Visits visits,String objCode, String prefix, String tempId, List<String> openIds){ | 
|         if(CollectionUtils.isNotEmpty(openIds)){ | 
|            WxNoticeConfig wxNoticeConfig =  wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.visit) | 
|                     .eq(WxNoticeConfig::getObjCode,objCode) | 
|                            .eq(WxNoticeConfig::getStatus, Constants.ZERO) | 
|                     .last(" limit 1") | 
|             ); | 
|            if(Objects.isNull(wxNoticeConfig)){ | 
|                return; | 
|            } | 
|             WxMpTemplateMessage templateMessage =  WxMpTemplateMessage.builder() | 
|                     .toUser(visits.getOpenid()) | 
|                     .templateId(tempId) | 
|                     .url(prefix + visits.getId()) | 
|                     .build(); | 
|   | 
|             templateMessage.addData(new WxMpTemplateData("thing1", visits.getName())) | 
|                     .addData(new WxMpTemplateData("car_number7", StringUtils.isBlank(visits.getCarNos())?visits.getCarNos():"-")) | 
|                     .addData(new WxMpTemplateData("character_string6", Constants.equalsInteger(visits.getMemberNum(),Constants.ZERO)?Constants.ONE+"":visits.getMemberNum().toString())) | 
|                     .addData(new WxMpTemplateData("const9", wxNoticeConfig.getTitile())) | 
|                     .addData(new WxMpTemplateData("thing4", visits.getReason())) | 
|                     ; | 
|             String msgId = null; | 
|             try { | 
|                 for (String openId:openIds) { | 
|                     templateMessage.setToUser(openId); | 
|                 } | 
|                 // 发送模板消息 | 
|                 msgId = wxMpService.getTemplateMsgService().sendTemplateMsg(templateMessage); | 
|             } catch (WxErrorException e) { | 
|                 e.printStackTrace(); | 
|             } | 
|             log.warn("·==++--·推送微信模板信息:{}·--++==·", msgId != null ? "成功" : "失败"); | 
|   | 
|   | 
|         } | 
|   | 
|     } | 
|   | 
|   | 
|   | 
|   | 
| } |