From ed97e7cefb4bd1311934776d8a05d582e497dcb7 Mon Sep 17 00:00:00 2001 From: zcxlsm Date: Wed, 16 Jul 2025 10:12:24 +0800 Subject: [PATCH] =?UTF-8?q?feat(property):=20-=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=89=80=E6=9C=89=E6=A5=BC=E5=B1=82=E5=92=8C?= =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E5=8D=95=E5=85=83ID=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=A5=BC=E5=B1=82=E7=9A=84=E5=8A=9F=E8=83=BD=20-=20=E5=9C=A8?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=A5=BC=E5=B1=82=E6=97=B6=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=90=8C=E4=B8=80=E5=8D=95=E5=85=83=E6=A5=BC=E5=B1=82=E9=87=8D?= =?UTF-8?q?=E5=A4=8D=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../property/api/RemoteFloorService.java | 8 +++++- .../dubbo/RemoteFloorServiceImpl.java | 12 +++++++++ .../property/service/ITbFloorService.java | 14 +++++++++- .../service/impl/TbFloorServiceImpl.java | 27 ++++++++++++++++--- 4 files changed, 56 insertions(+), 5 deletions(-) diff --git a/ruoyi-api/property-api/src/main/java/org/dromara/property/api/RemoteFloorService.java b/ruoyi-api/property-api/src/main/java/org/dromara/property/api/RemoteFloorService.java index 6b735d2..9e9d707 100644 --- a/ruoyi-api/property-api/src/main/java/org/dromara/property/api/RemoteFloorService.java +++ b/ruoyi-api/property-api/src/main/java/org/dromara/property/api/RemoteFloorService.java @@ -20,5 +20,11 @@ public interface RemoteFloorService { */ List> queryTreeList(); - + /** + * 根据单元ID查询楼层 + * + * @param unitId 单元ID + * @return 楼层 + */ + List queryByUnitId(Long unitId); } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/dubbo/RemoteFloorServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/dubbo/RemoteFloorServiceImpl.java index b78d6e8..1d9c0d3 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/dubbo/RemoteFloorServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/dubbo/RemoteFloorServiceImpl.java @@ -101,4 +101,16 @@ public class RemoteFloorServiceImpl implements RemoteFloorService { treeList.addAll(l4); return treeList; } + + /** + * 根据单元ID查询楼层 + * + * @param unitId 单元ID + * @return 楼层 + */ + @Override + public List queryByUnitId(Long unitId){ + List tbFloorVo = floorService.queryByUnitId(unitId); + return MapstructUtils.convert(tbFloorVo, RemoteFloorVo.class); + } } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ITbFloorService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ITbFloorService.java index 6849e8b..9156cc5 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ITbFloorService.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ITbFloorService.java @@ -1,5 +1,6 @@ package org.dromara.property.service; +import org.dromara.property.api.domain.vo.RemoteFloorVo; import org.dromara.property.domain.TbFloor; import org.dromara.property.domain.vo.TbFloorVo; import org.dromara.property.domain.bo.TbFloorBo; @@ -67,7 +68,18 @@ public interface ITbFloorService { */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); - + /** + * 查询所有楼层 + * + * @return 楼层列表 + */ List queryAll(); + /** + * 根据单元ID查询楼层 + * + * @param unitId 单元ID + * @return 楼层 + */ + List queryByUnitId(Long unitId); } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbFloorServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbFloorServiceImpl.java index 29e9a4a..28630af 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbFloorServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbFloorServiceImpl.java @@ -18,6 +18,7 @@ import org.dromara.property.mapper.TbFloorMapper; import org.dromara.property.service.ITbFloorService; import org.dromara.property.service.ITbUnitService; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.Collection; import java.util.List; @@ -94,18 +95,25 @@ public class TbFloorServiceImpl implements ITbFloorService { * @return 是否新增成功 */ @Override + @Transactional(rollbackFor = Exception.class) public Boolean insertByBo(TbFloorBo bo) { // 验证单元是否存在 TbUnitVo tbUnitVo = tbUnitService.queryById(bo.getUnitId()); Assert.notNull(tbUnitVo, "单元:{},不存在。", bo.getUnitId()); + + // 验证同一单元楼层是否已经存在 + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(TbFloor::getUnitId, bo.getUnitId()) + .eq(TbFloor::getFloorNumber, bo.getFloorNumber()); + boolean numberExists = baseMapper.selectCount(lqw) > 0; + Assert.isFalse(numberExists, "单元:{},楼层:{}已存在。", bo.getUnitId(), bo.getFloorNumber()); + TbFloor add = MapstructUtils.convert(bo, TbFloor.class); add.setCommunityId(tbUnitVo.getCommunityId()); add.setBuildingId(tbUnitVo.getBuildingId()); validEntityBeforeSave(add); boolean flag = baseMapper.insert(add) > 0; - if (flag) { - bo.setId(add.getId()); - } + Assert.isTrue(flag, "新增楼层失败"); return flag; } @@ -148,4 +156,17 @@ public class TbFloorServiceImpl implements ITbFloorService { public List queryAll() { return baseMapper.selectVoList(); } + + /** + * 根据单元ID查询楼层 + * + * @param unitId 单元ID + * @return 楼层 + */ + @Override + public List queryByUnitId(Long unitId){ + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(TbFloor::getUnitId, unitId); + return baseMapper.selectVoList(lqw); + } }