From eb49564ab17c6695d8928d5a63a57c58b3cfd79c Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 11 十二月 2024 18:21:30 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 server/system_service/src/main/java/com/doumee/core/utils/Constants.java                                     |   16 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java      |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java     |  106 ++++----------
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerLogServiceImpl.java |    2 
 server/system_service/src/main/java/com/doumee/core/utils/SmsConstants.java                                  |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java          |    1 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java       |   46 ++++--
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java   |   19 ++
 server/meeting/meeting_service/src/main/java/com/doumee/core/wx/WxPlatNotice.java                            |   20 ++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java          |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java    |   90 +++++++++---
 server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java                      |  104 +++++++++++---
 12 files changed, 254 insertions(+), 158 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
index 4c7d3c9..465600b 100644
--- 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
@@ -2,6 +2,7 @@
 
 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;
@@ -70,8 +71,12 @@
      * @param token
      * @param openIds
      */
-    public void  sendMeetingBookTemplateNotice(Bookings bookings,String tempId, String token, Set<String> 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>();
@@ -97,6 +102,7 @@
             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);
@@ -119,8 +125,13 @@
      * @param token
      * @param openIds
      */
-    public void  sendMeetingBookCancelTemplateNotice(Bookings bookings,String tempId, String token, Set<String> 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>();
@@ -131,7 +142,7 @@
             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") );
+            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());
@@ -143,9 +154,10 @@
             dataMap.put("time6",time6);
             dataMap.put("thing2",thing2);
             dataMap.put("thing4",thing4);
-            paramMap.put("data", dataMap);
             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);
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
index 4f7ca02..fb12ff8 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -15,6 +15,7 @@
 import java.io.IOException;
 import java.math.BigDecimal;
 import java.net.URLDecoder;
+import java.net.URLEncoder;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -211,7 +212,13 @@
      * @return
      */
     public static String getWxUrl(String code, WxUrlParams paramCode, String ywid) {
-        return  code.replace("${type}",paramCode.type+"").replace("${yw}",paramCode.yw).replace("${ywid}",ywid);
+        String url = code.replace("${type}",paramCode.type+"").replace("${yw}",paramCode.yw).replace("${ywid}",ywid);
+        try {
+            url = URLEncoder.encode(code.replace("${type}",paramCode.type+"").replace("${yw}",paramCode.yw).replace("${ywid}",ywid),"UTF-8");
+        }catch (Exception e){
+
+        }
+        return url;
     }
 
     public interface VisitIccmStatus{
@@ -1162,8 +1169,8 @@
 
     }
     public  enum WxUrlParams {
-        BISCREEN_CODE(0,2, "0", "闂ㄥ彛澶у睆浜岀淮鐮�"),
-        MEETING_CODE(1,0, "1","浼氳瀹ゅぇ灞�"),
+        BISCREEN_CODE(0,0, "0", "闂ㄥ彛澶у睆浜岀淮鐮�"),
+        MEETING_CODE(1,2, "1","浼氳瀹ゅぇ灞�"),
         VISIT_RECORD_VISIT(2,1, "2","璁垮璁板綍-璁垮"),
         VISIT_RECORD_USER(3,2, "2","璁垮璁板綍-鍛樺伐"),
         VISIT_REPORT_RECORD_USER(5,2, "3","璁垮鎶ュ璁板綍-鍛樺伐"),
@@ -1173,11 +1180,10 @@
         PLATFORM_BOOK_DRIVER(9,0, "7","鐗╂祦杞﹂绾�-鍙告満"),
         PLATFORM_BOOK(10,2, "7","鐗╂祦杞﹂绾�-鍛樺伐"),
         PLATFORM_JOB_DRIVER(11,0, "8","鏈堝彴浣滀笟-鍙告満"),
-        PLATFORM_JOB_BOOK(12,2, "8","鏈堝彴浣滀笟-鍛樺伐"),
         ;
         // 鎴愬憳鍙橀噺
         private int key;
-        private int type;//鐢ㄦ埛绫诲瀷 0鍛樺伐 1鍙告満
+        private int type;//鐢ㄦ埛绫诲瀷 0鍙告満 1璁垮 2鍛樺伐
         private String yw;//涓氬姟绫诲瀷
         private String info;//璇存槑
 
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/SmsConstants.java b/server/system_service/src/main/java/com/doumee/core/utils/SmsConstants.java
index efd49bb..6ccfe1b 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/SmsConstants.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/SmsConstants.java
@@ -135,6 +135,8 @@
     public interface meetingContent{
         // meetingBookJoinUser	浼氳瀹ょ敵璇凤紙閫氱煡鍙備細浜猴級
         String meetingBookJoinUser = "meetingBookJoinUser";
+        // meetingBookJoinUser	浼氳鍙栨秷锛堥�氱煡浼氳鍒涘缓浜猴級
+        String meetingBookCancel = "meetingBookCancel";
     }
 
 
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 a42e117..a72c6c9 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
@@ -81,7 +81,7 @@
      * @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, String token, List<String> openIds){
         try{
             if(CollectionUtils.isNotEmpty(openIds)){
                 WxNoticeConfig wxNoticeConfig =  wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda()
@@ -93,6 +93,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.visitUpload)){
+                        wxUrlParams = Constants.WxUrlParams.VISIT_RECORD_VISIT;
+                    }else{
+                        wxUrlParams = Constants.WxUrlParams.VISIT_RECORD_USER;
+                    }
+                }
+                String url = Constants.getWxUrl(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.WX_REDIRECT_URL).getCode(),
+                        wxUrlParams
+                        ,visits.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>();
@@ -116,6 +129,7 @@
                 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);
