jiangping
2024-12-10 eb275c6d06d3c27fd30bbf4975d27c93d7f56eb2
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -253,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_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());
            }
        }
//        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审批申请
@@ -1740,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,
@@ -1747,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(","))
                );
            }
        }