From 7d1abc56db2b67657070016c19640f815f627994 Mon Sep 17 00:00:00 2001
From: lishuai <260038442@qq.com>
Date: 星期四, 14 十二月 2023 17:48:47 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java | 223 ++++++++++++++++---------------------------------------
1 files changed, 66 insertions(+), 157 deletions(-)
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
index d41ae86..cd6e234 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -15,20 +15,22 @@
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.dao.admin.response.MemberInfoDTO;
import com.doumee.dao.business.DeviceRoleMapper;
import com.doumee.dao.business.MemberMapper;
import com.doumee.dao.business.ProblemLogMapper;
import com.doumee.dao.business.VisitsMapper;
-import com.doumee.dao.business.model.DeviceRole;
-import com.doumee.dao.business.model.Member;
-import com.doumee.dao.business.model.ProblemLog;
-import com.doumee.dao.business.model.Visits;
+import com.doumee.dao.business.join.DeviceJoinMapper;
+import com.doumee.dao.business.join.VisitsJoinMapper;
+import com.doumee.dao.business.model.*;
import com.doumee.service.business.VisitsService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -36,10 +38,7 @@
import org.springframework.util.CollectionUtils;
import org.springframework.util.DigestUtils;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
/**
* 璁垮鐢宠淇℃伅琛⊿ervice瀹炵幇
@@ -57,9 +56,15 @@
private ProblemLogMapper problemLogMapper ;
@Autowired
private MemberMapper memberMapper ;
+ @Autowired
+ private VisitsJoinMapper visitsJoinMapper;
@Autowired
private SystemDictDataBiz systemDictDataBiz;
+ @Autowired
+ private DeviceJoinMapper deviceJoinMapper;
+
+
@Override
public Integer create(Visits visits) {
visitsMapper.insert(visits);
@@ -81,14 +86,11 @@
String[] hkIds = getHkDeviceRoles(visits);
//妫�楠屾嫓璁夸汉鏄惁鍚堟硶
isValideVisitedUser(visits.getReceptMemberId());
- //妫�鏌ラ殢璁夸汉鍛樻槸鍚﹀悎娉�,鐢熸垚闅忚浜哄憳鏂板闆嗗悎
- List<Member> withUsers = isValideWithUsers(visits.getWithUserList());
-
if(Constants.equalsInteger(Constants.ZERO, visits.getIdcardType()) &&!IdcardUtil.isValidCard(visits.getIdcardNo())){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝韬唤璇佸彿鐮佹湁璇紝璇锋牳瀹炲悗閲嶈瘯锛�");
}
Date date = new Date();
- //璁垮淇℃伅(浣跨敤韬唤璇佸彿鏌ヨ鏄惁宸插瓨鍦ㄦ敼鏅�氳瀹紝娌℃湁鍒欐柊澧烇紝瀛樺湪鍒欐洿鏂皁penid绛変俊鎭�)
+ //璁垮淇℃伅(浣跨敤韬唤璇佸彿鏌ヨ鏄惁宸插瓨鍦ㄦ敼鏅�氳瀹紝娌℃湁鍒欐柊澧烇紝瀛樺湪鍒欐洿鏂皁penid绛変俊鎭�),鍖呮嫭闅忚浜哄憳鏍¢獙鍜屽鐞�
Member member =dealMemberAndVisits(visits);
//鍒濆鍖栬瀹俊鎭�
initVisitInfo(visits,date);
@@ -199,8 +201,8 @@
private String visitAppiontment(Visits visits) {
VisitAppointmentRequest param = new VisitAppointmentRequest();
- param.setVisitStartTime(HKTools.getISO8601Timestamp(visits.getStarttime()));
- param.setVisitEndTime(HKTools.getISO8601Timestamp(visits.getStarttime()));
+ param.setVisitStartTime(DateUtil.getISO8601Timestamp(visits.getStarttime()));
+ param.setVisitEndTime(DateUtil.getISO8601Timestamp(visits.getStarttime()));
BaseResponse<VisitAppointmentResponse> res = HKService.visitAppiontment(param);
if(res==null || !StringUtils.equals(res.getCode(), HKConstants.RESPONSE_SUCCEE) || res.getData()==null){
//濡傛灉鍙戣捣棰勭害澶辫触
@@ -215,7 +217,7 @@
}
/**
- * 鏍¢鐢宠珛浜轰俊鎭紝鏈夊垯淇敼锛屾棤鍒欐柊澧烇紝骞剁粦瀹氭渶鏂皁penid鏁版嵁
+ * 璁垮淇℃伅(浣跨敤韬唤璇佸彿鏌ヨ鏄惁宸插瓨鍦ㄦ敼鏅�氳瀹紝娌℃湁鍒欐柊澧烇紝瀛樺湪鍒欐洿鏂皁penid绛変俊鎭�),鍖呮嫭闅忚浜哄憳鏍¢獙鍜屽鐞�
* @param visits
* @return
*/
@@ -447,7 +449,36 @@
@Override
public Visits findById(Integer id) {
- return visitsMapper.selectById(id);
+
+ MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>();
+ queryWrapper.selectAll(Visits.class);
+ queryWrapper.selectAs(Member::getName,Visits::getReceptMemberName);
+ queryWrapper.selectAs(Company::getName,Visits::getReceptMemberDepartment);
+ queryWrapper.leftJoin(Member.class,Member::getId,Visits::getReceptMemberId);
+ queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId);
+
+ queryWrapper.eq(Visits::getId,id);
+ Visits result = visitsJoinMapper.selectJoinOne(Visits.class,queryWrapper);
+
+ if(result!=null){
+ if(StringUtils.isNotBlank(result.getDoors())){
+ String[] doorList=result.getDoors().split(",");
+ MPJLambdaWrapper<Device> deviceQuery = new MPJLambdaWrapper<>();
+ deviceQuery.in(Device::getId,doorList);
+ List<Device> deviceList= deviceJoinMapper.selectList(deviceQuery);
+ result.setDeviceList(deviceList);
+ }
+ }
+
+ MPJLambdaWrapper<Visits> visitQuery = new MPJLambdaWrapper<>();
+ visitQuery.selectAll(Visits.class);
+ visitQuery.eq(Visits::getParentId,result.getId());
+ visitQuery.isNotNull(Visits::getParentId);
+ visitQuery.eq(Visits::getIsdeleted,Constants.ZERO);
+ List<Visits> visitsList = visitsJoinMapper.selectList(visitQuery);
+ visitsList.add(0,result);
+ result.setVisitsList(visitsList);
+ return result;
}
@Override
@@ -465,147 +496,25 @@
@Override
public PageData<Visits> findPage(PageWrap<Visits> pageWrap) {
IPage<Visits> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
- QueryWrapper<Visits> queryWrapper = new QueryWrapper<>();
- Utils.MP.blankToNull(pageWrap.getModel());
- if (pageWrap.getModel().getId() != null) {
- queryWrapper.lambda().eq(Visits::getId, pageWrap.getModel().getId());
- }
- if (pageWrap.getModel().getCreator() != null) {
- queryWrapper.lambda().eq(Visits::getCreator, pageWrap.getModel().getCreator());
- }
- if (pageWrap.getModel().getCreateDate() != null) {
- queryWrapper.lambda().ge(Visits::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
- queryWrapper.lambda().le(Visits::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
- }
- if (pageWrap.getModel().getEditor() != null) {
- queryWrapper.lambda().eq(Visits::getEditor, pageWrap.getModel().getEditor());
- }
- if (pageWrap.getModel().getEditDate() != null) {
- queryWrapper.lambda().ge(Visits::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
- queryWrapper.lambda().le(Visits::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
- }
- if (pageWrap.getModel().getIsdeleted() != null) {
- queryWrapper.lambda().eq(Visits::getIsdeleted, pageWrap.getModel().getIsdeleted());
- }
- if (pageWrap.getModel().getRemark() != null) {
- queryWrapper.lambda().eq(Visits::getRemark, pageWrap.getModel().getRemark());
- }
- if (pageWrap.getModel().getMemberId() != null) {
- queryWrapper.lambda().eq(Visits::getMemberId, pageWrap.getModel().getMemberId());
- }
- if (pageWrap.getModel().getCompanyId() != null) {
- queryWrapper.lambda().eq(Visits::getCompanyId, pageWrap.getModel().getCompanyId());
- }
- if (pageWrap.getModel().getFaceImg() != null) {
- queryWrapper.lambda().eq(Visits::getFaceImg, pageWrap.getModel().getFaceImg());
- }
- if (pageWrap.getModel().getImgurl() != null) {
- queryWrapper.lambda().eq(Visits::getImgurl, pageWrap.getModel().getImgurl());
- }
- if (pageWrap.getModel().getType() != null) {
- queryWrapper.lambda().eq(Visits::getType, pageWrap.getModel().getType());
- }
- if (pageWrap.getModel().getName() != null) {
- queryWrapper.lambda().eq(Visits::getName, pageWrap.getModel().getName());
- }
- if (pageWrap.getModel().getBirthday() != null) {
- queryWrapper.lambda().ge(Visits::getBirthday, Utils.Date.getStart(pageWrap.getModel().getBirthday()));
- queryWrapper.lambda().le(Visits::getBirthday, Utils.Date.getEnd(pageWrap.getModel().getBirthday()));
- }
- if (pageWrap.getModel().getPhone() != null) {
- queryWrapper.lambda().eq(Visits::getPhone, pageWrap.getModel().getPhone());
- }
- if (pageWrap.getModel().getCompanyName() != null) {
- queryWrapper.lambda().eq(Visits::getCompanyName, pageWrap.getModel().getCompanyName());
- }
- if (pageWrap.getModel().getIdcardNo() != null) {
- queryWrapper.lambda().eq(Visits::getIdcardNo, pageWrap.getModel().getIdcardNo());
- }
- if (pageWrap.getModel().getCode() != null) {
- queryWrapper.lambda().eq(Visits::getCode, pageWrap.getModel().getCode());
- }
- if (pageWrap.getModel().getClasses() != null) {
- queryWrapper.lambda().eq(Visits::getClasses, pageWrap.getModel().getClasses());
- }
- if (pageWrap.getModel().getMemberNum() != null) {
- queryWrapper.lambda().eq(Visits::getMemberNum, pageWrap.getModel().getMemberNum());
- }
- if (pageWrap.getModel().getStarttime() != null) {
- queryWrapper.lambda().ge(Visits::getStarttime, Utils.Date.getStart(pageWrap.getModel().getStarttime()));
- queryWrapper.lambda().le(Visits::getStarttime, Utils.Date.getEnd(pageWrap.getModel().getStarttime()));
- }
- if (pageWrap.getModel().getEndtime() != null) {
- queryWrapper.lambda().ge(Visits::getEndtime, Utils.Date.getStart(pageWrap.getModel().getEndtime()));
- queryWrapper.lambda().le(Visits::getEndtime, Utils.Date.getEnd(pageWrap.getModel().getEndtime()));
- }
- if (pageWrap.getModel().getReason() != null) {
- queryWrapper.lambda().eq(Visits::getReason, pageWrap.getModel().getReason());
- }
- if (pageWrap.getModel().getDoorSelect() != null) {
- queryWrapper.lambda().eq(Visits::getDoorSelect, pageWrap.getModel().getDoorSelect());
- }
- if (pageWrap.getModel().getDoors() != null) {
- queryWrapper.lambda().eq(Visits::getDoors, pageWrap.getModel().getDoors());
- }
- if (pageWrap.getModel().getReceptMemberId() != null) {
- queryWrapper.lambda().eq(Visits::getReceptMemberId, pageWrap.getModel().getReceptMemberId());
- }
- if (pageWrap.getModel().getStatus() != null) {
- queryWrapper.lambda().eq(Visits::getStatus, pageWrap.getModel().getStatus());
- }
- if (pageWrap.getModel().getCheckorId() != null) {
- queryWrapper.lambda().eq(Visits::getCheckorId, pageWrap.getModel().getCheckorId());
- }
- if (pageWrap.getModel().getCheckDate() != null) {
- queryWrapper.lambda().ge(Visits::getCheckDate, Utils.Date.getStart(pageWrap.getModel().getCheckDate()));
- queryWrapper.lambda().le(Visits::getCheckDate, Utils.Date.getEnd(pageWrap.getModel().getCheckDate()));
- }
- if (pageWrap.getModel().getCheckInfo() != null) {
- queryWrapper.lambda().eq(Visits::getCheckInfo, pageWrap.getModel().getCheckInfo());
- }
- if (pageWrap.getModel().getEndCheckorId() != null) {
- queryWrapper.lambda().eq(Visits::getEndCheckorId, pageWrap.getModel().getEndCheckorId());
- }
- if (pageWrap.getModel().getEndCheckDate() != null) {
- queryWrapper.lambda().ge(Visits::getEndCheckDate, Utils.Date.getStart(pageWrap.getModel().getEndCheckDate()));
- queryWrapper.lambda().le(Visits::getEndCheckDate, Utils.Date.getEnd(pageWrap.getModel().getEndCheckDate()));
- }
- if (pageWrap.getModel().getEndCheckInfo() != null) {
- queryWrapper.lambda().eq(Visits::getEndCheckInfo, pageWrap.getModel().getEndCheckInfo());
- }
- if (pageWrap.getModel().getIdcardType() != null) {
- queryWrapper.lambda().eq(Visits::getIdcardType, pageWrap.getModel().getIdcardType());
- }
- if (pageWrap.getModel().getCarNos() != null) {
- queryWrapper.lambda().eq(Visits::getCarNos, pageWrap.getModel().getCarNos());
- }
- if (pageWrap.getModel().getParentId() != null) {
- queryWrapper.lambda().eq(Visits::getParentId, pageWrap.getModel().getParentId());
- }
- if (pageWrap.getModel().getUserAnswerId() != null) {
- queryWrapper.lambda().eq(Visits::getUserAnswerId, pageWrap.getModel().getUserAnswerId());
- }
- if (pageWrap.getModel().getHkId() != null) {
- queryWrapper.lambda().eq(Visits::getHkId, pageWrap.getModel().getHkId());
- }
- if (pageWrap.getModel().getHkStatus() != null) {
- queryWrapper.lambda().eq(Visits::getHkStatus, pageWrap.getModel().getHkStatus());
- }
- if (pageWrap.getModel().getHkDate() != null) {
- queryWrapper.lambda().ge(Visits::getHkDate, Utils.Date.getStart(pageWrap.getModel().getHkDate()));
- queryWrapper.lambda().le(Visits::getHkDate, Utils.Date.getEnd(pageWrap.getModel().getHkDate()));
- }
- if (pageWrap.getModel().getErpId() != null) {
- queryWrapper.lambda().eq(Visits::getErpId, pageWrap.getModel().getErpId());
- }
- for(PageWrap.SortData sortData: pageWrap.getSorts()) {
- if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
- queryWrapper.orderByDesc(sortData.getProperty());
- } else {
- queryWrapper.orderByAsc(sortData.getProperty());
- }
- }
- return PageData.from(visitsMapper.selectPage(page, queryWrapper));
+ MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>();
+
+ queryWrapper.selectAll(Visits.class);
+ queryWrapper.selectAs(Member::getName,Visits::getReceptMemberName);
+ queryWrapper.selectAs(Company::getName,Visits::getReceptMemberDepartment);
+ queryWrapper.leftJoin(Member.class,Member::getId,Visits::getReceptMemberId);
+ queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId);
+
+ queryWrapper.eq(Visits::getIsdeleted,Constants.ZERO);
+ queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getType()),Visits::getType,pageWrap.getModel().getType());
+ queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getName()),ms->ms.like(Visits::getPhone,pageWrap.getModel().getName())
+ .or().like(Visits::getPhone,pageWrap.getModel().getName()))
+ .eq(StringUtils.isNotBlank(pageWrap.getModel().getIdcardNo()),Visits::getIdcardNo,StringUtils.isNotBlank(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.orderByDesc(Visits::getCreateDate);
+ IPage<Visits> result = visitsJoinMapper.selectJoinPage(page, Visits.class,queryWrapper);
+ return PageData.from(result);
}
@Override
--
Gitblit v1.9.3