From cb221a76856b945b4501b6628cebe1815303f2f3 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期三, 22 十月 2025 08:47:11 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java |  387 ++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 328 insertions(+), 59 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java
index 4f6a7b5..c46e1bf 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java
@@ -1,25 +1,21 @@
 package com.doumee.core.wx.wxPlat;
 
-import cn.emay.sdk.util.json.gson.JsonObject;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.core.haikang.model.HKConstants;
+import com.doumee.core.haikang.model.param.BaseResponse;
+import com.doumee.core.haikang.service.HKService;
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.DateUtil;
-import com.doumee.core.utils.Http;
 import com.doumee.core.utils.HttpsUtil;
-import com.doumee.dao.business.VisitsMapper;
 import com.doumee.dao.business.WxNoticeConfigMapper;
 import com.doumee.dao.business.model.*;
+import com.doumee.dao.system.model.SystemDictData;
+import com.doumee.service.business.third.model.ApiResponse;
 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.apache.commons.lang3.time.DateFormatUtils;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.*;
@@ -74,6 +70,20 @@
         }
     }
 
+
+
+    public String getToken (SystemDictDataBiz systemDictDataBiz){
+        String token = null;
+        BaseResponse<String> result = HKService.wxAccessToken(systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.HK_WXTOKEN_CONFIGID).getCode(),
+                systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.HK_WXTOKEN_TAGID).getCode());
+        log.warn("鑾峰彇娴峰悍寰俊token淇℃伅", JSONObject.toJSONString(result));
+        if(StringUtils.equals(result.getCode(), HKConstants.RESPONSE_SUCCEE) ){
+            token= result.getData();
+        }
+        return token;
+    }
+
+
     /**
      * 璁垮鐢宠/鎶ュ涓氬姟閫氱煡
      * @param wxNoticeConfigMapper
@@ -81,7 +91,11 @@
      * @param objCode  visitUpload,visitAuditSuccess,visitWaitAudit锛寁isitWaitAudit,visitReportUpload锛寁isitReportAuditSuccess锛寁isitReportAuditFail, visitReportAuditSuccess
      * @param openIds
      */
