From 499fe8b9c0ab0d9eaa578f25cc734136026fa175 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期三, 11 十二月 2024 16:07:09 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit

---
 server/system_service/src/main/java/com/doumee/core/utils/Constants.java                                    |   14 +
 server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/request/TmsOrderListRequest.java      |    4 
 server/system_service/src/main/java/com/doumee/dao/business/model/vo/ValidPhoneCodeVO.java                  |   32 +++
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Approve.java                      |    5 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java      |    4 
 server/meeting/meeting_service/src/main/java/com/doumee/dao/business/BookingsMapper.java                    |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java      |   59 +++++-
 server/system_gateway/src/main/resources/bootstrap.yml                                                      |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java       |    8 
 server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConstants.java                  |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/SmsEmailService.java                |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java     |   30 ++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/TmsService.java               |    8 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java        |  179 ++++++++++++++-----
 server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsOrderListResponse.java    |    1 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/TmsCloudController.java                    |   67 +++++++
 server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java                           |   21 +
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/WmsInterfaceLog.java              |    2 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/WmsPushCloudTestController.java            |   15 -
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/SmsEmailColudController.java               |   11 +
 server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsContractListResponse.java |   35 +++
 server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java                     |    8 
 22 files changed, 417 insertions(+), 99 deletions(-)

diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/BookingsMapper.java b/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/BookingsMapper.java
index 2130b39..5692153 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/BookingsMapper.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/BookingsMapper.java
@@ -37,7 +37,7 @@
             " CONCAT(date_format(a.START_TIME,'%H:%i') , ' ~ ',date_format(a.END_TIME,'%H:%i')) as meetingTime,  c.REALNAME as bookingUser ," +
             //" CASE WHEN a.START_TIME > now() AND a.`STATUS` = 0 THEN 1  WHEN ( (a.END_TIME < now()  AND a.`STATUS` = 0 ) or a.`STATUS` = 2 ) THEN 3 WHEN a.`STATUS` = 1 THEN 5 ELSE  2  END meetingStatus ," +
             " CASE WHEN a.START_TIME_REAL IS NULL AND a.`STATUS` = 0 THEN 1 " +
-//            " WHEN ( (a.END_TIME < now()  AND a.`STATUS` = 0 ) or a.`STATUS` = 2 ) THEN 3 " +
+            " WHEN ( (a.END_TIME < now()  AND a.`STATUS` = 0 ) or a.`STATUS` = 2 ) THEN 3 " +
             "WHEN a.`STATUS` = 1 THEN 5 ELSE  2  END meetingStatus ," +
             " b.IMGURL as imgUrl ," +
             " a.remark  " +
