From 48d06fac940e6f28d599eb7fbf05c2cce41ecb30 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期三, 29 十月 2025 10:35:57 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wuhuyancao' into wuhuyancao

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java |  116 +++++++++++++++++++++++++++++++---------------------------
 1 files changed, 62 insertions(+), 54 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java
index d8c35ca..72875bd 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java
@@ -132,11 +132,15 @@
             );
             return;
         }else if(Objects.nonNull(jkCabinetGrid.getChannelCode())||Objects.nonNull(jkCabinetGrid.getBoardCode())){
-            jkCabinetGridMapper.update(new UpdateWrapper<JkCabinetGrid>().lambda()
-                    .set(Objects.nonNull(jkCabinetGrid.getChannelCode()),JkCabinetGrid::getChannelCode,jkCabinetGrid.getChannelCode())
-                    .set(Objects.nonNull(jkCabinetGrid.getBoardCode()),JkCabinetGrid::getBoardCode,jkCabinetGrid.getBoardCode())
-                    .set(JkCabinetGrid::getEditDate, DateUtil.getCurrDateTime())
-                    .eq(JkCabinetGrid::getId,jkCabinetGrid.getId()));
+            try{
+                jkCabinetGridMapper.update(new UpdateWrapper<JkCabinetGrid>().lambda()
+                        .set(Objects.nonNull(jkCabinetGrid.getChannelCode()),JkCabinetGrid::getChannelCode,jkCabinetGrid.getChannelCode())
+                        .set(Objects.nonNull(jkCabinetGrid.getBoardCode()),JkCabinetGrid::getBoardCode,jkCabinetGrid.getBoardCode())
+                        .set(JkCabinetGrid::getEditDate, DateUtil.getCurrDateTime())
+                        .eq(JkCabinetGrid::getId,jkCabinetGrid.getId()));
+            }catch (Exception e){
+                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇风‘淇濋挜鍖欐煖閫氶亾鍙�/鏉垮彿鍞竴");
+            }
         }
     }
 
@@ -183,7 +187,10 @@
                 .eq(Objects.nonNull(model.getStatus()),JkCabinetGrid::getStatus,model.getStatus())
                 .isNull(Objects.nonNull(model.getBindStatus())&&Constants.equalsInteger(model.getBindStatus(),Constants.ZERO),JkCabinetGrid::getKeyId)
                 .isNotNull(Objects.nonNull(model.getBindStatus())&&Constants.equalsInteger(model.getBindStatus(),Constants.ONE),JkCabinetGrid::getKeyId)
