From 362ec4c6c00747fb869b97ad3f0f3ce12b3e47aa Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期四, 10 十月 2024 15:15:46 +0800
Subject: [PATCH] 代码初始化

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java           |  135 ++++++++++++----
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java       |  130 +++++++++++++++-
 server/system_service/src/main/java/com/doumee/core/utils/SmsConstants.java                                    |   38 ++--
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java |   14 +
 server/visits/dmvisit_admin/src/main/resources/bootstrap.yml                                                   |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java     |   23 ++
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBooks.java                   |    1 
 server/system_gateway/src/main/resources/bootstrap.yml                                                         |    2 
 server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java                                        |    1 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java          |  118 +++++++++++++-
 10 files changed, 372 insertions(+), 92 deletions(-)

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/DateUtil.java b/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
index ab48930..8b3ec51 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
@@ -331,7 +331,6 @@
         int currentMonth = Integer.parseInt(sdfMonth.format(currentDate));
         List<String> list = new ArrayList<>();
 
-        System.out.println("杩�12涓湀浠斤細");
         for (int i = 0; i < month; i++) {
             int tempYear = currentYear;
             int tempMonth = currentMonth - i;
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 e1af26d..84a8205 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
@@ -19,16 +19,14 @@
 
 public class SmsConstants {
 
-
-
-    public static final String inventCode ="inventCode" ;
-    public static final String visit ="visit" ;
-    public static final String visitReport ="visitReport" ;
-    public static final String hiddenDanger ="hiddenDanger" ;
-    public static final String carUse ="carUse" ;
-    public static final String meeting ="meeting" ;
-    public static final String platformBook ="platformBook" ;
-    public static final String platformJob ="platformJob" ;
+    public static final String inventCode ="0" ;
+    public static final String visit ="1" ;
+    public static final String visitReport ="2" ;
+    public static final String hiddenDanger ="3" ;
+    public static final String carUse ="4" ;
+    public static final String meeting ="5" ;
+    public static final String platformBook ="6" ;
+    public static final String platformJob ="7" ;
 
 
     /**
@@ -91,7 +89,6 @@
         String carUseBookCancel = "carUseBookCancel";
     }
 
-
     /**
      * 鐗╂祦杞﹂绾�
      */
@@ -103,7 +100,7 @@
         //鐗╂祦杞﹂绾�-瀹℃壒椹冲洖鐭俊閫氱煡妯℃澘锛堢粰鐢宠浜猴級
         String platformBookAuditFail = "platformBookAuditFail";
         //鐗╂祦杞﹂绾�-鍏ュ洯棰勭害鍙栨秷鐭俊閫氱煡妯℃澘锛堢粰鐢宠浜猴級
-        String carUseBookCancel = "carUseBookCancel";
+        String platformBookCancel = "platformBookCancel";
     }
 
 
@@ -116,22 +113,21 @@
         //鐗╂祦杞︿綔涓�-杩愯緭浠诲姟涓鎻愰啋锛堢粰鍙告満锛夛細銆�
         String platformJobStopJob = "platformJobStopJob";
         //鐗╂祦杞﹂绾�-鍙彿鍏ュ洯绛夊緟锛堢粰鍙告満锛�
-        String platformBookCallIn = "platformBookCallIn";
+        String platformJobCallIn = "platformJobCallIn";
         //鐗╂祦杞﹂绾�-鏈堝彴鍙彿锛堢粰鍙告満锛�
-        String platformBookSingIn = "platformBookSingIn";
+        String platformJobSingIn = "platformJobSingIn";
         //鐗╂祦杞﹂绾�-鏈堝彴鍙彿杩囧彿锛堢粰鍙告満锛�
-        String platformBookOverNum = "platformBookOverNum";
+        String platformJobOverNum = "platformJobOverNum";
         //鐗╂祦杞﹂绾�-浣滀笟寮�濮嬶紙缁欏徃鏈猴級
-        String platformBookWorking = "platformBookWorking";
+        String platformJobWorking = "platformJobWorking";
         //鐗╂祦杞﹂绾�-浣滀笟瀹屾垚锛堢粰鍙告満锛�
-        String platformBookFinish = "platformBookFinish";
+        String platformJobFinish = "platformJobFinish";
         //鐗╂祦杞﹂绾�-浣滀笟寮傚父鎸傝捣锛堢粰鍙告満锛�
-        String platformBookError = "platformBookError";
+        String platformJobError = "platformJobError";
         //鐗╂祦杞﹂绾�-鏈堝彴杞Щ锛堢粰鍙告満锛�
-        String platformBookMove = "platformBookMove";
+        String platformJobMove = "platformJobMove";
         //鐗╂祦杞﹂绾�-鏈堝彴鍋滈潬瓒呮椂锛堢粰鍙告満锛�
-        String platformBookTimeOut = "platformBookTimeOut";
-
+        String platformJobTimeOut = "platformJobTimeOut";
     }
 
 
