From 164a872e40aa1bb88427d37262a8697c2b8caa6a Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期五, 18 十月 2024 18:44:52 +0800
Subject: [PATCH] 代码初始化

---
 server/system_service/src/main/java/com/doumee/core/utils/Constants.java                                       |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java |   11 +
 server/system_service/src/main/java/com/doumee/core/utils/SmsConstants.java                                    |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java            |   25 +++-
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/StagingCloudController.java                   |    2 
 server/system_gateway/src/main/resources/bootstrap.yml                                                         |    2 
 server/system_service/src/main/java/com/doumee/service/system/impl/NoticesServiceImpl.java                     |    5 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java                     |    5 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java      |   54 ++++++++++
 server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java                                 |    4 
 server/visits/admin_timer/src/main/java/com/doumee/api/PlatformJobController.java                              |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java                          |    4 
 server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Bookings.java                       |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java        |   28 ++++-
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java                          |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java           |   70 +++++++++++++-
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java       |    6 
 server/system_service/src/main/java/com/doumee/core/annotation/excel/ExcelImporter.java                        |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java            |   46 ++++++++-
 server/visits/admin_timer/src/main/java/com/doumee/api/HkVisitTimerController.java                             |   11 ++
 20 files changed, 249 insertions(+), 42 deletions(-)

diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Bookings.java b/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Bookings.java
index 2484b0a..dc66574 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Bookings.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Bookings.java
@@ -108,6 +108,9 @@
     @ApiModelProperty(value = "鎻愬墠寮�濮嬫椂闂�")
     private Date startTimeReal;
 
+    @ApiModelProperty(value = "鏄惁鍙戦�佸弬浼氫汉閫氱煡锛�0=閫氱煡锛�1=涓嶉�氱煡")
+    private Integer joinNotice;
+
     @ApiModelProperty(value = "棰勭害浜�")
     @TableField(exist = false)
     private String realName ;
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/annotation/excel/ExcelImporter.java b/server/system_service/src/main/java/com/doumee/core/annotation/excel/ExcelImporter.java
index 8f98162..d3c494c 100644
--- a/server/system_service/src/main/java/com/doumee/core/annotation/excel/ExcelImporter.java
+++ b/server/system_service/src/main/java/com/doumee/core/annotation/excel/ExcelImporter.java
@@ -295,7 +295,8 @@
                             }else{
                                 val = String.valueOf(val.toString()).trim();
                             }
-                        }else if (valType == Integer.class){
+                        }
+                        else if (valType == Integer.class){
                             val = Double.valueOf(val.toString()).intValue();
                         }else if (valType == Long.class){
                             val = Double.valueOf(val.toString()).longValue();
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 ad045f1..6398f41 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
@@ -73,6 +73,8 @@
     public static final String MEMBER_IMG = "MEMBER_IMG";
     public static final String PLATFORM_EVENT_IMG = "PLATFORM_EVENT_IMG";
     public static final String VISIT_NOTICE = "VISIT_NOTICE";
+    public static final String TIME_OUT_CONFIG = "TIME_OUT_CONFIG";
+
     //鍋ュ悍璇侀厤缃�
     public static final String LW_HEALTH_CARD = "LW_HEALTH_CARD";
     public static final String HEALTH_CARD = "HEALTH_CARD";
@@ -801,6 +803,7 @@
         WRONG_IN(4, "閿欒鍋滈潬","${param} ${param2} 褰撳墠杞﹁締閿欒鍋滈潬锛岃灏藉揩椹剁" ),
         TIMEOUT_IN(5, "瓒呮椂鍋滈潬","${param} ${param2} 褰撳墠杞﹁締瓒呮椂鍋滈潬锛岃灏藉揩椹剁" ),
         TIMEOUT_WORK(6, "浣滀笟瓒呮椂","${param} ${param2} 褰撳墠杞﹁締浣滀笟瓒呮椂" ),
+        DONE(7, "浣滀笟瀹屾垚","${param} ${param2} 浣滀笟瀹屾垚" ),
         ;
 
         // 鎴愬憳鍙橀噺
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 77c5611..ee933f0 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
@@ -41,7 +41,7 @@
         String visitAuditFail = "visitAuditFail";
         //璁垮鐢宠-瓒呮椂鏈绂�-閫氱煡锛堢粰鐢宠浜猴級锛�
         String visitTimeOutSignOut = "visitTimeOutSignOut";
-        //璁垮鐢宠-瓒呮椂鏈绂�-閫氱煡锛堢粰鎸囧畾鎺ユ敹浜猴級
+        //璁垮鐢宠-鏈绂绘暟閲�-閫氱煡锛堢粰鎸囧畾鎺ユ敹浜猴級 //TODO 鏃犳敹鐭俊浜哄憳
         String visitTimeOutSignOutNum = "visitTimeOutSignOutNum";
 
     }