@@ -141,10 +155,10 @@
      * @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){
         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 +166,10 @@
                 if(Objects.isNull(wxNoticeConfig)){
                     return;
                 }
+                String url = Constants.getWxUrl(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.WX_REDIRECT_URL).getCode(),
+                        Constants.WxUrlParams.HIDDEN_DANGER,hiddenDanger.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>();
@@ -168,18 +186,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 +222,10 @@
      * @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){
         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 +233,10 @@
                 if(Objects.isNull(wxNoticeConfig)){
                     return;
                 }
+                String url = Constants.getWxUrl(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.WX_REDIRECT_URL).getCode(),
+                        Constants.WxUrlParams.HIDDEN_DANGER,hiddenDanger.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>();
@@ -233,19 +256,20 @@
                 thing10.put("value",hiddenDanger.getCheckorName());
                 //閫氱煡鏃堕棿
                 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,7 +292,7 @@
      * @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,String token,
                                               List<String> openIds,Integer sendType){
         try {
             if(CollectionUtils.isNotEmpty(openIds)){
@@ -280,6 +304,10 @@
                 if(Objects.isNull(wxNoticeConfig)){
                     return;
                 }
+                String url = Constants.getWxUrl(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.WX_REDIRECT_URL).getCode(),
+                        Constants.WxUrlParams.CAR_USE,carUseBook.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>();
@@ -320,6 +348,7 @@
                 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);
@@ -347,11 +376,11 @@
      * @param openIds
      * @param sendType 0=鐢宠浜猴紱1=瀹℃壒浜�
      */
-    public void  sendPlatformBookTemplateNotice(WxNoticeConfigMapper wxNoticeConfigMapper, PlatformBooks platformBooks, String objCode,String token,
+    public void  sendPlatformBookTemplateNotice(SystemDictDataBiz systemDictDataBiz,WxNoticeConfigMapper wxNoticeConfigMapper, PlatformBooks platformBooks, String objCode,String token,
                                        List<String> openIds,Integer sendType){
         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")
@@ -359,6 +388,14 @@
                 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 url = Constants.getWxUrl(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.WX_REDIRECT_URL).getCode(),
+                        wxUrlParams,platformBooks.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>();
@@ -388,15 +425,15 @@
                 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);
@@ -423,7 +460,7 @@
      * @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,String token,
                                                List<String> openIds){
         try{
             if(CollectionUtils.isNotEmpty(openIds)){
@@ -435,6 +472,11 @@
                 if(Objects.isNull(wxNoticeConfig)){
                     return;
                 }
+
+                String url = Constants.getWxUrl(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.WX_REDIRECT_URL).getCode(),
+                        Constants.WxUrlParams.PLATFORM_JOB_DRIVER,platformJob.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>();
@@ -448,13 +490,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);
@@ -480,7 +523,7 @@
      * @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,String token,
                                        List<String> openIds){
         try{
             if(CollectionUtils.isNotEmpty(openIds)){
@@ -492,6 +535,11 @@
                 if(Objects.isNull(wxNoticeConfig)){
                     return;
                 }
+
+                String url = Constants.getWxUrl(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.WX_REDIRECT_URL).getCode(),
+                        Constants.WxUrlParams.PLATFORM_JOB_DRIVER,platformJob.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>();
@@ -502,12 +550,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);
@@ -535,11 +584,11 @@
      * @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,String token,
                                        List<String> openIds){
         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")
@@ -547,6 +596,11 @@
                 if(Objects.isNull(wxNoticeConfig)){
                     return;
                 }
+
+                String url = Constants.getWxUrl(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.WX_REDIRECT_URL).getCode(),
+                        Constants.WxUrlParams.PLATFORM_JOB_DRIVER,platformJob.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>();
@@ -563,14 +617,14 @@
                 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") );
+                time4.put("value", DateUtil.getFomartDate(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);
                 for (String openId:openIds) {
                     paramMap.clear();
+                    paramMap.put("url",jumpUrl);
                     paramMap.put("template_id", wxNoticeConfig.getTempId());
                     paramMap.put("touser", openId);
                     paramMap.put("data", dataMap);
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
index 70a2761..9622ddf 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
@@ -153,7 +153,7 @@
         SystemUser systemUser = systemUserMapper.selectById(carUseBook.getCreator());
         if(Objects.nonNull(systemUser) && StringUtils.isNotBlank(systemUser.getOpenid())){
             carUseBook.setMemberName(systemUser.getRealname());
-            wxPlatNotice.sendCarUseBookTemplateNotice(
+            wxPlatNotice.sendCarUseBookTemplateNotice(systemDictDataBiz,
                     wxNoticeConfigMapper,carUseBook,
                     WxPlatConstants.carUseBookContent.carUseBookUpload,
                     systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
@@ -522,7 +522,7 @@
             if(StringUtils.isNotBlank(systemUser.getOpenid())){
                 carUseBook.setMemberName(systemUser.getRealname());
                 WxPlatNotice wxPlatNotice = new WxPlatNotice();
-                wxPlatNotice.sendCarUseBookTemplateNotice(
+                wxPlatNotice.sendCarUseBookTemplateNotice(systemDictDataBiz,
                         wxNoticeConfigMapper,
                         carUseBook,
                         WxPlatConstants.carUseBookContent.carUseBookCancel,
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerLogServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerLogServiceImpl.java
index c118373..ebdb331 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerLogServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerLogServiceImpl.java
@@ -134,7 +134,7 @@
                 newBean.setTitle("闅愭偅澶勭悊");
                 newBean.setAvatar("-");
 
-                SystemUser systemUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda().eq(SystemUser::getMemberId,hiddenDanger.getCheckUserId()));
+                SystemUser systemUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda().eq(SystemUser::getMemberId,hiddenDanger.getCheckUserId()).last(" limit 1 "));
                 if(Objects.nonNull(systemUser)){
                     newBean.setCreateUserName(systemUser.getRealname());
                     newBean.setAvatar(systemUser.getAvatar());
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
index 55fbde4..26effca 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
@@ -23,9 +23,11 @@
 import com.doumee.dao.business.model.*;
 import com.doumee.dao.system.MultifileMapper;
 
+import com.doumee.dao.system.SystemUserMapper;
 import com.doumee.dao.system.join.NoticesJoinMapper;
 import com.doumee.dao.system.model.Multifile;
 import com.doumee.dao.system.model.Notices;
+import com.doumee.dao.system.model.SystemUser;
 import com.doumee.service.business.HiddenDangerService;
 import com.doumee.service.business.third.EmayService;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
@@ -54,6 +56,9 @@
 
     @Autowired
     private SystemDictDataBiz systemDictDataBiz;
+
+    @Autowired
+    private SystemUserMapper systemUserMapper;
 
     @Autowired
     private MemberMapper memberMapper;
@@ -112,6 +117,7 @@
         if(Objects.isNull(hiddenDangerCate)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌闅愭偅绫诲瀷");
         }
+        hiddenDanger.setCategoryName(hiddenDangerCate.getName());
         hiddenDanger.setCreator(hiddenDanger.getLoginUserInfo().getId());
         hiddenDanger.setAreaName(hiddenDangerParam.getName());
         hiddenDanger.setStatus(Constants.ZERO);
@@ -190,7 +196,6 @@
         noticesJoinMapper.insert(notices);
 
 
-        WxPlatNotice wxPlatNotice = new WxPlatNotice();
         if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getPhone())){
             //鍙戦�佺煭淇¢�氱煡
             SmsEmailServiceImpl.sendHiddenDangerSms(systemDictDataBiz,
@@ -200,23 +205,33 @@
             );
         }
 
+        WxPlatNotice wxPlatNotice = new WxPlatNotice();
+        SystemUser systemUser = systemUserMapper.selectById(hiddenDanger.getLoginUserInfo().getId());
+        hiddenDanger.setMemberName(systemUser.getRealname());
         //鎻愪氦浜虹殑寰俊鍏紬鍙烽�氱煡
-        if(Objects.nonNull(createMember)&&StringUtils.isNotBlank(createMember.getOpenid())){
-            wxPlatNotice.sendHiddenDangerUploadTemplateNotice(
+        if(Objects.nonNull(systemUser)&&StringUtils.isNotBlank(systemUser.getOpenid())){
+
+            wxPlatNotice.sendHiddenDangerUploadTemplateNotice(systemDictDataBiz,
                     wxNoticeConfigMapper,hiddenDanger,
                     WxPlatConstants.hiddenDangerContent.hiddenDangerUpload,
                     systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
-                    Arrays.asList(createMember.getOpenid().split(",")));
-        }
-        //澶勭悊浜虹殑寰俊鍏紬鍙烽�氱煡
-        if(Objects.nonNull(member)&&StringUtils.isNotBlank(member.getOpenid())){
-            wxPlatNotice.sendHiddenDangerUploadTemplateNotice(
-                    wxNoticeConfigMapper,hiddenDanger,
-                    WxPlatConstants.hiddenDangerContent.hiddenDangerUpload,
-                    systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
-                    Arrays.asList(member.getOpenid().split(",")));
+                    Arrays.asList(systemUser.getOpenid().split(",")));
         }
 
+        SystemUser checkUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda()
+                .eq(SystemUser::getDeleted, Constants.ZERO)
+                .eq(SystemUser::getMemberId,hiddenDanger.getCheckUserId())
+                .last(" limit 1 "));
+        //澶勭悊浜虹殑寰俊鍏紬鍙烽�氱煡
+        if(Objects.nonNull(checkUser)&&StringUtils.isNotBlank(checkUser.getOpenid())){
+
+
+            wxPlatNotice.sendHiddenDangerUploadTemplateNotice(systemDictDataBiz,
+                    wxNoticeConfigMapper,hiddenDanger,
+                    WxPlatConstants.hiddenDangerContent.hiddenDangerUpload,
+                    systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+                    Arrays.asList(checkUser.getOpenid().split(",")));
+        }
         return hiddenDanger.getId();
     }
 
@@ -422,6 +437,12 @@
         hiddenDanger.setEditDate(new Date());
         hiddenDanger.setCheckDate(hiddenDanger.getEditDate());
         hiddenDangerMapper.updateById(hiddenDanger);
+        HiddenDanger model = hiddenDangerMapper.selectById(hiddenDanger.getId());
+        HiddenDangerParam hiddenDangerCate = hiddenDangerParamMapper.selectById(model.getCateId());
+        if(Objects.isNull(hiddenDangerCate)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌闅愭偅绫诲瀷");
+        }
+        model.setCategoryName(hiddenDangerCate.getName());
         //瀛樺偍 鎿嶄綔鏃ュ織
         HiddenDangerLog hiddenDangerLog = new HiddenDangerLog();
         hiddenDangerLog.setIsdeleted(Constants.ZERO);
@@ -444,26 +465,29 @@
                 .eq(Notices::getUserId,hiddenDanger.getLoginUserInfo().getMemberId())
         );
 
+        SystemUser memberUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda()
+                .eq(SystemUser::getDeleted, Constants.ZERO)
+                .eq(SystemUser::getMemberId,model.getMemberId()));
         if(Constants.equalsInteger(hiddenDanger.getStatus(),Constants.ONE)){
-            Member member = memberMapper.selectById(hiddenDanger.getMemberId());
-            if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getPhone())){
+            if(Objects.nonNull(memberUser) && StringUtils.isNotBlank(memberUser.getMobile())){
                 //鍙戦�佺煭淇¢�氱煡
                 SmsEmailServiceImpl.sendHiddenDangerSms(systemDictDataBiz,
                         emayService,smsEmailMapper,smsConfigMapper,hiddenDangerMapper,hiddenDanger.getId(),
                         SmsConstants.hiddenDangerContent.hiddenDangerDealOver,
-                        Arrays.asList(member.getPhone().split(","))
+                        Arrays.asList(memberUser.getMobile().split(","))
                 );
             }
         }
-        Member createMember = memberMapper.selectById(hiddenDanger.getMemberId());
+        model.setCheckorName(hiddenDanger.getLoginUserInfo().getRealname());
+        model.setMemberName(memberUser.getRealname());
         //澶勭悊浜虹殑寰俊鍏紬鍙烽�氱煡
-        if(Objects.nonNull(createMember)&&StringUtils.isNotBlank(createMember.getOpenid())){
+        if(Objects.nonNull(memberUser)&&StringUtils.isNotBlank(memberUser.getOpenid())){
             WxPlatNotice wxPlatNotice = new WxPlatNotice();
-            wxPlatNotice.sendHiddenDangerDealTemplateNotice(
-                    wxNoticeConfigMapper,hiddenDanger,
+            wxPlatNotice.sendHiddenDangerDealTemplateNotice(systemDictDataBiz,
+                    wxNoticeConfigMapper,model,
                     WxPlatConstants.hiddenDangerContent.hiddenDangerDeal,
                     systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
-                    Arrays.asList(createMember.getOpenid().split(",")));
+                    Arrays.asList(memberUser.getOpenid().split(",")));
         }
 
     }
@@ -577,6 +601,11 @@
         if(member == null || !Constants.equalsInteger(member.getType(), Constants.TWO) || Constants.equalsInteger(Constants.ONE,member.getIsdeleted())){
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝杞氦浜轰俊鎭笉瀛樺湪锛岃鍒锋柊椤甸潰閲嶈瘯锛�");
         }
+        HiddenDangerParam hiddenDangerCate = hiddenDangerParamMapper.selectById(model.getCateId());
+        if(Objects.isNull(hiddenDangerCate)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌闅愭偅绫诲瀷");
+        }
+        hiddenDanger.setCategoryName(hiddenDangerCate.getName());
         hiddenDanger.setEditor(hiddenDanger.getLoginUserInfo().getId());
         hiddenDanger.setEditDate(new Date());
         hiddenDangerMapper.updateById(hiddenDanger);
@@ -615,24 +644,33 @@
             noticesJoinMapper.updateById(notices);
         }
 
-
-        if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getPhone())){
+        SystemUser memberUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda()
+                .eq(SystemUser::getDeleted, Constants.ZERO)
+                .eq(SystemUser::getMemberId,model.getMemberId()));
+        if(Objects.isNull(memberUser)||StringUtils.isBlank(memberUser.getRealname())){
+          return;
+        }
+        hiddenDanger.setMemberName(memberUser.getRealname());
+        SystemUser checkUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda()
+                .eq(SystemUser::getDeleted, Constants.ZERO)
+                .eq(SystemUser::getMemberId,hiddenDanger.getCheckUserId()));
+        if(Objects.nonNull(checkUser) && StringUtils.isNotBlank(checkUser.getMobile())){
             //鍙戦�佺煭淇¢�氱煡
             SmsEmailServiceImpl.sendHiddenDangerSms(systemDictDataBiz,
                     emayService,smsEmailMapper,smsConfigMapper,hiddenDangerMapper,hiddenDanger.getId(),
                     SmsConstants.hiddenDangerContent.hiddenDangerDealUser,
-                    Arrays.asList(member.getPhone().split(","))
+                    Arrays.asList(checkUser.getMobile().split(","))
             );
         }
 
         //澶勭悊浜虹殑寰俊鍏紬鍙烽�氱煡
-        if(Objects.nonNull(member)&&StringUtils.isNotBlank(member.getOpenid())){
+        if(Objects.nonNull(checkUser)&&StringUtils.isNotBlank(checkUser.getOpenid())){
             WxPlatNotice wxPlatNotice = new WxPlatNotice();
-            wxPlatNotice.sendHiddenDangerUploadTemplateNotice(
+            wxPlatNotice.sendHiddenDangerUploadTemplateNotice(systemDictDataBiz,
                     wxNoticeConfigMapper,hiddenDanger,
                     WxPlatConstants.hiddenDangerContent.hiddenDangerUpload,
                     systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
-                    Arrays.asList(member.getOpenid().split(",")));
+                    Arrays.asList(checkUser.getOpenid().split(",")));
         }
     }
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index ca35e35..24ceeb7 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -2108,7 +2108,6 @@
         )>Constants.ZERO){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鎵嬫満鍙峰凡娉ㄥ唽!");
         };