-    public void  sendVisitTemplateNotice(WxNoticeConfigMapper wxNoticeConfigMapper, Visits visits, String objCode, String token, List<String> openIds){
+    public void  sendVisitTemplateNotice(SystemDictDataBiz systemDictDataBiz,WxNoticeConfigMapper wxNoticeConfigMapper, Visits visits, String objCode, List<String> openIds){
+        String token = this.getToken(systemDictDataBiz);
+        if(StringUtils.isBlank(token)){
+            return;
+        }
         try{
             if(CollectionUtils.isNotEmpty(openIds)){
                 WxNoticeConfig wxNoticeConfig =  wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda()
@@ -93,6 +107,19 @@
                 if(Objects.isNull(wxNoticeConfig)){
                     return;
                 }
+                Constants.WxUrlParams wxUrlParams =  Constants.WxUrlParams.VISIT_REPORT_RECORD_USER;
+                if(!Constants.equalsInteger(visits.getType(),Constants.TWO)){
+                    if(!objCode.equals(WxPlatConstants.visitContent.visitWaitAudit)){
+                        wxUrlParams = Constants.WxUrlParams.VISIT_RECORD_VISIT;
+                    }else{
+                        wxUrlParams = Constants.WxUrlParams.VISIT_RECORD_USER;
+                    }
+                }
+                String jumpUrl = Constants.getWxUrl(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.WX_REDIRECT_URL).getCode(),
+                        wxUrlParams
+                        ,visits.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>();
@@ -106,7 +133,7 @@
                 car_number7.put("value",StringUtils.isNotBlank(visits.getCarNos())?visits.getCarNos():"鏃�");
                 dataMap.put("car_number7",car_number7);
                 Map<String, Object> character_string6 = new HashMap<String,Object>();
-                character_string6.put("value","1");
+                character_string6.put("value",Constants.equalsInteger(visits.getType(),Constants.TWO)?visits.getMemberNum()+"":"1");
                 Map<String, Object> thing4 = new HashMap<String,Object>();
                 thing4.put("value",visits.getReason());
                 dataMap.put("const9",const9);
@@ -116,10 +143,12 @@
                 paramMap.put("data", dataMap);
                 for (String openId:openIds) {
                     paramMap.clear();
+                    paramMap.put("url", jumpUrl);
                     paramMap.put("template_id", wxNoticeConfig.getTempId());
                     paramMap.put("touser", openId);
                     paramMap.put("data", dataMap);
                     String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap));
+                    log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭烦杞湴鍧�锛歿}路--++==路", jumpUrl);
                     if(StringUtils.isBlank(response)){
                         log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", "澶辫触");
                     }else{
@@ -141,10 +170,14 @@
      * @param objCode hiddenDangerUpload
      * @param openIds
      */
-    public void  sendHiddenDangerUploadTemplateNotice(WxNoticeConfigMapper wxNoticeConfigMapper, HiddenDanger hiddenDanger, String objCode,String token, List<String> openIds){
+    public void  sendHiddenDangerUploadTemplateNotice(SystemDictDataBiz systemDictDataBiz,WxNoticeConfigMapper wxNoticeConfigMapper, HiddenDanger hiddenDanger, String objCode,String token, List<String> openIds){
+        token = this.getToken(systemDictDataBiz);
+        if(StringUtils.isBlank(token)){
+            return;
+        }
         try{
             if(CollectionUtils.isNotEmpty(openIds)){
-                WxNoticeConfig wxNoticeConfig =  wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.visit)
+                WxNoticeConfig wxNoticeConfig =  wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.hiddenDanger)
                         .eq(WxNoticeConfig::getObjCode,objCode)
                         .eq(WxNoticeConfig::getStatus, Constants.ZERO)
                         .last(" limit 1")
@@ -152,6 +185,10 @@
                 if(Objects.isNull(wxNoticeConfig)){
                     return;
                 }
+                String jumpUrl = Constants.getWxUrl(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.WX_REDIRECT_URL).getCode(),
+                        Constants.WxUrlParams.HIDDEN_DANGER,hiddenDanger.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>();
@@ -168,18 +205,19 @@
                 thing12.put("value",hiddenDanger.getMemberName());
                 //鎻愭姤鏃堕棿
                 Map<String, Object> time11 = new HashMap<String,Object>();
-                time11.put("value", DateUtil.getDate(hiddenDanger.getCreateDate(),"yyyy骞碝M鏈坉d鏃� HH:mm:ss") );
+                time11.put("value", DateUtil.getFomartDate(hiddenDanger.getCreateDate(),"yyyy骞碝M鏈坉d鏃� HH:mm:ss") );
                 dataMap.put("thing9",thing9);
                 dataMap.put("thing1",thing1);
                 dataMap.put("thing12",thing12);
                 dataMap.put("time11",time11);
-                paramMap.put("template_id", wxNoticeConfig.getTempId());
-                paramMap.put("data", dataMap);
                 for (String openId:openIds) {
                     paramMap.clear();
+                    paramMap.put("template_id", wxNoticeConfig.getTempId());
+                    paramMap.put("url", jumpUrl);
                     paramMap.put("touser", openId);
                     paramMap.put("data", dataMap);
                     String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap));
+                    log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭烦杞湴鍧�锛歿}", jumpUrl);
                     if(StringUtils.isBlank(response)){
                         log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", "澶辫触");
                     }else{
@@ -203,10 +241,14 @@
      * @param objCode hiddenDangerDeal
      * @param openIds
      */
-    public void  sendHiddenDangerDealTemplateNotice(WxNoticeConfigMapper wxNoticeConfigMapper, HiddenDanger hiddenDanger, String objCode,String token, List<String> openIds){
+    public void  sendHiddenDangerDealTemplateNotice(SystemDictDataBiz systemDictDataBiz,WxNoticeConfigMapper wxNoticeConfigMapper, HiddenDanger hiddenDanger, String objCode,String token, List<String> openIds){
+        token = this.getToken(systemDictDataBiz);
+        if(StringUtils.isBlank(token)){
+            return;
+        }
         try{
             if(CollectionUtils.isNotEmpty(openIds)){
-                WxNoticeConfig wxNoticeConfig =  wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.visit)
+                WxNoticeConfig wxNoticeConfig =  wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.hiddenDanger)
                         .eq(WxNoticeConfig::getObjCode,objCode)
                         .eq(WxNoticeConfig::getStatus, Constants.ZERO)
                         .last(" limit 1")
@@ -214,6 +256,10 @@
                 if(Objects.isNull(wxNoticeConfig)){
                     return;
                 }
+                String jumpUrl = Constants.getWxUrl(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.WX_REDIRECT_URL).getCode(),
+                        Constants.WxUrlParams.HIDDEN_DANGER,hiddenDanger.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>();
@@ -230,22 +276,23 @@
                 thing13.put("value",Constants.equalsInteger(hiddenDanger.getStatus(),Constants.ONE)?"闅愭偅宸叉暣鏀�":"闅愭偅宸查��鍥�");
                 //鎻愪氦浜�
                 Map<String, Object> thing10 = new HashMap<String,Object>();
-                thing10.put("value",hiddenDanger.getCheckorName());
+                thing10.put("value",hiddenDanger.getMemberName());
                 //閫氱煡鏃堕棿
                 Map<String, Object> time16 = new HashMap<String,Object>();
-                time16.put("value", DateUtil.getDate(hiddenDanger.getDealTime(),"yyyy骞碝M鏈坉d鏃� HH:mm:ss") );
+                time16.put("value", DateUtil.getFomartDate(hiddenDanger.getDealTime(),"yyyy骞碝M鏈坉d鏃� HH:mm:ss") );
                 dataMap.put("thing17",thing17);
                 dataMap.put("thing3",thing3);
                 dataMap.put("thing13",thing13);
                 dataMap.put("thing10",thing10);
                 dataMap.put("time16",time16);
-                paramMap.put("template_id", wxNoticeConfig.getTempId());
-                paramMap.put("data", dataMap);
                 for (String openId:openIds) {
                     paramMap.clear();
+                    paramMap.put("url", jumpUrl);
+                    paramMap.put("template_id", wxNoticeConfig.getTempId());
                     paramMap.put("touser", openId);
                     paramMap.put("data", dataMap);
                     String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap));
+                    log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭烦杞湴鍧�锛歿}", jumpUrl);
                     if(StringUtils.isBlank(response)){
                         log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", "澶辫触");
                     }else{
@@ -268,11 +315,15 @@
      * @param openIds
      * @param sendType 0=鐢宠浜猴紱1=瀹℃壒浜�
      */
-    public void  sendCarUseBookTemplateNotice(WxNoticeConfigMapper wxNoticeConfigMapper, CarUseBook carUseBook, String objCode,String token,
+    public void  sendCarUseBookTemplateNotice(SystemDictDataBiz systemDictDataBiz,WxNoticeConfigMapper wxNoticeConfigMapper, CarUseBook carUseBook, String objCode,
                                               List<String> openIds,Integer sendType){
+        String token = this.getToken(systemDictDataBiz);
+        if(StringUtils.isBlank(token)){
+            return;
+        }
         try {
             if(CollectionUtils.isNotEmpty(openIds)){
-                WxNoticeConfig wxNoticeConfig =  wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.visit)
+                WxNoticeConfig wxNoticeConfig =  wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.carUse)
                         .eq(WxNoticeConfig::getObjCode,objCode)
                         .eq(WxNoticeConfig::getStatus, Constants.ZERO)
                         .last(" limit 1")
@@ -280,6 +331,9 @@
                 if(Objects.isNull(wxNoticeConfig)){
                     return;
                 }
+                String jumpUrl = Constants.getWxUrl(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.WX_REDIRECT_URL).getCode(),
+                        Constants.WxUrlParams.CAR_USE,carUseBook.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>();
@@ -289,7 +343,7 @@
                 Map<String, Object> thing3 = new HashMap<String,Object>();
                 if(Constants.equalsInteger(sendType,Constants.ONE)){
                     thing3.put("value","鐢宠寰呮偍瀹℃壒");
-                }else{
+                }else if(Constants.equalsInteger(sendType,Constants.ZERO)){
                     if(Constants.equalsInteger(carUseBook.getStatus(),Constants.ZERO)){
                         thing3.put("value","鐢宠鎻愪氦鎴愬姛寰呭鏍�");
                     }else if(Constants.equalsInteger(carUseBook.getStatus(),Constants.TWO)){
@@ -297,6 +351,8 @@
                     }else{
                         thing3.put("value","鐢宠宸茶椹冲洖");
                     }
+                }else{
+                    thing3.put("value","鐢宠宸茶鍙栨秷");
                 }
                 //鐢宠浜�
                 Map<String, Object> thing1 = new HashMap<String,Object>();
@@ -315,13 +371,15 @@
                 dataMap.put("thing1",thing1);
                 dataMap.put("thing11",thing11);
                 dataMap.put("time14",time14);
-                paramMap.put("template_id", wxNoticeConfig.getTempId());
                 paramMap.put("data", dataMap);
                 for (String openId:openIds) {
                     paramMap.clear();
+                    paramMap.put("url", jumpUrl);
+                    paramMap.put("template_id", wxNoticeConfig.getTempId());
                     paramMap.put("touser", openId);
                     paramMap.put("data", dataMap);
                     String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap));
+                    log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}", jumpUrl);
                     if(StringUtils.isBlank(response)){
                         log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", "澶辫触");
                     }else{
@@ -345,11 +403,15 @@
      * @param openIds
      * @param sendType 0=鐢宠浜猴紱1=瀹℃壒浜�
      */
-    public void  sendPlatformBookTemplateNotice(WxNoticeConfigMapper wxNoticeConfigMapper, PlatformBooks platformBooks, String objCode,String token,
-                                       List<String> openIds,Integer sendType){
+    public void  sendPlatformBookTemplateNotice(SystemDictDataBiz systemDictDataBiz, WxNoticeConfigMapper wxNoticeConfigMapper, PlatformBooks platformBooks, String objCode,
+                                                List<String> openIds, Integer sendType){
+        String token = this.getToken(systemDictDataBiz);
+        if(StringUtils.isBlank(token)){
+            return;
+        }
         try{
             if(CollectionUtils.isNotEmpty(openIds)){
-                WxNoticeConfig wxNoticeConfig =  wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.visit)
+                WxNoticeConfig wxNoticeConfig =  wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.platformBook)
                         .eq(WxNoticeConfig::getObjCode,objCode)
                         .eq(WxNoticeConfig::getStatus, Constants.ZERO)
                         .last(" limit 1")
@@ -357,6 +419,12 @@
                 if(Objects.isNull(wxNoticeConfig)){
                     return;
                 }
+                Constants.WxUrlParams  wxUrlParams = Constants.WxUrlParams.PLATFORM_BOOK_DRIVER;
+                if(!objCode.equals(WxPlatConstants.platformBookContent.platformBookUpload)){
+                    wxUrlParams = Constants.WxUrlParams.PLATFORM_BOOK;
+                }
+                String jumpUrl = Constants.getWxUrl(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.WX_REDIRECT_URL).getCode(),
+                        wxUrlParams,platformBooks.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>();
@@ -372,7 +440,7 @@
                     }else if(Constants.equalsInteger(platformBooks.getStatus(),Constants.TWO)){
                         const9.put("value","鐢宠宸插鏍搁�氳繃");
                     }else{
-                        const9.put("value","鐢宠宸茶椹冲洖");
+                        const9.put("value","鐢宠宸插鏍搁┏鍥�");
                     }
                 }
                 //杞︾墝鍙�
@@ -386,19 +454,20 @@
                 thing8.put("value", platformBooks.getDriverName());
                 //鏃堕棿
                 Map<String, Object> time4 = new HashMap<String,Object>();
-                time4.put("value", DateUtil.getDate(platformBooks.getArriveDate(),"yyyy骞碝M鏈坉d鏃� HH:mm:ss") );
+                time4.put("value", DateUtil.getFomartDate(platformBooks.getArriveDate(),"yyyy骞碝M鏈坉d鏃� HH:mm:ss") );
                 dataMap.put("const9",const9);
                 dataMap.put("car_number3",car_number3);
                 dataMap.put("phrase4",phrase4);
                 dataMap.put("thing8",thing8);
-                dataMap.put("time4",time4);
-                paramMap.put("data", dataMap);
+                dataMap.put("time2",time4);
                 for (String openId:openIds) {
                     paramMap.clear();
+                    paramMap.put("url", jumpUrl);
                     paramMap.put("template_id", wxNoticeConfig.getTempId());
                     paramMap.put("touser", openId);
                     paramMap.put("data", dataMap);
                     String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap));
+                    log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}", JSONObject.toJSONString(paramMap));
                     if(StringUtils.isBlank(response)){
                         log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", "澶辫触");
                     }else{
@@ -421,8 +490,12 @@
      * @param objCode   platformJobNewJob
      * @param openIds
      */
-    public void  sendWmsTemplateNotice(WxNoticeConfigMapper wxNoticeConfigMapper, PlatformJob platformJob, String objCode,String token,
+    public void  sendWmsTemplateNotice(SystemDictDataBiz systemDictDataBiz, WxNoticeConfigMapper wxNoticeConfigMapper, PlatformJob platformJob, String objCode,
                                                List<String> openIds){
+        String token = this.getToken(systemDictDataBiz);
+        if(StringUtils.isBlank(token)){
+            return;
+        }
         try{
             if(CollectionUtils.isNotEmpty(openIds)){
                 WxNoticeConfig wxNoticeConfig =  wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.visit)
@@ -433,6 +506,10 @@
                 if(Objects.isNull(wxNoticeConfig)){
                     return;
                 }
+
+                String jumpUrl = Constants.getWxUrl(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.WX_REDIRECT_URL).getCode(),
+                        Constants.WxUrlParams.PLATFORM_JOB_DRIVER,platformJob.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>();
@@ -446,13 +523,14 @@
                 thing3.put("value", platformJob.getDriverName());
                 //涓嬭揪鏃堕棿
                 Map<String, Object> time4 = new HashMap<String,Object>();
-                time4.put("value", DateUtil.getDate(platformJob.getCreateDate(),"yyyy骞碝M鏈坉d鏃� HH:mm:ss") );
+                time4.put("value", DateUtil.getFomartDate(platformJob.getCreateDate(),"yyyy骞碝M鏈坉d鏃� HH:mm:ss") );
                 dataMap.put("character_string1",character_string1);
                 dataMap.put("thing3",thing3);
                 dataMap.put("time4",time4);
                 paramMap.put("data", dataMap);
                 for (String openId:openIds) {
                     paramMap.clear();
+                    paramMap.put("url",jumpUrl);
                     paramMap.put("template_id", wxNoticeConfig.getTempId());
                     paramMap.put("touser", openId);
                     paramMap.put("data", dataMap);
@@ -478,11 +556,15 @@
      * @param objCode   platformJobNewJob
      * @param openIds
      */
-    public void  sendWmsCancelTemplateNotice(WxNoticeConfigMapper wxNoticeConfigMapper, PlatformJob platformJob, String objCode,String token,
+    public void  sendWmsCancelTemplateNotice(SystemDictDataBiz systemDictDataBiz,WxNoticeConfigMapper wxNoticeConfigMapper, PlatformJob platformJob, String objCode,
                                        List<String> openIds){
+        String token = this.getToken(systemDictDataBiz);
+        if(StringUtils.isBlank(token)){
+            return;
+        }
         try{
             if(CollectionUtils.isNotEmpty(openIds)){
-                WxNoticeConfig wxNoticeConfig =  wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.visit)
+                WxNoticeConfig wxNoticeConfig =  wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.platformJob)
                         .eq(WxNoticeConfig::getObjCode,objCode)
                         .eq(WxNoticeConfig::getStatus, Constants.ZERO)
                         .last(" limit 1")
@@ -490,6 +572,10 @@
                 if(Objects.isNull(wxNoticeConfig)){
                     return;
                 }
+
+                String jumpUrl = Constants.getWxUrl(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.WX_REDIRECT_URL).getCode(),
+                        Constants.WxUrlParams.PLATFORM_JOB_DRIVER,platformJob.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>();
@@ -500,12 +586,13 @@
                 character_string1.put("value",platformJob.getBillCode());
                 //鍙栨秷鏃堕棿
                 Map<String, Object> time6 = new HashMap<String,Object>();
-                time6.put("value", DateUtil.getDate(new Date(),"yyyy骞碝M鏈坉d鏃� HH:mm:ss") );
+                time6.put("value", DateUtil.getFomartDate(new Date(),"yyyy骞碝M鏈坉d鏃� HH:mm:ss") );
                 dataMap.put("character_string1",character_string1);
                 dataMap.put("time6",time6);
                 paramMap.put("data", dataMap);
                 for (String openId:openIds) {
                     paramMap.clear();
+                    paramMap.put("url",jumpUrl);
                     paramMap.put("template_id", wxNoticeConfig.getTempId());
                     paramMap.put("touser", openId);
                     paramMap.put("data", dataMap);
@@ -533,11 +620,86 @@
      * @param token
      * @param openIds
      */
-    public void  sendPlatformJobTemplateNotice(WxNoticeConfigMapper wxNoticeConfigMapper, PlatformJob platformJob, String objCode,String token,
+    public void  sendPlatformJobTemplateNotice(SystemDictDataBiz systemDictDataBiz,WxNoticeConfigMapper wxNoticeConfigMapper, PlatformJob platformJob, String objCode,
                                        List<String> openIds){
+        String token = this.getToken(systemDictDataBiz);
+        if(StringUtils.isBlank(token)){
+            return;
+        }
         try{
             if(CollectionUtils.isNotEmpty(openIds)){
-                WxNoticeConfig wxNoticeConfig =  wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.visit)
+                WxNoticeConfig wxNoticeConfig =  wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.platformJob)
+                        .eq(WxNoticeConfig::getObjCode,objCode)
+                        .eq(WxNoticeConfig::getStatus, Constants.ZERO)
+                        .last(" limit 1")
+                );
+                if(Objects.isNull(wxNoticeConfig)){
+                    return;
+                }
+
+                String jumpUrl = Constants.getWxUrl(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.WX_REDIRECT_URL).getCode(),
+                        Constants.WxUrlParams.PLATFORM_JOB_DRIVER,platformJob.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> const6 = new HashMap<String,Object>();
+                const6.put("value",wxNoticeConfig.getTitile());
+                //杞︾墝鍙�
+                Map<String, Object> car_number3 = new HashMap<String,Object>();
+                car_number3.put("value",platformJob.getCarCodeFront());
+                //鏈堝彴鍙�
+                Map<String, Object> thing9 = new HashMap<String,Object>();
+                thing9.put("value", platformJob.getPlatformName());
+                //鏃堕棿
+                Map<String, Object> time4 = new HashMap<String,Object>();
+                time4.put("value", DateUtil.getFomartDate(new Date(),"yyyy骞碝M鏈坉d鏃� HH:mm:ss") );
+                dataMap.put("const6",const6);
+                dataMap.put("car_number3",car_number3);
+                dataMap.put("thing9",thing9);
+                dataMap.put("time4",time4);
+                for (String openId:openIds) {
+                    paramMap.clear();
+                    paramMap.put("url",jumpUrl);
+                    paramMap.put("template_id", wxNoticeConfig.getTempId());
+                    paramMap.put("touser", openId);
+                    paramMap.put("data", dataMap);
+                    String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap));
+                    log.error("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭唴瀹癸細{}", JSONObject.toJSONString(paramMap));
+                    if(StringUtils.isBlank(response)){
+                        log.error("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", "澶辫触");
+                    }else{
+                        JSONObject json = JSONObject.parseObject(response);
+                        log.error("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", Constants.equalsInteger(json.getInteger("errcode"),Constants.ZERO)?"鎴愬姛":"澶辫触"+json.getString("errmsg"));
+                    }
+                }
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+
+
+    /**
+     * 鏈堝彴绛惧埌閫氱煡
+     * @param wxNoticeConfigMapper
+     * @param platformJob
+     * @param objCode
+     * @param token
+     * @param openIds
+     */
+    public void  sendPlatformJobSignNotice(SystemDictDataBiz systemDictDataBiz,WxNoticeConfigMapper wxNoticeConfigMapper, PlatformJob platformJob, String objCode,
+                                               List<String> openIds){
+        String token = this.getToken(systemDictDataBiz);
+        if(StringUtils.isBlank(token)){
+            return;
+        }
+        try{
+            if(CollectionUtils.isNotEmpty(openIds)){
+                WxNoticeConfig wxNoticeConfig =  wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.platformJob)
                         .eq(WxNoticeConfig::getObjCode,objCode)
                         .eq(WxNoticeConfig::getStatus, Constants.ZERO)
                         .last(" limit 1")
@@ -550,45 +712,152 @@
                 Map<String, Object> paramMap = new HashMap<String, Object>();
                 //娑堟伅涓婚鏄剧ず鐩稿叧map
                 Map<String, Object> dataMap = new HashMap<String, Object>();
-                //鏈堝彴閫氱煡
-                Map<String, Object> const6 = new HashMap<String,Object>();
-                const6.put("value",wxNoticeConfig.getTitile());
                 //杞︾墝鍙�
-                Map<String, Object> character_string1 = new HashMap<String,Object>();
-                character_string1.put("value",platformJob.getCarCodeFront());
-                //鏈堝彴鍙�
-                Map<String, Object> thing3 = new HashMap<String,Object>();
-                thing3.put("value", platformJob.getPlatformName());
-                //鏃堕棿
-                Map<String, Object> time4 = new HashMap<String,Object>();
-                time4.put("value", DateUtil.getDate(new Date(),"yyyy骞碝M鏈坉d鏃� HH:mm:ss") );
-                dataMap.put("const6",const6);
-                dataMap.put("character_string1",character_string1);
-                dataMap.put("thing3",thing3);
-                dataMap.put("time4",time4);
-                paramMap.put("data", dataMap);
+                Map<String, Object> car_number1 = new HashMap<String,Object>();
+                car_number1.put("value",platformJob.getCarCodeFront());
+                //鍙告満濮撳悕
+                Map<String, Object> thing2 = new HashMap<String,Object>();
+                thing2.put("value",platformJob.getDriverName());
+                //绛惧埌鏃堕棿
+                Map<String, Object> time5 = new HashMap<String,Object>();
+                time5.put("value", DateUtil.getFomartDate(new Date(),"yyyy骞碝M鏈坉d鏃� HH:mm:ss"));
+
+                dataMap.put("car_number1",car_number1);
+                dataMap.put("thing2",thing2);
+                dataMap.put("time5",time5);
                 for (String openId:openIds) {
                     paramMap.clear();
                     paramMap.put("template_id", wxNoticeConfig.getTempId());
                     paramMap.put("touser", openId);
                     paramMap.put("data", dataMap);
                     String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap));
+                    log.error("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭唴瀹癸細{}", JSONObject.toJSONString(paramMap));
                     if(StringUtils.isBlank(response)){
-                        log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", "澶辫触");
+                        log.error("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", "澶辫触");
                     }else{
                         JSONObject json = JSONObject.parseObject(response);
-                        log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", Constants.equalsInteger(json.getInteger("errcode"),Constants.ZERO)?"鎴愬姛":"澶辫触"+json.getString("errmsg"));
+                        log.error("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", Constants.equalsInteger(json.getInteger("errcode"),Constants.ZERO)?"鎴愬姛":"澶辫触"+json.getString("errmsg"));
                     }
                 }
             }
         }catch (Exception e){
 
         }
-
     }
 
 
+    public static void main(String[] args) {
+        String postUrL = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=90_8_a3QDclSc8HTcbgXhSVnijiQdRf4dG5wme29riDIyt3UIi7FpZ_HJyqyEIY-_e2A29jH2fLBKgtuBKtq-cy7DteFg5l9EawoxAwiRis8BMnEl-u01ITtCUVU90XCIjADASXD";
+        //鏁翠綋鍙傛暟map
+        Map<String, Object> paramMap = new HashMap<String, Object>();
+        //娑堟伅涓婚鏄剧ず鐩稿叧map
+        Map<String, Object> dataMap = new HashMap<String, Object>();
+        //杞︾墝鍙�
+        Map<String, Object> car_number1 = new HashMap<String,Object>();
+        car_number1.put("value","鐨朅12345");
+        //鍙告満濮撳悕
+        Map<String, Object> thing2 = new HashMap<String,Object>();
+        thing2.put("value","灏忛樋姝�");
+        //绛惧埌鏃堕棿
+        Map<String, Object> time5 = new HashMap<String,Object>();
+        time5.put("value", DateUtil.getFomartDate(new Date(),"yyyy骞碝M鏈坉d鏃� HH:mm:ss"));
 
+        dataMap.put("car_number1",car_number1);
+        dataMap.put("thing2",thing2);
+        dataMap.put("time5",time5);
+        paramMap.clear();
+        paramMap.put("template_id", "ZYhHg5eJJim0LR3FLVaqKcVqW3p8GQk8qrTO40ffHXI");
+        paramMap.put("touser", "ovmre6RUJJZCDtCyLxWYKSMgt7u8");
+        paramMap.put("data", dataMap);
+        String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap));
+        log.error("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭唴瀹癸細{}", JSONObject.toJSONString(paramMap));
+        if(StringUtils.isBlank(response)){
+            log.error("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", "澶辫触");
+        }else{
+            JSONObject json = JSONObject.parseObject(response);
+            log.error("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", Constants.equalsInteger(json.getInteger("errcode"),Constants.ZERO)?"鎴愬姛":"澶辫触"+json.getString("errmsg"));
+        }
+    }
+
+    public void  sendUnFinishNotice(SystemDictDataBiz systemDictDataBiz,WxNoticeConfigMapper wxNoticeConfigMapper,Integer unFinishNum,String objCode,
+                                           List<String> openIds){
+        String token = this.getToken(systemDictDataBiz);
+        if(StringUtils.isBlank(token)||Constants.equalsInteger(unFinishNum,Constants.ZERO)){
+            return;
+        }
+        try{
+            if(CollectionUtils.isNotEmpty(openIds)){
+                WxNoticeConfig wxNoticeConfig =  wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.platformJob)
+                        .eq(WxNoticeConfig::getObjCode,objCode)
+                        .eq(WxNoticeConfig::getStatus, Constants.ZERO)
+                        .last(" limit 1")
+                );
+                if(Objects.isNull(wxNoticeConfig)){
+                    return;
+                }
+                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> const1 = new HashMap<String,Object>();
+                const1.put("value","浣滀笟浠诲姟鏈畬鎴�");
+                //鍙告満濮撳悕
+                Map<String, Object> thing2 = new HashMap<String,Object>();
+                thing2.put("value",unFinishNum+"涓�");
+                //绛惧埌鏃堕棿
+                Map<String, Object> time3 = new HashMap<String,Object>();
+                time3.put("value", DateUtil.getFomartDate(new Date(),"yyyy骞碝M鏈坉d鏃� HH:mm:ss"));
+
+                dataMap.put("const1",const1);
+                dataMap.put("thing2",thing2);
+                dataMap.put("time3",time3);
+                for (String openId:openIds) {
+                    paramMap.clear();
+                    paramMap.put("template_id", wxNoticeConfig.getTempId());
+                    paramMap.put("touser", openId);
+                    paramMap.put("data", dataMap);
+                    String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap));
+                    log.error("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭唴瀹癸細{}", JSONObject.toJSONString(paramMap));
+                    if(StringUtils.isBlank(response)){
+                        log.error("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", "澶辫触");
+                    }else{
+                        JSONObject json = JSONObject.parseObject(response);
+                        log.error("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", Constants.equalsInteger(json.getInteger("errcode"),Constants.ZERO)?"鎴愬姛":"澶辫触"+json.getString("errmsg"));
+                    }
+                }
+            }
+        }catch (Exception e){
+
+        }
+    }
+    
+
+    public void  sendMeetTemplateNotice(SystemDictDataBiz systemDictDataBiz,SmsEmail smsEmail){
+        String token = this.getToken(systemDictDataBiz);
+        if(StringUtils.isBlank(token)){
+            return;
+        }
+        try{
+                String jumpUrl = Constants.getWxUrl(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.WX_REDIRECT_URL).getCode(),
+                        Constants.WxUrlParams.MEETING,smsEmail.getObjId().toString());
+                String postUrL = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+token;
+                JSONObject jsonObject = JSONObject.parseObject(smsEmail.getContent());
+                jsonObject.put("url",jumpUrl);
+                String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(jsonObject));
+                log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭唴瀹癸細{}", JSONObject.toJSONString(jsonObject));
+                if(StringUtils.isBlank(response)){
+                    log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", "澶辫触");
+                }else{
+                    JSONObject json = JSONObject.parseObject(response);
+                    log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", Constants.equalsInteger(json.getInteger("errcode"),Constants.ZERO)?"鎴愬姛":"澶辫触"+json.getString("errmsg"));
+                }
+        }catch (Exception e){
+
+        }
+
+    }
 
 
 }

--
Gitblit v1.9.3