rk
昨天 28dd6b113143fa4d60aabee1d99caac37d25da42
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));
            }
        }
    }