@@ -85,7 +85,7 @@
         String carUseBookAuditSuccess = "carUseBookAuditSuccess";
         //鐢ㄨ溅鐢宠-瀹℃壒椹冲洖閫氱煡锛堢粰鐢宠浜猴級锛氥��
         String carUseBookAuditFail = "carUseBookAuditFail";
-        //鐢ㄨ溅鐢宠-瀹℃壒椹冲洖閫氱煡锛堢粰鐢宠浜猴級锛氥��
+        //鐢ㄨ溅鐢宠-瀹℃壒鍙栨秷閫氱煡锛堢粰鐢宠浜猴級锛氥��
         String carUseBookCancel = "carUseBookCancel";
     }
 
diff --git a/server/system_service/src/main/java/com/doumee/service/system/impl/NoticesServiceImpl.java b/server/system_service/src/main/java/com/doumee/service/system/impl/NoticesServiceImpl.java
index 72df53c..07050cb 100644
--- a/server/system_service/src/main/java/com/doumee/service/system/impl/NoticesServiceImpl.java
+++ b/server/system_service/src/main/java/com/doumee/service/system/impl/NoticesServiceImpl.java
@@ -120,7 +120,6 @@
         if (pageWrap.getModel().getReaded() != null) {
             queryWrapper.eq(Notices::getReaded, pageWrap.getModel().getReaded());
         }