@@ -49,7 +49,7 @@
     @Select(" select a.id , a.START_TIME , a.END_TIME , b.id as roomId,  b.`NAME` as roomName , a.`NAME` as meetingName  ,date_format(a.START_TIME,'%Y骞�%m鏈�%d鏃�') as meetingDate ," +
             " CONCAT(date_format(a.START_TIME,'%H:%i') , ' ~ ',date_format(a.END_TIME,'%H:%i')) as meetingTime,  c.REALNAME as bookingUserName ," +
             //"  CASE WHEN a.START_TIME > now() AND a.`STATUS` = 0 THEN 1  WHEN a.END_TIME < now() AND a.`STATUS` = 0  THEN 3 WHEN a.`STATUS` = 1 THEN 5 ELSE  2  END meetingStatus ," +
-            "  CASE WHEN a.START_TIME_REAL IS NULL AND a.`STATUS` = 0 THEN 1  WHEN a.END_TIME < now() AND a.`STATUS` = 0  THEN 3 WHEN a.`STATUS` = 1 THEN 5 ELSE  2  END meetingStatus ," +
+            "  CASE WHEN a.START_TIME_REAL IS NULL AND a.`STATUS` = 0 THEN 1  WHEN ( (a.END_TIME < now() AND a.`STATUS` = 0 )  or a.status = 2   ) THEN 3 WHEN a.`STATUS` = 1 THEN 5 ELSE  2  END meetingStatus ," +
             " a.CONTENT as meetingContent, c.MOBILE as bookingUserMobile , e.`NAME` as bookingUserDepartment , a.CREATOR as bookingUserId  , a.remark  " +
             " from meeting_book a inner join meeting_rooms b  on a.ROOM_ID = b.ID  " +
             " left join system_user c on a.CREATOR = c.id " +
diff --git a/server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java b/server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java
index 26224a8..045f486 100644
--- a/server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java
+++ b/server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java
@@ -154,13 +154,10 @@
      */
     @PostMapping("/logout")
     @ApiOperation("閫�鍑虹櫥闄�")
-    public ApiResponse<String> logout(@RequestHeader(Constants.HEADER_USER_TOKEN) String oldToken,Integer isH5){
+    public ApiResponse<String> logout(@RequestHeader(Constants.HEADER_USER_TOKEN) String oldToken){
         try {
-            if(Objects.nonNull(isH5)){
-                jwtTokenUtil.logoutForH5(oldToken);
-            }else{
+
                 jwtTokenUtil.logout(oldToken);
-            }
         }catch (BusinessException e){
             return ApiResponse.failed(e.getCode(),e.getMessage());
         }catch (Exception e){
@@ -171,6 +168,20 @@
     }
 
 
+    @PostMapping("/logoutForH5")
+    @ApiOperation("閫�鍑虹櫥闄�")
+    public ApiResponse<String> logoutForH5(@RequestHeader(Constants.HEADER_USER_TOKEN) String oldToken){
+        try {
+            jwtTokenUtil.logoutForH5(oldToken);
+        }catch (BusinessException e){
+            return ApiResponse.failed(e.getCode(),e.getMessage());
+        }catch (Exception e){
+            return ApiResponse.failed(ResponseStatus.SERVER_ERROR);
+        }
+        return ApiResponse.success(null);
+
+    }
+
 
     /**
      * 鍒锋柊JWT浠ょ墝,鐢ㄦ棫鐨勪护鐗屾崲鏂扮殑浠ょ墝
diff --git a/server/system_gateway/src/main/resources/bootstrap.yml b/server/system_gateway/src/main/resources/bootstrap.yml
index 099da4a..8ecd0a5 100644
--- a/server/system_gateway/src/main/resources/bootstrap.yml
+++ b/server/system_gateway/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@
 spring:
   profiles:
-    active: pro
+    active: dev
   application:
     name: system_gateway
   # 瀹夊叏閰嶇疆
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 d6fb18f..4f7ca02 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
@@ -1162,8 +1162,18 @@
 
     }
     public  enum WxUrlParams {
-        BISCREEN_CODE(0,0, "0", "闂ㄥ彛澶у睆浜岀淮鐮�"),
-        MEETING_CODE(1,1, "1","浼氳瀹ゅぇ灞�")
+        BISCREEN_CODE(0,2, "0", "闂ㄥ彛澶у睆浜岀淮鐮�"),
+        MEETING_CODE(1,0, "1","浼氳瀹ゅぇ灞�"),
+        VISIT_RECORD_VISIT(2,1, "2","璁垮璁板綍-璁垮"),
+        VISIT_RECORD_USER(3,2, "2","璁垮璁板綍-鍛樺伐"),
+        VISIT_REPORT_RECORD_USER(5,2, "3","璁垮鎶ュ璁板綍-鍛樺伐"),
+        HIDDEN_DANGER(6,2, "4","闅愭偅闅忔墜鎷�"),
+        CAR_USE(7,2, "5","鐢ㄨ溅鐢宠"),
+        MEETING(8,2, "6","浼氳璇︽儏"),
+        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;
diff --git a/server/system_service/src/main/java/com/doumee/dao/business/model/vo/ValidPhoneCodeVO.java b/server/system_service/src/main/java/com/doumee/dao/business/model/vo/ValidPhoneCodeVO.java
new file mode 100644
index 0000000..02fd369
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/dao/business/model/vo/ValidPhoneCodeVO.java
@@ -0,0 +1,32 @@
+package com.doumee.dao.business.model.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 鐭俊閭欢淇℃伅琛�
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Data
+@ApiModel("楠岃瘉鎵嬫満鍙峰拰楠岃瘉鐮佸叆鍙�")
+public class ValidPhoneCodeVO {
+
+
+    @ApiModelProperty(value = "楠岃瘉鐮�")
+    private String code;
+
+    @ApiModelProperty(value = "鎵嬫満鍙�", example = "1")
+    private String phone;
+
+}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/SmsEmailColudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/SmsEmailColudController.java
index 4ce8ec6..70857a2 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/SmsEmailColudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/SmsEmailColudController.java
@@ -9,6 +9,7 @@
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
 import com.doumee.dao.business.model.SmsEmail;
+import com.doumee.dao.business.model.vo.ValidPhoneCodeVO;
 import com.doumee.service.business.SmsEmailService;
 import com.doumee.service.business.third.EmayService;
 import io.swagger.annotations.Api;
@@ -46,6 +47,15 @@
         return ApiResponse.success(smsEmailService.sendSms(smsEmail));
     }
 
+    @LoginNoRequired
+    @PreventRepeat
+    @ApiOperation("鏍规嵁鎵嬫満鍙峰拰楠岃瘉鐮佹牎楠�")
+    @PostMapping("/validPhoneCaptcha")
+    public ApiResponse validPhoneCaptcha(@RequestBody ValidPhoneCodeVO param) {
+        smsEmailService.validPhoneCaptcha(param);
+        return ApiResponse.success("璇锋眰鎴愬姛");
+    }
+
 
     @LoginNoRequired
     @PreventRepeat
@@ -55,6 +65,5 @@
         emayService.sendSmsByHk(smsEmail.getPhone(),smsEmail.getContent());
         return ApiResponse.success("鎿嶄綔鎴愬姛");
     }
-
 
 }
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/TmsCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/TmsCloudController.java
new file mode 100644
index 0000000..42d942c
--- /dev/null
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/TmsCloudController.java
@@ -0,0 +1,67 @@
+package com.doumee.cloud.admin;
+
+import com.doumee.api.BaseController;
+import com.doumee.config.annotation.LoginNoRequired;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.tms.model.request.TmsLockStatusQueryRequest;
+import com.doumee.core.tms.model.request.TmsOrderInfoRequest;
+import com.doumee.core.tms.model.request.TmsOrderListRequest;
+import com.doumee.core.tms.model.response.TmsBaseResponse;
+import com.doumee.core.tms.model.response.TmsLockStatusQueryResponse;
+import com.doumee.core.tms.model.response.TmsOrderInfoResponse;
+import com.doumee.core.tms.model.response.TmsOrderListResponse;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.wms.model.response.WmsBaseResponse;
+import com.doumee.service.business.third.TmsService;
+import com.doumee.service.business.third.WmsService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.BufferedReader;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/11/30 15:33
+ */
+@Api(tags = "TMS骞冲彴鏁版嵁鎺ュ彛")
+@RestController
+@Slf4j
+@LoginNoRequired
+@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/tms")
+public class TmsCloudController extends BaseController {
+
+    @Autowired
+    private TmsService tmsService;
+    @ApiOperation("銆怲MS銆戠數瀛愰攣涓婇攣鏃堕棿鎺ュ彛")
+    @LoginNoRequired
+    @PostMapping("/lockStatusQuery")
+    public TmsBaseResponse<List<TmsLockStatusQueryResponse>>  lockStatusQuery(@RequestBody  TmsLockStatusQueryRequest request )   {
+        return  tmsService.lockStatusQuery(request);
+    }
+    @ApiOperation("銆怲MS銆戝悎鍚屽垪琛ㄦ帴鍙�")
+    @LoginNoRequired
+    @PostMapping("/orderList")
+    public ApiResponse<List<TmsOrderListResponse>> orderList(@RequestBody TmsOrderListRequest request )   {
+
+        return  ApiResponse.success(tmsService.orderList(request));
+    }
+    @ApiOperation("銆怲MS銆戝悎鍚岃鎯呮帴鍙�")
+    @LoginNoRequired
+    @PostMapping("/orderInfo")
+    public ApiResponse<TmsOrderInfoResponse> ordreInfo(@RequestBody TmsOrderInfoRequest request )   {
+
+        return ApiResponse.success(tmsService.orderInfo(request));
+    }
+
+
+}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/WmsPushCloudTestController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/WmsPushCloudTestController.java
index 54c03c4..17efe43 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/WmsPushCloudTestController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/WmsPushCloudTestController.java
@@ -2,6 +2,7 @@
 
 import com.doumee.api.BaseController;
 import com.doumee.config.annotation.LoginNoRequired;
+import com.doumee.core.model.ApiResponse;
 import com.doumee.core.tms.model.request.TmsLockStatusQueryRequest;
 import com.doumee.core.tms.model.request.TmsOrderInfoRequest;
 import com.doumee.core.tms.model.request.TmsOrderListRequest;
@@ -86,20 +87,6 @@
     @PostMapping("/tms/lockStatusQuery")
     public TmsBaseResponse<List<TmsLockStatusQueryResponse>>  lockStatusQuery(@RequestBody  TmsLockStatusQueryRequest request )   {
         return  tmsService.lockStatusQuery(request);
-    }
-    @ApiOperation("銆怲MS銆戝悎鍚屽垪琛ㄦ帴鍙�")
-    @LoginNoRequired
-    @PostMapping("/tms/orderList")
-    public TmsBaseResponse<List<TmsOrderListResponse>> orderList(@RequestBody TmsOrderListRequest request )   {
-
-        return  tmsService.orderList(request);
-    }
-    @ApiOperation("銆怲MS銆戝悎鍚岃鎯呮帴鍙�")
-    @LoginNoRequired
-    @PostMapping("/tms/orderInfo")
-    public TmsBaseResponse<TmsOrderInfoResponse> ordreInfo(@RequestBody TmsOrderInfoRequest request )   {
-
-        return  tmsService.orderInfo(request);
     }
 
     public static void doPringParam(HttpServletRequest request,String name) {
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/request/TmsOrderListRequest.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/request/TmsOrderListRequest.java
index 9ef1434..d391173 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/request/TmsOrderListRequest.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/request/TmsOrderListRequest.java
@@ -11,7 +11,7 @@
  */
 @Data
 @ApiModel("tms鍚堝悓鍒楄〃璇锋眰鍙傛暟")
-public class TmsOrderListRequest {
+public class  TmsOrderListRequest {
 
 
     private List<String> permissionDomainIdList; //鏄�	闆嗗悎	鍖哄煙ID闆嗗悎
@@ -20,4 +20,6 @@
     private String   toRepertoty	;//	鍚�	瀛楃涓�	鍒拌揣鍦�
     private String  provinceName	;//	鍚�	瀛楃涓�	鍒拌揣鍦扮渷浠�
 
+    private String    phoneNumber	;//鍚�	瀛楃涓�	鎵嬫満鍙�
+
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsContractListResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsContractListResponse.java
new file mode 100644
index 0000000..e276007
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsContractListResponse.java
@@ -0,0 +1,35 @@
+package com.doumee.core.tms.model.response;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/11/23 14:03
+ */
+@Data
+@ApiModel("tms鏌ヨ鍚堝悓鍒楄〃璇锋眰杩斿洖鍙傛暟")
+public class TmsContractListResponse {
+   /**
+    {
+        "code": 0,
+        "data": [
+            {
+                "fromRepertoty": "鍚堣偉鎴愬搧搴�",
+                "ncCreateDate": "2023-12-04 10:36:15",
+                "toRepertoty": "澶╂触甯備腑蹇冧粨搴�",
+                "contractNumber": "112308335",
+                "orderStatus": "鍒拌揪鍗歌揣鍦�"
+            }
+        ],
+        "message": "鎿嶄綔鎴愬姛"
+    }
+    */
+   private String  contractNumber	;//鍚堝悓鍙�
+   private String  fromRepertoty	;//鍙戣揣鍦�
+   private String toRepertoty	;//鍒拌揣鍦�
+   private String plateNumber	;//杞︾墝鍙�	鍚堝悓鏈厤杞藉垯鏃�
+   private String orderStatus	;//褰撳墠杩愯緭鍗曠姸鎬�
+   private String  ncCreateDate;//	鍒跺崟鏃堕棿
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsOrderListResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsOrderListResponse.java
index 855faba..417157d 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsOrderListResponse.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsOrderListResponse.java
@@ -35,4 +35,5 @@
     private String  ncCreateDate; //	鍒跺崟鏃堕棿
 
 
+
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConstants.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConstants.java
index c445890..f558446 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConstants.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConstants.java
@@ -71,8 +71,10 @@
         String carUseBookAuditSuccess = "carUseBookAuditSuccess";
         //鐢ㄨ溅鐢宠-瀹℃壒椹冲洖閫氱煡锛堢粰鐢宠浜猴級锛氥��
         String carUseBookAuditFail = "carUseBookAuditFail";
-        //鐢ㄨ溅鐢宠-瀹℃壒椹冲洖閫氱煡锛堢粰鐢宠浜猴級锛氥��
+        //鐢ㄨ溅鐢宠-寰呭鎵癸紙缁欑敵璇蜂汉锛夛細銆�
         String carUseBookWaitAudit = "carUseBookWaitAudit";
+        //鐢ㄨ溅鐢宠-寰呭鎵癸紙缁欑敵璇蜂汉锛夛細銆�
+        String carUseBookCancel = "carUseBookCancel";
     }
 
 
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..a42e117 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
@@ -272,7 +272,7 @@
                                               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.carUse)
                         .eq(WxNoticeConfig::getObjCode,objCode)
                         .eq(WxNoticeConfig::getStatus, Constants.ZERO)
                         .last(" limit 1")
@@ -289,7 +289,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 +297,8 @@
                     }else{
                         thing3.put("value","鐢宠宸茶椹冲洖");
                     }
+                }else{
+                    thing3.put("value","鐢宠宸茶鍙栨秷");
                 }
                 //鐢宠浜�
                 Map<String, Object> thing1 = new HashMap<String,Object>();
@@ -315,10 +317,10 @@
                 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("template_id", wxNoticeConfig.getTempId());
                     paramMap.put("touser", openId);
                     paramMap.put("data", dataMap);
                     String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap));
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Approve.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Approve.java
index 1836078..7fdb6dd 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Approve.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Approve.java
@@ -147,6 +147,11 @@
     private String companyName;
 
 
+    @ApiModelProperty(value = "openid", example = "1")
+    @ExcelColumn(name="openid")
+    @TableField(exist = false)
+    private String systemOpenid;
+
 
     @ApiModelProperty(value = "寰呭鎵硅褰�", example = "1")
     @TableField(exist = false)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/WmsInterfaceLog.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/WmsInterfaceLog.java
index 108bc92..29dc9f3 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/WmsInterfaceLog.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/WmsInterfaceLog.java
@@ -75,7 +75,7 @@
     @ExcelColumn(name="璋冪敤缁撴灉 0鎴愬姛 1澶辫触")
     private Integer success;
 
-    @ApiModelProperty(value = "骞冲彴 0娴峰悍瀹夐槻骞冲彴 1ERP绯荤粺", example = "1")
+    @ApiModelProperty(value = "骞冲彴 0WMS 1TMS", example = "1")
     @ExcelColumn(name="骞冲彴 0娴峰悍瀹夐槻骞冲彴 1ERP绯荤粺")
     private Integer plat;
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/SmsEmailService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/SmsEmailService.java
index a7cc09d..6e42669 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/SmsEmailService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/SmsEmailService.java
@@ -3,6 +3,7 @@
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.dao.business.model.SmsEmail;
+import com.doumee.dao.business.model.vo.ValidPhoneCodeVO;
 
 import java.util.List;
 
@@ -98,4 +99,6 @@
     long count(SmsEmail smsEmail);
 
     void sendWaitingSmsNotice();
+
+    void validPhoneCaptcha(ValidPhoneCodeVO param);
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
index eea3e40..3bf827a 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
@@ -27,6 +27,7 @@
 import com.doumee.dao.business.join.VisitsJoinMapper;
 import com.doumee.dao.business.model.*;
 import com.doumee.dao.business.vo.ApproveDataVO;
+import com.doumee.dao.system.SystemUserMapper;
 import com.doumee.dao.system.dto.NoticesDTO;
 import com.doumee.dao.system.join.NoticesJoinMapper;
 import com.doumee.dao.system.model.Notices;
@@ -84,6 +85,9 @@
 
     @Autowired
     private CarUseBookMapper carUseBookMapper;
+    
+    @Autowired
+    private SystemUserMapper systemUserMapper;
 
     @Autowired
     private CarDriverMapper carDriverMapper;
@@ -637,13 +641,20 @@
                         );
                         //鍏紬鍙烽�氱煡
                         if(StringUtils.isNotBlank(member.getSystemOpenid())){
-                            wxPlatNotice.sendCarUseBookTemplateNotice(
-                                    wxNoticeConfigMapper,
-                                    carUseBookMapper.selectById(businessId),
-                                    WxPlatConstants.carUseBookContent.carUseBookWaitAudit,
-                                    token,
-                                    Arrays.asList(member.getSystemOpenid().split(",")),
-                                    Constants.ONE);
+                            CarUseBook carUseBook = carUseBookMapper.selectById(businessId);
+                            if(Objects.nonNull(carUseBook)){
+                                SystemUser systemUser = systemUserMapper.selectById(carUseBook.getCreator());
+                                if(Objects.nonNull(systemUser)){
+                                    carUseBook.setMemberName(systemUser.getRealname());
+                                    wxPlatNotice.sendCarUseBookTemplateNotice(
+                                            wxNoticeConfigMapper,
+                                            carUseBookMapper.selectById(businessId),
+                                            WxPlatConstants.carUseBookContent.carUseBookWaitAudit,
+                                            token,
+                                            Arrays.asList(member.getSystemOpenid().split(",")),
+                                            Constants.ONE);
+                                }
+                            }
                         }
                     }
                 }
