From d7dca690cedd12e271f0ee0b9050679d73796f5c Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期一, 06 一月 2025 09:28:10 +0800 Subject: [PATCH] 1 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java | 114 +++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 82 insertions(+), 32 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java index ff5bbbe..87d1ec9 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java @@ -1,18 +1,24 @@ package com.doumee.service.business.impl; +import com.doumee.core.constants.ResponseStatus; +import com.doumee.core.exception.BusinessException; import com.doumee.core.model.LoginUserInfo; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.core.utils.Utils; +import com.doumee.dao.business.YwBuildingMapper; +import com.doumee.dao.business.YwContractRoomMapper; import com.doumee.dao.business.YwRoomMapper; -import com.doumee.dao.business.model.YwProject; -import com.doumee.dao.business.model.YwRoom; +import com.doumee.dao.business.YwWorkorderMapper; +import com.doumee.dao.business.model.*; import com.doumee.service.business.YwRoomService; 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.github.yulichang.wrapper.MPJLambdaWrapper; +import org.checkerframework.checker.units.qual.A; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -30,9 +36,23 @@ @Autowired private YwRoomMapper ywRoomMapper; + @Autowired + private YwBuildingMapper ywBuildingMapper; + @Autowired + private YwContractRoomMapper ywContractRoomMapper; + @Autowired + private YwWorkorderMapper ywWorkorderMapper; @Override public Integer create(YwRoom model) { + if(model.getBuildingId()==null){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勬ゼ瀹囦俊鎭紒"); + } + YwBuilding ywBuilding = ywBuildingMapper.selectById(model.getBuildingId()); + if(ywBuilding ==null ||Constants.equalsInteger(ywBuilding.getIsdeleted(),Constants.ONE)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勬ゼ瀹囦俊鎭紒"); + } + model.setProjectId(ywBuilding.getProjectId()); model.setCreator(model.getLoginUserInfo().getId()); model.setIsdeleted(Constants.ZERO); model.setCreateDate(new Date()); @@ -45,6 +65,16 @@ @Override public void deleteById(Integer id, LoginUserInfo user) { + if(ywContractRoomMapper.selectCount(new QueryWrapper<YwContractRoom>() + .lambda().eq(YwContractRoom::getIsdeleted,Constants.ZERO) + .eq(YwContractRoom::getRoomId,id))>Constants.ZERO){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鎴块棿淇℃伅宸蹭娇鐢�,鏃犳硶杩涜鍒犻櫎!"); + }; + if(ywWorkorderMapper.selectCount(new QueryWrapper<YwWorkorder>() + .lambda().eq(YwWorkorder::getIsdeleted,Constants.ZERO) + .eq(YwWorkorder::getRoomId,id))>Constants.ZERO){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鎴块棿淇℃伅宸蹭娇鐢�,鏃犳硶杩涜鍒犻櫎!"); + }; YwRoom model = new YwRoom(); model.setId(id); model.setEditDate(new Date()); @@ -71,6 +101,14 @@ @Override public void updateById(YwRoom model) { + if(model.getBuildingId()==null){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勬ゼ瀹囦俊鎭紒"); + } + YwBuilding ywBuilding = ywBuildingMapper.selectById(model.getBuildingId()); + if(ywBuilding ==null ||Constants.equalsInteger(ywBuilding.getIsdeleted(),Constants.ONE)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勬ゼ瀹囦俊鎭紒"); + } + model.setProjectId(ywBuilding.getProjectId()); model.setEditDate(new Date()); model.setEditor(model.getLoginUserInfo().getId()); ywRoomMapper.updateById(model); @@ -99,85 +137,97 @@ @Override public List<YwRoom> findList(YwRoom ywRoom) { - QueryWrapper<YwRoom> wrapper = new QueryWrapper<>(ywRoom); + ywRoom.setIsdeleted(Constants.ZERO); + QueryWrapper<YwRoom> wrapper = new QueryWrapper< >(ywRoom); return ywRoomMapper.selectList(wrapper); } @Override public PageData<YwRoom> findPage(PageWrap<YwRoom> pageWrap) { IPage<YwRoom> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); - QueryWrapper<YwRoom> queryWrapper = new QueryWrapper<>(); + MPJLambdaWrapper<YwRoom> queryWrapper = new MPJLambdaWrapper<>(); + queryWrapper.selectAll(YwRoom.class ) + .selectAs(YwProject::getName,YwRoom::getProjectName) + .selectAs(YwFloor::getName,YwRoom::getFloorName) + .selectAs(YwBuilding::getName,YwRoom::getBuildingName) + .select(" ifnull( ( select case when y1.status = 3 then now() BETWEEN y1.START_DATE and y1.BT_DATE else now() BETWEEN y1.START_DATE and y1.END_DATE END " + + "from yw_contract y1 left join yw_contract_room y2 on y1.id = y2.CONTRACT_ID and y2.TYPE = 0 " + + "where y1.`STATUS` <> 4 and y2.room_id = t.id order by y1.create_date desc limit 1 ) ,0) ",YwRoom::getLeaseStatus) + .leftJoin(YwProject.class,YwProject::getId,YwRoom::getProjectId) + .leftJoin(YwBuilding.class,YwBuilding::getId,YwRoom::getBuildingId) + .leftJoin(YwFloor.class,YwFloor::getId,YwRoom::getFloor); + pageWrap.getModel().setIsdeleted(Constants.ZERO); Utils.MP.blankToNull(pageWrap.getModel()); if (pageWrap.getModel().getId() != null) { - queryWrapper.lambda().eq(YwRoom::getId, pageWrap.getModel().getId()); + queryWrapper.eq(YwRoom::getId, pageWrap.getModel().getId()); } if (pageWrap.getModel().getCreator() != null) { - queryWrapper.lambda().eq(YwRoom::getCreator, pageWrap.getModel().getCreator()); + queryWrapper.eq(YwRoom::getCreator, pageWrap.getModel().getCreator()); } if (pageWrap.getModel().getCreateDate() != null) { - queryWrapper.lambda().ge(YwRoom::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); - queryWrapper.lambda().le(YwRoom::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); + queryWrapper.ge(YwRoom::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); + queryWrapper.le(YwRoom::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); } if (pageWrap.getModel().getEditor() != null) { - queryWrapper.lambda().eq(YwRoom::getEditor, pageWrap.getModel().getEditor()); + queryWrapper.eq(YwRoom::getEditor, pageWrap.getModel().getEditor()); } if (pageWrap.getModel().getEditDate() != null) { - queryWrapper.lambda().ge(YwRoom::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); - queryWrapper.lambda().le(YwRoom::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); + queryWrapper.ge(YwRoom::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); + queryWrapper.le(YwRoom::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); } if (pageWrap.getModel().getIsdeleted() != null) { - queryWrapper.lambda().eq(YwRoom::getIsdeleted, pageWrap.getModel().getIsdeleted()); + queryWrapper.eq(YwRoom::getIsdeleted, pageWrap.getModel().getIsdeleted()); } if (pageWrap.getModel().getName() != null) { - queryWrapper.lambda().eq(YwRoom::getName, pageWrap.getModel().getName()); + queryWrapper.eq(YwRoom::getName, pageWrap.getModel().getName()); } if (pageWrap.getModel().getRemark() != null) { - queryWrapper.lambda().eq(YwRoom::getRemark, pageWrap.getModel().getRemark()); + queryWrapper.eq(YwRoom::getRemark, pageWrap.getModel().getRemark()); } if (pageWrap.getModel().getStatus() != null) { - queryWrapper.lambda().eq(YwRoom::getStatus, pageWrap.getModel().getStatus()); + queryWrapper.eq(YwRoom::getStatus, pageWrap.getModel().getStatus()); } if (pageWrap.getModel().getSortnum() != null) { - queryWrapper.lambda().eq(YwRoom::getSortnum, pageWrap.getModel().getSortnum()); + queryWrapper.eq(YwRoom::getSortnum, pageWrap.getModel().getSortnum()); } if (pageWrap.getModel().getImgurl() != null) { - queryWrapper.lambda().eq(YwRoom::getImgurl, pageWrap.getModel().getImgurl()); + queryWrapper.eq(YwRoom::getImgurl, pageWrap.getModel().getImgurl()); } if (pageWrap.getModel().getCode() != null) { - queryWrapper.lambda().eq(YwRoom::getCode, pageWrap.getModel().getCode()); + queryWrapper.eq(YwRoom::getCode, pageWrap.getModel().getCode()); } if (pageWrap.getModel().getRoomNum() != null) { - queryWrapper.lambda().eq(YwRoom::getRoomNum, pageWrap.getModel().getRoomNum()); + queryWrapper.eq(YwRoom::getRoomNum, pageWrap.getModel().getRoomNum()); } if (pageWrap.getModel().getIsInvestment() != null) { - queryWrapper.lambda().eq(YwRoom::getIsInvestment, pageWrap.getModel().getIsInvestment()); + queryWrapper.eq(YwRoom::getIsInvestment, pageWrap.getModel().getIsInvestment()); } if (pageWrap.getModel().getArea() != null) { - queryWrapper.lambda().eq(YwRoom::getArea, pageWrap.getModel().getArea()); + queryWrapper.eq(YwRoom::getArea, pageWrap.getModel().getArea()); } if (pageWrap.getModel().getFeeArea() != null) { - queryWrapper.lambda().eq(YwRoom::getFeeArea, pageWrap.getModel().getFeeArea()); + queryWrapper.eq(YwRoom::getFeeArea, pageWrap.getModel().getFeeArea()); } if (pageWrap.getModel().getRentArea() != null) { - queryWrapper.lambda().eq(YwRoom::getRentArea, pageWrap.getModel().getRentArea()); + queryWrapper.eq(YwRoom::getRentArea, pageWrap.getModel().getRentArea()); } if (pageWrap.getModel().getFloor() != null) { - queryWrapper.lambda().eq(YwRoom::getFloor, pageWrap.getModel().getFloor()); + queryWrapper.eq(YwRoom::getFloor, pageWrap.getModel().getFloor()); } if (pageWrap.getModel().getProjectId() != null) { - queryWrapper.lambda().eq(YwRoom::getProjectId, pageWrap.getModel().getProjectId()); + queryWrapper.eq(YwRoom::getProjectId, pageWrap.getModel().getProjectId()); } if (pageWrap.getModel().getBuildingId() != null) { - queryWrapper.lambda().eq(YwRoom::getBuildingId, pageWrap.getModel().getBuildingId()); + queryWrapper.eq(YwRoom::getBuildingId, pageWrap.getModel().getBuildingId()); } - for(PageWrap.SortData sortData: pageWrap.getSorts()) { - if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { - queryWrapper.orderByDesc(sortData.getProperty()); - } else { - queryWrapper.orderByAsc(sortData.getProperty()); + queryWrapper.orderByAsc(YwRoom::getRoomNum); + IPage<YwRoom> iPage = ywRoomMapper.selectJoinPage(page,YwRoom.class, queryWrapper); + for (YwRoom ywRoom:iPage.getRecords()) { + if(Constants.equalsInteger(ywRoom.getIsInvestment(),Constants.ZERO)){ + ywRoom.setLeaseStatus(Constants.TWO); } } - return PageData.from(ywRoomMapper.selectPage(page, queryWrapper)); + return PageData.from(iPage); } @Override -- Gitblit v1.9.3