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

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java |   92 +++++++++++++++++++++++++++++++--------------
 1 files changed, 63 insertions(+), 29 deletions(-)

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 09ac819..f8ec745 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -23,6 +23,8 @@
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.*;
+import com.doumee.core.wx.WXConstant;
+import com.doumee.core.wx.wxPlat.WxPlatConstants;
 import com.doumee.core.wx.wxPlat.WxPlatNotice;
 import com.doumee.dao.admin.response.InterestedListVO;
 import com.doumee.dao.admin.response.PCWorkPlatformDataVO;
@@ -129,6 +131,9 @@
 
     @Autowired
     private SmsEmailMapper smsEmailMapper;
+
+    @Autowired
+    private WxNoticeConfigMapper wxNoticeConfigMapper;
 
     @Autowired
     private EmayService emayService;
@@ -248,25 +253,25 @@
         //鍒濆鍖栬瀹俊鎭�
         initVisitInfo(visits,date);
 
-        if(StringUtils.isNotBlank(visits.getFaceImg())&&(Constants.equalsInteger(visits.getType(),Constants.ZERO)|| Constants.equalsInteger(visits.getType(),Constants.TWO))){
-            //浜鸿劯璇勫垎
-            FacePictureCheckRequest param = new FacePictureCheckRequest();
-            String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +
-                    systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
-            param.setFacePicUrl(prefixUrl + visits.getFaceImg());
-            BaseResponse<FacePictureCheckResponse> response = HKService.facePictureCheck(param);
-            if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
-                throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝浜鸿劯璇勫垎鑾峰彇鏁版嵁澶辫触~");
-            }
-            FacePictureCheckResponse facePictureCheckResponse = response.getData();
-            if(Objects.isNull(facePictureCheckResponse) || Objects.isNull(facePictureCheckResponse.getCheckResult())){
-                throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝浜鸿劯璇勫垎鑾峰彇鏁版嵁澶辫触~");
-            }
-            if(!facePictureCheckResponse.getCheckResult()){
-                throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), facePictureCheckResponse.getStatusMessage());
-            }
-        }
-
+//        if(StringUtils.isNotBlank(visits.getFaceImg())&&(Constants.equalsInteger(visits.getType(),Constants.ZERO)|| Constants.equalsInteger(visits.getType(),Constants.TWO))){
+//            //浜鸿劯璇勫垎
+//            FacePictureCheckRequest param = new FacePictureCheckRequest();
+//            String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_LOCAL_RESOURCE_PATH).getCode() +
+//                    systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
+//            param.setFacePicUrl(prefixUrl + visits.getFaceImg());
+//            BaseResponse<FacePictureCheckResponse> response = HKService.facePictureCheck(param);
+//            if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
+//                throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝浜鸿劯璇勫垎鑾峰彇鏁版嵁澶辫触~");
+//            }
+//            FacePictureCheckResponse facePictureCheckResponse = response.getData();
+//            if(Objects.isNull(facePictureCheckResponse) || Objects.isNull(facePictureCheckResponse.getCheckResult())){
+//                throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝浜鸿劯璇勫垎鑾峰彇鏁版嵁澶辫触~");
+//            }
+//            if(!facePictureCheckResponse.getCheckResult()){
+//                throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), facePictureCheckResponse.getStatusMessage());
+//            }
+//        }
+        visits.setSendTimeOutNotice(Constants.ZERO);
         visitsMapper.insert(visits);
 
         //鍙戣捣ERP瀹℃壒鐢宠
@@ -279,10 +284,6 @@
             }else{
                 throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝鍙戣捣鎷滆瀹℃壒鐢宠澶辫触锛�");
             }
-            //鍙戦�佸井淇″叕浼楀彿閫氱煡
-            wxPlatNotice.sendVisitAuditTemplateNotice(visits,
-                    systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_PREFIX).getCode(),
-                    systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_AUDIT_VISIT).getCode());
         }else if(dataSyncConfig.getVisitorDataOrigin().equals(Constants.ZERO)){
             visits.setStatus(Constants.VisitStatus.waitCheck);
             visitsMapper.updateById(visits);
@@ -292,6 +293,17 @@
         }
         initWithVisitInfo(visits);
         updateProblemLog(visits,problemLog,member);
+
+        //鍙戦�佸井淇″叕浼楀彿閫氱煡 - 鐢宠鎻愪氦鎴愬姛寰呭鏍�
+        if(StringUtils.isNotBlank(visits.getOpenid())){
+            WxPlatNotice wxPlatNotice = new WxPlatNotice();
+            wxPlatNotice.sendVisitTemplateNotice(systemDictDataBiz,
+                    wxNoticeConfigMapper,visits,
+                    Constants.equalsInteger(visits.getType(),Constants.TWO)?WxPlatConstants.visitReportContent.visitReportUpload:WxPlatConstants.visitContent.visitUpload,
+                    systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+                    Arrays.asList(visits.getOpenid().split(","))
+            );
+        }
         //鍒涘缓瀹℃壒璁板綍
         createApprove(visits,visitMember);
 
