From a54991d9a7116ab541264816a80520a49cdebdcd Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 25 十二月 2024 14:17:24 +0800
Subject: [PATCH] 最新版本541200007
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java | 181 +++++++++++++++++++++++++++++++++++----------
1 files changed, 140 insertions(+), 41 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 f423fd2..761b297 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;
@@ -80,7 +82,7 @@
@Autowired
private RetentionMapper retentionMapper;
@Autowired
- private VisitsMapper visitsMapper;
+ private VisitsJoinMapper visitsMapper;
@Autowired
private ApproveMapper approveMapper;
@Autowired
@@ -129,6 +131,9 @@
@Autowired
private SmsEmailMapper smsEmailMapper;
+
+ @Autowired
+ private WxNoticeConfigMapper wxNoticeConfigMapper;
@Autowired
private EmayService emayService;
@@ -224,6 +229,7 @@
@Override
@Transactional(rollbackFor = {BusinessException.class,Exception.class})
public Integer createFk(Visits visits,Boolean isERP,Integer source) {
+ visits.setId(null);
isValidBaseParam(visits);
//妫�鏌ユ槸鍚﹀繀椤荤瓟棰橈紝骞朵笖绗﹀悎绛旈瑕佹眰
ProblemLog problemLog = isValidProblemLog(visits,source);
@@ -248,25 +254,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 +285,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 +294,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);
@@ -319,6 +332,19 @@
//鍒濆鍖栬瀹俊鎭�
// initVisitInfo(visits,date);
visitsMapper.insert(visits);
+ if(Objects.nonNull(visits.getLoginUserInfo())){
+ SystemUser systemUser = systemUserMapper.selectById(visits.getLoginUserInfo().getId());
+ if(Objects.nonNull(systemUser)&&StringUtils.isNotBlank(systemUser.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(systemUser.getOpenid().split(","))
+ );
+ }
+ }
+
approveService.createApproveFlow(visits.getType(),visits.getId(),visits.getReceptMemberId());
return visits.getId();
}
@@ -1195,6 +1221,22 @@
result.setBusinessStatus(result.getStatus());
}
+
+ Notices notices = noticesJoinMapper.selectOne(new QueryWrapper<Notices>().lambda()
+ .eq(Notices::getObjId,id)
+ .eq(Notices::getType,Constants.equalsInteger(result.getType(),Constants.TWO)?Constants.noticesObjectType.visitReporting:Constants.noticesObjectType.visit)
+ .eq(Notices::getUserId,memberId)
+ .eq(Notices::getSendacopy,Constants.ZERO)
+ .orderByDesc(Notices::getId).last(" limit 1 "));
+ if(Objects.nonNull(notices)){
+ if(Constants.equalsInteger(notices.getStatus(),Constants.ZERO)){
+ result.setInfo("寰呮垜澶勭悊");
+ }else{
+ result.setInfo(notices.getInfo());
+ }
+ }
+
+
return result;
}
@@ -1248,6 +1290,23 @@
queryWrapper.isNull(Visits::getParentId);
queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getMemberId()),Visits::getMemberId,pageWrap.getModel().getMemberId());
queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getReceptMemberId()),Visits::getReceptMemberId,pageWrap.getModel().getReceptMemberId());
+
+ if(Objects.nonNull(pageWrap.getModel().getBusinessStatus())){
+ if(Constants.equalsInteger(pageWrap.getModel().getBusinessStatus(),Constants.TWO)){
+ queryWrapper.in(Visits::getStatus,
+ Constants.VisitStatus.xfSuccess,
+ Constants.VisitStatus.xfFail,
+ Constants.VisitStatus.signin,
+ Constants.VisitStatus.signout,
+ Constants.VisitStatus.invalid,
+ Constants.VisitStatus.pass
+ );
+ }else{
+ queryWrapper.eq(Visits::getStatus,pageWrap.getModel().getBusinessStatus());
+ }
+
+ }
+
queryWrapper.orderByDesc(Visits::getCreateDate);
IPage<Visits> result = visitsJoinMapper.selectJoinPage(page, Visits.class,queryWrapper);
@@ -1380,6 +1439,21 @@
memberId)
);
// }
+
+ Notices notices = noticesJoinMapper.selectOne(new QueryWrapper<Notices>().lambda()
+ .eq(Notices::getObjId,id)
+ .eq(Notices::getType,Constants.equalsInteger(visits.getType(),Constants.TWO)?Constants.noticesObjectType.visitReporting:Constants.noticesObjectType.visit)
+ .eq(Notices::getUserId,memberId)
+ .eq(Notices::getSendacopy,Constants.ZERO)
+ .orderByDesc(Notices::getId).last(" limit 1 "));
+ if(Objects.nonNull(notices)){
+ if(Constants.equalsInteger(notices.getStatus(),Constants.ZERO)){
+ visitDetailVO.setInfo("寰呮垜澶勭悊");
+ }else{
+ visitDetailVO.setInfo(notices.getInfo());
+ }
+ }
+
return visitDetailVO;
}
@@ -1486,11 +1560,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 +1620,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 +1718,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) {
@@ -1661,25 +1732,28 @@
pcWorkPlatformDataVO.setLwList(lwList );
}else if(Constants.equalsInteger(queryType,Constants.THREE)) {
- MPJLambdaWrapper<Notices> queryWrapper = new MPJLambdaWrapper<>();
- queryWrapper.selectAll(Notices.class);
if (Objects.isNull(loginUserInfo.getMemberId())) {
- queryWrapper.eq("1", "2");
+ pcWorkPlatformDataVO.setNoticesList(new ArrayList<>());
+ pcWorkPlatformDataVO.setNoticesNum(0);
+// queryWrapper.eq("1", "2");
} else {
+ MPJLambdaWrapper<Notices> queryWrapper = new MPJLambdaWrapper<>();
+ queryWrapper.selectAll(Notices.class);
queryWrapper.eq(Notices::getStatus, Constants.ZERO);
queryWrapper.eq(Notices::getSendacopy, Constants.ZERO);
queryWrapper.eq(Notices::getParam2, Constants.ZERO);
queryWrapper.eq(Notices::getUserId, loginUserInfo.getMemberId());
- }
- queryWrapper.orderByDesc(Notices::getCreateDate);
- List<Notices> noticesList = noticesJoinMapper.selectList(queryWrapper);
- pcWorkPlatformDataVO.setNoticesList(noticesList);
- pcWorkPlatformDataVO.setNoticesNum(noticesList.size());
- if(noticesList.size() > 5 ){
- pcWorkPlatformDataVO.setNoticesList(noticesList.subList(0,5));
- }else{
+ queryWrapper.orderByDesc(Notices::getCreateDate);
+ List<Notices> noticesList = noticesJoinMapper.selectList(queryWrapper);
pcWorkPlatformDataVO.setNoticesList(noticesList);
+ pcWorkPlatformDataVO.setNoticesNum(noticesList.size());
+ if(noticesList.size() > 5 ){
+ pcWorkPlatformDataVO.setNoticesList(noticesList.subList(0,5));
+ }else{
+ pcWorkPlatformDataVO.setNoticesList(noticesList);
+ }
}
+
}else{
String code= systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.TIMEOUT_WARNING).getCode();
MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>();
@@ -1728,6 +1802,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,
@@ -1735,17 +1811,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,
+ visitTimeCount.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