From 759fad4aa7b5bdf0aa8b1f6e22882b251c935876 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 29 五月 2024 15:43:35 +0800
Subject: [PATCH] 最新版本
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java | 185 +++++++++++++++++++++++++++++++++-------------
1 files changed, 132 insertions(+), 53 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 cd3eed5..7c124a7 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
@@ -1,22 +1,18 @@
package com.doumee.service.business.impl;
-import cn.hutool.core.date.DateUnit;
-import cn.hutool.core.util.IdcardUtil;
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;
-import com.doumee.core.erp.model.openapi.request.VisitListRequest;
import com.doumee.core.erp.model.openapi.request.erp.ApproveAddRequest;
import com.doumee.core.erp.model.openapi.request.erp.UserInfoRequest;
-import com.doumee.core.erp.model.openapi.response.VisitEventListResponse;
import com.doumee.core.erp.model.openapi.response.erp.ApproveInfoResponse;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.haikang.model.HKConstants;
-import com.doumee.core.haikang.model.HKTools;
import com.doumee.core.haikang.model.param.BaseResponse;
-import com.doumee.core.haikang.model.param.request.VisitAppointmentCancelRequest;
import com.doumee.core.haikang.model.param.request.VisitAppointmentOutRequest;
import com.doumee.core.haikang.model.param.request.VisitAppointmentRequest;
import com.doumee.core.haikang.model.param.respose.VisitAppointmentResponse;
@@ -28,21 +24,24 @@
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
import com.doumee.core.wx.wxPlat.WxPlatNotice;
-import com.doumee.dao.admin.response.MemberInfoDTO;
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.VisitEventJoinMapper;
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.InternalHomeVO;
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;
@@ -50,16 +49,13 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
-import io.swagger.models.auth.In;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.DigestUtils;
-import java.time.temporal.ChronoUnit;
import java.util.*;
import java.util.stream.Collectors;
@@ -92,6 +88,8 @@
@Autowired
private SystemDictDataBiz systemDictDataBiz;
@Autowired
+ private SystemUserBiz systemUserBiz;
+ @Autowired
private DeviceJoinMapper deviceJoinMapper;
@Autowired
private ErpTool erpTool;
@@ -101,6 +99,14 @@
@Autowired
private InterfaceLogService interfaceLogService;
+ @Autowired
+ private DataSyncConfig dataSyncConfig;
+ @Autowired
+ private SmsEmailService smsEmailService;
+ @Autowired
+ private SystemUserMapper systemUserMapper;
+ @Autowired
+ private ApproveService approveService;
@Override
@@ -200,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);
@@ -232,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{
- visits.setStatus(Constants.VisitStatus.pass);
+ }else if(dataSyncConfig.getVisitorDataOrigin().equals(Constants.ZERO)){
+ visits.setStatus(Constants.VisitStatus.waitCheck);
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);
@@ -243,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();
+ }
+
+
+
/**
@@ -270,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);
@@ -305,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);
}
@@ -327,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){
@@ -348,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())
@@ -375,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())
@@ -413,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);
@@ -440,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);
@@ -459,7 +494,6 @@
.eq(ApproveParam::getMemberType,Constants.ZERO)
.last("limit 1"));
return Objects.isNull(approveParam)?null:approveParam.getId();
-
}
@@ -574,16 +608,29 @@
|| 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())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝淇℃伅濉啓涓嶆纭紒");
+ }else if(visits.getType().equals(Constants.ONE) && StringUtils.isBlank(visits.getConstructionReason())){
+
+ 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();
@@ -594,7 +641,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+"澶锛�");
@@ -781,17 +827,6 @@
model.setMemberId(visitsMember.getId());
}
}
-
-// if(CollectionUtils.isNotEmpty(addList)){
-// memberMapper.insertBatchSomeColumn(addList);
-// }
-// if(CollectionUtils.isNotEmpty(editList)){
-// editList.forEach(i->{
-// memberMapper.updateById(i);
-// });
-//
-// }
-
return m;
}
@@ -863,13 +898,20 @@
}
//鏍规嵁鎵嬫満鍙峰拰韬唤璇佸彿鐮佹煡璇� 褰撳墠棰勭害鐨勬椂闂存槸鍚︿笌鍏朵粬棰勭害璁板綍鏈夊啿绐�
if (visitsMapper.selectCount(new QueryWrapper<Visits>().lambda()
- .notIn(Visits::getStatus,Constants.VisitStatus.cancel,Constants.VisitStatus.noPass,Constants.VisitStatus.xfFail,Constants.VisitStatus.signout,Constants.VisitStatus.invalid)
+ .notIn(Visits::getStatus,Constants.VisitStatus.cancel
+ ,Constants.VisitStatus.noPass
+ ,Constants.VisitStatus.xfFail
+ ,Constants.VisitStatus.signout
+ ,Constants.VisitStatus.invalid)
.eq(Visits::getIdcardDecode, Constants.getTuominStr(cardno))
.and(ms -> ms.eq(Visits::getPhone, visits.getPhone())
.or().eq(Visits::getIdcardDecode, Constants.getTuominStr(cardno)))
.and(ms -> ms.apply(" visits.STARTTIME <= '" + DateUtil.DateToStr(visits.getStarttime(),"yyyy-MM-dd HH:mm:ss") + "' and visits.ENDTIME >= '" + DateUtil.DateToStr(visits.getStarttime(),"yyyy-MM-dd HH:mm:ss") + "' ")
.or().apply(" visits.STARTTIME <= '" + DateUtil.DateToStr(visits.getEndtime(),"yyyy-MM-dd HH:mm:ss") + "' and visits.ENDTIME >= '" + DateUtil.DateToStr(visits.getEndtime(),"yyyy-MM-dd HH:mm:ss") + "' ")
- )) > Constants.ZERO) {
+ .or().apply(" visits.STARTTIME >= '" + DateUtil.DateToStr(visits.getStarttime(),"yyyy-MM-dd HH:mm:ss") + "' and visits.STARTTIME <= '" + DateUtil.DateToStr(visits.getEndtime(),"yyyy-MM-dd HH:mm:ss") + "' ")
+ .or().apply(" visits.ENDTIME >= '" + DateUtil.DateToStr(visits.getStarttime(),"yyyy-MM-dd HH:mm:ss") + "' and visits.ENDTIME <= '" + DateUtil.DateToStr(visits.getEndtime(),"yyyy-MM-dd HH:mm:ss") + "' ")
+ )
+ ) > Constants.ZERO) {
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "瀵逛笉璧凤紝鎵嬫満鍙枫��"+member.getPhone()+"銆戞垨韬唤璇併��"+ member.getIdcardDecode() +"銆戝瓨鍦ㄩ绾︽椂闂村啿绐侊紝鏃犳硶鐢宠鍝︼紒");
}
return member;
@@ -945,7 +987,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(), "瀵逛笉璧凤紝璇峰厛鎸夎姹傝繘琛屽畨鍏ㄧ煡璇嗙瓟棰橈紒");
@@ -1088,7 +1130,7 @@
@Override
public PageData<Visits> findPage(PageWrap<Visits> pageWrap) {
- IPage<Visits> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+ IPage<Visits> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>();
queryWrapper.selectAll(Visits.class);
@@ -1099,13 +1141,17 @@
queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId);
queryWrapper.eq(Visits::getIsdeleted,Constants.ZERO);
+ queryWrapper.eq(pageWrap.getModel().getType()!=null,Visits::getType,pageWrap.getModel().getType());
queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getType()),Visits::getType,pageWrap.getModel().getType());
+ queryWrapper.eq(StringUtils.isNotBlank(pageWrap.getModel().getOpenid()),Visits::getOpenid,pageWrap.getModel().getOpenid());
+ queryWrapper.eq(StringUtils.isBlank(pageWrap.getModel().getOpenid()),"1","2");
queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getName()),ms->ms.like(Visits::getName,pageWrap.getModel().getName())
.or().like(Visits::getPhone,pageWrap.getModel().getName()))
.eq(StringUtils.isNotBlank(pageWrap.getModel().getIdcardNo()),Visits::getIdcardNo,DESUtil.encrypt(Constants.EDS_PWD, pageWrap.getModel().getIdcardNo()))
.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);
@@ -1171,7 +1217,7 @@
@Override
- public VisitDetailVO getVisitDetail(Integer id){
+ public VisitDetailVO getVisitDetail(Integer id,Integer memberId){
Visits visits = visitsMapper.selectById(id);
if(Objects.isNull(visits)){
throw new BusinessException(ResponseStatus.DATA_EMPTY);
@@ -1194,12 +1240,14 @@
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.setType(visits.getType());
+ visitDetailVO.setConstructionReason(visits.getConstructionReason());
+ 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)
@@ -1215,6 +1263,15 @@
visitsMapper.selectList(new QueryWrapper<Visits>().lambda()
.select(Visits::getName,Visits::getPhone,Visits::getQrcode,Visits::getFaceImg,Visits::getImgurl,Visits::getIdcardDecode,Visits::getStatus)
.eq(Visits::getParentId,id)));
+
+
+ if(Objects.nonNull(memberId)){
+ visitDetailVO.setApproveDateVO(
+ approveService.arrangeApprovedData(id,
+ visits.getType(),
+ memberId)
+ );
+ }
return visitDetailVO;
}
@@ -1297,4 +1354,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