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 ? "成功" : "失败"); 
 | 
  
 | 
  
 | 
        } 
 | 
  
 | 
    } 
 | 
  
 | 
  
 | 
  
 | 
  
 | 
} 
 |