From 69a1b3bf45738f048361ee4ccb6bdc64fce35720 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 12 三月 2025 11:31:46 +0800
Subject: [PATCH] 更新
---
server/meeting/meeting_service/src/main/java/com/doumee/core/wx/WxPlatNotice.java | 286 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 286 insertions(+), 0 deletions(-)
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/core/wx/WxPlatNotice.java b/server/meeting/meeting_service/src/main/java/com/doumee/core/wx/WxPlatNotice.java
new file mode 100644
index 0000000..85565d8
--- /dev/null
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/core/wx/WxPlatNotice.java
@@ -0,0 +1,286 @@
+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.dao.SmsEmailMapper;
+import com.doumee.dao.business.model.Bookings;
+import com.doumee.dao.business.model.SmsEmail;
+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.awt.print.Book;
+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","鐨朅P12345");
+ 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 jumpUrl = Constants.getWxUrl(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.WX_REDIRECT_URL).getCode(),
+ Constants.WxUrlParams.MEETING,bookings.getId().toString());
+
+ 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"));
+ }
+ }
+ }
+ }
+
+ public void createBeginWxNotice(SystemDictDataBiz systemDictDataBiz, SmsEmailMapper smsEmailMapper, Bookings bookings, String openId){
+ Map<String,Object> map = new HashMap<>();
+
+ //鏁翠綋鍙傛暟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> thing2 = new HashMap<String,Object>();
+ thing2.put("value",bookings.getRoomName());
+ //浼氳鏃堕棿
+ Map<String, Object> thing3 = new HashMap<String,Object>();
+ thing3.put("value", DateUtil.getFomartDate(bookings.getStartTime(),"yyyy骞碝M鏈坉d鏃H:mm")+"鑷�"+DateUtil.getFomartDate(bookings.getEndTime(),"HH:mm"));
+
+ Integer earlyMin= Integer.valueOf(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.EARLY_START_WX_NOTICE).getCode());
+
+ Map<String, Object> thing5 = new HashMap<String,Object>();
+ thing5.put("value","鎮ㄦ墍棰勫畾鐨勪細璁鍗冲皢鍦�"+earlyMin+"鍒嗛挓鍚庡紑濮嬶紝璇峰噯鏃跺弬鍔�");
+
+ dataMap.put("thing1",thing1);
+ dataMap.put("thing2",thing2);
+ dataMap.put("thing3",thing3);
+ dataMap.put("thing5",thing5);
+ paramMap.put("data", dataMap);
+
+ paramMap.put("template_id", "xGFnbHwe8W9sIGlD75XROrbKpzV-6HSRqfRHRfxRR6k");
+ paramMap.put("touser", openId);
+ paramMap.put("data", dataMap);
+
+ smsEmailMapper.delete(new QueryWrapper<SmsEmail>().lambda()
+ .eq(SmsEmail::getObjType,Constants.FIVE.toString())
+ .eq(SmsEmail::getStatus,Constants.TWO)
+ .eq(SmsEmail::getType,Constants.TWO)
+ .eq(SmsEmail::getObjId,bookings.getId())
+ );
+
+ SmsEmail smsEmail = new SmsEmail();
+ smsEmail.setPhone(openId);
+ smsEmail.setRemark("绛夊緟鍙戦��");
+ smsEmail.setStatus(Constants.TWO);
+ smsEmail.setIsdeleted(Constants.ZERO);
+ smsEmail.setType(Constants.TWO);
+ smsEmail.setObjType(Constants.FIVE.toString());
+ smsEmail.setObjId(bookings.getId());
+ smsEmail.setCreateDate(new Date());
+ smsEmail.setTitle("浼氳鍗冲皢寮�濮嬫彁閱�");
+ smsEmail.setInfo(DateUtil.getFomartDate(DateUtil.getXMinuteAfterDate(bookings.getStartTime(),-earlyMin),"yyyy-MM-dd HH:mm:ss"));
+ smsEmail.setContent(JSONObject.toJSONString(map));
+ }
+
+
+ public void createEndWxNotice(SystemDictDataBiz systemDictDataBiz, SmsEmailMapper smsEmailMapper, Bookings bookings, String openId){
+ Map<String,Object> map = new HashMap<>();
+
+ //鏁翠綋鍙傛暟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> thing6 = new HashMap<String,Object>();
+ thing6.put("value",bookings.getRoomName());
+ //浼氳鏃堕棿
+ Map<String, Object> date4 = new HashMap<String,Object>();
+ date4.put("value", DateUtil.getFomartDate(bookings.getEndTime(),"yyyy骞碝M鏈坉d鏃H:mm"));
+
+ Map<String, Object> thing7 = new HashMap<String,Object>();
+ thing7.put("value","鎮ㄧ殑浼氳鍗冲皢缁撴潫锛屽闇�缁х画浣跨敤璇峰嵆浣跨画璁�");
+
+ dataMap.put("thing1",thing1);
+ dataMap.put("thing6",thing6);
+ dataMap.put("date4",date4);
+ dataMap.put("thing7",thing7);
+ paramMap.put("data", dataMap);
+
+ paramMap.put("template_id", "vdIPfwvDCrXOHgQnB6sdE1lGEsJm1oUURfLx6SoLdk0");
+ paramMap.put("touser", openId);
+ paramMap.put("data", dataMap);
+
+ smsEmailMapper.delete(new QueryWrapper<SmsEmail>().lambda()
+ .eq(SmsEmail::getObjType,Constants.FIVE.toString())
+ .eq(SmsEmail::getStatus,Constants.TWO)
+ .eq(SmsEmail::getType,Constants.TWO)
+ .eq(SmsEmail::getObjId,bookings.getId())
+ );
+
+ SmsEmail smsEmail = new SmsEmail();
+ smsEmail.setPhone(openId);
+ smsEmail.setRemark("绛夊緟鍙戦��");
+ smsEmail.setStatus(Constants.TWO);
+ smsEmail.setIsdeleted(Constants.ZERO);
+ smsEmail.setType(Constants.TWO);
+ smsEmail.setObjType(Constants.FIVE.toString());
+ smsEmail.setObjId(bookings.getId());
+ smsEmail.setCreateDate(new Date());
+ smsEmail.setTitle("浼氳鍗冲皢寮�濮嬫彁閱�");
+ Integer endMin= Integer.valueOf(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.OVER_NOTICE_WX).getCode());
+ smsEmail.setInfo(DateUtil.getFomartDate(DateUtil.getXMinuteAfterDate(bookings.getEndTime(),-endMin),"yyyy-MM-dd HH:mm:ss"));
+ smsEmail.setContent(JSONObject.toJSONString(map));
+ }
+
+
+
+ /**
+ * 浼氳瀹ゅ彇娑堥�氱煡
+ * @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 jumpUrl = Constants.getWxUrl(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.WX_REDIRECT_URL).getCode(),
+ Constants.WxUrlParams.MEETING,bookings.getId().toString());
+
+
+ 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"));
+ }
+ }
+ }
+ }
+
+
+
+
+}
--
Gitblit v1.9.3