From 7cdea6d16a8b9f74800792ea412ad8b51c4df7f4 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 22 十月 2024 17:48:38 +0800
Subject: [PATCH] 最新版本541200007

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java |  107 ++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 77 insertions(+), 30 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 f5dd941..6ed3d47 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;
@@ -67,11 +65,18 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
+import sun.misc.BASE64Encoder;
 
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.HttpURLConnection;
+import java.net.URL;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.*;
+import java.util.Date;
 import java.util.stream.Collectors;
 
 /**
@@ -126,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) {
@@ -240,29 +254,24 @@
         //鍒濆鍖栬瀹俊鎭�
         initVisitInfo(visits,date);
 
-        //浜鸿劯璇勫垎
-        FacePictureCheckRequest param = new FacePictureCheckRequest();
-        String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +
-                systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
-        param.setFacePicBinaryData(visits.getFaceImg());
-        try{
-            Path path = Paths.get(prefixUrl + visits.getFaceImg());
-//            Path path = Paths.get("d://c75848e1-f6f2-4474-bfa8-ddb05a8c7413.jpg");
-            byte[] imageBytes = Files.readAllBytes(path);
-            param.setFacePicBinaryData(Base64.getEncoder().encodeToString(imageBytes));
-        }catch (Exception e){
-            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"浜鸿劯淇℃伅瑙f瀽澶辫触");
-
+        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());
+            }
         }
-        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(!facePictureCheckResponse.getCheckResult()){
-            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), facePictureCheckResponse.getStatusMessage());
-        }
-
 
         visitsMapper.insert(visits);
 
@@ -294,8 +303,6 @@
 
         return visits.getId();
     }
-
-
 
 
     @Override
@@ -661,7 +668,7 @@
         if(Constants.equalsInteger(visits.getType(),Constants.ZERO)
              ||  Constants.equalsInteger(visits.getType(),Constants.ONE)){
             if(  visits.getIdcardType() == null
-                    ||  StringUtils.isBlank( visits.getIdcardNo() ) ){
+                    ||  StringUtils.isBlank( visits.getIdcardNo() ) || StringUtils.isBlank(visits.getFaceImg()) ){
                 throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝淇℃伅濉啓涓嶆纭紒");
             }
         }
@@ -1221,6 +1228,18 @@
         queryWrapper.leftJoin(Member.class,Member::getId,Visits::getReceptMemberId);
         queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId);
 
+        //鏁版嵁鏉冮檺寮�濮�--------------------start----------------
+        LoginUserInfo userInfo =pageWrap.getModel().getLoginUserInfo();
+        if(userInfo!=null && userInfo.getCompanyIdList()!=null){
+            if(  userInfo.getCompanyIdList().size() ==0){
+                //鍙兘鐪嬭嚜宸�(鎷滆浜猴級
+                queryWrapper.eq(Member::getId,userInfo.getMemberId());
+            }else{
+                queryWrapper.in(Company::getId ,userInfo.getCompanyIdList());
+            }
+        }
+        //鏁版嵁鏉冮檺寮�濮�--------------------end----------------
+
         queryWrapper.eq(Visits::getIsdeleted,Constants.ZERO);
         queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getType())&&Constants.equalsInteger(pageWrap.getModel().getType(),Constants.TWO),Visits::getType,pageWrap.getModel().getType());
         queryWrapper.ne(Objects.nonNull(pageWrap.getModel().getType())&&!Constants.equalsInteger(pageWrap.getModel().getType(),Constants.TWO),Visits::getType,Constants.TWO);
@@ -1678,13 +1697,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