@@ -1187,6 +1198,7 @@
     @Override
     @Transactional(rollbackFor = {Exception.class,BusinessException.class})
     public void approved(ApproveDTO approveDTO){
+        WxPlatNotice wxPlatNotice = new WxPlatNotice();
         if(Objects.isNull(approveDTO)
         || Objects.isNull(approveDTO.getObjId())
                 || Objects.isNull(approveDTO.getObjType())
@@ -1326,7 +1338,9 @@
                         new MPJLambdaWrapper<Approve>()
                                 .selectAll(Approve.class)
                                 .selectAs(Member::getPhone,Approve::getMemberPhone)
+                                .selectAs(SystemUser::getOpenid,Approve::getSystemOpenid)
                                 .leftJoin(Member.class,Member::getId,Approve::getChekorId)
+                                .leftJoin(SystemUser.class,SystemUser::getMemberId,Member::getId)
                                 .eq(Approve::getStatus,Constants.approveStatus.wait)
                                 .eq(Approve::getObjId,approve.getObjId())
                                 .eq(Approve::getObjType,approve.getObjType())
@@ -1342,41 +1356,17 @@
                         .eq(Approve::getObjType,approve.getObjType())
                         .eq(Approve::getLevel,(approve.getLevel()+1))
                 );
+
                 //鍙戦�佺煭淇¢�氱煡  涓嬬骇瀹℃壒浜�
                 List<String> memberPhone = waitAuditList.stream().filter(i->StringUtils.isNotBlank(i.getMemberPhone())).map(i->i.getMemberPhone()).collect(Collectors.toList());
-                //鐗╂祦杞﹂绾�
-                if(approveDTO.getObjType().equals(Constants.approveObjectType.reason)){
-                    SmsEmailServiceImpl.sendPlatformBookSms(systemDictDataBiz,
-                            emayService,smsEmailMapper,smsConfigMapper,platformBooksMapper,approveDTO.getObjId(),
-                            SmsConstants.platformBookContent.platformBookWaitAudit,
-                            approveDTO.getCheckInfo(),memberPhone
-                    );
-                }
+                List<String> openIdList =waitAuditList.stream().filter(i->StringUtils.isNotBlank(i.getSystemOpenid())).map(i->i.getSystemOpenid()).collect(Collectors.toList());
 
-                else if(approveDTO.getObjType().equals(Constants.approveObjectType.cityUseCar)
-                || approveDTO.getObjType().equals(Constants.approveObjectType.unCityUseCar)){
-                    SmsEmailServiceImpl.sendCarUseSms(systemDictDataBiz,
-                            emayService,smsEmailMapper,smsConfigMapper,carUseBookMapper,approveDTO.getObjId(),
-                            SmsConstants.hiddenDangerContent.hiddenDangerDealUser,
-                            approveDTO.getCheckInfo(),memberPhone);
-                }
+                this.sendNextLvSms(approve,approveDTO,memberPhone,openIdList);
 
-                //璁垮鐢宠/鎶ュ
-                if(approveDTO.getObjType().equals(Constants.approveObjectType.unConstructionVisit)
-                        ||approveDTO.getObjType().equals(Constants.approveObjectType.constructionVisit)
-                        ||approveDTO.getObjType().equals(Constants.approveObjectType.visitReporting)) {
-                    Visits visits = visitsMapper.selectById(approve.getObjId());
-                    if(Objects.nonNull(visits)){
-                        if(Constants.equalsInteger(visits.getStatus(),Constants.ZERO)){
-                             visitsMapper.update(null,new UpdateWrapper<Visits>().lambda().set(Visits::getStatus,Constants.ONE).eq(Visits::getId,visits.getId()));
-                        }
-                    }
-                }
-
-                if(approveDTO.getObjType().equals(Constants.approveObjectType.cityUseCar)||approveDTO.getObjType().equals(
-                        Constants.approveObjectType.unCityUseCar)){
-                    this.updDriver(approveDTO,approve,false);
-                }
+//                if(approveDTO.getObjType().equals(Constants.approveObjectType.cityUseCar)||approveDTO.getObjType().equals(
+//                        Constants.approveObjectType.unCityUseCar)){
+//                    this.updDriver(approveDTO,approve,false);
+//                }
             }else if(approve.getApproveType().equals(Constants.ONE)){
                 //浼氱 涓旂粓瀹�
                 //鏃犱粬浜哄鎵圭殑鎯呭喌 鍒欎慨鏀规暟鎹姸鎬�
@@ -1385,6 +1375,20 @@
                 }else{
                     if(Constants.equalsInteger(approveList.size(),Constants.ZERO)&&Constants.equalsInteger(approve.getIsEndCheck(),Constants.ZERO)){
                         /**寮�鍚笅涓�绾у埆鐨勬暟鎹负寰呭鏍�**/
+
+                        List<Approve> waitAuditList = approveJoinMapper.selectJoinList(Approve.class,
+                                new MPJLambdaWrapper<Approve>()
+                                        .selectAll(Approve.class)
+                                        .selectAs(Member::getPhone,Approve::getMemberPhone)
+                                        .selectAs(SystemUser::getOpenid,Approve::getSystemOpenid)
+                                        .leftJoin(Member.class,Member::getId,Approve::getChekorId)
+                                        .leftJoin(SystemUser.class,SystemUser::getMemberId,Member::getId)
+                                        .eq(Approve::getStatus,Constants.approveStatus.wait)
+                                        .eq(Approve::getObjId,approve.getObjId())
+                                        .eq(Approve::getObjType,approve.getObjType())
+                                        .eq(Approve::getLevel,(approve.getLevel()+1)));
+
+
                         approveJoinMapper.update(null,new UpdateWrapper<Approve>()
                                 .lambda()
                                 .set(Approve::getStatus,Constants.approveStatus.auditIng)
@@ -1395,11 +1399,19 @@
                                 .eq(Approve::getObjType,approve.getObjType())
                                 .eq(Approve::getLevel,(approve.getLevel()+1))
                         );
+
+
+                        //鍙戦�佺煭淇¢�氱煡  涓嬬骇瀹℃壒浜�
+                        List<String> memberPhone = waitAuditList.stream().filter(i->StringUtils.isNotBlank(i.getMemberPhone())).map(i->i.getMemberPhone()).collect(Collectors.toList());
+                        List<String> openIdList =waitAuditList.stream().filter(i->StringUtils.isNotBlank(i.getSystemOpenid())).map(i->i.getSystemOpenid()).collect(Collectors.toList());
+
+                        this.sendNextLvSms(approve,approveDTO,memberPhone,openIdList);
+
                     }
-                    if(approveDTO.getObjType().equals(Constants.approveObjectType.cityUseCar)||approveDTO.getObjType().equals(
-                            Constants.approveObjectType.unCityUseCar)){
-                        this.updDriver(approveDTO,approve,false);
-                    }
+//                    if(approveDTO.getObjType().equals(Constants.approveObjectType.cityUseCar)||approveDTO.getObjType().equals(
+//                            Constants.approveObjectType.unCityUseCar)){
+//                        this.updDriver(approveDTO,approve,false);
+//                    }
                 }
             }
             this.passNextNotices(dealBusinessBean,notices,approve,approveList,approveCopyList,approveDTO);
