From 6fa83d0480fe1327d4d5f8f8e7bbc6fc0a6820e4 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期三, 22 五月 2024 18:14:37 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java | 140 ++++++++++++++++++++++++++++++++++------------
1 files changed, 104 insertions(+), 36 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 0c163ed..59ca333 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
@@ -2,6 +2,8 @@
import com.alibaba.fastjson.JSONObject;
import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.biz.system.SystemUserBiz;
+import com.doumee.config.DataSyncConfig;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.erp.ErpConstants;
import com.doumee.core.erp.ErpTool;
@@ -24,16 +26,22 @@
import com.doumee.core.wx.wxPlat.WxPlatNotice;
import com.doumee.dao.business.*;
import com.doumee.dao.business.dao.CompanyMapper;
+import com.doumee.dao.business.dto.ResetPasswordDTO;
import com.doumee.dao.business.join.DeviceJoinMapper;
import com.doumee.dao.business.join.VisitsJoinMapper;
import com.doumee.dao.business.model.*;
+import com.doumee.dao.system.SystemUserMapper;
+import com.doumee.dao.system.dto.ResetSystemUserPwdDTO;
+import com.doumee.dao.system.model.SystemUser;
import com.doumee.dao.web.reqeust.AuditApproveDTO;
import com.doumee.dao.web.reqeust.ErpVisitDTO;
import com.doumee.dao.web.reqeust.ErpWithVisitDTO;
import com.doumee.dao.web.reqeust.VisitRecordDTO;
import com.doumee.dao.web.response.VisitDetailVO;
import com.doumee.dao.web.response.VisitRecordVO;
+import com.doumee.service.business.ApproveService;
import com.doumee.service.business.InterfaceLogService;
+import com.doumee.service.business.SmsEmailService;
import com.doumee.service.business.VisitsService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -80,6 +88,8 @@
@Autowired
private SystemDictDataBiz systemDictDataBiz;
@Autowired
+ private SystemUserBiz systemUserBiz;
+ @Autowired
private DeviceJoinMapper deviceJoinMapper;
@Autowired
private ErpTool erpTool;
@@ -89,6 +99,14 @@
@Autowired
private InterfaceLogService interfaceLogService;
+ @Autowired
+ private DataSyncConfig dataSyncConfig;
+ @Autowired
+ private SmsEmailService smsEmailService;
+ @Autowired
+ private SystemUserMapper systemUserMapper;
+ @Autowired
+ private ApproveService approveService;
@Override
@@ -188,26 +206,25 @@
//妫�楠屾嫓璁夸汉鏄惁鍚堟硶
Member visitMember = isValideVisitedUser(visits.getReceptMemberId());
if(Constants.equalsInteger(Constants.ZERO, visits.getIdcardType())&&visits.getIdcardNo().length()!=18
- //&&!IdcardUtil.isValidCard(visits.getIdcardNo())
+// &&!IdcardUtil.isValidCard(visits.getIdcardNo())
){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝韬唤璇佸彿鐮佹湁璇紝璇锋牳瀹炲悗閲嶈瘯锛�");
}
Date date = new Date();
//鍒涘缓鏃堕棿
visits.setCreateDate(date);
- //鏅�氳瀹�
- visits.setType(Constants.ONE);
//闅忚浜哄憳鏁伴噺
- visits.setMemberNum(CollectionUtils.isNotEmpty(visits.getWithUserList())?visits.getWithUserList().size():0);
+ visits.setMemberNum(Constants.ZERO);
//璁垮淇℃伅(浣跨敤韬唤璇佸彿鏌ヨ鏄惁宸插瓨鍦ㄦ敼鏅�氳瀹紝娌℃湁鍒欐柊澧烇紝瀛樺湪鍒欐洿鏂皁penid绛変俊鎭�),鍖呮嫭闅忚浜哄憳鏍¢獙鍜屽鐞�
- Member member =dealMemberAndVisits(visits);
+ Member member = dealMemberAndVisits(visits);
visits.setMemberId(member.getId());
visits.setVisitType(Integer.valueOf(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.MDJ_VISIT_REQUIRED).getCode()));
//鍒濆鍖栬瀹俊鎭�
initVisitInfo(visits,date);
visitsMapper.insert(visits);
+
//鍙戣捣ERP瀹℃壒鐢宠
- if(visits.getSourceType().equals(Constants.ZERO)){
+ if(dataSyncConfig.getVisitorDataOrigin().equals(Constants.ONE)){
String erpId = startSendErpCheck(visits,visitMember);
if(StringUtils.isNotBlank(erpId)){
visits.setErpId(erpId);
@@ -220,9 +237,12 @@
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{
+ }else if(dataSyncConfig.getVisitorDataOrigin().equals(Constants.ZERO)){
visits.setStatus(Constants.VisitStatus.pass);
visitsMapper.updateById(visits);
+ approveService.createApproveFlow(visits.getType(),visits.getId(),visits.getReceptMemberId());
+ }else{
+ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝鍙戣捣鎷滆瀹℃壒鐢宠澶辫触锛�");
}
initWithVisitInfo(visits);
updateProblemLog(visits,problemLog,member);
@@ -231,6 +251,33 @@
return visits.getId();
}
+
+
+
+
+ @Override
+ @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+ public Integer visitReporting(Visits visits) {
+ isValidBaseParam(visits);
+ //妫�楠岃鎷滆浜烘槸鍚﹀悎娉�
+ Member visitMember = isValideVisitedUser(visits.getMemberId());
+ Date date = new Date();
+ //鍒涘缓鏃堕棿
+ visits.setCreateDate(date);
+ //璁垮鎶ュ
+ visits.setType(Constants.TWO);
+ visits.setReceptMemberId(visitMember.getId());
+ visits.setStatus(Constants.VisitStatus.waitCheck);
+ visits.setVisitType(Integer.valueOf(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.MDJ_VISIT_REQUIRED).getCode()));
+ visits.setIdcardNo(DESUtil.decrypt(Constants.EDS_PWD, visitMember.getIdcardNo()));
+ //鍒濆鍖栬瀹俊鎭�
+ initVisitInfo(visits,date);
+ visitsMapper.insert(visits);
+ return visits.getId();
+ }
+
+
+
/**
@@ -258,7 +305,7 @@
approve.setIsEndCheck(Constants.ZERO);
approve.setType(Constants.ZERO);
approve.setLevel(Constants.ONE);
- approve.setVisitId(visits.getId());
+ approve.setObjId(visits.getId());
approveMapper.insert(approve);
if(!CollectionUtils.isNotEmpty(approveIds)){
approve.setIsEndCheck(Constants.ONE);
@@ -293,7 +340,7 @@
if(approve.getStatus().equals(Constants.approveStatus.wait)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀹℃壒璁板綍宸插鐞�!");
}
- Visits visits = visitsMapper.selectById(approve.getVisitId());
+ Visits visits = visitsMapper.selectById(approve.getObjId());
if(Objects.isNull(visits)){
throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
@@ -315,7 +362,7 @@
if(approve.getApproveType().equals(Constants.ONE)){
//浼氱 鏌ヨ鏄惁鏄渶鍚庝竴鏉¤褰� 濡傛灉鏄渶鍚庝竴鏉¤褰� 鍒欑敓鎴愪笅绾у鎵硅褰� 濡傛灉鏄渶鍚庝竴绾э紝鍒欒繘琛屽鎵圭‘璁�
if(approveMapper.selectCount(new QueryWrapper<Approve>().lambda()
- .eq(Approve::getVisitId,visits.getId())
+ .eq(Approve::getObjId,visits.getId())
.eq(Approve::getLevel,approve.getLevel())
.ne(Approve::getId,approve.getId())
)<=Constants.ZERO){
@@ -336,7 +383,7 @@
.set(Approve::getStatus,Constants.approveStatus.otherDeal)
.set(Approve::getEditDate,new Date())
.set(Approve::getCheorId,auditApproveDTO.getMemberId())
- .eq(Approve::getVisitId,visits.getId())
+ .eq(Approve::getObjId,visits.getId())
.eq(Approve::getStatus,Constants.approveStatus.wait)
.ne(Approve::getId,approve.getId())
.eq(Approve::getLevel,approve.getLevel())
@@ -363,7 +410,7 @@
.set(Approve::getStatus,Constants.approveStatus.otherDeal)
.set(Approve::getEditDate,new Date())
.set(Approve::getCheorId,auditApproveDTO.getMemberId())
- .eq(Approve::getVisitId,visits.getId())
+ .eq(Approve::getObjId,visits.getId())
.eq(Approve::getStatus,Constants.approveStatus.wait)
.ne(Approve::getId,approve.getId())
.eq(Approve::getLevel,approve.getLevel())
@@ -401,7 +448,7 @@
approve.setTemplatId(approveParam.getId());
approve.setChekorId(Integer.valueOf(id));
approve.setType(Constants.ONE);
- approve.setVisitId(visitId);
+ approve.setObjId(visitId);
approveList.add(approve);
}
approveMapper.insertBatchSomeColumn(approveList);
@@ -428,7 +475,7 @@
approve.setApproveType(approveParam.getApproveType());
approve.setChekorId(id);
approve.setType(Constants.ONE);
- approve.setVisitId(visitId);
+ approve.setObjId(visitId);
approveList.add(approve);
}
approveMapper.insertBatchSomeColumn(approveList);
@@ -447,7 +494,6 @@
.eq(ApproveParam::getMemberType,Constants.ZERO)
.last("limit 1"));
return Objects.isNull(approveParam)?null:approveParam.getId();
-
}
@@ -562,16 +608,27 @@
|| StringUtils.isBlank( visits.getPhone())
|| StringUtils.isBlank( visits.getCompanyName())
|| visits.getIdcardType() == null
+ || Objects.isNull(visits.getType())
// || StringUtils.isBlank( visits.getFaceImg() )
|| StringUtils.isBlank( visits.getIdcardNo() )
|| visits.getReceptMemberId() == null){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝淇℃伅濉啓涓嶆纭紒");
}
+ //璁垮鎶ュ
+ if(visits.getType().equals(Constants.TWO)
+ && (StringUtils.isBlank( visits.getName())
+ || StringUtils.isBlank( visits.getPhone())
+ || StringUtils.isBlank( visits.getCompanyName()))
+ || StringUtils.isBlank( visits.getCarNos())
+ || Objects.isNull( visits.getMemberNum())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝淇℃伅濉啓涓嶆纭紒");
+ }
if(visits.getEndtime().getTime() < System.currentTimeMillis()){
- throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝棰勭害缁撴潫鏃堕棿蹇呴』澶т簬褰撳墠鏃堕棿锛�");//
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝鍏ュ巶鏃堕棿蹇呴』澶т簬褰撳墠鏃堕棿锛�");//
}
if(visits.getEndtime().getTime() <= visits.getStarttime().getTime()){
- throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝棰勭害缁撴潫鏃堕棿蹇呴』澶т簬寮�濮嬫椂闂达紒");//
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝绂诲巶鏃堕棿蹇呴』澶т簬鍏ュ巶鏃堕棿锛�");//
}
if(visits.getSourceType().equals(Constants.ZERO)){
String code = systemDictDataBiz.queryByCode(Constants.VISIT_CONFIG,Constants.VALIDATE_VISIT).getCode();
@@ -582,7 +639,6 @@
}
if(StringUtils.isNotBlank(code)&&!StringUtils.equals(code,"0")){
-// Integer betweenDays = Math.toIntExact(cn.hutool.core.date.DateUtil.between(visits.getEndtime(), visits.getStarttime(), DateUnit.DAY));
int betweenDays = DateUtil.daysBetweenDates11(visits.getEndtime(), visits.getStarttime())+1;
if( betweenDays > codenum){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝棰勭害鎬诲ぉ鏁颁笉鑳借秴杩嘯"+code+"澶锛�");
@@ -769,17 +825,6 @@
model.setMemberId(visitsMember.getId());
}
}
-
-// if(CollectionUtils.isNotEmpty(addList)){
-// memberMapper.insertBatchSomeColumn(addList);
-// }
-// if(CollectionUtils.isNotEmpty(editList)){
-// editList.forEach(i->{
-// memberMapper.updateById(i);
-// });
-//
-// }
-
return m;
}
@@ -940,7 +985,7 @@
private ProblemLog isValidProblemLog(Visits visits) {
String required = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PROBLEM_VISIT_REQUIRED).getCode();
- if(StringUtils.equals(required,Constants.ONE+"")&&visits.getSourceType()==Constants.ZERO){
+ if(StringUtils.equals(required,Constants.ONE+"")&&visits.getSourceType()==Constants.ZERO&&!visits.getType().equals(Constants.TWO)){
//濡傛灉蹇呴』绛旈锛屾煡鎵剧瓟棰樿褰�
if(visits.getUserAnswerId() == null){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝璇峰厛鎸夎姹傝繘琛屽畨鍏ㄧ煡璇嗙瓟棰橈紒");
@@ -1102,6 +1147,7 @@
.eq(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),Visits::getCompanyName,pageWrap.getModel().getCompanyName())
.eq(Objects.nonNull(pageWrap.getModel().getStatus()),Visits::getStatus,pageWrap.getModel().getStatus());
queryWrapper.isNull(Visits::getParentId);
+ queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getMemberId()),Visits::getMemberId,pageWrap.getModel().getMemberId());
queryWrapper.orderByDesc(Visits::getCreateDate);
IPage<Visits> result = visitsJoinMapper.selectJoinPage(page, Visits.class,queryWrapper);
@@ -1190,12 +1236,12 @@
visitDetailVO.setVisitUserCompany(company.getName());
}
visitDetailVO.setName(visits.getName());
- visitDetailVO.setCompanyName(visits.getCompanyName());
- visitDetailVO.setFaceImg(visits.getFaceImg());
- visitDetailVO.setImgUrl(visits.getImgurl());
- visitDetailVO.setIdCardDecode(visits.getIdcardDecode());
- visitDetailVO.setPrefix(systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +
- systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode());
+ visitDetailVO.setCompanyName(visits.getCompanyName());
+ visitDetailVO.setFaceImg(visits.getFaceImg());
+ visitDetailVO.setImgUrl(visits.getImgurl());
+ visitDetailVO.setIdCardDecode(visits.getIdcardDecode());
+ visitDetailVO.setPrefix(systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +
+ systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode());
if(StringUtils.isNotBlank(visits.getDoors())){
List<DeviceRole> deviceRoleList = deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda()
.select(DeviceRole::getName)
@@ -1293,4 +1339,26 @@
.eq(Retention::getMemberId,visits.getMemberId()));
}
+
+ @Override
+ @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+ public void resetPassword(ResetPasswordDTO resetPasswordDTO){
+ if(Objects.isNull(resetPasswordDTO)
+ || StringUtils.isBlank(resetPasswordDTO.getPassword())
+ || StringUtils.isBlank(resetPasswordDTO.getValidCode())
+ || StringUtils.isBlank(resetPasswordDTO.getPhone())){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ SystemUser systemUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda().eq(SystemUser::getMobile,resetPasswordDTO.getPhone()).eq(SystemUser::getDeleted,Constants.ZERO).last(" limit 1"));
+ if(Objects.isNull(systemUser)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鎵嬫満鍙锋墍灞炶处鎴�");
+ }
+ smsEmailService.validateCode(resetPasswordDTO.getValidCode(),resetPasswordDTO.getPhone());
+ ResetSystemUserPwdDTO dto = new ResetSystemUserPwdDTO();
+ dto.setPassword(resetPasswordDTO.getPassword());
+ dto.setId(systemUser.getId());
+ dto.setOperaUserId(systemUser.getId());
+ systemUserBiz.resetPwd(dto);
+ }
+
}
--
Gitblit v1.9.3