From 1fb6ce7f165e85cb9458d6e8d1b6bf7debc1e665 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期三, 03 十二月 2025 14:26:37 +0800
Subject: [PATCH] 功能开发
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetServiceImpl.java | 49 +++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 41 insertions(+), 8 deletions(-)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetServiceImpl.java
index 1292637..7cc8814 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetServiceImpl.java
@@ -6,9 +6,7 @@
import com.doumee.core.exception.BusinessException;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
-import com.doumee.dao.business.CategoryMapper;
-import com.doumee.dao.business.JkCabinetGridMapper;
-import com.doumee.dao.business.JkKeysMapper;
+import com.doumee.dao.business.*;
import com.doumee.dao.business.dao.MemberMapper;
import com.doumee.dao.business.model.*;
import com.doumee.dao.business.vo.*;
@@ -19,7 +17,6 @@
import com.doumee.service.business.third.model.PageData;
import com.doumee.service.business.third.model.PageWrap;
import com.doumee.core.utils.Utils;
-import com.doumee.dao.business.JkCabinetMapper;
import com.doumee.service.business.JkCabinetService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -67,6 +64,9 @@
@Autowired
private MultifileMapper multifileMapper;
+ @Autowired
+ private CarUseBookMapper carUseBookMapper;
+
@Override
@Transactional(rollbackFor = {Exception.class,BusinessException.class})
public Integer create(JkCabinet jkCabinet) {
@@ -81,6 +81,7 @@
|| CollectionUtils.isEmpty(jkCabinet.getManagerIdList())
|| CollectionUtils.isEmpty(jkCabinet.getAuthMemberIdList())
|| Objects.isNull(jkCabinet.getDoubleAuth())
+ || Objects.isNull(jkCabinet.getAlcoholStatus())
|| Objects.isNull(jkCabinet.getRowNum())
|| jkCabinet.getRowNum() <= Constants.ZERO
@@ -213,6 +214,7 @@
|| CollectionUtils.isEmpty(jkCabinet.getAuthMemberIdList())
|| Objects.isNull(jkCabinet.getPort())
|| Objects.isNull(jkCabinet.getDoubleAuth())
+ || Objects.isNull(jkCabinet.getAlcoholStatus())
){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
@@ -522,10 +524,11 @@
.isNotNull(JkKeys::getCarId)
.eq(JkCabinetGrid::getCabinetId,jkCabinet.getId())
);
+ List<Member> driverList = new ArrayList<>();
if(CollectionUtils.isNotEmpty(jkCabinetGridList)){
List<Integer> carIdList = jkCabinetGridList.stream().map(i->i.getKeyId()).collect(Collectors.toList());
//鏌ヨ杞﹁締鎵�鏈変汉鍛樹俊鎭�
- List<Member> memberList = memberMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>()
+ driverList.addAll(memberMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>()
.selectAll(Member.class)
.leftJoin(Cars.class,Cars::getMemberId,Member::getId)
.leftJoin(JkKeys.class,JkKeys::getCarId,Cars::getId)
@@ -533,10 +536,32 @@
.eq(CarDriver::getIsdeleted,Constants.ZERO)
.eq(CarDriver::getStatus,Constants.ZERO)
.isNotNull(Member::getFaceImg)
- .in(JkKeys::getId,carIdList)
+ .in(JkKeys::getId,carIdList))
);
- if(CollectionUtils.isNotEmpty(memberList)){
- Set<Member> memberSet = new HashSet<>(memberList);
+ }
+ //娲捐溅鍗曞徃鏈轰俊鎭�
+ String earlyConfig = systemDictDataBiz.queryByCode(Constants.CABINET_CONFIG,Constants.EARLY_CONFIG).getCode();
+ List<CarUseBook> carUseBookList = carUseBookMapper.selectList(new QueryWrapper<CarUseBook>().lambda()
+ .eq(CarUseBook::getIsdeleted,Constants.ZERO)
+ .isNotNull(CarUseBook::getDriverId)
+ .apply(" car_id in ( SELECT k.CAR_ID FROM jk_cabinet_grid j inner join jk_keys k on j.KEY_ID = k.ID where j.isdeleted = 0 and k.isdeleted = 0 ) ")
+ .apply(" (" +
+ "( NOW() > DATE_SUB(START_TIME, INTERVAL "+earlyConfig+" MINUTE) and now() < end_time and KEY_STATUS = 0 ) " +
+ "or" +
+ " KEY_STATUS = 1 " +
+ ") ")
+ );
+ if(CollectionUtils.isNotEmpty(carUseBookList)){
+ driverList.addAll(memberMapper.selectList(new QueryWrapper<Member>().lambda()
+ .eq(Member::getIsdeleted,Constants.ZERO)
+ .isNotNull(Member::getFaceImg)
+ .in(Member::getId,carUseBookList.stream().map(i->i.getDriverId()).collect(Collectors.toList()))
+ ));
+ }
+
+ if(CollectionUtils.isNotEmpty(driverList)){
+ if(CollectionUtils.isNotEmpty(driverList)){
+ Set<Member> memberSet = new HashSet<>(driverList);
for (Member member:memberSet) {
CabinetFaceInfoVO cabinetFaceInfoVO = new CabinetFaceInfoVO();
cabinetFaceInfoVO.setMemberId(member.getId());
@@ -659,4 +684,12 @@
}
+ @Override
+ public void updHeartbeat(String code){
+ jkCabinetMapper.update(null,new UpdateWrapper<JkCabinet>()
+ .lambda()
+ .set(JkCabinet::getHaertTime, DateUtil.getCurrDateTime())
+ .eq(JkCabinet::getCode,code));
+ }
+
}
--
Gitblit v1.9.3