-
         smsEmailService.validateCode(registerDriverDTO.getValidCode(),registerDriverDTO.getPhone());
         String salt = RandomStringUtils.randomAlphabetic(6);
        ;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java
index 5d0371f..8a53ba9 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java
@@ -19,7 +19,9 @@
 import com.doumee.dao.business.model.*;
 import com.doumee.dao.business.vo.ApproveDataVO;
 
+import com.doumee.dao.system.SystemUserMapper;
 import com.doumee.dao.system.join.NoticesJoinMapper;
+import com.doumee.dao.system.model.SystemUser;
 import com.doumee.dao.web.reqeust.PlatformBooksApplyDTO;
 import com.doumee.dao.web.reqeust.PlatformBooksCheckNumDTO;
 import com.doumee.dao.web.reqeust.RevokeDTO;
@@ -68,6 +70,9 @@
 
     @Autowired
     private SystemDictDataBiz systemDictDataBiz;
+
+    @Autowired
+    private SystemUserMapper systemUserMapper;
 
     @Autowired
     private ApproveService approveService;
@@ -292,16 +297,20 @@
         //鍒涘缓瀹℃壒娴佷俊鎭�
         approveService.createApproveForPlatfrom(approveTempl.getId(),platformBooks.getId(),platformBooks.getDriverId());
         //鍙戦�佸叕浼楀彿閫氱煡 缁欐彁浜や汉