-
         if(CollectionUtils.isNotEmpty(pageWrap.getSorts())){
             for(PageWrap.SortData sortData: pageWrap.getSorts()) {
                 if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
@@ -178,8 +177,8 @@
         queryWrapper.ge(noticesDTO.getStartDate() != null, Notices::getCreateDate, Utils.Date.getStart(noticesDTO.getStartDate() ));
         queryWrapper.le(noticesDTO.getEndDate() != null,  Notices::getCreateDate, Utils.Date.getEnd(noticesDTO.getEndDate() ));
         queryWrapper.eq(Objects.nonNull(noticesDTO.getType()),Notices::getType,noticesDTO.getType());
-        queryWrapper.eq(Objects.nonNull(noticesDTO.getMemberId()),Notices::getUserId,noticesDTO.getMemberId());
-        queryWrapper.eq(StringUtils.isNotBlank(noticesDTO.getTitle()),Notices::getTitle,noticesDTO.getTitle());
+//        queryWrapper.eq(Objects.nonNull(noticesDTO.getMemberId()),Notices::getUserId,noticesDTO.getMemberId());
+        queryWrapper.like(StringUtils.isNotBlank(noticesDTO.getTitle()),Notices::getTitle,noticesDTO.getTitle());
         queryWrapper.orderByDesc(Notices::getCreateDate);
         PageData<Notices> pageData = PageData.from(noticesMapper.selectJoinPage(page,Notices.class, queryWrapper));
         if(noticesDTO.getQueryType().equals(Constants.ZERO)){
diff --git a/server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java b/server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java
index 2292116..289aec6 100644
--- a/server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java
+++ b/server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java
@@ -70,5 +70,9 @@
     @ApiOperation("銆愭暟瀛楀寲鏈堝彴銆戞湀鍙颁綔涓氭姤璀︿笟鍔�")
     @GetMapping("/timer/platformJob/platformJobTimer")
     ApiResponse platformJobTimer();
+    @ApiOperation("銆愯瀹㈢郴缁熴�戣瀹㈡暟鎹嵆灏嗚秴鏃堕璀�")
+    @GetMapping("/timer/visit/visitTimeOut")
+    ApiResponse visitTimeOut() ;
+
 
 }
diff --git a/server/visits/admin_timer/src/main/java/com/doumee/api/HkVisitTimerController.java b/server/visits/admin_timer/src/main/java/com/doumee/api/HkVisitTimerController.java
index 4f7e4c8..d3f8a87 100644
--- a/server/visits/admin_timer/src/main/java/com/doumee/api/HkVisitTimerController.java
+++ b/server/visits/admin_timer/src/main/java/com/doumee/api/HkVisitTimerController.java
@@ -3,6 +3,7 @@
 import com.doumee.api.BaseController;
 import com.doumee.core.model.ApiResponse;
 import com.doumee.core.utils.Constants;
+import com.doumee.service.business.VisitsService;
 import com.doumee.service.business.impl.hksync.HkSyncDeviceServiceImpl;
 import com.doumee.service.business.impl.hksync.HkSyncVisitServiceImpl;
 import com.doumee.service.business.impl.hksync.fhk.HkSyncVisitFromHKServiceImpl;
@@ -28,6 +29,9 @@
     private HkSyncVisitServiceImpl hkSyncVisitService;
     @Autowired
     private HkSyncVisitFromHKServiceImpl hkSyncVisitFromHKService;
+    @Autowired
+    private VisitsService visitsService;
+
     @ApiOperation("寮�鍚畾鏃朵笅鍙戣瀹㈤绾︾敵璇�")
     @GetMapping("/syncVisitData")
     public ApiResponse syncVisitData() {
@@ -57,4 +61,11 @@
         return ApiResponse.success("寮�鍚畾鏃朵粖鏃ョ殑璁垮棰勭害鏁版嵁鎴愬姛");
     }
 
+    @ApiOperation("璁垮鍗冲皢瓒呮椂棰勮")
+    @GetMapping("/visitTimeOut")
+    public ApiResponse visitTimeOut() {
+        visitsService.syncTimeOutData();
+        return ApiResponse.success("璁垮鍗冲皢瓒呮椂棰勮");
+    }
+
 }
diff --git a/server/visits/admin_timer/src/main/java/com/doumee/api/PlatformJobController.java b/server/visits/admin_timer/src/main/java/com/doumee/api/PlatformJobController.java
index b259a1f..9159418 100644
--- a/server/visits/admin_timer/src/main/java/com/doumee/api/PlatformJobController.java
+++ b/server/visits/admin_timer/src/main/java/com/doumee/api/PlatformJobController.java
@@ -8,6 +8,7 @@
 import com.doumee.core.wx.WXConstant;
 import com.doumee.dao.system.model.SystemDictData;
 import com.doumee.service.business.PlatformJobService;
+import com.doumee.service.business.VisitsService;
 import com.doumee.service.system.SystemDictDataService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -34,6 +35,7 @@
     @Autowired
     private PlatformJobService platformJobService;
 
+
     @ApiOperation("鏈堝彴浣滀笟鎶ヨ涓氬姟")
     @GetMapping("/platformJobTimer")
     public ApiResponse platformJobTimer() {
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/StagingCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/StagingCloudController.java
index dc5ade1..751d022 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/StagingCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/StagingCloudController.java
@@ -109,7 +109,7 @@
     public ApiResponse<PageData<Notices>> taskPage (@RequestBody PageWrap<NoticesDTO> pageWrap, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
         LoginUserInfo loginUserInfo = getLoginUser(token);
         pageWrap.getModel().setMemberId(loginUserInfo.getMemberId());
-        pageWrap.getModel().setUserId(loginUserInfo.getId());
+//        pageWrap.getModel().setUserId(loginUserInfo.getId());
         return ApiResponse.success(noticesService.taskCanterPage(pageWrap));
     }
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
index 1cc108c..9319c44 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
@@ -231,6 +231,10 @@
     @ApiModelProperty(value = "缁勭粐绫诲瀷 0鍔冲姟鍏徃 1鍐呴儴缁勭粐")
     @TableField(exist = false)
     private Integer companyType;
+
+    @ApiModelProperty(value = "缁勭粐绫诲瀷 0鍔冲姟鍏徃 1鍐呴儴缁勭粐 澶氫釜浠�,鍒嗗壊")
+    @TableField(exist = false)
+    private String companyTypes;
     @ApiModelProperty(value = "缁勭粐缂栫爜璺緞")
     @TableField(exist = false)
     private String companyPath;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java
index 2d27a3b..7146dfe 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java
@@ -219,6 +219,9 @@
     @ExcelColumn(name="ERP鐢宠璁板綍缂栫爜")
     private String erpId;
 
+    @ApiModelProperty(value = "鏄惁鍙戦�佽秴鏃堕�氱煡 0锛氭湭鍙戦�侊紱1=宸插彂閫�")
+    private Integer sendTimeOutNotice;
+
 
     @ApiModelProperty(value = "缁熻鏁伴噺 ")
     @TableField(exist = false)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
index fd4e843..39fb955 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
@@ -147,4 +147,9 @@
     void visitResend(Integer visitId);
 
     PCWorkPlatformDataVO getPcWorkPlatformData(Integer queryType ,LoginUserInfo loginUserInfo);
+
+    /**
+     * 鍗冲皢瓒呮椂閫氱煡
+     */
+    void syncTimeOutData();
 }
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 5417979..2c53046 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
@@ -584,8 +584,30 @@
                                 SmsConstants.platformBookContent.platformBookWaitAudit,
                                 null,Arrays.asList(member.getPhone().split(","))
                         );
