From eb82684152ffb0acddf67da92e4533a0190eb258 Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期五, 10 十月 2025 18:27:31 +0800 Subject: [PATCH] 对接口 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java | 197 ++++++++++++++++++++++++++++++++++++------------ 1 files changed, 146 insertions(+), 51 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 d197518..4cc4c61 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 @@ -1,5 +1,15 @@ 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.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; @@ -10,11 +20,17 @@ 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; import org.springframework.stereotype.Service; -import org.springframework.util.CollectionUtils; +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.stream.Collectors; /** * 閽ュ寵鏌滄煖鏍煎熀鏈俊鎭〃Service瀹炵幇 @@ -26,6 +42,9 @@ @Autowired private JkCabinetGridMapper jkCabinetGridMapper; + + @Autowired + private JkKeysMapper jkKeysMapper; @Override public Integer create(JkCabinetGrid jkCabinetGrid) { @@ -54,7 +73,47 @@ @Override public void updateById(JkCabinetGrid jkCabinetGrid) { - jkCabinetGridMapper.updateById(jkCabinetGrid); + if(Objects.isNull(jkCabinetGrid) + || Objects.isNull(jkCabinetGrid.getId()) + ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + LoginUserInfo loginUserInfo = jkCabinetGrid.getLoginUserInfo(); + JkCabinetGrid model = jkCabinetGridMapper.selectById(jkCabinetGrid.getId()); + if(Objects.isNull(model)|| Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + if(Objects.nonNull(jkCabinetGrid.getKeyId())){ + if(Objects.nonNull(model.getKeyId())){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"宸茬粦瀹氾紝璇峰嬁閲嶅缁戝畾"); + } + JkKeys keysModel = jkKeysMapper.selectById(jkCabinetGrid.getKeyId()); + if(Objects.isNull(keysModel)|| Constants.equalsInteger(keysModel.getIsdeleted(),Constants.ONE)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + if(!Constants.equalsInteger(keysModel.getStatus(), (Constants.ZERO))){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"閽ュ寵宸茶缁戝畾锛岃閫夋嫨鍏朵粬閽ュ寵缁戝畾"); + } + //鏇存柊閽ュ寵鏌滀俊鎭� + jkCabinetGridMapper.update(new UpdateWrapper<JkCabinetGrid>().lambda() + .set(JkCabinetGrid::getKeyId,jkCabinetGrid.getKeyId()) + .set(JkCabinetGrid::getEditor,loginUserInfo.getId()) + .set(JkCabinetGrid::getEditDate,DateUtil.getCurrDateTime()) + .set(JkCabinetGrid::getEditDate, DateUtil.getCurrDateTime()) + .eq(JkCabinetGrid::getId,jkCabinetGrid.getId())); + //鏍囪閽ュ寵淇℃伅 + jkKeysMapper.update(new UpdateWrapper<JkKeys>().lambda() + .set(JkKeys::getStatus,Constants.ONE) + .eq(JkKeys::getId,jkCabinetGrid.getKeyId()) + ); + 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())); + } } @Override @@ -87,57 +146,25 @@ @Override public PageData<JkCabinetGrid> findPage(PageWrap<JkCabinetGrid> pageWrap) { IPage<JkCabinetGrid> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); - QueryWrapper<JkCabinetGrid> queryWrapper = new QueryWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); - if (pageWrap.getModel().getId() != null) { - queryWrapper.lambda().eq(JkCabinetGrid::getId, pageWrap.getModel().getId()); + JkCabinetGrid model = pageWrap.getModel(); + MPJLambdaWrapper<JkCabinetGrid> wrapper = new MPJLambdaWrapper<JkCabinetGrid>() + .selectAll(JkCabinetGrid.class) + .selectAs(JkCabinet::getName,JkCabinetGrid::getCabinetName) + .selectAs(JkKeys::getCode,JkCabinetGrid::getKeyCode) + .leftJoin(JkCabinet.class,JkCabinet::getId,JkCabinetGrid::getCabinetId) + .leftJoin(JkKeys.class,JkKeys::getId,JkCabinetGrid::getKeyId) + .eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) + .eq(Objects.nonNull(model.getCabinetId()),JkCabinetGrid::getCabinetId,model.getCabinetId()) + .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()); + IPage<JkCabinetGrid> iPage = jkCabinetGridMapper.selectJoinPage(page,JkCabinetGrid.class,wrapper); + for (JkCabinetGrid jkCabinetGrid:iPage.getRecords()) { + jkCabinetGrid.setBindStatus(Objects.isNull(jkCabinetGrid.getKeyId())?Constants.ZERO:Constants.ONE); } - if (pageWrap.getModel().getCreator() != null) { - queryWrapper.lambda().eq(JkCabinetGrid::getCreator, pageWrap.getModel().getCreator()); - } - if (pageWrap.getModel().getCreateDate() != null) { - queryWrapper.lambda().ge(JkCabinetGrid::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); - queryWrapper.lambda().le(JkCabinetGrid::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); - } - if (pageWrap.getModel().getEditor() != null) { - queryWrapper.lambda().eq(JkCabinetGrid::getEditor, pageWrap.getModel().getEditor()); - } - if (pageWrap.getModel().getEditDate() != null) { - queryWrapper.lambda().ge(JkCabinetGrid::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); - queryWrapper.lambda().le(JkCabinetGrid::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); - } - if (pageWrap.getModel().getIsdeleted() != null) { - queryWrapper.lambda().eq(JkCabinetGrid::getIsdeleted, pageWrap.getModel().getIsdeleted()); - } - if (pageWrap.getModel().getInfo() != null) { - queryWrapper.lambda().eq(JkCabinetGrid::getInfo, pageWrap.getModel().getInfo()); - } - if (pageWrap.getModel().getCabinetId() != null) { - queryWrapper.lambda().eq(JkCabinetGrid::getCabinetId, pageWrap.getModel().getCabinetId()); - } - if (pageWrap.getModel().getCode() != null) { - queryWrapper.lambda().eq(JkCabinetGrid::getCode, pageWrap.getModel().getCode()); - } - if (pageWrap.getModel().getKeyId() != null) { - queryWrapper.lambda().eq(JkCabinetGrid::getKeyId, pageWrap.getModel().getKeyId()); - } - if (pageWrap.getModel().getSerialNo() != null) { - queryWrapper.lambda().eq(JkCabinetGrid::getSerialNo, pageWrap.getModel().getSerialNo()); - } - if (pageWrap.getModel().getStatus() != null) { - queryWrapper.lambda().eq(JkCabinetGrid::getStatus, pageWrap.getModel().getStatus()); - } - if (pageWrap.getModel().getWorkingStatus() != null) { - queryWrapper.lambda().eq(JkCabinetGrid::getWorkingStatus, pageWrap.getModel().getWorkingStatus()); - } - for(PageWrap.SortData sortData: pageWrap.getSorts()) { - if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { - queryWrapper.orderByDesc(sortData.getProperty()); - } else { - queryWrapper.orderByAsc(sortData.getProperty()); - } - } - return PageData.from(jkCabinetGridMapper.selectPage(page, queryWrapper)); + return PageData.from(iPage); } @Override @@ -145,4 +172,72 @@ QueryWrapper<JkCabinetGrid> wrapper = new QueryWrapper<>(jkCabinetGrid); return jkCabinetGridMapper.selectCount(wrapper); } + + @Override + public void updateStatusById(JkCabinetGrid jkCabinetGrid) { + if(Objects.isNull(jkCabinetGrid) + || Objects.isNull(jkCabinetGrid.getId()) + || Objects.isNull(jkCabinetGrid.getStatus())){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + jkCabinetGridMapper.update(null,new UpdateWrapper<JkCabinetGrid>() + .lambda().set(JkCabinetGrid::getStatus,jkCabinetGrid.getStatus()) + .set(JkCabinetGrid::getEditDate, DateUtil.getCurrDateTime()) + .eq(JkCabinetGrid::getId,jkCabinetGrid.getId())); + } + + + @Override + @Transactional(rollbackFor = {Exception.class,BusinessException.class}) + public void unBindKeys(List<Integer> idList){ + if(CollectionUtils.isEmpty(idList)){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + if(idList.size()==Constants.ONE){ + JkCabinetGrid model = jkCabinetGridMapper.selectById(idList.get(Constants.ZERO)); + if(Objects.isNull(model)|| Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + if(Objects.isNull(model.getKeyId())){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠瑙勬牸鏈粦瀹氶挜鍖欙紝璇峰埛鏂版煡鐪�"); + }else{ + //鏇存柊閽ュ寵鏌滀俊鎭� + jkCabinetGridMapper.update(new UpdateWrapper<JkCabinetGrid>().lambda() + .set(JkCabinetGrid::getKeyId,null) + .set(JkCabinetGrid::getEditDate, DateUtil.getCurrDateTime()) + .eq(JkCabinetGrid::getId,model.getId())); + JkKeys keysModel = jkKeysMapper.selectById(model.getKeyId()); + if(Objects.nonNull(keysModel) && !Constants.equalsInteger(keysModel.getStatus(),Constants.ZERO)){ + jkKeysMapper.update(new UpdateWrapper<JkKeys>().lambda() + .set(JkKeys::getStatus,Constants.ZERO) + .eq(JkKeys::getId,keysModel.getId()) + ); + } + } + }else{ + List<JkCabinetGrid> jkCabinetGridList = jkCabinetGridMapper.selectList(new QueryWrapper<JkCabinetGrid>().lambda() + .eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) + .isNotNull(JkCabinetGrid::getKeyId) + .in(JkCabinetGrid::getId,idList)); + if(CollectionUtils.isNotEmpty(jkCabinetGridList)){ + 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()))); + 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() + .set(JkKeys::getStatus,Constants.ZERO) + .in(JkKeys::getId,keyIdList) + ); + } + + } + } + } + + + + + } -- Gitblit v1.9.3