From 39fc2d6754953e41a7334a2166347baacfcfb40a Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期六, 11 十月 2025 18:21:18 +0800 Subject: [PATCH] 对接口 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetServiceImpl.java | 90 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 89 insertions(+), 1 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 6f1c80b..161d43f 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 @@ -1,5 +1,6 @@ package com.doumee.service.business.impl; +import cn.hutool.core.bean.BeanUtil; import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; @@ -9,7 +10,10 @@ import com.doumee.dao.business.JkKeysMapper; import com.doumee.dao.business.model.JkCabinetGrid; import com.doumee.dao.business.model.JkKeys; +import com.doumee.dao.business.vo.AdminCabinetVO; import com.doumee.dao.business.vo.CabinetConfigDataVO; +import com.doumee.dao.business.vo.CabinetDetailVO; +import com.doumee.dao.business.vo.CabinetGridInfoVO; import com.doumee.dao.system.model.SystemDictData; import com.doumee.service.business.third.model.LoginUserInfo; import com.doumee.service.business.third.model.PageData; @@ -22,11 +26,14 @@ 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 lombok.extern.java.Log; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.CollectionUtils; +import com.github.xiaoymin.knife4j.core.util.CollectionUtils; import java.math.BigDecimal; import java.util.*; @@ -340,8 +347,89 @@ systemDictData.setCode(cabinetConfigDataVO.getThreshold()); systemDictDataBiz.updateByIdNew(systemDictData); } + } + + + @Override + public List<AdminCabinetVO> getAdminCabinetInfo(LoginUserInfo loginUserInfo){ + List<AdminCabinetVO> adminCabinetVOList = new ArrayList<>(); + List<JkCabinet> jkCabinetList = jkCabinetMapper.selectList(new QueryWrapper<JkCabinet>() + .lambda() + .eq(JkCabinet::getIsdeleted,Constants.ZERO) + .apply(" FIND_IN_SET("+loginUserInfo.getId()+",MANAGER_ID) ") + .orderByAsc(JkCabinet::getCreateDate) + ); + if(CollectionUtils.isNotEmpty(jkCabinetList)){ + for (JkCabinet jkCabinet:jkCabinetList) { + AdminCabinetVO adminCabinetVO = new AdminCabinetVO(); + BeanUtil.copyProperties(jkCabinet,adminCabinetVO); + adminCabinetVOList.add(adminCabinetVO); + } + } + return adminCabinetVOList; + } + + + @Override + public CabinetDetailVO getCabinetDetail(Integer cabinetId){ + CabinetDetailVO cabinetDetailVO = new CabinetDetailVO(); + JkCabinet cabinet = jkCabinetMapper.selectOne(new QueryWrapper<JkCabinet>() + .lambda() + .eq(JkCabinet::getIsdeleted,Constants.ZERO) + .eq(JkCabinet::getId,cabinetId) + .last(" limit 1") + ); + if(Objects.isNull(cabinet)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝鏈煡璇㈠埌閽ュ寵鏌滀俊鎭�"); + } + BeanUtil.copyProperties(cabinet,cabinetDetailVO); + cabinetDetailVO.setGridNum(Constants.ZERO); + cabinetDetailVO.setErrGridNum(Constants.ZERO); + cabinetDetailVO.setOnlineKeyNum(Constants.ZERO); + cabinetDetailVO.setServiceKeyNum(Constants.ZERO); + cabinetDetailVO.setOutKeyNum(Constants.ZERO); + cabinetDetailVO.setUnBindGridNum(Constants.ZERO); + + //鎵�鏈夋煖鏍间俊鎭� + List<JkCabinetGrid> jkCabinetGridList = + jkCabinetGridMapper.selectJoinList(JkCabinetGrid.class, new MPJLambdaWrapper<JkCabinetGrid>() + .selectAll(JkCabinetGrid.class) + .selectAs(JkKeys::getCarCode,JkCabinetGrid::getCarCode) + .selectAs(JkKeys::getStatus,JkCabinetGrid::getKeyStatus) + .leftJoin(JkKeys.class,JkKeys::getId,JkCabinetGrid::getKeyId) + .eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) + .eq(JkCabinetGrid::getCabinetId,cabinet.getId()) + .orderByDesc(JkCabinetGrid::getCode) + ); + + List<CabinetGridInfoVO> cabinetGridInfoVOList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(jkCabinetGridList)){ + cabinetDetailVO.setGridNum(jkCabinetGridList.size()); + for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) { + CabinetGridInfoVO cabinetGridInfoVO = new CabinetGridInfoVO(); + BeanUtil.copyProperties(jkCabinetGrid,cabinetGridInfoVO); + cabinetGridInfoVO.setBindStatus(Objects.isNull(jkCabinetGrid.getKeyId())?Constants.ZERO:Constants.ONE); + cabinetGridInfoVOList.add(cabinetGridInfoVO); + } + cabinetDetailVO.setErrGridNum( + cabinetGridInfoVOList.stream().filter(i->Constants.equalsInteger(i.getWorkingStatus(),Constants.ONE)).collect(Collectors.toList()).size() + ); + cabinetDetailVO.setOnlineKeyNum( + cabinetGridInfoVOList.stream().filter(i->Constants.equalsInteger(i.getKeyStatus(),Constants.ONE)).collect(Collectors.toList()).size() + ); + cabinetDetailVO.setOutKeyNum( + cabinetGridInfoVOList.stream().filter(i->Constants.equalsInteger(i.getKeyStatus(),Constants.TWO)).collect(Collectors.toList()).size() + ); + cabinetDetailVO.setServiceKeyNum( + cabinetGridInfoVOList.stream().filter(i->Constants.equalsInteger(i.getKeyStatus(),Constants.THREE)).collect(Collectors.toList()).size() + ); + cabinetDetailVO.setUnBindGridNum( + cabinetGridInfoVOList.stream().filter(i->Constants.equalsInteger(i.getBindStatus(),Constants.ZERO)).collect(Collectors.toList()).size() + ); + } + return cabinetDetailVO; } -- Gitblit v1.9.3