-        Member member = memberMapper.selectById(platformBooks.getDriverId());
-        if(Objects.nonNull(member)&&StringUtils.isNotBlank(member.getOpenid())){
+        SystemUser driver = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda()
+                .eq(SystemUser::getDeleted, Constants.ZERO)
+                .eq(SystemUser::getType, Constants.ZERO)
+                .eq(SystemUser::getMobile,platformBooks.getDriverPhone())
+                .last(" limit 1 "));
+
+        if(Objects.nonNull(driver)&&StringUtils.isNotBlank(driver.getOpenid())){
             WxPlatNotice wxPlatNotice = new WxPlatNotice();
-            wxPlatNotice.sendPlatformBookTemplateNotice(
+            wxPlatNotice.sendPlatformBookTemplateNotice(systemDictDataBiz,
                     wxNoticeConfigMapper,platformBooks,
                     WxPlatConstants.platformBookContent.platformBookUpload,
                     systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
-                    Arrays.asList(member.getOpenid().split(",")),0);
+                    Arrays.asList(driver.getOpenid().split(",")),0);
         }
-
         return platformBooks.getId();
     }
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
index 4203b81..322e44a 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
@@ -29,6 +29,7 @@
 import com.doumee.dao.openapi.request.*;
 import com.doumee.dao.openapi.response.*;
 