+                    }else if(Constants.equalsInteger(noticeType,Constants.noticesObjectType.visit)){
+                        //璁垮鐢宠
+                        SmsEmailServiceImpl.sendVisitSms(systemDictDataBiz,
+                                emayService,smsEmailMapper,smsConfigMapper,visitsMapper,businessId,
+                                SmsConstants.visitContent.visitNotice,
+                                null,Arrays.asList(member.getPhone().split(","))
+                        );
+                    }else if(Constants.equalsInteger(noticeType,Constants.noticesObjectType.visitReporting)){
+                        //璁垮鎶ュ
+                        SmsEmailServiceImpl.sendVisitReportSms(systemDictDataBiz,
+                                emayService,smsEmailMapper,smsConfigMapper,visitsMapper,businessId,
+                                SmsConstants.visitReportingContent.visitReportingNotice,
+                                null,Arrays.asList(member.getPhone().split(","))
+                        );
+                    }else if(Constants.equalsInteger(noticeType,Constants.noticesObjectType.useCar)){
+                        //鐢ㄨ溅鐢宠
+                        SmsEmailServiceImpl.sendCarUseSms(systemDictDataBiz,
+                                emayService,smsEmailMapper,smsConfigMapper,carUseBookMapper,businessId,
+                                SmsConstants.carUseBookContent.carUseBookWaitAudit,
+                                null,Arrays.asList(member.getPhone().split(","))
+                        );
                     }
                 }
+
 
             }
         }
@@ -1279,9 +1301,8 @@
                         .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(),
@@ -1290,9 +1311,15 @@
                     );
                 }
 
+                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);
+                }
 
-
-
+                //璁垮鐢宠/鎶ュ
                 if(approveDTO.getObjType().equals(Constants.approveObjectType.unConstructionVisit)
                         ||approveDTO.getObjType().equals(Constants.approveObjectType.constructionVisit)
                         ||approveDTO.getObjType().equals(Constants.approveObjectType.visitReporting)) {
@@ -1302,7 +1329,9 @@
                              visitsMapper.update(null,new UpdateWrapper<Visits>().lambda().set(Visits::getStatus,Constants.ONE).eq(Visits::getId,visits.getId()));
                         }
                     }
-                }else if(approveDTO.getObjType().equals(Constants.approveObjectType.cityUseCar)||approveDTO.getObjType().equals(
+                }
+
+                if(approveDTO.getObjType().equals(Constants.approveObjectType.cityUseCar)||approveDTO.getObjType().equals(
                         Constants.approveObjectType.unCityUseCar)){
                     this.updDriver(approveDTO,approve,false);
                 }
@@ -1547,11 +1576,42 @@
                     visits.setStatus(Constants.VisitStatus.xfFail);
                 }
             }