@@ -1486,11 +1498,6 @@
       if(Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.xfSuccess)){
           //濡傛灉涓嬪彂鎴愬姛锛�
           visitsMapper.updateById(visits);
-          if(Objects.isNull(visits.getParentId())){
-              wxPlatNotice.sendVisitAuditTemplateNotice(visits,
-                      systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_PREFIX).getCode(),
-                      systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_AUDIT_VISIT).getCode());
-          }
       }else{
           throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"閲嶆柊涓嬪彂浼氬け璐ワ紒");
       }
@@ -1551,7 +1558,8 @@
 
             //鍦ㄥ洯闀挎湡鐩稿叧鏂逛汉鏁�
             pcWorkPlatformDataVO.setInParkLwUserNum(
-                    retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO) && Constants.equalsInteger(i.getCompanyType(),Constants.ZERO)).count()
+                    retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO)
+                            && Constants.equalsInteger(i.getCompanyType(),Constants.ZERO)).count()
             );
             pcWorkPlatformDataVO.setLwUserInNum(Constants.ZERO);
             pcWorkPlatformDataVO.setLwUserOutNum(Constants.ZERO);
@@ -1648,6 +1656,7 @@
                 List<Integer> companyIds = companyList.stream().map(i->i.getId()).collect(Collectors.toList());
                 List<Retention> retentionList = retentionMapper.selectList(
                         new QueryWrapper<Retention>().lambda()
+                                .eq(Retention::getType,Constants.TWO)
                                 .in(Retention::getCompanyId,companyIds)
                 );
                 for (Company company:companyList) {
@@ -1731,6 +1740,8 @@
                 .eq(Visits::getSendTimeOutNotice,Constants.ZERO)
                 .apply("   now() >=  DATE_ADD(ENDTIME,INTERVAL -"+times+" MINUTE)   ")
         );
+        Integer visitTimeCount = 0;
+        Integer visitReportTimeCount = 0;
         for (Visits visits:visitsList) {
             if(Constants.equalsInteger(visits.getType(),Constants.TWO)){
                 SmsEmailServiceImpl.sendVisitReportSms(systemDictDataBiz,
@@ -1738,17 +1749,40 @@
                         SmsConstants.visitReportingContent.visitReportingTimeOutSignOut,
                         null,Arrays.asList(visits.getPhone().split(","))
                 );
+                visitReportTimeCount = visitReportTimeCount + 1;
             }else{
                 SmsEmailServiceImpl.sendVisitSms(systemDictDataBiz,
                         emayService,smsEmailMapper,smsConfigMapper,visitsMapper,visits.getId(),
                         SmsConstants.visitContent.visitTimeOutSignOut,
                         null,Arrays.asList(visits.getPhone().split(","))
                 );
+                visitTimeCount = visitTimeCount  + 1 ; 
             }
             visits.setSendTimeOutNotice(Constants.ONE);
             visitsMapper.updateById(visits);
         }
+        
+        if(visitTimeCount > 0 ){
+            String mobile = systemDictDataBiz.queryByCode(Constants.VISIT_CONFIG,Constants.VISIT_TIME_OUT_MOBILE).getCode();
+            if(StringUtils.isNotBlank(mobile)){
+                SmsEmailServiceImpl.sendVisitTimeOutSms(systemDictDataBiz,
+                        emayService,smsEmailMapper,smsConfigMapper,
+                        SmsConstants.visitContent.visitTimeOutSignOutNum,
+                        visitReportTimeCount.toString(),Arrays.asList(mobile.split(","))
+                );
+            }
+        }
 
+        if(visitReportTimeCount > 0 ){
+            String mobile = systemDictDataBiz.queryByCode(Constants.VISIT_CONFIG,Constants.VISIT_REPORT_TIME_OUT_MOBILE).getCode();
+            if(StringUtils.isNotBlank(mobile)){
+                SmsEmailServiceImpl.sendVisitReportTimeOutSms(systemDictDataBiz,
+                        emayService,smsEmailMapper,smsConfigMapper,
+                        SmsConstants.visitReportingContent.visitReportingTimeOutSignOutNum,
+                        visitReportTimeCount.toString(),Arrays.asList(mobile.split(","))
+                );
+            }
+        }
 
 
 

--
Gitblit v1.9.3