-                .like(StringUtils.isNotBlank(model.getKeyCode()),JkKeys::getCode,model.getKeyCode());
+                .like(StringUtils.isNotBlank(model.getKeyCode()),JkKeys::getCode,model.getKeyCode())
+                .orderByAsc(JkCabinetGrid::getId)
+                ;
+
         IPage<JkCabinetGrid> iPage = jkCabinetGridMapper.selectJoinPage(page,JkCabinetGrid.class,wrapper);
         for (JkCabinetGrid jkCabinetGrid:iPage.getRecords()) {
             jkCabinetGrid.setBindStatus(Objects.isNull(jkCabinetGrid.getKeyId())?Constants.ZERO:Constants.ONE);
@@ -247,7 +254,7 @@
                 jkCabinetGridMapper.update(new UpdateWrapper<JkCabinetGrid>().lambda()
                         .set(JkCabinetGrid::getKeyId,null)
                         .set(JkCabinetGrid::getEditDate, DateUtil.getCurrDateTime())
-                        .eq(JkCabinetGrid::getId,jkCabinetGridList.stream().map(i->i.getId()).collect(Collectors.toList())));
+                        .in(JkCabinetGrid::getId,jkCabinetGridList.stream().map(i->i.getId()).collect(Collectors.toList())));
                 List<Integer> keyIdList = jkCabinetGridList.stream().filter(i->Objects.nonNull(i.getKeyId())).map(i->i.getKeyId()).collect(Collectors.toList());
                 if(CollectionUtils.isNotEmpty(keyIdList)){
                     jkKeysMapper.update(new UpdateWrapper<JkKeys>().lambda()
@@ -384,7 +391,9 @@
                     jkCabinetLog.setGridId(jkCabinetGrid.getId());
                     jkCabinetLog.setAuthType(Constants.TWO);
                     jkCabinetLog.setMemberId(loginUserInfo.getMemberId());
+                    jkCabinetLog.setStatus(Constants.ZERO);
                     if(Objects.nonNull(jkCabinetGrid.getKeyId())){
+                        jkCabinetLog.setKeyId(jkCabinetGrid.getKeyId());
                         JkKeys jkKeys = jkKeysMapper.selectById(jkCabinetGrid.getKeyId());
                         if(Objects.nonNull(jkKeys)){
                             if(!Constants.equalsInteger(jkKeys.getStatus(),Constants.ZERO)){
@@ -432,10 +441,11 @@
             jkCabinetLog.setAuthType(dto.getAuthType());
             jkCabinetLog.setMemberId(dto.getMemberId());
             jkCabinetLog.setKeyStatus(Constants.ZERO);
-            Boolean isChange = false;
+            jkCabinetLog.setStatus(Constants.ZERO);
             if(Objects.nonNull(jkCabinetGrid.getKeyId())){
                 //鍙湁閽ュ寵鏌滅粦瀹氫簡閽ュ寵淇℃伅 鎵嶄細鏇存柊閽ュ寵鐨勪俊鎭�
                 JkKeys jkKeys = jkKeysMapper.selectById(jkCabinetGrid.getKeyId());
+                jkCabinetLog.setKeyId(jkCabinetGrid.getKeyId());
                 if(Objects.nonNull(jkKeys)){
                     if(!Constants.equalsInteger(jkKeys.getStatus(),Constants.ZERO)){
                         jkCabinetLog.setCarId(jkKeys.getCarId());
@@ -445,27 +455,23 @@
                     jkCabinetLog.setKeyStatus(dto.getKeyStatus());
                     //閽ュ寵鐘舵�佷笌褰撳墠鎿嶄綔鐘舵�佷笉涓�鑷达紝鍒欒繘琛屾洿鏂伴挜鍖欑姸鎬�
                     if(!Constants.equalsInteger(jkKeys.getStatus(),dto.getKeyStatus())
-                    && (Constants.equalsInteger(dto.getKeyStatus(),Constants.ONE)||Constants.equalsInteger(dto.getKeyStatus(),Constants.TWO))){
+                     && (Constants.equalsInteger(dto.getKeyStatus(),Constants.ONE)||Constants.equalsInteger(dto.getKeyStatus(),Constants.TWO))){
                         jkKeysMapper.update(null,new UpdateWrapper<JkKeys>().lambda()
                                 .set(JkKeys::getEditDate,DateUtil.getCurrDateTime())
                                 .set(JkKeys::getStatus,dto.getKeyStatus())
                                 .eq(JkKeys::getId,jkKeys.getId())
                         );
-                        isChange = true;
                     }
                 }
             }
             jkCabinetLog.setType(Constants.ONE);
             jkCabinetLogMapper.insert(jkCabinetLog);
-            //鏌ヨ閽ュ寵瀵瑰簲鐨勫�熷嚭浜嗛挜鍖欑殑寮�闂ㄨ褰� 杩涜娣诲姞鍏抽棬璁板綍涓婚敭
-            if(isChange && Constants.equalsInteger(dto.getKeyStatus(),Constants.ONE)){
-                jkCabinetLogMapper.update(null,new UpdateWrapper<JkCabinetLog>().lambda()
-                        .set(JkCabinetLog::getCloseLogId,jkCabinetLog.getId())
-                        .eq(JkCabinetLog::getKeyId,jkCabinetLog.getKeyId())
-                        .eq(JkCabinetLog::getType,Constants.ZERO)
-                        .eq(JkCabinetLog::getKeyStatus,Constants.TWO)
-                        .isNotNull(JkCabinetLog::getCloseLogId));
-            }
+            //鏌ヨ閽ュ寵鐨勫紑闂ㄨ褰� 杩涜娣诲姞鍏抽棬璁板綍涓婚敭
+            jkCabinetLogMapper.update(null,new UpdateWrapper<JkCabinetLog>().lambda()
+                    .set(JkCabinetLog::getCloseLogId,jkCabinetLog.getId())
+                    .eq(JkCabinetLog::getKeyId,jkCabinetLog.getKeyId())
+                    .eq(JkCabinetLog::getType,Constants.ZERO)
+                    .isNull(JkCabinetLog::getCloseLogId));
         }
     }
 
@@ -495,7 +501,7 @@
                 List<String> authMemberList =  Arrays.asList(jkCabinet.getAuthMemberId().split(","));
                 Boolean flag = true;
                 for (String id:authMemberList) {
-                    if(id.equals(jkCabinet.getAuthMemberId())){
+                    if(Arrays.asList(jkCabinet.getAuthMemberId().split(",")).contains(id)){
                         flag = false;
                         break;
                     }
@@ -513,6 +519,7 @@
                             .leftJoin(JkKeys.class,JkKeys::getId,JkCabinetGrid::getKeyId)
                             .eq(JkCabinetGrid::getIsdeleted,Constants.ZERO)
                             .eq(JkCabinetGrid::getWorkingStatus,Constants.ZERO)
+                            .eq(JkCabinetGrid::getStatus,Constants.ZERO)
                             .eq(JkCabinetGrid::getCabinetId,dto.getCabinetId())
                             .in(Constants.equalsInteger(dto.getType(),Constants.ONE),JkKeys::getStatus,Constants.TWO,Constants.THREE)
                             .in(Constants.equalsInteger(dto.getType(),Constants.ZERO),JkKeys::getStatus,Constants.ONE)
@@ -523,7 +530,7 @@
             for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) {
                 jkCabinetGrid.setBindStatus(Objects.isNull(jkCabinetGrid.getKeyId())?Constants.ZERO:Constants.ONE);
                 jkCabinetGrid.setKeyStatus(Objects.isNull(jkCabinetGrid.getKeyStatus())?Constants.ZERO:jkCabinetGrid.getKeyStatus());
-            }
+             }
 
         }
         return jkCabinetGridList;
@@ -554,7 +561,9 @@
         jkCabinetLog.setAuthType(openGridDriverDTO.getAuthType());
         jkCabinetLog.setMemberId(openGridDriverDTO.getMemberId());
         jkCabinetLog.setType(Constants.ZERO);
+        jkCabinetLog.setStatus(Constants.ZERO);
         if(Objects.nonNull(jkCabinetGrid.getKeyId())){
+            jkCabinetLog.setKeyId(jkCabinetGrid.getKeyId());
             JkKeys jkKeys = jkKeysMapper.selectById(jkCabinetGrid.getKeyId());
             if(Objects.nonNull(jkKeys)){
                 if(!Constants.equalsInteger(jkKeys.getStatus(),Constants.ZERO)){
@@ -582,23 +591,23 @@
                             .last(" limit 1 ")
             );
 
-//            if(Objects.nonNull(jkCabinetGrid)){
-//                log.error("鏌滄牸寮�闂ㄨ秴鏃舵湭鍏抽棴鍛婅淇℃伅锛歿}"+JSONObject.toJSONString(jkCabinetGrid));
-//                Warning warning = warningMapper.selectOne(new QueryWrapper<Warning>().lambda()
-//                        .eq(Warning::getType,Constants.THREE).eq(Warning::getCode,Constants.WarningConfig.GRID_TIME_OUT_INFO.getKey()).eq(Warning::getIsdeleted,Constants.ZERO).last("limt 1"));
-//                if(Objects.isNull(warning)){
-//                    return;
-//                }
-//                List<Member> memberList = this.getWarningList(warning);
-//                if(CollectionUtils.isEmpty(memberList)){
-//                    return;
-//                }
-//                //瀛樺偍寮傚父鏃ュ織
-//
-//
-//            }else{
-//
-//            }
+            if(Objects.nonNull(jkCabinetGrid)){
+                log.error("鏌滄牸寮�闂ㄨ秴鏃舵湭鍏抽棴鍛婅淇℃伅锛歿}"+JSONObject.toJSONString(jkCabinetGrid));
+                Warning warning = warningMapper.selectOne(new QueryWrapper<Warning>().lambda()
+                        .eq(Warning::getType,Constants.THREE).eq(Warning::getCode,Constants.WarningConfig.GRID_TIME_OUT_INFO.getKey()).eq(Warning::getIsdeleted,Constants.ZERO).last("limt 1"));
+                if(Objects.isNull(warning)){
+                    return;
+                }
+                List<Member> memberList = this.getWarningList(warning);
+                if(CollectionUtils.isEmpty(memberList)){
+                    return;
+                }
+                //todo 瀛樺偍寮傚父鏃ュ織
+
+
+            }else{
+
+            }
         }
     }
 
@@ -640,9 +649,6 @@
     public void alcoholTestAlarm(AlcoholTestAlarmDTO dto){
         if(Objects.nonNull(dto)
                 && Objects.nonNull(dto.getMemberId())){
-
-
-
             SystemUser systemUser =
                     systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda()
                             .eq(SystemUser::getMemberId,dto.getMemberId())
@@ -650,19 +656,21 @@
                             .last(" limit 1 ")
                     );
 
-//            Warning warning = warningMapper.selectOne(new QueryWrapper<Warning>().lambda()
-//                    .eq(Warning::getType,Constants.THREE).eq(Warning::getCode,Constants.WarningConfig.GRID_TIME_OUT_INFO.getKey()).eq(Warning::getIsdeleted,Constants.ZERO).last("limt 1"));
-//            if(Objects.isNull(warning)){
-//                return;
-//            }
-//            List<Member> memberList = this.getWarningList(warning);
-//
-//
-//
-//            //瀛樺偍寮傚父鏃ュ織
-//            if(Objects.nonNull(systemUser)){
-//                log.error("鍙告満閰掔簿妫�娴嬶紝瓒呭嚭閰掔簿鍊煎憡璀︿俊鎭細{}"+JSONObject.toJSONString(systemUser));
-//            }
+            Warning warning = warningMapper.selectOne(new QueryWrapper<Warning>().lambda()
+                    .eq(Warning::getType,Constants.THREE).eq(Warning::getCode,Constants.WarningConfig.KEY_TIME_OUT_BACK.getKey()).eq(Warning::getIsdeleted,Constants.ZERO).last("limt 1"));
+            if(Objects.isNull(warning)){
+                return;
+            }
+            List<Member> memberList = this.getWarningList(warning);
+            if(CollectionUtils.isEmpty(memberList)){
+                return;
+            }
+            //todo 瀛樺偍寮傚父鏃ュ織
+
+            //瀛樺偍寮傚父鏃ュ織
+            if(Objects.nonNull(systemUser)){
+                log.error("鍙告満閰掔簿妫�娴嬶紝瓒呭嚭閰掔簿鍊煎憡璀︿俊鎭細{}"+JSONObject.toJSONString(systemUser));
+            }
         }
     }
 

--
Gitblit v1.9.3