@@ -1409,6 +1421,78 @@
             this.dealBusinessData(approveDTO,approve);
         }
     }
+
+
+
+
+    public void sendNextLvSms(Approve approve ,ApproveDTO approveDTO , List<String> memberPhone ,List<String> openIdList){
+        WxPlatNotice wxPlatNotice = new WxPlatNotice();
+        //鐗╂祦杞﹂绾�
+        if(approveDTO.getObjType().equals(Constants.approveObjectType.reason)){
+            SmsEmailServiceImpl.sendPlatformBookSms(systemDictDataBiz,
+                    emayService,smsEmailMapper,smsConfigMapper,platformBooksMapper,approveDTO.getObjId(),
+                    SmsConstants.platformBookContent.platformBookWaitAudit,
+                    approveDTO.getCheckInfo(),memberPhone
+            );
+            //TODO 鍙戦�佷笅绾х殑寰呭鎵圭殑閫氱煡
+
+
+        } else if(approveDTO.getObjType().equals(Constants.approveObjectType.cityUseCar)
+                || approveDTO.getObjType().equals(Constants.approveObjectType.unCityUseCar)){
+
+            this.updDriver(approveDTO,approve,false);
+
+            SmsEmailServiceImpl.sendCarUseSms(systemDictDataBiz,
+                    emayService,smsEmailMapper,smsConfigMapper,carUseBookMapper,approveDTO.getObjId(),
+                    SmsConstants.carUseBookContent.carUseBookWaitAudit,
+                    approveDTO.getCheckInfo(),memberPhone);
+            //鍙戦�佸叕浼楀彿閫氱煡
+            if(CollectionUtils.isNotEmpty(openIdList)){
+                CarUseBook carUseBook = carUseBookMapper.selectById(approve.getObjId());
+                if(Objects.nonNull(carUseBook)){
+                    SystemUser systemUser = systemUserMapper.selectById(carUseBook.getCreator());
+                    if(Objects.nonNull(systemUser)){
+                        carUseBook.setMemberName(systemUser.getRealname());
+                        //鍙戦�佸井淇″叕浼楀彿閫氱煡
+                        wxPlatNotice.sendCarUseBookTemplateNotice(
+                                wxNoticeConfigMapper,carUseBook,
+                                WxPlatConstants.carUseBookContent.carUseBookWaitAudit,
+                                systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+                                openIdList,1);
+                    }
+                }
+            }
+        }else
+            //璁垮鐢宠/鎶ュ
+            if(approveDTO.getObjType().equals(Constants.approveObjectType.unConstructionVisit)
+                    ||approveDTO.getObjType().equals(Constants.approveObjectType.constructionVisit)
+                    ||approveDTO.getObjType().equals(Constants.approveObjectType.visitReporting)) {
+                Visits visits = visitsMapper.selectById(approve.getObjId());
+                if(Objects.nonNull(visits)){
+                    if(Constants.equalsInteger(visits.getStatus(),Constants.ZERO)){
+                        visitsMapper.update(null,new UpdateWrapper<Visits>().lambda().set(Visits::getStatus,Constants.ONE).eq(Visits::getId,visits.getId()));
+                    }
+                    SmsEmailServiceImpl.sendVisitSms(systemDictDataBiz,
+                            emayService,smsEmailMapper,smsConfigMapper,visitsMapper,approveDTO.getObjId(),
+                            approveDTO.getObjType().equals(Constants.approveObjectType.visitReporting)?
+                                    SmsConstants.visitReportingContent.visitReportingNotice:SmsConstants.visitContent.visitNotice,
+                            null,memberPhone
+                    );
+                    //鍏紬鍙烽�氱煡
+                    if(CollectionUtils.isNotEmpty(openIdList)){
+                        wxPlatNotice.sendVisitTemplateNotice(
+                                wxNoticeConfigMapper,visitsMapper.selectById(approveDTO.getObjId()),
+                                approveDTO.getObjType().equals(Constants.approveObjectType.visitReporting)?WxPlatConstants.visitReportContent.visitReportWaitAudit:WxPlatConstants.visitContent.visitWaitAudit,
+                                systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+                                openIdList
+                        );
+                    }
+
+                }
+            }
+    }
+
+
 
     /**
      * 澶勭悊寰呭姙淇℃伅
@@ -1660,23 +1744,24 @@
             this.updDriver(approveDTO,approve,true);
             CarUseBook carUseBook = carUseBookJoinMapper.selectById(approveDTO.getObjId());
             if(Objects.nonNull(carUseBook)){
-                Member member = memberMapper.selectById(carUseBook.getMemberId());
+                SystemUser systemUser = systemUserMapper.selectById(carUseBook.getCreator());
                 //鍙戦�侀�氱煡鐭伅
-                if(Objects.nonNull(member)&&StringUtils.isNotBlank(member.getPhone())){
+                if(Objects.nonNull(systemUser)&&StringUtils.isNotBlank(systemUser.getMobile())){
                     SmsEmailServiceImpl.sendCarUseSms(systemDictDataBiz,
                             emayService,smsEmailMapper,smsConfigMapper,carUseBookMapper,approveDTO.getObjId(),
                             Constants.equalsInteger(approveDTO.getStatus(),Constants.TWO)?SmsConstants.carUseBookContent.carUseBookAuditSuccess:
                                     SmsConstants.carUseBookContent.carUseBookAuditFail,
-                            approveDTO.getCheckInfo(),Arrays.asList(member.getPhone().split(","))
+                            approveDTO.getCheckInfo(),Arrays.asList(systemUser.getMobile().split(","))
                     );
                 }
-                if(StringUtils.isNotBlank(member.getOpenid())){
+                if(Objects.nonNull(systemUser)&&StringUtils.isNotBlank(systemUser.getOpenid())){
+                    carUseBook.setMemberName(systemUser.getRealname());
                     //鍙戦�佸井淇″叕浼楀彿閫氱煡
                     wxPlatNotice.sendCarUseBookTemplateNotice(
                             wxNoticeConfigMapper,carUseBook,
                             Constants.equalsInteger(approveDTO.getStatus(),Constants.TWO)?WxPlatConstants.carUseBookContent.carUseBookAuditSuccess: WxPlatConstants.carUseBookContent.carUseBookAuditFail,
                             systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
-                            Arrays.asList(member.getOpenid().split(",")),0);
+                            Arrays.asList(systemUser.getOpenid().split(",")),0);
                 }
             }
 
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 b881fa4..70a2761 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
@@ -18,9 +18,11 @@
 import com.doumee.dao.business.vo.ApproveDataVO;
 import com.doumee.dao.business.vo.DateIntervalVO;
 
+import com.doumee.dao.system.SystemUserMapper;
 import com.doumee.dao.system.join.NoticesJoinMapper;
 import com.doumee.dao.system.model.Notices;
 import com.doumee.dao.system.model.SystemDictData;
+import com.doumee.dao.system.model.SystemUser;
 import com.doumee.service.business.ApproveService;
 import com.doumee.service.business.CarUseBookService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -89,6 +91,9 @@
     @Autowired
     private WxNoticeConfigMapper wxNoticeConfigMapper;
 
+    @Autowired
+    private SystemUserMapper systemUserMapper;
+
     @Override
     @Transactional(rollbackFor = {Exception.class,BusinessException.class})
     public Integer create(CarUseBook carUseBook)  throws Exception {
@@ -145,13 +150,14 @@
         //鍙戦�佸井淇″叕浼楀彿閫氱煡
         //鍙戦�佸井淇″叕浼楀彿閫氱煡
         WxPlatNotice wxPlatNotice = new WxPlatNotice();
-        Member member = memberMapper.selectById(carUseBook.getMemberId());
-        if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())){
+        SystemUser systemUser = systemUserMapper.selectById(carUseBook.getCreator());
+        if(Objects.nonNull(systemUser) && StringUtils.isNotBlank(systemUser.getOpenid())){
+            carUseBook.setMemberName(systemUser.getRealname());
             wxPlatNotice.sendCarUseBookTemplateNotice(
                     wxNoticeConfigMapper,carUseBook,
                     WxPlatConstants.carUseBookContent.carUseBookUpload,
                     systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
-                    Arrays.asList(member.getOpenid().split(",")),0);
+                    Arrays.asList(systemUser.getOpenid().split(",")),0);
         }
 
         return carUseBook.getId();
@@ -505,14 +511,26 @@
         );
 
 
-        Member member = memberMapper.selectById(carUseBook.getMemberId());
-        if(Objects.nonNull(member)&&StringUtils.isNotBlank(member.getPhone())){
+        SystemUser systemUser = systemUserMapper.selectById(carUseBook.getCreator());
+        if(Objects.nonNull(systemUser)&&StringUtils.isNotBlank(systemUser.getMobile())){
             //鐢ㄨ溅鐢宠鍙栨秷
             SmsEmailServiceImpl.sendCarUseSms(systemDictDataBiz,
                     emayService,smsEmailMapper,smsConfigMapper,carUseBookMapper,carUseBook.getId(),
                     SmsConstants.carUseBookContent.carUseBookCancel,
-                    null, Arrays.asList(member.getPhone().split(","))
+                    info, Arrays.asList(systemUser.getMobile().split(","))
             );
+            if(StringUtils.isNotBlank(systemUser.getOpenid())){
+                carUseBook.setMemberName(systemUser.getRealname());
+                WxPlatNotice wxPlatNotice = new WxPlatNotice();
+                wxPlatNotice.sendCarUseBookTemplateNotice(
+                        wxNoticeConfigMapper,
+                        carUseBook,
+                        WxPlatConstants.carUseBookContent.carUseBookCancel,
+                        systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+                        Arrays.asList(systemUser.getOpenid().split(",")),
+                        Constants.TWO);
+            }
+
         }
     }
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java
index ab15d31..be1458c 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java
@@ -15,6 +15,7 @@
 import com.doumee.dao.business.dao.SmsConfigMapper;
 import com.doumee.dao.business.dao.SmsEmailMapper;
 import com.doumee.dao.business.model.*;
+import com.doumee.dao.business.model.vo.ValidPhoneCodeVO;
 import com.doumee.service.business.SmsEmailService;
 import com.doumee.service.business.third.EmayService;
 import org.apache.commons.lang3.StringUtils;
@@ -75,6 +76,10 @@
 
 
 
+    @Override
+    public     void validPhoneCaptcha(ValidPhoneCodeVO param){
+       isCaptcheValide(smsEmailMapper,param.getPhone(),param.getCode());
+    }
     @Override
     public Integer create(SmsEmail smsEmail) {
         smsEmailMapper.insert(smsEmail);
@@ -495,6 +500,9 @@
                         content = content.replace("{鎻愪氦鐨勫嚭鍙戞椂闂磢",DateUtil.getFomartDate(carUseBook.getStartTime(),"yyyy-MM-dd HH:mm"));
                     }else if(objCode.equals(SmsConstants.carUseBookContent.carUseBookAuditFail) || objCode.equals(SmsConstants.carUseBookContent.carUseBookCancel)){
                         //鎮ㄧ殑銆愮敤杞︾敵璇枫�戝凡琚┏鍥烇紝椹冲洖鍘熷洜涓猴細{椹冲洖鍘熷洜}銆傚鏈夌枒闂紝璇疯仈绯绘淳杞﹀憳銆�
+                        if(StringUtils.isBlank(msg)){
+                            msg = "鍏朵粬鍘熷洜";
+                        }
                         content = content.replace("{椹冲洖鍘熷洜}",msg);
                         //鎮ㄧ殑銆愮敤杞︾敵璇枫�戝凡琚彇娑堬紝鍙栨秷鍘熷洜涓猴細{鍙栨秷鍘熷洜}銆傚鏈夌枒闂紝璇疯仈绯绘淳杞﹀憳銆�
                         content = content.replace("{鍙栨秷鍘熷洜}",msg);
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java
index 9a98862..9d3a9a1 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java
@@ -19,13 +19,16 @@
 import com.doumee.core.wms.model.response.WmsBaseResponse;
 import com.doumee.core.wms.model.response.WmsInventoryDataResponse;
 import com.doumee.dao.business.*;
+import com.doumee.dao.business.dao.SmsEmailMapper;
 import com.doumee.dao.business.model.*;
+import com.doumee.service.business.impl.SmsEmailServiceImpl;
 import com.doumee.service.business.third.TmsService;
 import com.doumee.service.business.third.WmsService;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -39,6 +42,9 @@
 @Service
 @Slf4j
 public class TmsServiceImpl implements TmsService {
+
+    @Autowired
+    private SmsEmailMapper smsEmailMapper;
     @Autowired
     private PlatformWmsJobMapper platformWmsJobMapper;
     @Autowired
@@ -55,7 +61,8 @@
     private SystemDictDataBiz systemDictDataBiz;
     @Autowired
     private WmsInterfaceLogMapper wmsInterfaceLogMapper;
-
+    @Value("${debug_model}")
+    private Boolean isDebug;
     /**
      * 鐢靛瓙閿佷笂閿佹椂闂存帴鍙�
      * 鏍规嵁鍚堝悓鍙凤紝鏌ヨ鐢靛瓙閿佷笂閿佹儏鍐碉紱瀛樺湪鎵归噺鏌ヨ鐨勬儏鍐碉紱
@@ -79,12 +86,22 @@
      * @return TmsBaseResponse
      */
     @Override