+import com.doumee.dao.system.SystemUserMapper;
 import com.doumee.dao.system.model.SystemUser;
 import com.doumee.dao.web.reqeust.*;
 import com.doumee.dao.web.response.DriverHomeVO;
@@ -129,6 +130,8 @@
     private MemberMapper memberMapper;
     @Autowired
     private WxNoticeConfigMapper wxNoticeConfigMapper;
+    @Autowired
+    private SystemUserMapper systemUserMapper;
 
     @Override
     public Integer create(PlatformJob platformJob) {
@@ -874,19 +877,26 @@
         
         //鍏紬鍙锋ā鏉挎秷鎭�
         if(Objects.nonNull(platformJob.getDriverId())) {
-            Member member = memberMapper.selectById(platformJob.getDriverId());
-            if (Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())) {
-                WxPlatNotice wxPlatNotice = new WxPlatNotice();
-                wxPlatNotice.sendPlatformJobTemplateNotice(
-                        wxNoticeConfigMapper, platformJob,
-                        WxPlatConstants.platformJobContent.platformJobCallIn,
-                        systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
-                        Arrays.asList(member.getOpenid().split(","))
-                );
-            }
+          this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobCallIn,platformJob);
         }
-
         return platformJob;
+    }
+
+    public void sendWxNotice(String objCode,PlatformJob platformJob){
+        SystemUser driver = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda()
+                .eq(SystemUser::getDeleted, Constants.ZERO)
+                .eq(SystemUser::getType, Constants.ZERO)
+                .eq(SystemUser::getMobile,platformJob.getDrivierPhone())
+                .last(" limit 1 "));
+        if (Objects.nonNull(driver) && StringUtils.isNotBlank(driver.getOpenid())) {
+            WxPlatNotice wxPlatNotice = new WxPlatNotice();
+            wxPlatNotice.sendPlatformJobTemplateNotice(systemDictDataBiz,
+                    wxNoticeConfigMapper, platformJob,
+                    objCode,
+                    systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+                    Arrays.asList(driver.getOpenid().split(","))
+            );
+        }
     }
 
     private Logger logger = LoggerFactory.getLogger(PlatformJobServiceImpl.class);
