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