diff --git a/server/visits/dmvisit_admin/src/main/resources/bootstrap.yml b/server/visits/dmvisit_admin/src/main/resources/bootstrap.yml
index 2df12af..9dc10e9 100644
--- a/server/visits/dmvisit_admin/src/main/resources/bootstrap.yml
+++ b/server/visits/dmvisit_admin/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@
 spring:
   profiles:
-    active: pro
+    active: dev
   application:
     name: visitsAdmin
     # 瀹夊叏閰嶇疆
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBooks.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBooks.java
index ff5947f..9b41bd6 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBooks.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBooks.java
@@ -151,7 +151,6 @@
     @TableField(exist = false)
     private String auditName;
 
-
     @ApiModelProperty(value = "瀹℃壒淇℃伅鏁版嵁")
     @TableField(exist = false)
     private ApproveDataVO approveDateVO;
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 a5e7686..ad2249f 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
@@ -13,6 +13,7 @@
 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.*;
 import com.doumee.dao.business.dao.CompanyMapper;
@@ -32,12 +33,14 @@
 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.xiaoymin.knife4j.core.util.CollectionUtils;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -110,6 +113,15 @@
 
     @Autowired
     private VisitParkMapper visitParkMapper;
+
+    @Autowired
+    private SmsConfigMapper smsConfigMapper;
+
+    @Autowired
+    private SmsEmailMapper smsEmailMapper;
+
+    @Autowired
+    private EmayService emayService;
 
 
     @Override
@@ -445,7 +457,6 @@
             this.organizeApproveCopyData(approveTempl,approveCopyList,businessId,approveList);
         }
         approveJoinMapper.insert(approveList);
-
     }
 
 
@@ -563,6 +574,19 @@
                 approve.setAddrParam(approveParam.getAddrParam());
                 approve.setType(Constants.ZERO);
                 approveList.add(approve);
+
+                if(Constants.equalsInteger(approve.getStatus(),Constants.ONE)){
+                    //鍙戦�佺煭淇¢�氱煡
+                    if(Constants.equalsInteger(noticeType,Constants.noticesObjectType.reason)){
+                        //鐗╂祦杞﹂绾�
+                        SmsEmailServiceImpl.sendPlatformBookSms(systemDictDataBiz,
+                                emayService,smsEmailMapper,smsConfigMapper,platformBooksMapper,businessId,
+                                SmsConstants.platformBookContent.platformBookWaitAudit,
+                                null,null
+                        );
+                    }
+                }
+
             }
         }
     }
@@ -1233,6 +1257,17 @@
                             .in(Approve::getId,approveList.stream().map(m->m.getId()).collect(Collectors.toList())));
                 }
                 /**寮�鍚笅涓�绾у埆鐨勬暟鎹负寰呭鏍�**/
+
+                List<Approve> waitAuditList = approveJoinMapper.selectJoinList(Approve.class,
+                        new MPJLambdaWrapper<Approve>()
+                                .selectAll(Approve.class)
+                                .selectAs(Member::getPhone,Approve::getMemberPhone)
+                                .leftJoin(Member.class,Member::getId,Approve::getChekorId)
+                                .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)
@@ -1243,6 +1278,21 @@
                         .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
