server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/JkKeysCloudController.java
@@ -5,6 +5,7 @@ import com.doumee.core.annotation.excel.ExcelExporter; import com.doumee.core.annotation.pr.PreventRepeat; import com.doumee.core.utils.Constants; import com.doumee.dao.business.model.JkCabinet; import com.doumee.dao.business.model.JkKeys; import com.doumee.service.business.JkKeysService; import com.doumee.service.business.third.model.ApiResponse; @@ -77,6 +78,14 @@ return ApiResponse.success(jkKeysService.findPage(pageWrap)); } @ApiOperation("å表æ¥è¯¢") @PostMapping("/list") @CloudRequiredPermission("business:jkkeys:query") public ApiResponse<List<JkKeys>> findList (@RequestBody JkKeys jkKeys, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { return ApiResponse.success(jkKeysService.findList(jkKeys)); } @ApiOperation("导åºExcel") @PostMapping("/exportExcel") @CloudRequiredPermission("business:jkkeys:exportExcel") server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/dto/CloseGridDTO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,31 @@ package com.doumee.dao.business.dto; import com.doumee.service.business.third.model.LoginUserModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * Created by IntelliJ IDEA. * * @Author : Rk * @create 2025/10/11 16:01 */ @Data public class CloseGridDTO{ @ApiModelProperty(value = "é¥åæä¸»é®") private Integer cabinetId; @ApiModelProperty(value = "éªè¯æ¹å¼ 0å·è¸ 1å·å¡ 2管çåæä½") private Integer authType; @ApiModelProperty(value = "ææ ¼ä¸»é®") private Integer gridId; @ApiModelProperty(value = "ç¨æ·ä¸»é®") private Integer memberId; @ApiModelProperty(value = "é¥åç¶æï¼1å¨ä½ 2ååº") private Integer keyStatus; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/dto/GetDriverGridDTO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,24 @@ package com.doumee.dao.business.dto; import com.doumee.service.business.third.model.LoginUserModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * Created by IntelliJ IDEA. * * @Author : Rk * @create 2025/10/11 16:01 */ @Data public class GetDriverGridDTO{ @ApiModelProperty(value = "é¥åæä¸»é®") private Integer cabinetId; @ApiModelProperty(value = "0=å 1=è¿") private Integer type; @ApiModelProperty(value = "ç¨æ·ä¸»é®") private Integer memberId; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/dto/OpenGridDriverDTO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,25 @@ package com.doumee.dao.business.dto; import com.doumee.service.business.third.model.LoginUserModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * Created by IntelliJ IDEA. * * @Author : Rk * @create 2025/10/11 16:01 */ @Data public class OpenGridDriverDTO extends LoginUserModel { @ApiModelProperty(value = "é¥åæä¸»é®") private Integer cabinetId; @ApiModelProperty(value = "éªè¯æ¹å¼ 0å·è¸ 1å·å¡") private Integer authType; @ApiModelProperty(value = "ææ ¼ä¸»é®") private Integer gridId; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/dto/OptGridDTO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,24 @@ package com.doumee.dao.business.dto; import com.doumee.service.business.third.model.LoginUserModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; /** * Created by IntelliJ IDEA. * * @Author : Rk * @create 2025/10/11 16:01 */ @Data public class OptGridDTO extends LoginUserModel { @ApiModelProperty(value = "é¥åæä¸»é®") private Integer cabinetId; @ApiModelProperty(value = "ææ ¼ä¸»é®å表") private List<Integer> gridIdList; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkCabinetGrid.java
@@ -86,8 +86,6 @@ private String channelCode; @ApiModelProperty(value = "ç»å®ç¶æ 0æªç»å®ï¼1å·²ç»å®", example = "1") @TableField(exist = false) private Integer bindStatus; @@ -99,4 +97,17 @@ @ApiModelProperty(value = "é¥åç¼ç ", example = "1") @TableField(exist = false) private String keyCode; @ApiModelProperty(value = "车çå·", example = "1") @TableField(exist = false) private String carCode; @ApiModelProperty(value = "车è¾ä¸»é®", example = "1") @TableField(exist = false) private Integer carId; @ApiModelProperty(value = "é¥åç¶æ 0æªç»å® 1å¨ä½ 2ååº 3ç»´ä¿®ä¿å »", example = "1") @TableField(exist = false) private Integer keyStatus; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkCabinetLog.java
@@ -77,6 +77,9 @@ @ExcelColumn(name="ç¶æ",index = 6,width = 10,valueMapping = "0=æå;1=失败;") private Integer status; @ApiModelProperty(value = "æä½ç±»åï¼0=å¼é¨;1=å ³é¨;", example = "1") private Integer type; @ApiModelProperty(value = "æä½äººé¨é¨", example = "1",hidden = true) @TableField(exist = false) private String companyName; server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/AdminCabinetVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,27 @@ package com.doumee.dao.business.vo; import com.doumee.core.annotation.excel.ExcelColumn; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * Created by IntelliJ IDEA. * * @Author : Rk * @create 2024/5/23 14:56 */ @Data public class AdminCabinetVO { @ApiModelProperty(value = "设å¤ä¸»é®ï¼ç³»ç»å ï¼") private Integer id; @ApiModelProperty(value = "设å¤ç¼å·") private String code; @ApiModelProperty(value = "设å¤åç§°") private String name; @ApiModelProperty(value = "设å¤ID") private String devId; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/CabinetDetailVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,53 @@ package com.doumee.dao.business.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; /** * Created by IntelliJ IDEA. * * @Author : Rk * @create 2024/5/23 14:56 */ @Data public class CabinetDetailVO { @ApiModelProperty(value = "设å¤ä¸»é®ï¼ç³»ç»å ï¼") private Integer id; @ApiModelProperty(value = "设å¤ç¼å·") private String code; @ApiModelProperty(value = "设å¤åç§°") private String name; @ApiModelProperty(value = "设å¤ID") private String devId; @ApiModelProperty(value = "ææ ¼æ»æ°") private Integer gridNum; @ApiModelProperty(value = "å¨ä½é¥åæ°") private Integer onlineKeyNum; @ApiModelProperty(value = "ååºé¥åæ°") private Integer outKeyNum; @ApiModelProperty(value = "ç»´ä¿®ä¿å »é¥åæ°") private Integer serviceKeyNum; @ApiModelProperty(value = "æ éæä½æ°é") private Integer errGridNum; @ApiModelProperty(value = "æªç»å®æä½æ°é") private Integer unBindGridNum; @ApiModelProperty(value = "ææ ¼ä¿¡æ¯") private List<CabinetGridInfoVO> cabinetGridInfoVOList; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/CabinetGridInfoVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,50 @@ package com.doumee.dao.business.vo; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.doumee.core.annotation.excel.ExcelColumn; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; /** * Created by IntelliJ IDEA. * * @Author : Rk * @create 2024/5/23 14:56 */ @Data public class CabinetGridInfoVO { @ApiModelProperty(value = "主é®", example = "1") private Integer id; @ApiModelProperty(value = "ç¼ç ") private String code; @ApiModelProperty(value = "é¥åç¼ç ï¼å ³èjk_keys)", example = "1") private Integer keyId; @ApiModelProperty(value = "æä½è¿è¡ç¶æ 0æ£å¸¸ 1æ é ", example = "1") private Integer workingStatus; @ApiModelProperty(value = "ç»å®ç¶æ 0æªç»å®ï¼1å·²ç»å®", example = "1") private Integer bindStatus; @ApiModelProperty(value = "é¥åç¶æ 0æªç»å® 1å¨ä½ 2ååº 3ç»´ä¿®ä¿å »", example = "1") private Integer keyStatus; @ApiModelProperty(value = "æ¿å·") private String boardCode; @ApiModelProperty(value = "ééå·") private String channelCode; @ApiModelProperty(value = "车çå·", example = "1") private String carCode; } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/JkCabinetGridService.java
@@ -1,6 +1,11 @@ package com.doumee.service.business; import com.doumee.dao.business.dto.OptGridDTO; import com.doumee.dao.business.dto.CloseGridDTO; import com.doumee.dao.business.dto.GetDriverGridDTO; import com.doumee.dao.business.dto.OpenGridDriverDTO; import com.doumee.dao.business.model.JkCabinetGrid; import com.doumee.service.business.third.model.LoginUserInfo; import com.doumee.service.business.third.model.PageData; import com.doumee.service.business.third.model.PageWrap; @@ -99,4 +104,39 @@ void updateStatusById(JkCabinetGrid jkCabinetGrid); void unBindKeys(List<Integer> idList); /** * æ è®°ææ ¼æ é * @param loginUserInfo * @param cabinetId * @param gridIdList */ void markFault(OptGridDTO dto); /** * æ è®°ææ ¼æ£å¸¸ * @param loginUserInfo * @param cabinetId * @param gridIdList */ void cancelFault(OptGridDTO dto); /** * æ¹éå¼é¨ - 管çå */ void batchOpenGridAdmin(OptGridDTO dto); /** * æ è®°ç»´ä¿®ä¿å » - 管çå * @param loginUserInfo * @param cabinetId * @param gridIdList */ void markRepair(OptGridDTO dto); void closeGrid(CloseGridDTO dto); List<JkCabinetGrid> getDriverGrid(GetDriverGridDTO getDriverGridDTO); void openGridDriver(OpenGridDriverDTO openGridDriverDTO); } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/JkCabinetService.java
@@ -1,6 +1,9 @@ package com.doumee.service.business; import com.doumee.dao.business.vo.AdminCabinetVO; import com.doumee.dao.business.vo.CabinetConfigDataVO; import com.doumee.dao.business.vo.CabinetDetailVO; import com.doumee.service.business.third.model.LoginUserInfo; import com.doumee.service.business.third.model.PageData; import com.doumee.service.business.third.model.PageWrap; import com.doumee.dao.business.model.JkCabinet; @@ -102,4 +105,19 @@ CabinetConfigDataVO getCabinetConfigDataVO(); void updCabinetConfig(CabinetConfigDataVO cabinetConfigDataVO); /** * é¥åæç®¡çå è·åå¯ç®¡ççé¥åæå表 * @param loginUserInfo * @return */ List<AdminCabinetVO> getAdminCabinetInfo(LoginUserInfo loginUserInfo); /** * è·åé¥åæè¯¦æ * @param cabinetId * @return */ CabinetDetailVO getCabinetDetail(Integer cabinetId); } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java
@@ -1,26 +1,24 @@ package com.doumee.service.business.impl; import com.alibaba.druid.sql.visitor.functions.Concat; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.core.utils.Constants; import com.doumee.core.utils.DateUtil; import com.doumee.dao.business.JkKeysMapper; import com.doumee.dao.business.model.Cars; import com.doumee.dao.business.model.JkCabinet; import com.doumee.dao.business.model.JkKeys; import com.doumee.dao.business.*; import com.doumee.dao.business.dto.OptGridDTO; import com.doumee.dao.business.dto.CloseGridDTO; import com.doumee.dao.business.dto.GetDriverGridDTO; import com.doumee.dao.business.dto.OpenGridDriverDTO; import com.doumee.dao.business.model.*; import com.doumee.service.business.third.model.LoginUserInfo; import com.doumee.service.business.third.model.PageData; import com.doumee.core.utils.Utils; import com.doumee.dao.business.JkCabinetGridMapper; import com.doumee.dao.business.model.JkCabinetGrid; import com.doumee.service.business.JkCabinetGridService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.doumee.service.business.third.model.PageWrap; import com.github.yulichang.toolkit.MPJWrappers; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -28,8 +26,7 @@ import com.github.xiaoymin.knife4j.core.util.CollectionUtils; import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Objects; import java.util.*; import java.util.stream.Collectors; /** @@ -45,6 +42,13 @@ @Autowired private JkKeysMapper jkKeysMapper; @Autowired private JkCabinetMapper jkCabinetMapper; @Autowired private JkCabinetLogMapper jkCabinetLogMapper; @Override public Integer create(JkCabinetGrid jkCabinetGrid) { @@ -237,7 +241,267 @@ } /** * æ è®°æ é */ @Override @Transactional(rollbackFor = {BusinessException.class,Exception.class}) public void markFault(OptGridDTO dto){ if(Objects.isNull(dto) || Objects.isNull(dto.getCabinetId()) || CollectionUtils.isEmpty(dto.getGridIdList())){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } List<JkCabinetGrid> jkCabinetGridList = jkCabinetGridMapper.selectList(new QueryWrapper<JkCabinetGrid>().lambda().eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) .eq(JkCabinetGrid::getWorkingStatus,Constants.ZERO) .eq(JkCabinetGrid::getCabinetId,dto.getCabinetId()) .in(JkCabinetGrid::getId,dto.getGridIdList()) ); if(CollectionUtils.isEmpty(jkCabinetGridList)){ return; } LoginUserInfo loginUserInfo = dto.getLoginUserInfo(); for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) { jkCabinetGrid.setEditor(loginUserInfo.getId()); jkCabinetGrid.setEditDate(new Date()); jkCabinetGrid.setWorkingStatus(Constants.ONE); jkCabinetGridMapper.updateById(jkCabinetGrid); } } /** * æ è®°ç»´ä¿®ä¿å » */ @Override @Transactional(rollbackFor = {BusinessException.class,Exception.class}) public void markRepair(OptGridDTO dto){ if(Objects.isNull(dto) || Objects.isNull(dto.getCabinetId()) || CollectionUtils.isEmpty(dto.getGridIdList())){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } List<JkCabinetGrid> jkCabinetGridList = jkCabinetGridMapper.selectJoinList(JkCabinetGrid.class, new MPJLambdaWrapper<JkCabinetGrid>().selectAll(JkCabinetGrid.class) .selectAs(JkKeys::getCode,JkCabinetGrid::getKeyCode) .selectAs(JkKeys::getCarCode,JkCabinetGrid::getCarCode) .selectAs(JkKeys::getCarId,JkCabinetGrid::getCarId) .leftJoin(JkKeys.class,JkKeys::getId,JkCabinetGrid::getKeyId) .eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) .eq(JkKeys::getStatus,Constants.ONE) .eq(JkCabinetGrid::getWorkingStatus,Constants.ZERO) .eq(JkCabinetGrid::getCabinetId,dto.getCabinetId()) .isNotNull(JkCabinetGrid::getKeyId) .in(JkCabinetGrid::getId,dto.getGridIdList()) ); if(CollectionUtils.isEmpty(jkCabinetGridList)){ return; } for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) { jkKeysMapper.update(null,new UpdateWrapper<JkKeys>().lambda() .set(JkKeys::getEditDate,DateUtil.getCurrDateTime()) .set(JkKeys::getStatus,Constants.TWO) .eq(JkKeys::getId,jkCabinetGrid.getKeyId()) ); } } /** * åæ¶æ é */ @Override @Transactional(rollbackFor = {BusinessException.class,Exception.class}) public void cancelFault(OptGridDTO dto){ if(Objects.isNull(dto) || Objects.isNull(dto.getCabinetId()) || CollectionUtils.isEmpty(dto.getGridIdList())){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } List<JkCabinetGrid> jkCabinetGridList = jkCabinetGridMapper.selectList(new QueryWrapper<JkCabinetGrid>().lambda().eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) .eq(JkCabinetGrid::getWorkingStatus,Constants.ONE) .eq(JkCabinetGrid::getCabinetId,dto.getCabinetId()) .in(JkCabinetGrid::getId,dto.getGridIdList()) ); if(CollectionUtils.isEmpty(jkCabinetGridList)){ return; } LoginUserInfo loginUserInfo = dto.getLoginUserInfo(); for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) { jkCabinetGrid.setEditor(loginUserInfo.getId()); jkCabinetGrid.setEditDate(new Date()); jkCabinetGrid.setWorkingStatus(Constants.ZERO); jkCabinetGridMapper.updateById(jkCabinetGrid); } } /** * 设å¤ç®¡çåæ¹éå¼é */ @Override @Transactional(rollbackFor = {BusinessException.class,Exception.class}) public void batchOpenGridAdmin(OptGridDTO dto){ if(Objects.isNull(dto) || Objects.isNull(dto.getCabinetId()) || CollectionUtils.isEmpty(dto.getGridIdList())){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } List<JkCabinetGrid> jkCabinetGridList = jkCabinetGridMapper.selectList(new QueryWrapper<JkCabinetGrid>().lambda().eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) .eq(JkCabinetGrid::getCabinetId,dto.getCabinetId()) .in(JkCabinetGrid::getId,dto.getGridIdList()) ); if(CollectionUtils.isEmpty(jkCabinetGridList)){ return; } LoginUserInfo loginUserInfo = dto.getLoginUserInfo(); if(org.apache.commons.collections.CollectionUtils.isNotEmpty(jkCabinetGridList)){ List<JkCabinetLog> jkCabinetLogs = new ArrayList<>(); for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) { JkCabinetLog jkCabinetLog = new JkCabinetLog(); jkCabinetLog.setCreateDate(new Date()); jkCabinetLog.setCreator(loginUserInfo.getId()); jkCabinetLog.setIsdeleted(Constants.ZERO); jkCabinetLog.setCabinetId(dto.getCabinetId()); jkCabinetLog.setGridId(jkCabinetGrid.getId()); jkCabinetLog.setAuthType(Constants.TWO); jkCabinetLog.setMemberId(loginUserInfo.getMemberId()); if(Objects.nonNull(jkCabinetGrid.getKeyId())){ JkKeys jkKeys = jkKeysMapper.selectById(jkCabinetGrid.getKeyId()); if(Objects.nonNull(jkKeys)){ if(!Constants.equalsInteger(jkKeys.getStatus(),Constants.ZERO)){ jkCabinetLog.setCarId(jkKeys.getCarId()); jkCabinetLog.setKeyInfo(jkKeys.getCarCode() + "_" + jkKeys.getCode() ); } jkCabinetLog.setRoleType(jkKeys.getRoleType()); } } jkCabinetLog.setType(Constants.ZERO); jkCabinetLogs.add(jkCabinetLog); } jkCabinetLogMapper.insert(jkCabinetLogs); } } /** * é¥åæå ³é¨ */ @Override @Transactional(rollbackFor = {BusinessException.class,Exception.class}) public void closeGrid(CloseGridDTO dto){ if(Objects.isNull(dto) || Objects.isNull(dto.getGridId()) || Objects.isNull(dto.getCabinetId()) || Objects.isNull(dto.getKeyStatus()) || Objects.isNull(dto.getAuthType()) || Objects.isNull(dto.getMemberId()) ){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } JkCabinetGrid jkCabinetGrid = jkCabinetGridMapper.selectOne(new QueryWrapper<JkCabinetGrid>().lambda().eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) .eq(JkCabinetGrid::getCabinetId,dto.getCabinetId()) .eq(JkCabinetGrid::getId,dto.getGridId()) .last(" limit 1 ") ); if(Objects.isNull(jkCabinetGrid)){ return; } JkCabinetLog jkCabinetLog = new JkCabinetLog(); jkCabinetLog.setCreateDate(new Date()); jkCabinetLog.setIsdeleted(Constants.ZERO); jkCabinetLog.setCabinetId(dto.getCabinetId()); jkCabinetLog.setGridId(jkCabinetGrid.getId()); jkCabinetLog.setAuthType(dto.getAuthType()); jkCabinetLog.setMemberId(dto.getMemberId()); if(Objects.nonNull(jkCabinetGrid.getKeyId())){ //åªæé¥åæç»å®äºé¥åä¿¡æ¯ æä¼æ´æ°é¥åçä¿¡æ¯ JkKeys jkKeys = jkKeysMapper.selectById(jkCabinetGrid.getKeyId()); if(Objects.nonNull(jkKeys)){ if(!Constants.equalsInteger(jkKeys.getStatus(),Constants.ZERO)){ jkCabinetLog.setCarId(jkKeys.getCarId()); jkCabinetLog.setKeyInfo(jkKeys.getCarCode() + "_" + jkKeys.getCode() ); } jkCabinetLog.setRoleType(jkKeys.getRoleType()); //é¥åç¶æä¸å½åæä½ç¶æä¸ä¸è´ï¼åè¿è¡æ´æ°é¥åç¶æ if(!Constants.equalsInteger(jkKeys.getStatus(),dto.getKeyStatus())){ jkKeysMapper.update(null,new UpdateWrapper<JkKeys>().lambda() .set(JkKeys::getEditDate,DateUtil.getCurrDateTime()) .set(JkKeys::getStatus,dto.getKeyStatus()) .eq(JkKeys::getId,jkKeys.getId()) ); } } } jkCabinetLog.setType(Constants.ONE); jkCabinetLogMapper.insert(jkCabinetLog); } /** * 叿ºè·å坿ä½çé¥åæææ ¼ */ @Override public List<JkCabinetGrid> getDriverGrid(GetDriverGridDTO dto){ if(Objects.isNull(dto.getCabinetId()) || Objects.isNull(dto.getCabinetId()) || Objects.isNull(dto.getMemberId()) || Objects.isNull(dto.getType())){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } List<JkCabinetGrid> jkCabinetGridList = jkCabinetGridMapper.selectJoinList(JkCabinetGrid.class, new MPJLambdaWrapper<JkCabinetGrid>().selectAll(JkCabinetGrid.class) .selectAs(JkKeys::getCode,JkCabinetGrid::getKeyCode) .selectAs(JkKeys::getCarCode,JkCabinetGrid::getCarCode) .selectAs(JkKeys::getCarId,JkCabinetGrid::getCarId) .leftJoin(JkKeys.class,JkKeys::getId,JkCabinetGrid::getKeyId) .eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) .eq(JkCabinetGrid::getWorkingStatus,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) .isNotNull(JkCabinetGrid::getKeyId) .apply(" t1.car_id in ( select c.CAR_ID from car_driver c left join cars c1 on c.car_id = c1.id where c.ISDELETED = 0 and c.TYPE != 0 and c.MEMBER_ID = "+dto.getMemberId()+" ) ") ); return jkCabinetGridList; } /** * 叿ºå¼å¯ææ ¼ * @param openGridDriverDTO */ @Override public void openGridDriver(OpenGridDriverDTO openGridDriverDTO){ JkCabinetGrid jkCabinetGrid = jkCabinetGridMapper.selectOne(new QueryWrapper<JkCabinetGrid>().lambda().eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) .eq(JkCabinetGrid::getCabinetId,openGridDriverDTO.getCabinetId()) .eq(JkCabinetGrid::getId,openGridDriverDTO.getGridId()) .last(" limit 1 ") ); if(Objects.isNull(jkCabinetGrid)){ return; } LoginUserInfo loginUserInfo = openGridDriverDTO.getLoginUserInfo(); List<JkCabinetLog> jkCabinetLogs = new ArrayList<>(); JkCabinetLog jkCabinetLog = new JkCabinetLog(); jkCabinetLog.setCreateDate(new Date()); jkCabinetLog.setCreator(loginUserInfo.getId()); jkCabinetLog.setIsdeleted(Constants.ZERO); jkCabinetLog.setCabinetId(openGridDriverDTO.getCabinetId()); jkCabinetLog.setGridId(jkCabinetGrid.getId()); jkCabinetLog.setAuthType(openGridDriverDTO.getAuthType()); jkCabinetLog.setMemberId(loginUserInfo.getMemberId()); jkCabinetLog.setType(Constants.ZERO); if(Objects.nonNull(jkCabinetGrid.getKeyId())){ JkKeys jkKeys = jkKeysMapper.selectById(jkCabinetGrid.getKeyId()); if(Objects.nonNull(jkKeys)){ if(!Constants.equalsInteger(jkKeys.getStatus(),Constants.ZERO)){ jkCabinetLog.setCarId(jkKeys.getCarId()); jkCabinetLog.setKeyInfo(jkKeys.getCarCode() + "_" + jkKeys.getCode() ); } jkCabinetLog.setRoleType(jkKeys.getRoleType()); } } jkCabinetLogMapper.insert(jkCabinetLogs); } } 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; } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkKeysServiceImpl.java
@@ -164,6 +164,8 @@ @Override public List<JkKeys> findList(JkKeys jkKeys) { jkKeys.setIsdeleted(Constants.ZERO); jkKeys.setStatus(Constants.ZERO); QueryWrapper<JkKeys> wrapper = new QueryWrapper<>(jkKeys); return jkKeysMapper.selectList(wrapper); }