-    public  TmsBaseResponse<List<TmsOrderListResponse>> orderList(TmsOrderListRequest param){
+    public   List<TmsOrderListResponse>  orderList(TmsOrderListRequest param){
+       if(StringUtils.isBlank(param.getPhoneNumber())){
+           param.setPhoneNumber("00000000000");//鎵嬫満鍙峰繀濉�
+       }
+       if(param.getContractNumbers()==null || param.getContractNumbers().size()==0){
+           param.setContractNumbers(null);
+       }
         String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
                     +systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_ORDER_LIST_URL).getCode();
-        TmsBaseResponse<List<TmsOrderListResponse>> response = sendHttpRequest(url,"鍚堝悓鍒楄〃鎺ュ彛",JSONObject.toJSONString(param)
+        TmsBaseResponse<List<TmsOrderListResponse>> response = sendHttpRequest(url,"銆怲MS銆戝悎鍚屽垪琛ㄦ帴鍙�",JSONObject.toJSONString(param)
                 ,new TypeReference< TmsBaseResponse<List<TmsOrderListResponse>>>(){});
-        return response;
+        if(response ==null){
+            return  new ArrayList<>();
+        }else{
+            return response.getData()==null?new ArrayList<>():response.getData();
+        }
     }
     /**
      * 鍚堝悓璇︽儏鎺ュ彛
@@ -92,12 +109,16 @@
      * @return TmsBaseResponse
      */
     @Override
-    public TmsBaseResponse<TmsOrderInfoResponse> orderInfo(TmsOrderInfoRequest param){
+    public  TmsOrderInfoResponse orderInfo(TmsOrderInfoRequest param){
         String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
                     +systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_ORDER_DETAIL_URL).getCode();
-        TmsBaseResponse<TmsOrderInfoResponse> response = sendHttpRequest(url,"鍚堝悓璇︽儏鎺ュ彛",JSONObject.toJSONString(param)
+        TmsBaseResponse<TmsOrderInfoResponse> response = sendHttpRequest(url,"銆怲MS銆戝悎鍚岃鎯呮帴鍙�",JSONObject.toJSONString(param)
                 ,new TypeReference< TmsBaseResponse<TmsOrderInfoResponse>>(){});
-        return  response;
+        if(response ==null){
+            return new TmsOrderInfoResponse();
+        }else{
+            return response.getData()==null?new TmsOrderInfoResponse():response.getData();
+        }
     }
 
     /**
@@ -129,15 +150,35 @@
                 success = 1;
                 log.error("銆�"+name+"銆�================澶辫触===="+ JSONObject.toJSONString(param));
             }finally {
+                saveInterfaceLog(url,name,param,success,res,Constants.ZERO);
             }
         }
         return  null;
     }
+    @Override
+    public  void  saveInterfaceLog(String url,String name,String  param,Integer success,String respone,int type){
+        if(wmsInterfaceLogMapper ==null){
+            return;
+        }
+        WmsInterfaceLog log = new WmsInterfaceLog();
+        log.setCreateDate(new Date());
+        log.setUrl(url);
+        log.setEditDate(log.getCreateDate());
+        log.setPlat(Constants.ONE);
+        log.setName(name);
+        log.setIsdeleted(Constants.ZERO);
+        log.setRequest(param);
+        log.setType(type);
+        log.setSuccess(success);
+        log.setRepose(respone);
+        wmsInterfaceLogMapper.insert(log);
+    }
+
     private static void logResult(TmsBaseResponse res,String name) {
         if(StringUtils.equals(res.getCode(), TmsBaseResponse.CODE_SUCCESS)){
-            log.info("銆怲MS鎺ュ彛锛�"+name+"銆�================鎴愬姛====\n"+res);
+            log.info("銆怲MS鎺ュ彛锛�"+name+"銆�================鎴愬姛====\n"+ JSONObject.toJSONString(res));
         }else{
-            log.error("銆怲MS鎺ュ彛锛�"+name+"銆�================澶辫触====锛歕n"+ res);
+            log.error("銆怲MS鎺ュ彛锛�"+name+"銆�================澶辫触====锛歕n"+ JSONObject.toJSONString(res));
         }
     }
 
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 cc451b8..cd880f9 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
@@ -219,9 +219,9 @@
     }
     private static void logResult(WmsBaseResponse<WmsBaseDataResponse> res,String name) {
         if(StringUtils.equals(res.getData().get(0).getSuccess(), WmsBaseResponse.CODE_SUCCESS)){
-            log.info("銆怶MS鎺ュ彛锛�"+name+"銆�================鎴愬姛====\n"+res);
+            log.info("銆怶MS鎺ュ彛锛�"+name+"銆�================鎴愬姛====\n"+ JSONObject.toJSONString(res));
         }else{
-            log.error("銆怶MS鎺ュ彛锛�"+name+"銆�================澶辫触====锛歕n"+ res);
+            log.error("銆怶MS鎺ュ彛锛�"+name+"銆�================澶辫触====锛歕n"+  JSONObject.toJSONString(res));
         }
     }
     /**
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/TmsService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/TmsService.java
index 804ae24..0b8a34f 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/TmsService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/TmsService.java
@@ -35,18 +35,18 @@
 
     /**
      * 鍚堝悓鍒楄〃鎺ュ彛
-     * 鏍规嵁鍖哄煙ID闆嗗悎+绛涢�夋潯浠讹紙鍚堝悓鍙枫�佸埗鍗曞紑濮嬫棩鏈熴�佸埗鍗曠粨鏉熸棩鏈熴�佸彂璐у湴銆佸埌璐у湴銆佺渷浠斤紝闈為渶瑕侊級锛岃繑鍥炲悎鍚屽垪琛ㄤ俊鎭紝鎸夌収鏃堕棿鍊掑簭灞曠ず锛�
+     * 鏍规嵁鍖哄煙ID闆嗗悎+绛涢�夋潯浠讹紙鍚堝悓鍙枫�佸埗鍗曞紑濮嬫棩鏈熴�佸埗鍗曠粨鏉熸棩鏈熴�佸彂璐у湴銆佸埌璐у湴銆佺渷浠姐�佹墜鏈哄彿锛岄潪闇�瑕侊級锛岃繑鍥炲悎鍚屽垪琛ㄤ俊鎭紝鎸夌収鏃堕棿鍊掑簭灞曠ず锛�
      * @param param 鍙傛暟
      * @return TmsBaseResponse
      */
-    TmsBaseResponse<List<TmsOrderListResponse>> orderList(TmsOrderListRequest param);
+    List<TmsOrderListResponse> orderList(TmsOrderListRequest param);
 
     /**
      * 鍚堝悓璇︽儏鎺ュ彛
      * @param param 鍙傛暟
      * @return TmsBaseResponse
      */
-    TmsBaseResponse<TmsOrderInfoResponse> orderInfo(TmsOrderInfoRequest param);
-
+     TmsOrderInfoResponse orderInfo(TmsOrderInfoRequest param);
+    void  saveInterfaceLog(String url,String name,String  param,Integer success,String respone,int type);
 
 }

--
Gitblit v1.9.3