@@ -1084,17 +1094,8 @@
         );
 
         //鍏紬鍙锋ā鏉挎秷鎭�
-        if(Objects.nonNull(platformJob.getDriverId())){
-            Member member = memberMapper.selectById(platformJob.getDriverId());
-            if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())){
-                WxPlatNotice wxPlatNotice = new WxPlatNotice();
-                wxPlatNotice.sendPlatformJobTemplateNotice(
-                        wxNoticeConfigMapper,platformJob,
-                        WxPlatConstants.platformJobContent.platformJobSingIn,
-                        systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
-                        Arrays.asList(member.getOpenid().split(","))
-                );
-            }
+        if(Objects.nonNull(platformJob.getDriverId())){ 
+            this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobSingIn,platformJob);
         }
 
 
@@ -1229,17 +1230,8 @@
         );
 
         //鍏紬鍙锋ā鏉挎秷鎭�
-        if(Objects.nonNull(platformJob.getDriverId())) {
-            Member member = memberMapper.selectById(platformJob.getDriverId());
-            if (Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())) {
-                WxPlatNotice wxPlatNotice = new WxPlatNotice();
-                wxPlatNotice.sendPlatformJobTemplateNotice(
-                        wxNoticeConfigMapper, platformJob,
-                        WxPlatConstants.platformJobContent.platformJobMove,
-                        systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
-                        Arrays.asList(member.getOpenid().split(","))
-                );
-            }
+        if(Objects.nonNull(platformJob.getDriverId())) { 
+            this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobMove,platformJob);
         }
 
         platformJob.setPlatformName(oldPlatform.getName());
