From 0798091933fade5d2ee24891d7441b4e848a4d25 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 17 十二月 2024 17:15:39 +0800
Subject: [PATCH] 最新版本541200007

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java |   83 ++++++++++++++++++++++++++++++++++++++---
 1 files changed, 77 insertions(+), 6 deletions(-)

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 bc2311a..4b577ff 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
@@ -14,9 +14,13 @@
 import com.doumee.dao.business.*;
 import com.doumee.dao.business.dao.SmsConfigMapper;
 import com.doumee.dao.business.dao.SmsEmailMapper;
+import com.doumee.dao.business.join.VisitsJoinMapper;
 import com.doumee.dao.business.model.*;
+import com.doumee.dao.business.model.vo.ValidPhoneCodeVO;
+import com.doumee.dao.system.model.SystemUser;
 import com.doumee.service.business.SmsEmailService;
 import com.doumee.service.business.third.EmayService;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -75,6 +79,10 @@
 
 
 
+    @Override
+    public     void validPhoneCaptcha(ValidPhoneCodeVO param){
+       isCaptcheValide(smsEmailMapper,param.getPhone(),param.getCode());
+    }
     @Override
     public Integer create(SmsEmail smsEmail) {
         smsEmailMapper.insert(smsEmail);
@@ -291,17 +299,21 @@
      * @param auditUser
      */
     public static void sendVisitSms(SystemDictDataBiz systemDictDataBiz, EmayService emayService , com.doumee.dao.business.dao.SmsEmailMapper smsEmailMapper , SmsConfigMapper smsConfigMapper,
-                                    VisitsMapper visitsMapper, Integer objId, String objCode, String msg, List<String> auditUser){
+                                    VisitsJoinMapper visitsMapper, 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();
-                Visits visits = visitsMapper.selectById(objId);
+                Visits visits = visitsMapper.selectJoinOne(Visits.class,new MPJLambdaWrapper<Visits>().selectAll(Visits.class)
+                                .selectAs(SystemUser::getMobile,Visits::getReceptMemberMobile)
+                        .leftJoin(SystemUser.class,SystemUser::getMemberId, Visits::getReceptMemberId)
+                        .eq(Visits::getId,objId).last(" limit 1 "));
                 if(Objects.nonNull(visits)){
                     if(objCode.equals(SmsConstants.visitContent.visitAuditSuccess)){
                         //鎮ㄧ殑銆愯瀹㈢敵璇枫�戝凡缁忓鎵归�氳繃锛岃浜巤棰勭害鍏ュ洯寮�濮嬫椂闂磢鍓嶅線闂ㄥ崼瀹よ瀹㈡満绛惧埌鍏ュ洯锛屽鏈夌枒闂紝璇疯仈绯昏璁夸汉
+                        //鎮ㄧ殑[璁垮鐢宠]宸茬粡瀹℃壒閫氳繃锛岃閫氱煡璁垮浜巤棰勭害鍏ュ洯寮�濮嬫椂闂磢鍏ュ洯锛屽鏈夌枒闂紝璇疯仈绯昏璁夸汉銆�
                         content = content.replace("{棰勭害鍏ュ洯寮�濮嬫椂闂磢",DateUtil.getFomartDate(visits.getStarttime(),"yyyy-MM-dd HH:mm"));
                         sendBusinessSms(emayService,smsEmailMapper,
                                 Arrays.asList(visits.getPhone().split(",")),SmsConstants.visit,content,visits.getId());
@@ -320,6 +332,10 @@
                         content = content.replace("{鏈绂绘暟閲弣",msg);
                         sendBusinessSms(emayService,smsEmailMapper,
                                 Arrays.asList(visits.getPhone().split(",")),SmsConstants.visit,content,visits.getId());
+                    }else if(objCode.equals(SmsConstants.visitContent.visitAuditSuccessToVisiter))  {
+                        content = content.replace("{棰勭害鍏ュ洯寮�濮嬫椂闂磢",DateUtil.getFomartDate(visits.getStarttime(),"yyyy-MM-dd HH:mm"));
+                        sendBusinessSms(emayService,smsEmailMapper,
+                                Arrays.asList(visits.getReceptMemberMobile().split(",")),SmsConstants.visit,content,visits.getId());
                     }else{
                         //鎮ㄦ湁涓�鏉°�愯溅杈嗗叆鍥敵璇枫�戦渶瑕佸鐞嗭紝璇︾粏淇℃伅璇峰墠寰�寰俊鍏紬鍙锋煡鐪嬨��
                         sendBusinessSms(emayService,smsEmailMapper,
@@ -345,26 +361,31 @@
      * @param auditUser
      */
     public static void sendVisitReportSms(SystemDictDataBiz systemDictDataBiz, EmayService emayService , com.doumee.dao.business.dao.SmsEmailMapper smsEmailMapper , SmsConfigMapper smsConfigMapper,
-                                          VisitsMapper visitsMapper, Integer objId, String objCode, String msg, List<String> auditUser){
+                                          VisitsJoinMapper visitsMapper, 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();
-                Visits visits = visitsMapper.selectById(objId);
+                Visits visits = visitsMapper.selectJoinOne(Visits.class,new MPJLambdaWrapper<Visits>().selectAll(Visits.class)
+                        .selectAs(SystemUser::getMobile,Visits::getCreateMobile)
+                        .leftJoin(SystemUser.class,SystemUser::getMemberId,Visits::getMemberId)
+                        .eq(Visits::getId,objId)
+                        .last(" limit   1")
+                );
                 if(Objects.nonNull(visits)){
                     if(objCode.equals(SmsConstants.visitReportingContent.visitReportingAuditSuccess)){
                         // 鎮ㄧ殑銆愯瀹㈡姤澶囥�戝凡缁忓鎵归�氳繃锛岃閫氱煡璁垮浜巤棰勭害鍏ュ洯寮�濮嬫椂闂磢鍚庝箻鍧恵杞︾墝鍙穧鍏ュ洯锛屽鏈夌枒闂紝璇疯仈绯昏璁夸汉銆�
                         content = content.replace("{棰勭害鍏ュ洯寮�濮嬫椂闂磢",DateUtil.getFomartDate(visits.getStarttime(),"yyyy-MM-dd HH:mm"))
                                 .replace("{杞︾墝鍙穧",visits.getCarNos());
                         sendBusinessSms(emayService,smsEmailMapper,
-                                Arrays.asList(visits.getPhone().split(",")),SmsConstants.visitReport,content,visits.getId());
+                                Arrays.asList(visits.getCreateMobile().split(",")),SmsConstants.visitReport,content,visits.getId());
                     }else if(objCode.equals(SmsConstants.visitReportingContent.visitReportingAuditFail)){
                         //鎮ㄧ殑銆愯瀹㈡姤澶囥�戝凡琚┏鍥烇紝椹冲洖鍘熷洜涓猴細{椹冲洖鍘熷洜}銆傚鏈夌枒闂紝璇疯仈绯诲鎵逛汉銆�
                         content = content.replace("{椹冲洖鍘熷洜}",msg);
                         sendBusinessSms(emayService,smsEmailMapper,
-                                Arrays.asList(visits.getPhone().split(",")),SmsConstants.visitReport,content,visits.getId());
+                                Arrays.asList(visits.getCreateMobile().split(",")),SmsConstants.visitReport,content,visits.getId());
                     }else if(objCode.equals(SmsConstants.visitReportingContent.visitReportingTimeOutSignOut)){
                         //鎮ㄧ殑銆愯瀹㈡姤澶囥�戝凡浜巤棰勭害鍏ュ洯缁撴潫鏃堕棿}鍒版湡锛岃鍙婃椂绂诲満锛屽鏈夌枒闂紝璇疯仈绯昏璁夸汉
                         content = content.replace("{棰勭害鍏ュ洯缁撴潫鏃堕棿}",DateUtil.getFomartDate(visits.getEndtime(),"yyyy-MM-dd HH:mm"));
@@ -380,6 +401,53 @@
                         sendBusinessSms(emayService,smsEmailMapper,
                                 auditUser,SmsConstants.platformBook,content,visits.getId());
                     }
+                }
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+
+    public static void sendVisitReportTimeOutSms(SystemDictDataBiz systemDictDataBiz, EmayService emayService , com.doumee.dao.business.dao.SmsEmailMapper smsEmailMapper ,
+                                                 SmsConfigMapper smsConfigMapper,
+                                           String objCode, String msg,List<String> mobiles){
+        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();
+                //瓒呮椂鐗规畩澶勭悊
+                if(smsConfig.getCode().equals(SmsConstants.visitReportingContent.visitReportingTimeOutSignOutNum)){
+                    //浠婃棩杩樻湁{鏈绂绘暟閲弣涓瀹㈡姤澶囪溅杈嗘湭绂诲満锛岃鍓嶅線PC绔煡鐪嬭缁嗕俊鎭��
+                    content = content.replace("{鏈绂绘暟閲弣",msg);
+                    sendBusinessSms(emayService,smsEmailMapper,
+                            mobiles,SmsConstants.visitReport,content,0);
+                    return;
+                }
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+
+
+    public static void sendVisitTimeOutSms(SystemDictDataBiz systemDictDataBiz, EmayService emayService , com.doumee.dao.business.dao.SmsEmailMapper smsEmailMapper ,
+                                                 SmsConfigMapper smsConfigMapper,
+                                                 String objCode, String msg,List<String> mobiles){
+        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();
+                //瓒呮椂鐗规畩澶勭悊
+                if(smsConfig.getCode().equals(SmsConstants.visitContent.visitTimeOutSignOutNum)){
+                    //浠婃棩杩樻湁{鏈绂绘暟閲弣涓瀹㈡姤澶囪溅杈嗘湭绂诲満锛岃鍓嶅線PC绔煡鐪嬭缁嗕俊鎭��
+                    content = content.replace("{鏈绂绘暟閲弣",msg);
+                    sendBusinessSms(emayService,smsEmailMapper,
+                            mobiles,SmsConstants.visit,content,0);
+                    return;
                 }
             }
         }catch (Exception e){
@@ -448,6 +516,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);

--
Gitblit v1.9.3