From 6b1e9253afe6ed84c361cdb49374841a8dfe5110 Mon Sep 17 00:00:00 2001 From: 15683799673 Date: Sat, 28 Jun 2025 22:48:11 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=BC=E5=90=88=E7=AE=A1=E7=90=86=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/impl/DictTypeTranslationImpl.java | 4 +-- .../controller/TbCommunityController.java | 4 +-- .../dromara/property/domain/SysCityArea.java | 5 --- .../dromara/property/domain/TbBuilding.java | 17 +-------- .../dromara/property/domain/TbCommunity.java | 12 ++++--- .../org/dromara/property/domain/TbFloor.java | 10 ++++++ .../org/dromara/property/domain/TbRoom.java | 26 ++++++++++---- .../org/dromara/property/domain/TbUnit.java | 7 +++- .../property/domain/bo/SysCityAreaBo.java | 6 ---- .../property/domain/bo/TbBuildingBo.java | 22 ++---------- .../property/domain/bo/TbCommunityBo.java | 33 +++++++++-------- .../dromara/property/domain/bo/TbFloorBo.java | 2 +- .../dromara/property/domain/bo/TbRoomBo.java | 2 +- .../dromara/property/domain/bo/TbUnitBo.java | 2 +- .../domain/convert/SysCityAreaCovert.java | 3 ++ .../property/domain/vo/CityAreaTreeVo.java | 3 ++ .../property/domain/vo/SysCityAreaVo.java | 7 ---- .../property/domain/vo/TbBuildingVo.java | 36 ++++--------------- .../property/domain/vo/TbCommunityVo.java | 15 ++++---- .../dromara/property/domain/vo/TbFloorVo.java | 11 ++++++ .../dromara/property/domain/vo/TbRoomVo.java | 36 ++++++++++++++++--- .../dromara/property/domain/vo/TbUnitVo.java | 2 ++ .../property/mapper/SysCityAreaMapper.java | 13 +++++-- .../property/service/ITbCommunityService.java | 2 +- .../service/impl/SysCityAreaServiceImpl.java | 8 +---- .../service/impl/TbBuildingServiceImpl.java | 10 ++++-- .../service/impl/TbCommunityServiceImpl.java | 13 +++++++ .../service/impl/TbFloorServiceImpl.java | 9 +++++ .../service/impl/TbRoomServiceImpl.java | 10 +++++- .../service/impl/TbUnitServiceImpl.java | 8 +++++ 30 files changed, 193 insertions(+), 145 deletions(-) diff --git a/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/impl/DictTypeTranslationImpl.java b/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/impl/DictTypeTranslationImpl.java index 538d932..6552525 100644 --- a/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/impl/DictTypeTranslationImpl.java +++ b/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/impl/DictTypeTranslationImpl.java @@ -1,11 +1,11 @@ package org.dromara.common.translation.core.impl; +import lombok.AllArgsConstructor; import org.dromara.common.core.service.DictService; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.translation.annotation.TranslationType; import org.dromara.common.translation.constant.TransConstant; import org.dromara.common.translation.core.TranslationInterface; -import lombok.AllArgsConstructor; /** * 字典翻译实现 @@ -20,7 +20,7 @@ public class DictTypeTranslationImpl implements TranslationInterface { @Override public String translation(Object key, String other) { - if (key instanceof String && StringUtils.isNotBlank(other)) { + if (key != null && StringUtils.isNotBlank(other)) { return dictService.getDictLabel(other, key.toString()); } return null; diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/TbCommunityController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/TbCommunityController.java index e734757..3bcd85d 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/TbCommunityController.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/TbCommunityController.java @@ -62,11 +62,11 @@ public class TbCommunityController extends BaseController { * @return 树结构数据 */ @GetMapping("/tree/{level}") - public List> tree(@PathVariable("level") Integer level) { + public R>> tree(@PathVariable("level") Integer level) { LoginUser loginUser = LoginHelper.getLoginUser(); Assert.notNull(loginUser, "获取账户信息失败!"); Assert.notEmpty(loginUser.getTenantId(), "获取租户信息失败"); - return tbCommunityService.tree(level, loginUser.getTenantId()); + return R.ok(tbCommunityService.tree(level, loginUser.getTenantId())); } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/SysCityArea.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/SysCityArea.java index 48d8a6e..6bfd5bc 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/SysCityArea.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/SysCityArea.java @@ -62,9 +62,4 @@ public class SysCityArea implements Serializable { */ private String lat; - /** - * 数据状态:1有效,0无效 - */ - private Long dataState; - } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbBuilding.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbBuilding.java index fb29237..6c64de2 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbBuilding.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbBuilding.java @@ -32,28 +32,13 @@ public class TbBuilding extends TenantEntity { /** * 园区编码 */ - private String communityId; + private Long communityId; /** * 建筑名称 */ private String buildingName; - /** - * 省 - */ - private String province; - - /** - * 市 - */ - private String city; - - /** - * 区 - */ - private String district; - /** * 总层数 */ diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbCommunity.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbCommunity.java index d1a7892..084fc4c 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbCommunity.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbCommunity.java @@ -1,13 +1,13 @@ package org.dromara.property.domain; -import org.dromara.common.tenant.core.TenantEntity; -import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; -import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; +import org.dromara.common.tenant.core.TenantEntity; import java.io.Serial; +import java.util.Date; /** * 小区对象 tb_community @@ -39,6 +39,10 @@ public class TbCommunity extends TenantEntity { */ private Integer communityType; + private String cityFullCode; + + private String cityFullName; + /** * 省 */ diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbFloor.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbFloor.java index 5b93943..7f6accc 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbFloor.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbFloor.java @@ -27,6 +27,16 @@ public class TbFloor extends TenantEntity { @TableId(value = "id") private Long id; + /** + * 园区id + */ + private Long communityId; + + /** + * 建筑id + */ + private Long buildingId; + /** * 单元编码 */ diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbRoom.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbRoom.java index 7ddffee..72c3820 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbRoom.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbRoom.java @@ -1,9 +1,10 @@ package org.dromara.property.domain; -import org.dromara.common.tenant.core.TenantEntity; -import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; +import org.dromara.common.tenant.core.TenantEntity; import java.io.Serial; @@ -21,12 +22,25 @@ public class TbRoom extends TenantEntity { @Serial private static final long serialVersionUID = 1L; - /** - * - */ + @TableId(value = "id") private Long id; + /** + * 园区id + */ + private Long communityId; + + /** + * 建筑id + */ + private Long buildingId; + + /** + * 单元编码 + */ + private Long unitId; + /** * 所属楼层ID */ @@ -50,7 +64,7 @@ public class TbRoom extends TenantEntity { /** * 户型(如2室1厅1卫) */ - private Integer layout; + private String layout; /** * 朝向('东','南','西','北','东南','东北','西南','西北') diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbUnit.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbUnit.java index c24eda2..9b1ebf9 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbUnit.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbUnit.java @@ -28,7 +28,12 @@ public class TbUnit extends TenantEntity { private Long id; /** - * 建筑名称 + * 园区id + */ + private Long communityId; + + /** + * 建筑id */ private Long buildingId; diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/SysCityAreaBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/SysCityAreaBo.java index 97a11f3..530ad9c 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/SysCityAreaBo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/SysCityAreaBo.java @@ -70,11 +70,5 @@ public class SysCityAreaBo extends BaseEntity { @NotBlank(message = "维度不能为空", groups = { AddGroup.class, EditGroup.class }) private String lat; - /** - * 数据状态:1有效,0无效 - */ - @NotNull(message = "数据状态:1有效,0无效不能为空", groups = { AddGroup.class, EditGroup.class }) - private Long dataState; - } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbBuildingBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbBuildingBo.java index 607d7eb..3fd3010 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbBuildingBo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbBuildingBo.java @@ -32,8 +32,8 @@ public class TbBuildingBo extends BaseEntity { /** * 园区编码 */ - @NotBlank(message = "园区编码不能为空", groups = {AddGroup.class, EditGroup.class}) - private String communityId; + @NotBlank(message = "园区id不能为空", groups = {AddGroup.class, EditGroup.class}) + private Long communityId; /** * 建筑名称 @@ -41,24 +41,6 @@ public class TbBuildingBo extends BaseEntity { @NotBlank(message = "建筑名称不能为空", groups = {AddGroup.class, EditGroup.class}) private String buildingName; - /** - * 省 - */ - @NotBlank(message = "省不能为空", groups = {AddGroup.class, EditGroup.class}) - private String province; - - /** - * 市 - */ - @NotBlank(message = "市不能为空", groups = {AddGroup.class, EditGroup.class}) - private String city; - - /** - * 区 - */ - @NotBlank(message = "区不能为空", groups = {AddGroup.class, EditGroup.class}) - private String district; - /** * 总层数 */ diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbCommunityBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbCommunityBo.java index ffe1510..8cb9e33 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbCommunityBo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbCommunityBo.java @@ -1,15 +1,16 @@ package org.dromara.property.domain.bo; -import org.dromara.property.domain.TbCommunity; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; import io.github.linpeilie.annotations.AutoMapper; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; import lombok.Data; import lombok.EqualsAndHashCode; -import jakarta.validation.constraints.*; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.property.domain.TbCommunity; + import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; /** * 小区业务对象 tb_community @@ -25,55 +26,57 @@ public class TbCommunityBo extends BaseEntity { /** * */ - @NotNull(message = "不能为空", groups = { EditGroup.class }) + @NotNull(message = "不能为空", groups = {EditGroup.class}) private Long id; /** * 社区名称 */ - @NotBlank(message = "社区名称不能为空", groups = { AddGroup.class, EditGroup.class }) + @NotBlank(message = "社区名称不能为空", groups = {AddGroup.class, EditGroup.class}) private String communityName; /** * 社区类型 1:园区,2:小区 */ - @NotNull(message = "社区类型 1:园区,2:小区不能为空", groups = { AddGroup.class, EditGroup.class }) + @NotNull(message = "社区类型 1:园区,2:小区不能为空", groups = {AddGroup.class, EditGroup.class}) private Integer communityType; + @NotBlank(message = "城市不能为null", groups = {AddGroup.class, EditGroup.class}) + private String cityFullCode; + + private String cityFullName; + /** * 省 */ - @NotBlank(message = "省不能为空", groups = { AddGroup.class, EditGroup.class }) private String province; /** * 市 */ - @NotBlank(message = "市不能为空", groups = { AddGroup.class, EditGroup.class }) private String city; /** * 区 */ - @NotBlank(message = "区不能为空", groups = { AddGroup.class, EditGroup.class }) private String district; /** * 地址 */ - @NotBlank(message = "地址不能为空", groups = { AddGroup.class, EditGroup.class }) + @NotBlank(message = "地址不能为空", groups = {AddGroup.class, EditGroup.class}) private String addr; /** * 经度 */ - @NotBlank(message = "经度不能为空", groups = { AddGroup.class, EditGroup.class }) + @NotBlank(message = "经度不能为空", groups = {AddGroup.class, EditGroup.class}) private String lon; /** * 维度 */ - @NotBlank(message = "维度不能为空", groups = { AddGroup.class, EditGroup.class }) + @NotBlank(message = "维度不能为空", groups = {AddGroup.class, EditGroup.class}) private String lat; /** diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbFloorBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbFloorBo.java index 27f717e..65e65bc 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbFloorBo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbFloorBo.java @@ -29,7 +29,7 @@ public class TbFloorBo extends BaseEntity { /** * 单元编码 */ - @NotBlank(message = "单元编码不能为空", groups = { AddGroup.class, EditGroup.class }) + @NotNull(message = "单元编码不能为空", groups = { AddGroup.class, EditGroup.class }) private Long unitId; /** diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbRoomBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbRoomBo.java index dd885b0..1316310 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbRoomBo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbRoomBo.java @@ -29,7 +29,7 @@ public class TbRoomBo extends BaseEntity { /** * 所属楼层ID */ - @NotBlank(message = "所属楼层ID不能为空", groups = { AddGroup.class, EditGroup.class }) + @NotNull(message = "所属楼层ID不能为空", groups = { AddGroup.class, EditGroup.class }) private Long floorId; /** diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbUnitBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbUnitBo.java index 469f985..557eec3 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbUnitBo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbUnitBo.java @@ -29,7 +29,7 @@ public class TbUnitBo extends BaseEntity { /** * 建筑名称 */ - @NotBlank(message = "建筑名称不能为空", groups = { AddGroup.class, EditGroup.class }) + @NotNull(message = "建筑名称不能为空", groups = { AddGroup.class, EditGroup.class }) private Long buildingId; /** diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/convert/SysCityAreaCovert.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/convert/SysCityAreaCovert.java index 704bf2d..a905f73 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/convert/SysCityAreaCovert.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/convert/SysCityAreaCovert.java @@ -2,6 +2,7 @@ package org.dromara.property.domain.convert; import org.dromara.property.domain.SysCityArea; import org.dromara.property.domain.vo.CityAreaTreeVo; +import org.dromara.property.domain.vo.SysCityAreaVo; import org.mapstruct.Mapper; import org.mapstruct.MappingConstants; import org.mapstruct.ReportingPolicy; @@ -21,4 +22,6 @@ public interface SysCityAreaCovert { List entity2Vo(List cityAreas); + List vo2TreeVo(List cityAreas); + } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CityAreaTreeVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CityAreaTreeVo.java index 7800fed..7fff38a 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CityAreaTreeVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CityAreaTreeVo.java @@ -1,11 +1,14 @@ package org.dromara.property.domain.vo; +import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; import org.dromara.common.core.domain.TreeEntity; +import org.dromara.property.domain.SysCityArea; import java.util.List; @Data +@AutoMapper(target = SysCityArea.class) public class CityAreaTreeVo implements TreeEntity { /** diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/SysCityAreaVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/SysCityAreaVo.java index b71cc60..3109990 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/SysCityAreaVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/SysCityAreaVo.java @@ -77,11 +77,4 @@ public class SysCityAreaVo implements Serializable { @ExcelProperty(value = "维度") private String lat; - /** - * 数据状态:1有效,0无效 - */ - @ExcelProperty(value = "数据状态:1有效,0无效") - private Long dataState; - - } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbBuildingVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbBuildingVo.java index 7579d03..3f89237 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbBuildingVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbBuildingVo.java @@ -1,21 +1,18 @@ package org.dromara.property.domain.vo; -import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; -import org.dromara.property.domain.TbBuilding; import cn.idev.excel.annotation.ExcelIgnoreUnannotated; import cn.idev.excel.annotation.ExcelProperty; -import org.dromara.common.excel.annotation.ExcelDictFormat; -import org.dromara.common.excel.convert.ExcelDictConvert; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; +import org.dromara.common.translation.annotation.Translation; +import org.dromara.common.translation.constant.TransConstant; +import org.dromara.property.domain.TbBuilding; import java.io.Serial; import java.io.Serializable; import java.util.Date; - /** * 建筑视图对象 tb_building * @@ -45,24 +42,6 @@ public class TbBuildingVo implements Serializable { @ExcelProperty(value = "建筑名称") private String buildingName; - /** - * 省 - */ - @ExcelProperty(value = "省") - private String province; - - /** - * 市 - */ - @ExcelProperty(value = "市") - private String city; - - /** - * 区 - */ - @ExcelProperty(value = "区") - private String district; - /** * 总层数 */ @@ -81,6 +60,9 @@ public class TbBuildingVo implements Serializable { @ExcelProperty(value = "建筑类型('1:住宅','2:商业','3:混合')") private Integer buildType; + @Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "buildType", other = "sis_build_use_type") + private String buildTypeName; + /** * 电梯数量 */ @@ -111,12 +93,6 @@ public class TbBuildingVo implements Serializable { @ExcelProperty(value = "维度") private String lat; - /** - * 产权性质(1:自持,2:承租,3:自持+承租,4:政府免费使用) - */ - @ExcelProperty(value = "产权性质(1:自持,2:承租,3:自持+承租,4:政府免费使用)") - private Integer cqxz; - /** * 排序字段 */ diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbCommunityVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbCommunityVo.java index f8f9acc..9e4853f 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbCommunityVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbCommunityVo.java @@ -1,21 +1,16 @@ package org.dromara.property.domain.vo; -import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; -import org.dromara.property.domain.TbCommunity; import cn.idev.excel.annotation.ExcelIgnoreUnannotated; import cn.idev.excel.annotation.ExcelProperty; -import org.dromara.common.excel.annotation.ExcelDictFormat; -import org.dromara.common.excel.convert.ExcelDictConvert; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; +import org.dromara.property.domain.TbCommunity; import java.io.Serial; import java.io.Serializable; import java.util.Date; - /** * 小区视图对象 tb_community * @@ -31,7 +26,7 @@ public class TbCommunityVo implements Serializable { private static final long serialVersionUID = 1L; /** - * + * */ @ExcelProperty(value = "") private Long id; @@ -48,6 +43,10 @@ public class TbCommunityVo implements Serializable { @ExcelProperty(value = "社区类型 1:园区,2:小区") private Long communityType; + private String cityFullCode; + + private String cityFullName; + /** * 省 */ @@ -91,7 +90,7 @@ public class TbCommunityVo implements Serializable { private Long area; /** - * + * */ @ExcelProperty(value = "") private Date builtYear; diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbFloorVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbFloorVo.java index 247115d..69802b6 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbFloorVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbFloorVo.java @@ -34,6 +34,17 @@ public class TbFloorVo implements Serializable { @ExcelProperty(value = "") private Long id; + /** + * 社区id + */ + private Long communityId; + + /** + * 建筑名称 + */ + @ExcelProperty(value = "建筑名称") + private Long buildingId; + /** * 单元编码 */ diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbRoomVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbRoomVo.java index b7ca069..90b87bf 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbRoomVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbRoomVo.java @@ -1,17 +1,17 @@ package org.dromara.property.domain.vo; -import org.dromara.property.domain.TbRoom; import cn.idev.excel.annotation.ExcelIgnoreUnannotated; import cn.idev.excel.annotation.ExcelProperty; -import org.dromara.common.excel.annotation.ExcelDictFormat; -import org.dromara.common.excel.convert.ExcelDictConvert; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import org.dromara.common.translation.annotation.Translation; +import org.dromara.common.translation.constant.TransConstant; +import org.dromara.property.domain.TbRoom; import java.io.Serial; import java.io.Serializable; -import java.util.Date; - /** @@ -34,6 +34,23 @@ public class TbRoomVo implements Serializable { @ExcelProperty(value = "") private Long id; + /** + * 社区id + */ + private Long communityId; + + /** + * 建筑名称 + */ + @ExcelProperty(value = "建筑名称") + private Long buildingId; + + /** + * 单元编码 + */ + @ExcelProperty(value = "单元编码") + private Long unitId; + /** * 所属楼层ID */ @@ -52,6 +69,9 @@ public class TbRoomVo implements Serializable { @ExcelProperty(value = "房间类型('住宅','商铺','办公室','设备间','公共区域')") private Integer roomType; + @Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "roomType", other = "room_type") + private String roomTypeName; + /** * 面积(平方米) */ @@ -67,9 +87,13 @@ public class TbRoomVo implements Serializable { /** * 朝向('东','南','西','北','东南','东北','西南','西北') */ + @ExcelProperty(value = "朝向('东','南','西','北','东南','东北','西南','西北')") private Integer orientation; + @Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "orientation", other = "direction_towards") + private Integer orientationName; + /** * 是否可售 */ @@ -83,5 +107,7 @@ public class TbRoomVo implements Serializable { @ExcelDictFormat(readConverterExp = "'=空置','已售','已租','自用'") private Integer status; + @Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "status", other = "wy_fjzt") + private String statusName; } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbUnitVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbUnitVo.java index 22a1270..0afc4b5 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbUnitVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbUnitVo.java @@ -34,6 +34,8 @@ public class TbUnitVo implements Serializable { @ExcelProperty(value = "主键id") private Long id; + private Long communityId; + /** * 建筑名称 */ diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/SysCityAreaMapper.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/SysCityAreaMapper.java index 385368d..786b181 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/SysCityAreaMapper.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/SysCityAreaMapper.java @@ -1,16 +1,23 @@ package org.dromara.property.mapper; -import org.dromara.property.domain.SysCityArea; -import org.dromara.property.domain.vo.SysCityAreaVo; +import org.apache.ibatis.annotations.Select; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import org.dromara.property.domain.SysCityArea; +import org.dromara.property.domain.vo.CityAreaTreeVo; +import org.dromara.property.domain.vo.SysCityAreaVo; + +import java.util.List; /** * 行政区划 -Mapper接口 + * Mapper接口 * * @author mocheng * @date 2025-06-18 */ public interface SysCityAreaMapper extends BaseMapperPlus { + @Select("select * from sys_city_area") + List seleAll(); + } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ITbCommunityService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ITbCommunityService.java index a5f9b86..81764d1 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ITbCommunityService.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ITbCommunityService.java @@ -80,6 +80,6 @@ public interface ITbCommunityService { * @param level 加载等级 * @return 树结构 */ - List> tree(Integer level,String tenantId); + List> tree(Integer level,String tenantId); } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/SysCityAreaServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/SysCityAreaServiceImpl.java index 037cb0b..90648fa 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/SysCityAreaServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/SysCityAreaServiceImpl.java @@ -91,7 +91,6 @@ public class SysCityAreaServiceImpl implements ISysCityAreaService { lqw.like(StringUtils.isNotBlank(bo.getParentAreaName()), SysCityArea::getParentAreaName, bo.getParentAreaName()); lqw.eq(StringUtils.isNotBlank(bo.getLon()), SysCityArea::getLon, bo.getLon()); lqw.eq(StringUtils.isNotBlank(bo.getLat()), SysCityArea::getLat, bo.getLat()); - lqw.eq(bo.getDataState() != null, SysCityArea::getDataState, bo.getDataState()); return lqw; } @@ -150,12 +149,7 @@ public class SysCityAreaServiceImpl implements ISysCityAreaService { @Override public List queryTreeList() { - // 查询所有的行政区划数据 - List cityAreas = baseMapper.selectList(null); - if (CollectionUtil.isEmpty(cityAreas)) { - return new ArrayList<>(); - } - List vo = SysCityAreaCovert.INSTANCE.entity2Vo(cityAreas); + List vo = baseMapper.seleAll(); return TreeUtils.build(vo, "0"); } } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbBuildingServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbBuildingServiceImpl.java index 119fe5d..d4ed2a1 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbBuildingServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbBuildingServiceImpl.java @@ -1,5 +1,6 @@ package org.dromara.property.service.impl; +import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -12,7 +13,9 @@ import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.property.domain.TbBuilding; import org.dromara.property.domain.bo.TbBuildingBo; import org.dromara.property.domain.vo.TbBuildingVo; +import org.dromara.property.domain.vo.TbCommunityVo; import org.dromara.property.mapper.TbBuildingMapper; +import org.dromara.property.mapper.TbCommunityMapper; import org.dromara.property.service.ITbBuildingService; import org.springframework.stereotype.Service; @@ -32,6 +35,7 @@ import java.util.Map; public class TbBuildingServiceImpl implements ITbBuildingService { private final TbBuildingMapper baseMapper; + private final TbCommunityMapper communityMapper; /** * 查询建筑 @@ -76,9 +80,6 @@ public class TbBuildingServiceImpl implements ITbBuildingService { lqw.orderByAsc(TbBuilding::getId); lqw.eq(bo.getCommunityId() != null, TbBuilding::getCommunityId, bo.getCommunityId()); lqw.like(StringUtils.isNotBlank(bo.getBuildingName()), TbBuilding::getBuildingName, bo.getBuildingName()); - lqw.eq(StringUtils.isNotBlank(bo.getProvince()), TbBuilding::getProvince, bo.getProvince()); - lqw.eq(StringUtils.isNotBlank(bo.getCity()), TbBuilding::getCity, bo.getCity()); - lqw.eq(StringUtils.isNotBlank(bo.getDistrict()), TbBuilding::getDistrict, bo.getDistrict()); lqw.eq(bo.getFloorCount() != null, TbBuilding::getFloorCount, bo.getFloorCount()); lqw.eq(bo.getUnitCount() != null, TbBuilding::getUnitCount, bo.getUnitCount()); lqw.eq(bo.getBuildType() != null, TbBuilding::getBuildType, bo.getBuildType()); @@ -99,6 +100,9 @@ public class TbBuildingServiceImpl implements ITbBuildingService { */ @Override public Boolean insertByBo(TbBuildingBo bo) { + // 检验社区是否存在 + TbCommunityVo tbCommunityVo = communityMapper.selectVoById(bo.getCommunityId()); + Assert.notNull(tbCommunityVo, "社区:{},不存在。", bo.getCommunityId()); TbBuilding add = MapstructUtils.convert(bo, TbBuilding.class); validEntityBeforeSave(add); boolean flag = baseMapper.insert(add) > 0; diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbCommunityServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbCommunityServiceImpl.java index cdbfe1b..146c5ad 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbCommunityServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbCommunityServiceImpl.java @@ -1,5 +1,7 @@ package org.dromara.property.service.impl; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -196,6 +198,12 @@ public class TbCommunityServiceImpl implements ITbCommunityService { */ @Override public Boolean insertByBo(TbCommunityBo bo) { + // 处理cityFullCode + String[] split = bo.getCityFullCode().split("/"); + Assert.isTrue(split.length == 3, "获取城市信息失败"); + bo.setProvince(split[0]); + bo.setCity(split[1]); + bo.setDistrict(split[2]); TbCommunity add = MapstructUtils.convert(bo, TbCommunity.class); validEntityBeforeSave(add); boolean flag = baseMapper.insert(add) > 0; @@ -213,6 +221,11 @@ public class TbCommunityServiceImpl implements ITbCommunityService { */ @Override public Boolean updateByBo(TbCommunityBo bo) { + String[] split = bo.getCityFullCode().split("/"); + Assert.isTrue(split.length == 3, "获取城市信息失败"); + bo.setProvince(split[0]); + bo.setCity(split[1]); + bo.setDistrict(split[2]); TbCommunity update = MapstructUtils.convert(bo, TbCommunity.class); validEntityBeforeSave(update); return baseMapper.updateById(update) > 0; 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 f86daa9..2c361e7 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 @@ -1,5 +1,6 @@ package org.dromara.property.service.impl; +import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -12,8 +13,10 @@ import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.property.domain.TbFloor; import org.dromara.property.domain.bo.TbFloorBo; import org.dromara.property.domain.vo.TbFloorVo; +import org.dromara.property.domain.vo.TbUnitVo; import org.dromara.property.mapper.TbFloorMapper; import org.dromara.property.service.ITbFloorService; +import org.dromara.property.service.ITbUnitService; import org.springframework.stereotype.Service; import java.util.Collection; @@ -32,6 +35,7 @@ import java.util.Map; public class TbFloorServiceImpl implements ITbFloorService { private final TbFloorMapper baseMapper; + private final ITbUnitService tbUnitService; /** * 查询楼层 @@ -91,7 +95,12 @@ public class TbFloorServiceImpl implements ITbFloorService { */ @Override public Boolean insertByBo(TbFloorBo bo) { + // 验证单元是否存在 + TbUnitVo tbUnitVo = tbUnitService.queryById(bo.getUnitId()); + Assert.notNull(tbUnitVo, "单元:{},不存在。", bo.getUnitId()); 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) { diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbRoomServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbRoomServiceImpl.java index 0f01008..fd55cb0 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbRoomServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbRoomServiceImpl.java @@ -1,5 +1,6 @@ package org.dromara.property.service.impl; +import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -11,8 +12,10 @@ import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.property.domain.TbRoom; import org.dromara.property.domain.bo.TbRoomBo; +import org.dromara.property.domain.vo.TbFloorVo; import org.dromara.property.domain.vo.TbRoomVo; import org.dromara.property.mapper.TbRoomMapper; +import org.dromara.property.service.ITbFloorService; import org.dromara.property.service.ITbRoomService; import org.springframework.stereotype.Service; @@ -32,6 +35,7 @@ import java.util.Map; public class TbRoomServiceImpl implements ITbRoomService { private final TbRoomMapper baseMapper; + private final ITbFloorService tbFloorService; /** * 查询房间信息 @@ -93,8 +97,12 @@ public class TbRoomServiceImpl implements ITbRoomService { */ @Override public Boolean insertByBo(TbRoomBo bo) { + TbFloorVo tbFloorVo = tbFloorService.queryById(bo.getFloorId()); + Assert.notNull(tbFloorVo, "楼层:{},不存在。", bo.getFloorId()); TbRoom add = MapstructUtils.convert(bo, TbRoom.class); - validEntityBeforeSave(add); + add.setCommunityId(tbFloorVo.getCommunityId()); + add.setBuildingId(tbFloorVo.getBuildingId()); + add.setUnitId(tbFloorVo.getUnitId()); boolean flag = baseMapper.insert(add) > 0; if (flag) { bo.setId(add.getId()); diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbUnitServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbUnitServiceImpl.java index 1f5d159..2b68560 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbUnitServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/TbUnitServiceImpl.java @@ -1,5 +1,6 @@ package org.dromara.property.service.impl; +import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -11,8 +12,10 @@ import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.property.domain.TbUnit; import org.dromara.property.domain.bo.TbUnitBo; +import org.dromara.property.domain.vo.TbBuildingVo; import org.dromara.property.domain.vo.TbUnitVo; import org.dromara.property.mapper.TbUnitMapper; +import org.dromara.property.service.ITbBuildingService; import org.dromara.property.service.ITbUnitService; import org.springframework.stereotype.Service; @@ -32,6 +35,7 @@ import java.util.Map; public class TbUnitServiceImpl implements ITbUnitService { private final TbUnitMapper baseMapper; + private final ITbBuildingService buildingService; /** * 查询单元 @@ -90,7 +94,11 @@ public class TbUnitServiceImpl implements ITbUnitService { */ @Override public Boolean insertByBo(TbUnitBo bo) { + // 检验建筑是否存在 + TbBuildingVo tbBuildingVo = buildingService.queryById(bo.getBuildingId()); + Assert.notNull(tbBuildingVo, "建筑:{},不存在。", bo.getBuildingId()); TbUnit add = MapstructUtils.convert(bo, TbUnit.class); + add.setCommunityId(tbBuildingVo.getCommunityId()); validEntityBeforeSave(add); boolean flag = baseMapper.insert(add) > 0; if (flag) {