@@ -1292,16 +1284,7 @@
 
         //鍏紬鍙锋ā鏉挎秷鎭�
         if(Objects.nonNull(platformJob.getDriverId())){
-            Member member = memberMapper.selectById(platformJob.getDriverId());
-            if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())){
-                WxPlatNotice wxPlatNotice = new WxPlatNotice();
-                wxPlatNotice.sendPlatformJobTemplateNotice(
-                        wxNoticeConfigMapper,platformJob,
-                        WxPlatConstants.platformJobContent.platformJobOverNum,
-                        systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
-                        Arrays.asList(member.getOpenid().split(","))
-                );
-            }
+            this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobOverNum,platformJob);
         }
 
         platformJob.setPlatformName(platform.getName());
@@ -1353,16 +1336,7 @@
 
         //鍏紬鍙锋ā鏉挎秷鎭�
         if(Objects.nonNull(platformJob.getDriverId())) {
-            Member member = memberMapper.selectById(platformJob.getDriverId());
-            if (Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())) {
-                WxPlatNotice wxPlatNotice = new WxPlatNotice();
-                wxPlatNotice.sendPlatformJobTemplateNotice(
-                        wxNoticeConfigMapper, platformJob,
-                        WxPlatConstants.platformJobContent.platformJobError,
-                        systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
-                        Arrays.asList(member.getOpenid().split(","))
-                );
-            }
+            this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobError,platformJob);
         }
 
         platformJob.setPlatformName(platform.getName());
@@ -1416,16 +1390,7 @@
         );
         //鍏紬鍙锋ā鏉挎秷鎭�
         if(Objects.nonNull(platformJob.getDriverId())) {
-            Member member = memberMapper.selectById(platformJob.getDriverId());
-            if (Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())) {
-                WxPlatNotice wxPlatNotice = new WxPlatNotice();
-                wxPlatNotice.sendPlatformJobTemplateNotice(
-                        wxNoticeConfigMapper, platformJob,
-                        WxPlatConstants.platformJobContent.platformJobWorking,
-                        systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
-                        Arrays.asList(member.getOpenid().split(","))
-                );
-            }
+            this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobWorking,platformJob);
         }
         //骞挎挱 led閫氱煡
         platformJob.setPlatformName(platform.getName());
@@ -1435,7 +1400,8 @@
 
         return platformJob;
     }
-
+ 
+    @Override
     public PlatformJob getLastWaitJob(String uuid, LoginUserInfo loginUser){
         String u = (String) redisTemplate.opsForValue().get(Constants.RedisKeys.BIGSCREEN_UUID);
         if(!StringUtils.equals(u,uuid)){
@@ -1449,6 +1415,7 @@
                 .last(" limit 1 ") );
             return platformJob;
     }
