package com.doumee.core.wx; 
 | 
  
 | 
import com.alibaba.fastjson.JSONObject; 
 | 
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 
 | 
import com.doumee.core.utils.Constants; 
 | 
import com.doumee.core.utils.DateUtil; 
 | 
import com.doumee.core.utils.HttpsUtil; 
 | 
import com.doumee.dao.business.model.Bookings; 
 | 
import com.github.xiaoymin.knife4j.core.util.CollectionUtils; 
 | 
import lombok.extern.slf4j.Slf4j; 
 | 
import org.apache.commons.lang3.StringUtils; 
 | 
import org.springframework.stereotype.Component; 
 | 
  
 | 
import java.util.*; 
 | 
  
 | 
/** 
 | 
 * 微信公众号通知 
 | 
 * 
 | 
 * @Author : Rk 
 | 
 * @create 2023/12/27 9:19 
 | 
 */ 
 | 
@Slf4j 
 | 
@Component 
 | 
public class WxPlatNotice { 
 | 
  
 | 
    public void  testSendNotice(List<String> openIds,String token){ 
 | 
        if(CollectionUtils.isNotEmpty(openIds)){ 
 | 
            String postUrL = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+token; 
 | 
            //整体参数map 
 | 
            Map<String, Object> paramMap = new HashMap<String, Object>(); 
 | 
            //消息主题显示相关map 
 | 
            Map<String, Object> dataMap = new HashMap<String, Object>(); 
 | 
            Map<String, Object> const9 = new HashMap<String,Object>(); 
 | 
            const9.put("value","申请待您审批"); 
 | 
            Map<String, Object> thing1 = new HashMap<String,Object>(); 
 | 
            thing1.put("value", "测试名称"); 
 | 
            Map<String, Object> car_number7 = new HashMap<String,Object>(); 
 | 
            car_number7.put("value","皖AP12345"); 
 | 
            Map<String, Object> character_string6 = new HashMap<String,Object>(); 
 | 
            character_string6.put("value","1"); 
 | 
            Map<String, Object> thing4 = new HashMap<String,Object>(); 
 | 
            thing4.put("value","理由"); 
 | 
            dataMap.put("const9",const9); 
 | 
            dataMap.put("thing1",thing1); 
 | 
            dataMap.put("car_number7",car_number7); 
 | 
            dataMap.put("character_string6",character_string6); 
 | 
            dataMap.put("thing4",thing4); 
 | 
            paramMap.put("data", dataMap); 
 | 
            for (String openId:openIds) { 
 | 
                paramMap.clear(); 
 | 
                paramMap.put("template_id", "SPwvgtASkm1aMDBsYhX2wHKdL2JBEGPknDkgniSza2Y"); 
 | 
                paramMap.put("touser", openId); 
 | 
                paramMap.put("data", dataMap); 
 | 
                String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap)); 
 | 
                if(StringUtils.isBlank(response)){ 
 | 
                    log.warn("·==++--·推送微信模板信息:{}·--++==·", "失败"); 
 | 
                }else{ 
 | 
                    JSONObject json = JSONObject.parseObject(response); 
 | 
                    log.warn("·==++--·推送微信模板信息:{}·--++==·", Constants.equalsInteger(json.getInteger("errcode"),Constants.ZERO)?"成功":"失败"+json.getString("errmsg")); 
 | 
                } 
 | 
            } 
 | 
//            log.warn("·==++--·推送微信模板信息:{}·--++==·", msgId != null ? "成功" : "失败"); 
 | 
        } 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 会议室预约通知 
 | 
     * @param bookings 
 | 
     * @param tempId CuoDoxOl6SFwi4NhNgOQgKSJVjDD4VCIaPYlnbv_zdY 
 | 
     * @param token 
 | 
     * @param openIds 
 | 
     */ 
 | 
    public void  sendMeetingBookTemplateNotice(Bookings bookings,String tempId, String token, Set<String> openIds){ 
 | 
        if(CollectionUtils.isNotEmpty(openIds)){ 
 | 
            String postUrL = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+token; 
 | 
            //整体参数map 
 | 
            Map<String, Object> paramMap = new HashMap<String, Object>(); 
 | 
            //消息主题显示相关map 
 | 
            Map<String, Object> dataMap = new HashMap<String, Object>(); 
 | 
            //会议名称 
 | 
            Map<String, Object> thing1 = new HashMap<String,Object>(); 
 | 
            thing1.put("value",bookings.getName()); 
 | 
            //会议时间 
 | 
            Map<String, Object> time2 = new HashMap<String,Object>(); 
 | 
            time2.put("value", DateUtil.getFomartDate(bookings.getStartTime(),"yyyy-MM-dd HH:mm:ss") ); 
 | 
            //会议地点 
 | 
            Map<String, Object> thing3 = new HashMap<String,Object>(); 
 | 
            thing3.put("value",bookings.getRoomName()); 
 | 
            //发起人 
 | 
            Map<String, Object> thing6 = new HashMap<String,Object>(); 
 | 
            thing6.put("value",bookings.getManagerInfo()); 
 | 
  
 | 
            dataMap.put("thing1",thing1); 
 | 
            dataMap.put("time2",time2); 
 | 
            dataMap.put("thing3",thing3); 
 | 
            dataMap.put("thing6",thing6); 
 | 
            paramMap.put("data", dataMap); 
 | 
            for (String openId:openIds) { 
 | 
                paramMap.clear(); 
 | 
                paramMap.put("template_id", tempId); 
 | 
                paramMap.put("touser", openId); 
 | 
                paramMap.put("data", dataMap); 
 | 
                String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap)); 
 | 
                if(StringUtils.isBlank(response)){ 
 | 
                    log.warn("·==++--·推送微信模板信息:{}·--++==·", "失败"); 
 | 
                }else{ 
 | 
                    JSONObject json = JSONObject.parseObject(response); 
 | 
                    log.warn("·==++--·推送微信模板信息:{}·--++==·", Constants.equalsInteger(json.getInteger("errcode"),Constants.ZERO)?"成功":"失败"+json.getString("errmsg")); 
 | 
                } 
 | 
            } 
 | 
        } 
 | 
    } 
 | 
  
 | 
  
 | 
    /** 
 | 
     * 会议室取消通知 
 | 
     * @param bookings 
 | 
     * @param tempId  CiB6vCT2InovAoQfudY-lvzLSV0-3lfz3a5GsSFCzd8 
 | 
     * @param token 
 | 
     * @param openIds 
 | 
     */ 
 | 
    public void  sendMeetingBookCancelTemplateNotice(Bookings bookings,String tempId, String token, Set<String> openIds){ 
 | 
        if(CollectionUtils.isNotEmpty(openIds)){ 
 | 
            String postUrL = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+token; 
 | 
            //整体参数map 
 | 
            Map<String, Object> paramMap = new HashMap<String, Object>(); 
 | 
            //消息主题显示相关map 
 | 
            Map<String, Object> dataMap = new HashMap<String, Object>(); 
 | 
            //会议名称 
 | 
            Map<String, Object> thing1 = new HashMap<String,Object>(); 
 | 
            thing1.put("value",bookings.getName()); 
 | 
            //会议时间 
 | 
            Map<String, Object> time6 = new HashMap<String,Object>(); 
 | 
            time6.put("value", DateUtil.getDate(bookings.getStartTime(),"yyyy-MM-dd HH:mm:ss") ); 
 | 
            //会议地点 
 | 
            Map<String, Object> thing2 = new HashMap<String,Object>(); 
 | 
            thing2.put("value",bookings.getRoomName()); 
 | 
            //预约人员 
 | 
            Map<String, Object> thing4 = new HashMap<String,Object>(); 
 | 
            thing4.put("value",bookings.getManagerInfo()); 
 | 
  
 | 
            dataMap.put("thing1",thing1); 
 | 
            dataMap.put("time6",time6); 
 | 
            dataMap.put("thing2",thing2); 
 | 
            dataMap.put("thing4",thing4); 
 | 
            paramMap.put("data", dataMap); 
 | 
            for (String openId:openIds) { 
 | 
                paramMap.clear(); 
 | 
                paramMap.put("template_id", tempId); 
 | 
                paramMap.put("touser", openId); 
 | 
                paramMap.put("data", dataMap); 
 | 
                String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap)); 
 | 
                if(StringUtils.isBlank(response)){ 
 | 
                    log.warn("·==++--·推送微信模板信息:{}·--++==·", "失败"); 
 | 
                }else{ 
 | 
                    JSONObject json = JSONObject.parseObject(response); 
 | 
                    log.warn("·==++--·推送微信模板信息:{}·--++==·", Constants.equalsInteger(json.getInteger("errcode"),Constants.ZERO)?"成功":"失败"+json.getString("errmsg")); 
 | 
                } 
 | 
            } 
 | 
        } 
 | 
    } 
 | 
  
 | 
  
 | 
  
 | 
  
 | 
} 
 |