+                    );
+                }
+
+
+
+
                 if(approveDTO.getObjType().equals(Constants.approveObjectType.unConstructionVisit)
                         ||approveDTO.getObjType().equals(Constants.approveObjectType.constructionVisit)
                         ||approveDTO.getObjType().equals(Constants.approveObjectType.visitReporting)) {
@@ -1252,8 +1302,6 @@
                              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(
                         Constants.approveObjectType.unCityUseCar)){
                     this.updDriver(approveDTO,approve,false);
@@ -1443,8 +1491,7 @@
             visits.setEditDate(new Date());
             visits.setEditor(approveDTO.getLoginUserInfo().getMemberId());
             //涓嬪彂璁垮鎶ュ杞﹁締淇℃伅
-
-            if(approveDTO.getObjType().equals(Constants.approveObjectType.visitReporting)){
+            if(Constants.equalsInteger(approveDTO.getStatus(),Constants.TWO)&&approveDTO.getObjType().equals(Constants.approveObjectType.visitReporting)){
                 Boolean sendStatus = true;
                 //鏌ヨ褰撳墠鍚敤鐨勫仠杞﹀満
                 List<Parks> parksList = parksMapper.selectList(new QueryWrapper<Parks>()
@@ -1514,41 +1561,53 @@
             platformBooks.setStatus(approveDTO.getStatus());
             platformBooks.setEditDate(new Date());
             platformBooks.setEditor(approveDTO.getLoginUserInfo().getMemberId());
-            PlatformReason platformReason = platformReasonMapper.selectById(platformBooks.getReasonId());
-            if(Objects.isNull(platformReason)){
-                throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鍏ュ洯鍘熷洜鏁版嵁");
-            }
-            PlatformGroup platformGroup = platformGroupMapper.selectById(platformReason.getGroupId());
-            if(Objects.isNull(platformGroup)){
-                throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鍏ュ洯鍘熷洜閰嶇疆鏈堝彴缁勬暟鎹�");
-            }
+            if(Constants.equalsInteger(approveDTO.getStatus(),Constants.TWO)){
+                PlatformReason platformReason = platformReasonMapper.selectById(platformBooks.getReasonId());
+                if(Objects.isNull(platformReason)){
+                    throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鍏ュ洯鍘熷洜鏁版嵁");
+                }
+                PlatformGroup platformGroup = platformGroupMapper.selectById(platformReason.getGroupId());
+                if(Objects.isNull(platformGroup)){
+                    throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鍏ュ洯鍘熷洜閰嶇疆鏈堝彴缁勬暟鎹�");
+                }
 
-            //鐢熸垚浠诲姟璁板綍
-            PlatformJob platformJob = platformBooks.toPlatformJob();
-            platformJob.setId(null);
-            platformJob.setPlatformGroupId(platformReason.getGroupId().intValue());
-            if(Constants.equalsInteger(platformGroup.getType(),Constants.ZERO)){
-                platformJob.setType(Constants.platformJobType.wxcxh);
-            }else if(Constants.equalsInteger(platformGroup.getType(),Constants.ONE)){
-                platformJob.setType(Constants.platformJobType.wxczh);
-            }else{
-                platformJob.setType(Constants.platformJobType.sgscxh);
+                //鐢熸垚浠诲姟璁板綍
+                PlatformJob platformJob = platformBooks.toPlatformJob();
+                platformJob.setId(null);
+                platformJob.setPlatformGroupId(platformReason.getGroupId().intValue());
+                if(Constants.equalsInteger(platformGroup.getType(),Constants.ZERO)){
+                    platformJob.setType(Constants.platformJobType.wxcxh);
+                }else if(Constants.equalsInteger(platformGroup.getType(),Constants.ONE)){
+                    platformJob.setType(Constants.platformJobType.wxczh);
+                }else{
+                    platformJob.setType(Constants.platformJobType.sgscxh);
+                }
+                platformJob.setStatus(Constants.PlatformJobStatus.WART_SIGN_IN.getKey());
+                platformJobMapper.insert(platformJob);
+                platformBooks.setJobId(platformJob.getId());
+                platformBooksMapper.updateById(platformBooks);
+                //鐢熸垚浠诲姟鎿嶄綔璁板綍
+                PlatformLog platformLog = new PlatformLog();
+                platformLog.setCreateDate(new Date());
+                platformLog.setJobId(platformJob.getId());
+                platformLog.setIsdeleted(Constants.ZERO);
+                platformLog.setParam4(platformJob.getCarCodeFront());
+                platformLog.setContent(Constants.PlatformJobLogType.CREATE.getInfo());
+                platformLog.setObjType(Constants.PlatformJobLogType.CREATE.getKey());
+                platformLog.setObjId(platformJob.getId().toString());
+                platformLog.setAfterContent(JSONObject.toJSONString(platformJob));
+                platformLogMapper.insert(platformLog);
             }
-            platformJob.setStatus(Constants.PlatformJobStatus.WART_SIGN_IN.getKey());
-            platformJobMapper.insert(platformJob);
-            platformBooks.setJobId(platformJob.getId());
-            platformBooksMapper.updateById(platformBooks);
-            //鐢熸垚浠诲姟鎿嶄綔璁板綍
-            PlatformLog platformLog = new PlatformLog();
-            platformLog.setCreateDate(new Date());
-            platformLog.setJobId(platformJob.getId());
-            platformLog.setIsdeleted(Constants.ZERO);
-            platformLog.setParam4(platformJob.getCarCodeFront());
-            platformLog.setContent(Constants.PlatformJobLogType.CREATE.getInfo());
-            platformLog.setObjType(Constants.PlatformJobLogType.CREATE.getKey());
-            platformLog.setObjId(platformJob.getId().toString());
-            platformLog.setAfterContent(JSONObject.toJSONString(platformJob));
-            platformLogMapper.insert(platformLog);
+            //鍙戦�佺煭淇¢�氱煡
+            SmsEmailServiceImpl.sendPlatformBookSms(systemDictDataBiz,
+                    emayService,smsEmailMapper,smsConfigMapper,platformBooksMapper,platformBooks.getId(),
+                    Constants.equalsInteger(approveDTO.getStatus(),Constants.TWO)?SmsConstants.platformBookContent.platformBookAuditSuccess:
+                            SmsConstants.platformBookContent.platformBookAuditFail,
+                    approveDTO.getCheckInfo(),null
+            );
+
+            //TODO 鍙戦�佸井淇″叕浼楀彿娑堟伅
+
         }else{
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
         }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java
index ad482b6..f4b6d33 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java
@@ -10,6 +10,7 @@
 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.*;
 import com.doumee.dao.business.join.ApproveJoinMapper;
@@ -26,6 +27,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 org.apache.commons.lang3.StringUtils;
 import org.apache.tomcat.util.bcel.Const;
 import org.springframework.beans.BeanUtils;
@@ -77,6 +79,14 @@
     @Autowired
     private CarsMapper carsMapper;
 
+    @Autowired
+    private SmsConfigMapper smsConfigMapper;
+
+    @Autowired
+    private SmsEmailMapper smsEmailMapper;
+
+    @Autowired
+    private EmayService emayService;
 
     @Override
     public Integer create(PlatformBooks platformBooks) {
@@ -255,7 +265,7 @@
         if(carsMapper.selectCount(new QueryWrapper<Cars>().lambda().eq(Cars::getIsdeleted,Constants.ZERO).eq(Cars::getCode,platformBooksApplyDTO.getCarCodeFront()))>Constants.ZERO){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"["+platformBooksApplyDTO.getCarCodeFront()+"]灞炰簬鍐呴儴杞﹁締锛屾棤娉曢绾�");
         };
-        ApproveTempl approveTempl = approveTemplMapper.selectById(platformReason.getId());
+        ApproveTempl approveTempl = approveTemplMapper.selectById(platformReason.getApproveTemplId());
         if(Objects.isNull(approveTempl)){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈厤缃鎵规祦,璇疯仈绯荤鐞嗗憳");
         }
@@ -272,7 +282,7 @@
         platformBooksMapper.insert(platformBooks);
 
         //鍒涘缓瀹℃壒娴佷俊鎭�
-        approveService.createApproveForPlatfrom(platformReason.getApproveTemplId(),platformBooks.getId(),platformBooks.getDriverId());
+        approveService.createApproveForPlatfrom(approveTempl.getId(),platformBooks.getId(),platformBooks.getDriverId());
         return platformBooks.getId();
     }
 
@@ -389,6 +399,15 @@
                 .eq(Approve::getObjType,Constants.approveObjectType.logisticsCarUse)
                 .eq(Approve::getObjId,revokeDTO.getId())
         );
+
+        //鍙戦�佺煭淇¢�氱煡
+        SmsEmailServiceImpl.sendPlatformBookSms(systemDictDataBiz,
+                emayService,smsEmailMapper,smsConfigMapper,platformBooksMapper,model.getId(),
+                        SmsConstants.platformBookContent.platformBookCancel,
+                null,null
+        );
+
+
     }
 
 
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 9b704bc..5957712 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
@@ -13,10 +13,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.DateUtil;
-import com.doumee.core.utils.PositionUtil;
-import com.doumee.core.utils.Utils;
+import com.doumee.core.utils.*;
 import com.doumee.dao.business.*;
 import com.doumee.dao.business.join.PlatformJobJoinMapper;
 import com.doumee.dao.business.join.PlatformJoinMapper;
@@ -34,6 +31,8 @@
 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.impl.hksync.HkSyncPushServiceImpl;
+import com.doumee.service.business.third.EmayService;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
@@ -48,6 +47,7 @@
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.util.*;
+import java.util.Date;
 import java.util.stream.Collectors;
 
 /**
@@ -96,6 +96,17 @@
     @Autowired
     private VisitParkMapper visitParkMapper;
 
+    @Autowired
+    private SmsConfigMapper smsConfigMapper;
+
+    @Autowired
+    private SmsEmailMapper smsEmailMapper;
+
+    @Autowired
+    private EmayService emayService;
+
+    @Autowired
+    private PlatformBroadcastLogMapper platformBroadcastLogMapper;
 
     @Override
     public Integer create(PlatformJob platformJob) {
@@ -825,6 +836,12 @@
         savePlatformLog(Constants.PlatformJobLogType.IN_WAIT.getKey(),oldPlatformJob,platformJob,
                 Constants.PlatformJobLogType.IN_WAIT.getInfo());
 
+        //鍙戦�佺煭淇′俊鎭�
+        SmsEmailServiceImpl.sendPlatformJobSms(systemDictDataBiz,
+                emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(),
+                SmsConstants.platformJobContent.platformJobCallIn,null,null
+        );
+
         return platformJob;
     }
 
@@ -1010,7 +1027,61 @@
         //瀛樺偍鎿嶄綔鏃ュ織
         savePlatformLog(Constants.PlatformJobLogType.CALLED.getKey(),oldPlatformJob,platformJob,
                 Constants.PlatformJobLogType.CALLED.getInfo().replace("{data}",platform.getName()));
+
+        //鍙戦�佺煭淇′俊鎭�
+        SmsEmailServiceImpl.sendPlatformJobSms(systemDictDataBiz,
+                emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(),
+                SmsConstants.platformJobContent.platformJobSingIn,platform.getName(),null
+        );
+
+        //骞挎挱 led閫氱煡
+        this.broadcastAndLEed(platformJob,Constants.PlatformBroadcastContent.CALLING.getInfo().replace("{param2}",platform.getName()));
         return platformJob;
+    }
+
+
+    public void broadcastAndLEed(PlatformJob model,String content){
+        int speed = 13;
+        try {
+            speed = Integer.parseInt(systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.LED_CONTENT_SPEED).getCode());
+        }catch (Exception e){
+
+        }
+        List<PlatformDevice> deviceList = platformDeviceMapper.selectList(new QueryWrapper<PlatformDevice>().lambda()
+                .eq(PlatformDevice::getPlatformId,model.getPlatformId())
+                .eq(PlatformDevice::getIsdeleted,Constants.ZERO));
+        if(deviceList ==null || deviceList.size() == 0){
+            return;
+        }
+        content = content.replace("${param}",model.getPlatformName());
+        content = content.replace("${param2}",model.getCarCodeFront());
+        List<String> broadcastList = new ArrayList<>();
+        List<String> ledList = new ArrayList<>();
+        String bNames = "";
+        List<PlatformBroadcastLog> logList = new ArrayList<>();
+        for(PlatformDevice device : deviceList){
+            if(StringUtils.isNotBlank(device.getHkId())){
+                continue;
+            }
+            if(Constants.equalsInteger(device.getType(),Constants.ZERO)){
+                //濡傛灉鏄疞ED
+                PlatformBroadcastLog log = HkSyncPushServiceImpl.dealLedContentBiz(device.getHkNo(),device.getName(),content,speed,1);
+                logList.add(log);
+                ledList.add(device.getHkId());
+            }else  if(Constants.equalsInteger(device.getType(),Constants.ZERO)){
+                //濡傛灉鏄箍鎾偣
+                bNames += device.getName()+";";
+                broadcastList.add(device.getHkId());
+            }
+        }
+        if(broadcastList.size()>0){
+            PlatformBroadcastLog log = HkSyncPushServiceImpl.dealBroadcastBiz(model,broadcastList,bNames,Constants.PlatformBroadcastContent.WRONG_IN.getInfo());
+            logList.add(log);
+        }
+        if(logList.size()>0){
+            platformBroadcastLogMapper.insert(logList);
+        }
+
     }
 
 
@@ -1062,6 +1133,13 @@
         //瀛樺偍鎿嶄綔鏃ュ織
         savePlatformLog(Constants.PlatformJobLogType.TRANSFERING.getKey(),oldPlatformJob,platformJob,
                 Constants.PlatformJobLogType.TRANSFERING.getInfo().replace("{data}",oldPlatform.getName()));
+
+
+        //鍙戦�佺煭淇′俊鎭�
+        SmsEmailServiceImpl.sendPlatformJobSms(systemDictDataBiz,
+                emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(),
+                SmsConstants.platformJobContent.platformJobMove,oldPlatform.getName(),platform.getName()
+        );
     }
 
 
@@ -1091,6 +1169,13 @@
         //瀛樺偍鎿嶄綔鏃ュ織
         savePlatformLog(Constants.PlatformJobLogType.OVER_NUMBER.getKey(),oldPlatformJob,platformJob,
                 Constants.PlatformJobLogType.OVER_NUMBER.getInfo());
+        //鍙戦�佺煭淇′俊鎭�
+        SmsEmailServiceImpl.sendPlatformJobSms(systemDictDataBiz,
+                emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(),
+                SmsConstants.platformJobContent.platformJobOverNum,null,null
+        );
+
+
         return platformJob;
     }
 
@@ -1113,6 +1198,8 @@
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧�,涓氬姟鐘舵�佸凡娴佽浆锛�");
         }
 
+        Platform platform = platformJoinMapper.selectById(platformJob.getPlatformId());
+
         PlatformJob oldPlatformJob = new PlatformJob();
         BeanUtils.copyProperties(platformJob,oldPlatformJob);
 
@@ -1124,6 +1211,12 @@
         //瀛樺偍鎿嶄綔鏃ュ織
         savePlatformLog(Constants.PlatformJobLogType.EXCEPTION.getKey(),oldPlatformJob,platformJob,
                 Constants.PlatformJobLogType.EXCEPTION.getInfo());
+
+        //鍙戦�佺煭淇′俊鎭�
+        SmsEmailServiceImpl.sendPlatformJobSms(systemDictDataBiz,
+                emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(),
+                SmsConstants.platformJobContent.platformJobError,platform.getName(),null
+        );
     }
 
 
@@ -1149,8 +1242,7 @@
         if(Objects.isNull(platform)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鏈堝彴淇℃伅");
         }
-
-
+        
         PlatformJob oldPlatformJob = new PlatformJob();
         BeanUtils.copyProperties(platformJob,oldPlatformJob);
         if(Objects.isNull(platformJob.getStartDate())){
@@ -1164,6 +1256,12 @@
         savePlatformLog(Constants.PlatformJobLogType.WORKING.getKey(),oldPlatformJob,platformJob,
                 Constants.PlatformJobLogType.WORKING.getInfo().replace("{data}",platform.getName()));
 
+        //鍙戦�佺煭淇′俊鎭�
+        SmsEmailServiceImpl.sendPlatformJobSms(systemDictDataBiz,
+                emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(),
+                SmsConstants.platformJobContent.platformJobWorking,platform.getName(),null
+        );
+        
         return platformJob;
     }
 
@@ -1186,6 +1284,13 @@
         ||Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.EXCEPTION.getKey()) )){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧�,涓氬姟鐘舵�佸凡娴佽浆锛�");
         }
+
+
+        Platform platform = platformJoinMapper.selectById(platformJob.getPlatformId());
+        if(Objects.isNull(platform)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鏈堝彴淇℃伅");
+        }
+        
         PlatformJob oldPlatformJob = new PlatformJob();
         BeanUtils.copyProperties(platformJob,oldPlatformJob);
 
@@ -1204,6 +1309,15 @@
             //TODO 澶栧崗杞﹀嵏璐� 鎴栬�� 甯傚叕鍙歌溅鍗歌揣 鍒欐牴鎹换鍔℃儏鍐�
 
         }
+ 
+        //鍙戦�佺煭淇′俊鎭�
+        SmsEmailServiceImpl.sendPlatformJobSms(systemDictDataBiz,
+                emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(),
+                SmsConstants.platformJobContent.platformJobFinish,platform.getName(),null
+        );
+
+        //骞挎挱 led閫氱煡
+        this.broadcastAndLEed(platformJob,Constants.PlatformBroadcastContent.DONE.getInfo());
         return platformJob;
     }
 
@@ -1237,10 +1351,6 @@
         savePlatformLog(Constants.PlatformJobLogType.AUTHED_LEAVE.getKey(),oldPlatformJob,platformJob ,
                 Constants.PlatformJobLogType.AUTHED_LEAVE.getInfo());
         return platformJob;
-
-
-
-
     }
 
 
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 f87b04b..01afdca 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
@@ -1,5 +1,6 @@
 package com.doumee.service.business.impl;
 
+import com.alibaba.nacos.shaded.org.checkerframework.checker.units.qual.A;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -12,10 +13,13 @@
 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.PlatformBooksMapper;
+import com.doumee.dao.business.PlatformJobMapper;
+import com.doumee.dao.business.SmsConfigMapper;
 import com.doumee.dao.business.SmsEmailMapper;
-import com.doumee.dao.business.model.Company;
-import com.doumee.dao.business.model.SmsEmail;
+import com.doumee.dao.business.model.*;
 import com.doumee.service.business.SmsEmailService;
 import com.doumee.service.business.third.EmayService;
 import org.apache.commons.lang3.StringUtils;
@@ -26,8 +30,10 @@
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
+import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * 鐭俊閭欢淇℃伅琛⊿ervice瀹炵幇
@@ -251,29 +257,113 @@
     }
 
 
-
-    
-
-
-
-
-
-    public static void sendBusiness(EmayService emayService ,SmsEmailMapper smsEmailMapper ,List<String> phoneList,String objType,String content,Integer objId){
-        for (String phone:phoneList) {
-            boolean result=   emayService.sendSingleSms(phone,content);
-            if(!result){
-                throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鐭俊楠岃瘉鐮佸彂閫佸け璐ワ紝璇风◢鍚庨噸璇曪紒");
+    /**
+     * 鐢ㄨ溅鐢宠 鐭俊閫氱煡閰嶇疆
+     * @param emayService
+     * @param smsEmailMapper
+     * @param smsConfigMapper
+     * @param platformBooksMapper
+     * @param objId
+     * @param objCode
+     * @param msg
+     * @param auditUser
+     */
+    public static void sendPlatformBookSms(SystemDictDataBiz systemDictDataBiz,EmayService emayService ,SmsEmailMapper smsEmailMapper ,SmsConfigMapper smsConfigMapper,
+            PlatformBooksMapper platformBooksMapper,Integer objId,String objCode,String msg,List<String> auditUser){
+        try{
+            SmsConfig smsConfig = smsConfigMapper.selectOne(new QueryWrapper<SmsConfig>().lambda().eq(SmsConfig::getCode,
+                    objCode).last(" limit 1 "));
+            //寮�鍚煭淇¢�氱煡
+            if(Objects.nonNull(smsConfig) || Constants.equalsInteger(smsConfig.getStatus(),Constants.ZERO)){
+                String content = systemDictDataBiz.queryByCode(Constants.SMS,Constants.SMS_COMNAME).getCode() + smsConfig.getContent();
+                PlatformBooks platformBooks = platformBooksMapper.selectById(objId);
+                if(Objects.nonNull(platformBooks)){
+                    if(objCode.equals(SmsConstants.platformBookContent.platformBookAuditSuccess)){
+                        //鎮ㄧ殑銆愯溅杈嗗叆鍥敵璇枫�戝凡缁忓鎵归�氳繃锛屽叆鍥椂闂翠负{鍏ュ洯鏃堕棿}锛岃鎻愬墠30鍒嗛挓鍓嶅線鐜板満绛惧埌銆傚璁″垝鏈夊彉锛岃鍙婃椂鑱旂郴瀹℃牳浜哄憳銆�
+                        content = content.replace("{鍏ュ洯鏃堕棿}",DateUtil.getDate(platformBooks.getArriveDate(),"yyyy-MM-dd HH:mm"));
+                        sendBusinessSms(emayService,smsEmailMapper,
+                                Arrays.asList(platformBooks.getDriverPhone().split(",")),SmsConstants.platformBook,content,platformBooks.getId());
+                    }else if(objCode.equals(SmsConstants.platformBookContent.platformBookAuditFail) || objCode.equals(SmsConstants.platformBookContent.platformBookCancel)){
+                        //鎮ㄧ殑銆愯溅杈嗗叆鍥敵璇枫�戝凡琚┏鍥烇紝椹冲洖鍘熷洜涓猴細{椹冲洖鍘熷洜}銆傚鏈夌枒闂紝璇疯仈绯诲鏍镐汉鍛樸��
+                        content = content.replace("{椹冲洖鍘熷洜}",msg);
+                        //鎮ㄧ殑銆愯溅杈嗗叆鍥敵璇枫�戝凡琚彇娑堬紝鍙栨秷鍘熷洜涓猴細{鍙栨秷鍘熷洜}銆傚鏈夌枒闂紝璇疯仈绯诲鏍镐汉鍛樸��
+                        content = content.replace("{鍙栨秷鍘熷洜}",msg);
+                        sendBusinessSms(emayService,smsEmailMapper,
+                                Arrays.asList(platformBooks.getDriverPhone().split(",")),SmsConstants.platformBook,content,platformBooks.getId());
+                    }else{
+                        //鎮ㄦ湁涓�鏉°�愯溅杈嗗叆鍥敵璇枫�戦渶瑕佸鐞嗭紝璇︾粏淇℃伅璇峰墠寰�寰俊鍏紬鍙锋煡鐪嬨��
+                        sendBusinessSms(emayService,smsEmailMapper,
+                                auditUser,SmsConstants.platformBook,content,platformBooks.getId());
+                    }
+                }
             }
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+
+
+    /**
+     * 鐢ㄨ溅鐢宠 鐭俊閫氱煡閰嶇疆
+     * @param emayService
+     * @param smsEmailMapper
+     * @param smsConfigMapper
+     * @param platformJobMapper
+     * @param objId
+     * @param objCode
+     * @param platformName
+     */
+    public static void sendPlatformJobSms(SystemDictDataBiz systemDictDataBiz,EmayService emayService , SmsEmailMapper smsEmailMapper , SmsConfigMapper smsConfigMapper,
+                                          PlatformJobMapper platformJobMapper, Integer objId, String objCode, String platformName,String newPlatformName){
+        //platformJobNewJob	{杞︾墝鍙穧杞︿富鎮ㄥソ锛屾偍鏈変竴涓柊鐨勮繍杈撲换鍔★紝璇︾粏淇℃伅璇峰墠寰�寰俊鍏紬鍙锋煡鐪嬨��
+        //platformJobStopJob	{杞︾墝鍙穧杞︿富鎮ㄥソ锛屾偍鐨勮繍杈撲换鍔″凡琚彇娑堬紝璇︾粏淇℃伅璇峰墠寰�寰俊鍏紬鍙锋煡鐪嬨��
+        //platformJobCallIn	{杞︾墝鍙穧杞︿富鎮ㄥソ锛岃鍦�10鍒嗛挓鍐咃紝鍓嶅線鍥尯绛夊緟鍖虹瓑寰呭彨鍙蜂綔涓氥��
+        //platformJobSingIn	{杞︾墝鍙穧杞︿富鎮ㄥソ锛岃鍦�10鍒嗛挓鍐咃紝鍓嶅線{鏈堝彴鍚嶇О}杩涜浣滀笟銆�
+        //platformJobOverNum	{杞︾墝鍙穧杞︿富鎮ㄥソ锛屾偍鐨勪换鍔″凡杩囧彿锛岃閲嶆柊绛惧埌鎺掗槦绛夊緟銆�
+        //platformJobWorking	{杞︾墝鍙穧杞︿富鎮ㄥソ锛屾偍鐨勮溅杈嗗凡鍦▄鏈堝彴鍚嶇О}寮�濮嬩綔涓氾紝璇烽殢鏃跺叧娉ㄤ綔涓氭儏鍐点��
+        //platformJobFinish	{杞︾墝鍙穧杞︿富鎮ㄥソ锛屾偍鐨勮溅杈嗗凡鍦▄鏈堝彴鍚嶇О}瀹屾垚浣滀笟锛岃鍙婃椂椹剁鏈堝彴銆�
+        //platformJobError	{杞︾墝鍙穧杞︿富鎮ㄥソ锛屾偍鍦▄鏈堝彴鍚嶇О}鐨勪綔涓氫换鍔″凡缁忚寮傚父鎸傝捣锛岃鍙婃椂鍏虫敞鍏蜂綋鎯呭喌銆�
+        //platformJobMove	{杞︾墝鍙穧杞︿富鎮ㄥソ锛屾偍鍦▄鏈堝彴鍚嶇О}鐨勪綔涓氫换鍔″凡缁忓凡琚浆绉昏嚦{杞Щ鍚庢湀鍙板悕绉皚锛岃鍙婃椂鍏虫敞鍙彿鎯呭喌銆�
+        //platformJobTimeOut	{杞︾墝鍙穧杞︿富鎮ㄥソ锛屾偍鍦▄鏈堝彴鍚嶇О}宸插仠闈犺秴鏃讹紝璇峰敖蹇┒绂讳互鍏嶅奖鍝嶅悗缁綔涓氥��
+        try{
+            SmsConfig smsConfig = smsConfigMapper.selectOne(new QueryWrapper<SmsConfig>().lambda().eq(SmsConfig::getCode,
+                    objCode).last(" limit 1 "));
+            //寮�鍚煭淇¢�氱煡
+            if(Objects.nonNull(smsConfig) || Constants.equalsInteger(smsConfig.getStatus(),Constants.ZERO)){
+                String content = systemDictDataBiz.queryByCode(Constants.SMS,Constants.SMS_COMNAME).getCode() + smsConfig.getContent();
+                PlatformJob platformJob = platformJobMapper.selectById(objId);
+                if(Objects.nonNull(platformJob)){
+                    content = content.replace("{杞︾墝鍙穧",platformJob.getCarCodeFront());
+                    if(StringUtils.isNotBlank(platformName)&&content.indexOf("{鏈堝彴鍚嶇О}")>=Constants.ZERO){
+                        content = content.replace("{鏈堝彴鍚嶇О}",platformName);
+                    }
+                    if(StringUtils.isNotBlank(newPlatformName)&&content.indexOf("{杞Щ鍚庢湀鍙板悕绉皚")>=Constants.ZERO){
+                        content = content.replace("{杞Щ鍚庢湀鍙板悕绉皚",newPlatformName);
+                    }
+                    sendBusinessSms(emayService,smsEmailMapper,
+                            Arrays.asList(platformJob.getDrivierPhone().split(",")),SmsConstants.platformJob,content,platformJob.getId());
+                }
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+
+    public static void sendBusinessSms(EmayService emayService, SmsEmailMapper smsEmailMapper, List<String> phoneList, String objType, String content, Integer objId){
+        for (String phone:phoneList) {
             SmsEmail smsEmail = new SmsEmail();
             smsEmail.setIsdeleted(Constants.ZERO);
             smsEmail.setCreateDate(new Date());
             smsEmail.setStatus(Constants.ONE);
             smsEmail.setType(Constants.ZERO);
             smsEmail.setTitle("涓氬姟鐭俊");
+            smsEmail.setPhone(phone);
             smsEmail.setContent(content);
             smsEmail.setObjType(objType);
             smsEmail.setObjId(objId);
             smsEmailMapper.insert(smsEmail);
+            emayService.sendSingleSms(phone,content);
+
         }
     }
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
index fe0be93..202db3a 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -1075,16 +1075,24 @@
             }
         }
         if(broadcastList.size()>0){
-            PlatformBroadcastLog log = dealBroadcastBiz(model,broadcastList,bNames);
+            PlatformBroadcastLog log = dealBroadcastBiz(model,broadcastList,bNames,Constants.PlatformBroadcastContent.WRONG_IN.getInfo());
             logList.add(log);
         }
         if(logList.size()>0){
             platformBroadcastLogMapper.insert(logList);
         }
     }
-    public static PlatformBroadcastLog dealBroadcastBiz(PlatformJob model, List<String> broadcastList,String bNames) {
+
+    /**
+     * 骞挎挱閫氱煡
+     * @param model
+     * @param broadcastList
+     * @param bNames
+     * @param content1
+     * @return
+     */
+    public static PlatformBroadcastLog dealBroadcastBiz(PlatformJob model, List<String> broadcastList,String bNames , String content1) {
         PlatformBroadcastLog log = new PlatformBroadcastLog();
-        String content1 =Constants.PlatformBroadcastContent.WRONG_IN.getInfo();
         content1 = content1.replace("${param}",model.getCarCodeFront());
 
         log.setCreateDate(new Date());

--
Gitblit v1.9.3