+    
     @Override
     @Transactional(rollbackFor = {Exception.class,BusinessException.class})
     public PlatformJob finishWork(JobOperateDTO jobOperateDTO){
@@ -1523,16 +1490,7 @@
 
         //鍏紬鍙锋ā鏉挎秷鎭�
         if(Objects.nonNull(platformJob.getDriverId())) {
-            Member member = memberMapper.selectById(platformJob.getDriverId());
-            if (Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())) {
-                WxPlatNotice wxPlatNotice = new WxPlatNotice();
-                wxPlatNotice.sendPlatformJobTemplateNotice(
-                        wxNoticeConfigMapper, platformJob,
-                        WxPlatConstants.platformJobContent.platformJobFinish,
-                        systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
-                        Arrays.asList(member.getOpenid().split(","))
-                );
-            }
+            this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobFinish,platformJob);
         }
 
         //骞挎挱 led閫氱煡
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
index 23c989b..f8ec745 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -297,7 +297,7 @@
         //鍙戦�佸井淇″叕浼楀彿閫氱煡 - 鐢宠鎻愪氦鎴愬姛寰呭鏍�
         if(StringUtils.isNotBlank(visits.getOpenid())){
             WxPlatNotice wxPlatNotice = new WxPlatNotice();
-            wxPlatNotice.sendVisitTemplateNotice(
+            wxPlatNotice.sendVisitTemplateNotice(systemDictDataBiz,
                     wxNoticeConfigMapper,visits,
                     Constants.equalsInteger(visits.getType(),Constants.TWO)?WxPlatConstants.visitReportContent.visitReportUpload:WxPlatConstants.visitContent.visitUpload,
                     systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java
index cd880f9..17f07a1 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java
@@ -19,6 +19,8 @@
 import com.doumee.dao.business.dao.SmsEmailMapper;
 import com.doumee.dao.business.model.*;
 
+import com.doumee.dao.system.SystemUserMapper;
+import com.doumee.dao.system.model.SystemUser;
 import com.doumee.service.business.impl.SmsEmailServiceImpl;
 import com.doumee.service.business.third.EmayService;
 import com.doumee.service.business.third.WmsService;
@@ -50,6 +52,8 @@
     private CarsMapper carsMapper;
     @Autowired
     private MemberMapper memberMapper;
+    @Autowired
+    private SystemUserMapper systemUserMapper;
     @Autowired
     private PlatformJobMapper platformJobMapper;
     @Autowired
@@ -315,7 +319,6 @@
 
     private void startEndNoticeToDriver(List<PlatformJob> jobList) {
         for(PlatformJob job : jobList){
-            //-----TODO-----------浠诲悍锛屽彂閫佸徃鏈哄叕浼楀彿鍜�
             //鐭俊閫氱煡
             if(Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.WAIT_CONFIRM.getKey())){
                 SmsEmailServiceImpl.sendPlatformJobSms(systemDictDataBiz,
@@ -324,14 +327,19 @@
                 );
                 //鏌ヨ鍙告満淇℃伅 鍙戦�佸叕浼楀彿閫氱煡
                 if(Objects.nonNull(job.getDriverId())){
-                    Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getPhone,job.getDriverId()));
-                    if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())){
+                    //鍙戦�佸叕浼楀彿閫氱煡 缁欐彁浜や汉
+                    SystemUser driver = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda()
+                            .eq(SystemUser::getDeleted, Constants.ZERO)
+                            .eq(SystemUser::getType, Constants.ZERO)
+                            .eq(SystemUser::getMobile,job.getDrivierPhone())
+                            .last(" limit 1 "));
+                    if(Objects.nonNull(driver) && StringUtils.isNotBlank(driver.getOpenid())){
                         WxPlatNotice wxPlatNotice = new WxPlatNotice();
-                        wxPlatNotice.sendWmsTemplateNotice(
+                        wxPlatNotice.sendWmsTemplateNotice(systemDictDataBiz,
                                 wxNoticeConfigMapper,job,
                                 WxPlatConstants.platformJobContent.platformJobNewJob,
                                 systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
-                                Arrays.asList(member.getOpenid().split(","))
+                                Arrays.asList(driver.getOpenid().split(","))
                         );
                     }
                 }
@@ -576,14 +584,20 @@
                         //鍏紬鍙烽�氱煡鍙告満 浠诲姟鍙栨秷
                         PlatformJob job = platformJobMapper.selectById(jobId);
                         if(Objects.nonNull(job)){
-                             Member member = memberMapper.selectById(job.getDriverId());
-                            if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())){
+
+                            //鍙戦�佸叕浼楀彿閫氱煡 缁欐彁浜や汉
+                            SystemUser driver = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda()
+                                    .eq(SystemUser::getDeleted, Constants.ZERO)
+                                    .eq(SystemUser::getType, Constants.ZERO)
+                                    .eq(SystemUser::getMobile,job.getDrivierPhone())
+                                    .last(" limit 1 "));
+                            if(Objects.nonNull(driver) && StringUtils.isNotBlank(driver.getOpenid())){
                                 WxPlatNotice wxPlatNotice = new WxPlatNotice();
-                                wxPlatNotice.sendWmsCancelTemplateNotice(
+                                wxPlatNotice.sendWmsCancelTemplateNotice(systemDictDataBiz,
                                         wxNoticeConfigMapper,job,
                                         WxPlatConstants.platformJobContent.platformJobCancel,
                                         systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
-                                        Arrays.asList(member.getOpenid().split(","))
+                                        Arrays.asList(driver.getOpenid().split(","))
                                 );
                             }
                         }
@@ -651,15 +665,19 @@
 
                         //鍏紬鍙烽�氱煡鍙告満 浠诲姟鍙栨秷
                         PlatformJob job = platformJobMapper.selectById(jobId);
-                        if(Objects.nonNull(job)){
-                             Member member = memberMapper.selectById(job.getDriverId());
-                            if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())){
+                        if(Objects.nonNull(job)){  //鍙戦�佸叕浼楀彿閫氱煡 缁欐彁浜や汉
+                            SystemUser driver = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda()
+                                    .eq(SystemUser::getDeleted, Constants.ZERO)
+                                    .eq(SystemUser::getType, Constants.ZERO)
+                                    .eq(SystemUser::getMobile,job.getDrivierPhone())
+                                    .last(" limit 1 "));
+                            if(Objects.nonNull(driver) && StringUtils.isNotBlank(driver.getOpenid())){
                                 WxPlatNotice wxPlatNotice = new WxPlatNotice();
-                                wxPlatNotice.sendWmsCancelTemplateNotice(
+                                wxPlatNotice.sendWmsCancelTemplateNotice(systemDictDataBiz,
                                         wxNoticeConfigMapper,job,
                                         WxPlatConstants.platformJobContent.platformJobCancel,
                                         systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
-                                        Arrays.asList(member.getOpenid().split(","))
+                                        Arrays.asList(driver.getOpenid().split(","))
                                 );
                             }
                         }

--
Gitblit v1.9.3