+            //璁垮鎶ュ
+            if(approveDTO.getObjType().equals(Constants.approveObjectType.visitReporting)){
+                //鍙戦�佺煭淇¢�氱煡
+                SmsEmailServiceImpl.sendVisitReportSms(systemDictDataBiz,
+                        emayService,smsEmailMapper,smsConfigMapper,visitsMapper,visits.getId(),
+                        Constants.equalsInteger(approveDTO.getStatus(),Constants.TWO)?SmsConstants.visitReportingContent.visitReportingAuditSuccess:
+                                SmsConstants.visitReportingContent.visitReportingAuditFail,
+                        approveDTO.getCheckInfo(),null
+                );
+            }else{ //璁垮鐢宠
+                //鍙戦�佺煭淇¢�氱煡
+                SmsEmailServiceImpl.sendVisitSms(systemDictDataBiz,
+                        emayService,smsEmailMapper,smsConfigMapper,visitsMapper,visits.getId(),
+                        Constants.equalsInteger(approveDTO.getStatus(),Constants.TWO)?SmsConstants.visitContent.visitAuditSuccess:
+                                SmsConstants.visitContent.visitAuditFail,
+                        approveDTO.getCheckInfo(),null
+                );
+            }
 
             visitsMapper.updateById(visits);
         }else if(approveDTO.getObjType().equals(Constants.approveObjectType.cityUseCar)||approveDTO.getObjType().equals(
                 Constants.approveObjectType.unCityUseCar)){
             this.updDriver(approveDTO,approve,true);
+            CarUseBook carUseBook = carUseBookJoinMapper.selectById(approveDTO.getObjId());
+            if(Objects.nonNull(carUseBook)){
+                Member member = memberMapper.selectById(carUseBook.getMemberId());
+                if(Objects.nonNull(member)&&StringUtils.isNotBlank(member.getPhone())){
+                    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(","))
+                    );
+                }
+            }
+
         }else if(approveDTO.getObjType().equals(Constants.approveObjectType.reason)){
             //鐗╂祦杞﹂绾�
             PlatformBooks platformBooks = platformBooksMapper.selectById(approveDTO.getObjId());
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 4569482..5c44198 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
@@ -6,10 +6,7 @@
 import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
-import com.doumee.core.utils.Constants;
-import com.doumee.core.utils.DESUtil;
-import com.doumee.core.utils.DateUtil;
-import com.doumee.core.utils.Utils;
+import com.doumee.core.utils.*;
 import com.doumee.dao.business.*;
 import com.doumee.dao.business.join.ApproveJoinMapper;
 import com.doumee.dao.business.join.CarUseBookJoinMapper;
@@ -24,6 +21,7 @@
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.doumee.service.business.third.EmayService;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.StringUtils;
@@ -36,10 +34,8 @@
 import java.time.ZoneId;
 import java.time.format.DateTimeFormatter;
 import java.time.temporal.ChronoUnit;
+import java.util.*;
 import java.util.Date;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
 import java.util.stream.Collectors;
 
 /**
@@ -74,6 +70,15 @@
     @Autowired
     private MemberMapper memberMapper;
 
+
+    @Autowired
+    private SmsConfigMapper smsConfigMapper;
+
+    @Autowired
+    private SmsEmailMapper smsEmailMapper;
+
+    @Autowired
+    private EmayService emayService;
 
     @Override
     @Transactional(rollbackFor = {Exception.class,BusinessException.class})
@@ -459,6 +464,15 @@
                .in(Approve::getObjType,Constants.approveObjectType.cityUseCar,Constants.approveObjectType.unCityUseCar)
                 .eq(Approve::getObjId,id)
         );
+        Member member = memberMapper.selectById(carUseBook.getMemberId());
+        if(Objects.nonNull(member)&&StringUtils.isNotBlank(member.getPhone())){
+            //鐢ㄨ溅鐢宠鍙栨秷
+            SmsEmailServiceImpl.sendCarUseSms(systemDictDataBiz,
+                    emayService,smsEmailMapper,smsConfigMapper,carUseBookMapper,carUseBook.getId(),
+                    SmsConstants.carUseBookContent.carUseBookCancel,
+                    null, Arrays.asList(member.getPhone().split(","))
+            );
+        }
     }
 
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java
index 696ce97..a81e0ef 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java
@@ -1,20 +1,25 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
 import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.SmsConstants;
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.business.HiddenDangerParamMapper;
 import com.doumee.dao.business.MemberMapper;
+import com.doumee.dao.business.SmsConfigMapper;
+import com.doumee.dao.business.SmsEmailMapper;
 import com.doumee.dao.business.model.*;
 import com.doumee.service.business.HiddenDangerParamService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.doumee.service.business.third.EmayService;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import io.swagger.models.auth.In;
 import org.apache.commons.lang3.StringUtils;
@@ -24,10 +29,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
 
 /**
  * 闅愭偅鍖哄煙閰嶇疆绫诲瀷淇℃伅琛⊿ervice瀹炵幇
@@ -41,6 +43,7 @@
     @Autowired
     private MemberMapper memberMapper;
 
+
     @Override
     public Integer create(HiddenDangerParam model) {
         LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
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 3a29e32..ecf0723 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
@@ -12,11 +12,9 @@
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.DateUtil;
+import com.doumee.core.utils.SmsConstants;
 import com.doumee.core.utils.Utils;
-import com.doumee.dao.business.HiddenDangerLogMapper;
-import com.doumee.dao.business.HiddenDangerMapper;
-import com.doumee.dao.business.HiddenDangerParamMapper;
-import com.doumee.dao.business.MemberMapper;
+import com.doumee.dao.business.*;
 import com.doumee.dao.business.model.*;
 import com.doumee.dao.system.MultifileMapper;
 import com.doumee.dao.system.join.NoticesJoinMapper;
@@ -24,6 +22,7 @@
 import com.doumee.dao.system.model.Notices;
 import com.doumee.service.business.HiddenDangerLogService;
 import com.doumee.service.business.HiddenDangerService;
+import com.doumee.service.business.third.EmayService;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import org.apache.commons.lang3.StringUtils;
 import org.checkerframework.checker.units.qual.C;
@@ -65,6 +64,17 @@
 
     @Autowired
     private NoticesJoinMapper noticesJoinMapper;
+
+
+    @Autowired
+    private SmsConfigMapper smsConfigMapper;
+
+    @Autowired
+    private SmsEmailMapper smsEmailMapper;
+
+    @Autowired
+    private EmayService emayService;
+
 
     @Override
     public Integer create(HiddenDanger hiddenDanger) {
@@ -168,6 +178,17 @@
         notices.setReaded(Constants.ZERO);
         notices.setInfo("寰�"+member.getName()+"澶勭悊");
         noticesJoinMapper.insert(notices);
+
+
+        if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getPhone())){
+            //鍙戦�佺煭淇¢�氱煡
+            SmsEmailServiceImpl.sendHiddenDangerSms(systemDictDataBiz,
+                    emayService,smsEmailMapper,smsConfigMapper,hiddenDangerMapper,hiddenDanger.getId(),
+                    SmsConstants.hiddenDangerContent.hiddenDangerDealUser,
+                    Arrays.asList(member.getPhone().split(","))
+            );
+        }
+
 
 
         return hiddenDanger.getId();
@@ -379,6 +400,21 @@
                 .eq(Notices::getUserId,hiddenDanger.getLoginUserInfo().getMemberId())
         );
 
+        if(Constants.equalsInteger(hiddenDanger.getStatus(),Constants.ONE)){
+            Member member = memberMapper.selectById(hiddenDanger.getMemberId());
+            if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getPhone())){
+                //鍙戦�佺煭淇¢�氱煡
+                SmsEmailServiceImpl.sendHiddenDangerSms(systemDictDataBiz,
+                        emayService,smsEmailMapper,smsConfigMapper,hiddenDangerMapper,hiddenDanger.getId(),
+                        SmsConstants.hiddenDangerContent.hiddenDangerDealOver,
+                        Arrays.asList(member.getPhone().split(","))
+                );
+            }
+
+        }
+
+
+
     }
 
     private void isParamValid(HiddenDanger hiddenDanger) {
@@ -527,6 +563,16 @@
             notices.setInfo("寰�"+member.getName()+"澶勭悊");
             noticesJoinMapper.updateById(notices);
         }
+
+
+        if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getPhone())){
+            //鍙戦�佺煭淇¢�氱煡
+            SmsEmailServiceImpl.sendHiddenDangerSms(systemDictDataBiz,
+                    emayService,smsEmailMapper,smsConfigMapper,hiddenDangerMapper,hiddenDanger.getId(),
+                    SmsConstants.hiddenDangerContent.hiddenDangerDealUser,
+                    Arrays.asList(member.getPhone().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 2785bef..c6875d3 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
@@ -1130,6 +1130,9 @@
         if(Objects.nonNull(member.getCompanyType())){
             queryWrapper.eq(Company::getType,member.getCompanyType());
         }
+        if(StringUtils.isNotBlank(member.getCompanyTypes())){
+            queryWrapper.in(Company::getType,Arrays.asList(member.getCompanyTypes().split(",")));
+        }
         if(null != member.getType()) {
             queryWrapper.eq(Member::getType,member.getType());
         }
@@ -1917,7 +1920,7 @@
             ,List<Company> companyList
             ,Integer companyType) {
         if(StringUtils.isBlank(model.getName())
-                ||StringUtils.isBlank(model.getIdcardNo())
+//                ||StringUtils.isBlank(model.getIdcardNo())
                 ||StringUtils.isBlank(model.getPhone())
                 ||StringUtils.isBlank(model.getCompanyName())){
             throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+(index+3)+"琛屼汉鍛樹俊鎭笉瀹屾暣锛岃妫�鏌ヨ〃鏍煎唴瀹癸紒");
@@ -1925,12 +1928,17 @@
         if (!PhoneUtil.isPhone(model.getPhone())){
             throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+(index+3)+"琛屾墜鏈哄彿銆�"+model.getPhone()+"銆戞牸寮忎笉姝g‘锛岃妫�鏌ヨ〃鏍煎唴瀹癸紒");
         }
-        if ( !isDebug && !IdcardUtil.isValidCard(model.getIdcardNo())){
-            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+(index+3)+"琛岃韩浠借瘉鍙枫��"+model.getIdcardNo()+"銆戞牸寮忎笉姝g‘锛岃妫�鏌ヨ〃鏍煎唴瀹癸紒");
+        if(StringUtils.isNotBlank(model.getIdcardNo())){
+            if ( !isDebug && !IdcardUtil.isValidCard(model.getIdcardNo())){
+                throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+(index+3)+"琛岃韩浠借瘉鍙枫��"+model.getIdcardNo()+"銆戞牸寮忎笉姝g‘锛岃妫�鏌ヨ〃鏍煎唴瀹癸紒");
+            }
         }
+
         for(Member member: newList){
-            if(StringUtils.equals(model.getIdcardNo(),member.getIdcardNo())){
-                throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+(index+3)+"琛岃韩浠借瘉鍙枫��"+model.getIdcardNo()+"銆戦噸澶嶅嚭鐜帮紝璇锋鏌ヨ〃鏍煎唴瀹癸紒");
+            if(StringUtils.isNotBlank(model.getIdcardNo())&&StringUtils.isNotBlank(member.getIdcardNo())) {
+                if (StringUtils.equals(model.getIdcardNo(), member.getIdcardNo())) {
+                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝绗�" + (index + 3) + "琛岃韩浠借瘉鍙枫��" + model.getIdcardNo() + "銆戦噸澶嶅嚭鐜帮紝璇锋鏌ヨ〃鏍煎唴瀹癸紒");
+                }
             }
             if(StringUtils.equals(model.getPhone(),member.getPhone())){
                 throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+(index+3)+"琛屾墜鏈哄彿銆�"+model.getPhone()+"銆戦噸澶嶅嚭鐜帮紝璇锋鏌ヨ〃鏍煎唴瀹癸紒");
@@ -1944,9 +1952,12 @@
             throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+(index+3)+"琛岀粍缁囧悕绉般��"+model.getCompanyName()+"銆戠被鍨嬩笉姝g‘锛岃妫�鏌ヨ〃鏍煎唴瀹癸紒");
         }
         String candNo = DESUtil.encrypt(Constants.EDS_PWD, model.getIdcardNo());
-        if(findMemberFromListByIdcard(candNo,memberList ) !=null){
-            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+(index+3)+"琛岃韩浠借瘉鍙枫��"+model.getIdcardNo()+"銆戝凡瀛樺湪锛岃妫�鏌ヨ〃鏍煎唴瀹癸紒");
+        if(StringUtils.isNotBlank(model.getIdcardNo())){
+            if(findMemberFromListByIdcard(candNo,memberList ) !=null){
+                throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+(index+3)+"琛岃韩浠借瘉鍙枫��"+model.getIdcardNo()+"銆戝凡瀛樺湪锛岃妫�鏌ヨ〃鏍煎唴瀹癸紒");
+            }
         }
+
         if(findMemberFromListByPhone(model.getPhone(),memberList ) !=null){
             throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+(index+3)+"琛屾墜鏈哄彿銆�"+model.getPhone()+"銆戝凡瀛樺湪锛岃妫�鏌ヨ〃鏍煎唴瀹癸紒");
         }
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 30c9d7c..2dc4f6b 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
@@ -336,7 +336,7 @@
                                  " ( " +
                                          " ( t.`STATUS` = "+Constants.PlatformJobStatus.WAIT_CALL.getKey()+" and t.PLATFORM_GROUP_ID = ( SELECT p.group_id FROM platform p WHERE p.id = "+pageWrap.getModel().getPlatformId()+" LIMIT 1 )  )" +
                                          " or  " +
-                                         " (t.`STATUS` = "+Constants.PlatformJobStatus.IN_WAIT.getKey()+" and t.PLATFORM_ID = "+pageWrap.getModel().getPlatformId()+" )" +
+                                         " (t.`STATUS` = "+Constants.PlatformJobStatus.IN_WAIT.getKey()+" )" +
                                          " or " +
                                          "  (t.`STATUS` = "+Constants.PlatformJobStatus.TRANSFERING.getKey()+" and t.PLATFORM_ID = "+pageWrap.getModel().getPlatformId()+" )  " +
                                          ") "
@@ -1363,7 +1363,7 @@
 
         //骞挎挱 led閫氱煡
         platformJob.setPlatformName(platform.getName());
-        this.broadcastAndLEed(platformJob,null,
+        this.broadcastAndLEed(platformJob,Constants.PlatformLedContent.DONE.getInfo(),
                 Constants.PlatformBroadcastContent.DONE.getInfo());
         return platformJob;
     }
@@ -2049,4 +2049,6 @@
     }
 
 
+
+
 }
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 3098750..cad0a48 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
@@ -24,10 +24,7 @@
 import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
-import com.doumee.core.utils.Constants;
-import com.doumee.core.utils.DESUtil;
-import com.doumee.core.utils.DateUtil;
-import com.doumee.core.utils.Utils;
+import com.doumee.core.utils.*;
 import com.doumee.core.wx.wxPlat.WxPlatNotice;
 import com.doumee.dao.admin.response.InterestedListVO;
 import com.doumee.dao.admin.response.PCWorkPlatformDataVO;
@@ -58,6 +55,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.doumee.service.business.impl.hksync.HkSyncVisitServiceImpl;
+import com.doumee.service.business.third.EmayService;
 import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import io.swagger.models.auth.In;
@@ -78,6 +76,7 @@
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.*;
+import java.util.Date;
 import java.util.stream.Collectors;
 
 /**
@@ -132,6 +131,15 @@
     private NoticesJoinMapper noticesJoinMapper;
     @Autowired
     private InoutDayCountMapper inoutDayCountMapper;
+
+    @Autowired
+    private SmsConfigMapper smsConfigMapper;
+
+    @Autowired
+    private SmsEmailMapper smsEmailMapper;
+
+    @Autowired
+    private EmayService emayService;
 
     @Override
     public Integer create(Visits visits) {
@@ -1677,13 +1685,41 @@
             }else{
                 pcWorkPlatformDataVO.setTimeOutVisitList(result);
             }
+        }
+        return pcWorkPlatformDataVO;
+    }
 
 
+    @Override
+    public void syncTimeOutData(){
+        String times = systemDictDataBiz.queryByCode(Constants.VISIT_CONFIG,Constants.TIME_OUT_CONFIG).getCode();
+        List<Visits> visitsList = visitsMapper.selectList(new QueryWrapper<Visits>().lambda()
+                .eq(Visits::getStatus,Constants.VisitStatus.signin)
+                .eq(Visits::getSendTimeOutNotice,Constants.ZERO)
+                .apply("   now() >=  DATE_ADD(ENDTIME,INTERVAL -"+times+" MINUTE)   ")
+        );
+        for (Visits visits:visitsList) {
+            if(Constants.equalsInteger(visits.getType(),Constants.TWO)){
+                SmsEmailServiceImpl.sendVisitReportSms(systemDictDataBiz,
+                        emayService,smsEmailMapper,smsConfigMapper,visitsMapper,visits.getId(),
+                        SmsConstants.visitReportingContent.visitReportingTimeOutSignOut,
+                        null,Arrays.asList(visits.getPhone().split(","))
+                );
+            }else{
+                SmsEmailServiceImpl.sendVisitSms(systemDictDataBiz,
+                        emayService,smsEmailMapper,smsConfigMapper,visitsMapper,visits.getId(),
+                        SmsConstants.visitContent.visitTimeOutSignOut,
+                        null,Arrays.asList(visits.getPhone().split(","))
+                );
+            }
+            visits.setSendTimeOutNotice(Constants.ONE);
+            visitsMapper.updateById(visits);
         }
 
 
 
 
-        return pcWorkPlatformDataVO;
     }
+
+
 }

--
Gitblit v1.9.3