package com.doumee.core.wx;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.doumee.biz.system.SystemDictDataBiz;
|
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(SystemDictDataBiz systemDictDataBiz,Bookings bookings,String tempId, String token, Set<String> openIds){
|
if(CollectionUtils.isNotEmpty(openIds)){
|
String url = Constants.getWxUrl(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.WX_REDIRECT_URL).getCode(),
|
Constants.WxUrlParams.MEETING,bookings.getId().toString());
|
String jumpUrl = systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_QRCODE_PREFIX).getCode().replace( "${param}", url);
|
|
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("url", jumpUrl);
|
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(SystemDictDataBiz systemDictDataBiz,Bookings bookings, String tempId, String token, Set<String> openIds){
|
if(CollectionUtils.isNotEmpty(openIds)){
|
String url = Constants.getWxUrl(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.WX_REDIRECT_URL).getCode(),
|
Constants.WxUrlParams.MEETING,bookings.getId().toString());
|
String jumpUrl = systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_QRCODE_PREFIX).getCode().replace( "${param}", url);
|
|
|
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.getFomartDate(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);
|
for (String openId:openIds) {
|
paramMap.clear();
|
paramMap.put("url", jumpUrl);
|
paramMap.put("data", dataMap);
|
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"));
|
}
|
}
|
}
|
}
|
|
|
|
|
}
|