diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 3cf5b38..09688b2 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -2,6 +2,7 @@ + diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml index 712ab9d..6325f64 100644 --- a/.idea/jarRepositories.xml +++ b/.idea/jarRepositories.xml @@ -1,11 +1,31 @@ + + + + + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 141ab30..04dd8e0 100644 --- a/pom.xml +++ b/pom.xml @@ -186,6 +186,16 @@ springfox-swagger-ui 2.9.2 + + com.alibaba + easyexcel + 3.3.2 + + + cglib + cglib + 3.3.0 + diff --git a/src/main/java/com/eden/room/common/enums/BusinessStatusEnum.java b/src/main/java/com/eden/room/common/enums/BusinessStatusEnum.java index d549b86..e45febf 100644 --- a/src/main/java/com/eden/room/common/enums/BusinessStatusEnum.java +++ b/src/main/java/com/eden/room/common/enums/BusinessStatusEnum.java @@ -10,34 +10,35 @@ public enum BusinessStatusEnum { /** 不招商 */ NO_BUSINESS("2","不招商"); - + + + private final String key; + private final String value; public String getKey() { return key; } - private final String key; + public String getValue() { + return value; + } BusinessStatusEnum(String key, String value) { this.value = value; this.key = key; } - - public String getValue() { - return value; - } - + /** * 根据值获取枚举 * * @param value 枚举值 * @return 枚举 */ - public static BusinessStatusEnum getByValue(String value) { + public static String getByValue(String value) { for (BusinessStatusEnum status : values()) { - if (status.getKey().equals(value)) { - return status; + if (status.getValue().equals(value)) { + return status.getKey(); } } return null; @@ -59,10 +60,15 @@ public enum BusinessStatusEnum { /** * 校验枚举值是否有效 * - * @param value 枚举值 + * @param key 枚举值 * @return 是否有效 */ - public static boolean isValid(String value) { - return getByValue(value) != null; + public static boolean isValid(String key) { + for (BusinessStatusEnum status : values()) { + if (status.getKey().equals(key)) { + return true; + } + } + return false; } } \ No newline at end of file diff --git a/src/main/java/com/eden/room/common/enums/DecorationStatusEnum.java b/src/main/java/com/eden/room/common/enums/DecorationStatusEnum.java index 7145ac5..881aae3 100644 --- a/src/main/java/com/eden/room/common/enums/DecorationStatusEnum.java +++ b/src/main/java/com/eden/room/common/enums/DecorationStatusEnum.java @@ -19,6 +19,8 @@ public enum DecorationStatusEnum { /** 豪装 */ LUXURY("5","豪装"); + + private final String key; private final String value; @@ -26,27 +28,25 @@ public enum DecorationStatusEnum { return key; } - private final String key; + public String getValue() { + return value; + } DecorationStatusEnum(String key, String value) { this.value = value; this.key = key; } - - public String getValue() { - return value; - } - + /** * 根据值获取枚举 * * @param value 枚举值 * @return 枚举 */ - public static DecorationStatusEnum getByValue(String value) { + public static String getByValue(String value) { for (DecorationStatusEnum status : values()) { - if (status.getKey().equals(value)) { - return status; + if (status.getValue().equals(value)) { + return status.getKey(); } } return null; @@ -68,10 +68,15 @@ public enum DecorationStatusEnum { /** * 校验枚举值是否有效 * - * @param value 枚举值 + * @param key 枚举值 * @return 是否有效 */ - public static boolean isValid(String value) { - return getByValue(value) != null; + public static boolean isValid(String key) { + for (DecorationStatusEnum status : values()) { + if (status.getKey().equals(key)) { + return true; + } + } + return false; } } \ No newline at end of file diff --git a/src/main/java/com/eden/room/common/enums/ImageTypeEnum.java b/src/main/java/com/eden/room/common/enums/ImageTypeEnum.java index d47a058..6da999e 100644 --- a/src/main/java/com/eden/room/common/enums/ImageTypeEnum.java +++ b/src/main/java/com/eden/room/common/enums/ImageTypeEnum.java @@ -10,46 +10,65 @@ public enum ImageTypeEnum { /** 户型图 */ FLOOR_PLAN("2","户型图"); - + + + private final String key; + private final String value; public String getKey() { return key; } - private final String key; + public String getValue() { + return value; + } ImageTypeEnum(String key, String value) { this.value = value; this.key = key; } - - public String getValue() { - return value; - } - + /** * 根据值获取枚举 * * @param value 枚举值 * @return 枚举 */ - public static ImageTypeEnum getByValue(String value) { - for (ImageTypeEnum type : values()) { - if (type.getKey().equals(value)) { - return type; + public static String getByValue(String value) { + for (ImageTypeEnum status : values()) { + if (status.getValue().equals(value)) { + return status.getKey(); + } + } + return null; + } + /** + * 根据枚举获取值 + * + * @param key + * @return 枚举 + */ + public static String getValue(String key) { + for (ImageTypeEnum status : values()) { + if (status.getKey().equals(key)) { + return status.getValue(); } } return null; } - /** * 校验枚举值是否有效 * - * @param value 枚举值 + * @param key 枚举值 * @return 是否有效 */ - public static boolean isValid(String value) { - return getByValue(value) != null; + public static boolean isValid(String key) { + for (ImageTypeEnum status : values()) { + if (status.getKey().equals(key)) { + return true; + } + } + return false; } } \ No newline at end of file diff --git a/src/main/java/com/eden/room/common/enums/PriceUnitEnum.java b/src/main/java/com/eden/room/common/enums/PriceUnitEnum.java index 6390291..bae5094 100644 --- a/src/main/java/com/eden/room/common/enums/PriceUnitEnum.java +++ b/src/main/java/com/eden/room/common/enums/PriceUnitEnum.java @@ -5,42 +5,43 @@ package com.eden.room.common.enums; */ public enum PriceUnitEnum { - /** 元/㎡/天 */ - PRICE_UNIT_ENUM_1("1","元/㎡/天"), + /** 元/㎡·天 */ + PRICE_UNIT_ENUM_1("1","元/m²·天"), - /** 元/㎡/月 */ - PRICE_UNIT_ENUM_2("2","元/㎡/月"), + /** 元/㎡·月 */ + PRICE_UNIT_ENUM_2("2","元/m²·月"), PRICE_UNIT_ENUM_3("3","元/月"), PRICE_UNIT_ENUM_4("4","元/天"), PRICE_UNIT_ENUM_5("5","元/年"); + + private final String key; + private final String value; public String getKey() { return key; } - private final String key; + public String getValue() { + return value; + } PriceUnitEnum(String key, String value) { this.value = value; this.key = key; } - - public String getValue() { - return value; - } - + /** * 根据值获取枚举 * * @param value 枚举值 * @return 枚举 */ - public static PriceUnitEnum getByValue(String value) { + public static String getByValue(String value) { for (PriceUnitEnum status : values()) { if (status.getValue().equals(value)) { - return status; + return status.getKey(); } } return null; @@ -62,10 +63,15 @@ public enum PriceUnitEnum { /** * 校验枚举值是否有效 * - * @param value 枚举值 + * @param key 枚举值 * @return 是否有效 */ - public static boolean isValid(String value) { - return getByValue(value) != null; + public static boolean isValid(String key) { + for (PriceUnitEnum status : values()) { + if (status.getKey().equals(key)) { + return true; + } + } + return false; } } \ No newline at end of file diff --git a/src/main/java/com/eden/room/common/enums/PropertyNatureEnum.java b/src/main/java/com/eden/room/common/enums/PropertyNatureEnum.java index e6418fe..44bcd0a 100644 --- a/src/main/java/com/eden/room/common/enums/PropertyNatureEnum.java +++ b/src/main/java/com/eden/room/common/enums/PropertyNatureEnum.java @@ -13,46 +13,65 @@ public enum PropertyNatureEnum { /** 自持+承租 */ MIXED("3","自持+承租"); - + + + private final String key; + private final String value; public String getKey() { return key; } - private final String key; + public String getValue() { + return value; + } PropertyNatureEnum(String key, String value) { this.value = value; this.key = key; } - - public String getValue() { - return value; - } - + /** * 根据值获取枚举 * * @param value 枚举值 * @return 枚举 */ - public static PropertyNatureEnum getByValue(String value) { - for (PropertyNatureEnum nature : values()) { - if (nature.getKey().equals(value)) { - return nature; + public static String getByValue(String value) { + for (PropertyNatureEnum status : values()) { + if (status.getValue().equals(value)) { + return status.getKey(); + } + } + return null; + } + /** + * 根据枚举获取值 + * + * @param key + * @return 枚举 + */ + public static String getValue(String key) { + for (PropertyNatureEnum status : values()) { + if (status.getKey().equals(key)) { + return status.getValue(); } } return null; } - /** * 校验枚举值是否有效 * - * @param value 枚举值 + * @param key 枚举值 * @return 是否有效 */ - public static boolean isValid(String value) { - return getByValue(value) != null; + public static boolean isValid(String key) { + for (PropertyNatureEnum status : values()) { + if (status.getKey().equals(key)) { + return true; + } + } + return false; } } \ No newline at end of file diff --git a/src/main/java/com/eden/room/common/enums/RentalStatusEnum.java b/src/main/java/com/eden/room/common/enums/RentalStatusEnum.java index c962baf..fb24585 100644 --- a/src/main/java/com/eden/room/common/enums/RentalStatusEnum.java +++ b/src/main/java/com/eden/room/common/enums/RentalStatusEnum.java @@ -13,34 +13,34 @@ public enum RentalStatusEnum { /** 下架 */ - + + private final String key; + private final String value; public String getKey() { return key; } - private final String key; + public String getValue() { + return value; + } RentalStatusEnum(String key, String value) { this.value = value; this.key = key; } - - public String getValue() { - return value; - } - + /** * 根据值获取枚举 * * @param value 枚举值 * @return 枚举 */ - public static RentalStatusEnum getByValue(String value) { + public static String getByValue(String value) { for (RentalStatusEnum status : values()) { - if (status.getKey().equals(value)) { - return status; + if (status.getValue().equals(value)) { + return status.getKey(); } } return null; @@ -62,10 +62,15 @@ public enum RentalStatusEnum { /** * 校验枚举值是否有效 * - * @param value 枚举值 + * @param key 枚举值 * @return 是否有效 */ - public static boolean isValid(String value) { - return getByValue(value) != null; + public static boolean isValid(String key) { + for (RentalStatusEnum status : values()) { + if (status.getKey().equals(key)) { + return true; + } + } + return false; } } \ No newline at end of file diff --git a/src/main/java/com/eden/room/common/enums/RoomStatusEnum.java b/src/main/java/com/eden/room/common/enums/RoomStatusEnum.java index 7f4565d..b443268 100644 --- a/src/main/java/com/eden/room/common/enums/RoomStatusEnum.java +++ b/src/main/java/com/eden/room/common/enums/RoomStatusEnum.java @@ -13,48 +13,65 @@ public enum RoomStatusEnum { /** 私密 */ PRIVATE("3","私密"); - - ; + + private final String key; + private final String value; public String getKey() { return key; } - private final String key; - - RoomStatusEnum(String key,String value) { - this.key = key; - this.value = value; - } - public String getValue() { return value; } - + + RoomStatusEnum(String key, String value) { + this.value = value; + this.key = key; + } + /** * 根据值获取枚举 * * @param value 枚举值 * @return 枚举 */ - public static RoomStatusEnum getByValue(String value) { + public static String getByValue(String value) { for (RoomStatusEnum status : values()) { - if (status.getKey().equals(value)) { - return status; + if (status.getValue().equals(value)) { + return status.getKey(); + } + } + return null; + } + /** + * 根据枚举获取值 + * + * @param key + * @return 枚举 + */ + public static String getValue(String key) { + for (RoomStatusEnum status : values()) { + if (status.getKey().equals(key)) { + return status.getValue(); } } return null; } - /** * 校验枚举值是否有效 * - * @param value 枚举值 + * @param key 枚举值 * @return 是否有效 */ - public static boolean isValid(String value) { - return getByValue(value) != null; + public static boolean isValid(String key) { + for (RoomStatusEnum status : values()) { + if (status.getKey().equals(key)) { + return true; + } + } + return false; } } \ No newline at end of file diff --git a/src/main/java/com/eden/room/common/enums/RoomTypeEnum.java b/src/main/java/com/eden/room/common/enums/RoomTypeEnum.java index 87a32de..518fb15 100644 --- a/src/main/java/com/eden/room/common/enums/RoomTypeEnum.java +++ b/src/main/java/com/eden/room/common/enums/RoomTypeEnum.java @@ -28,45 +28,65 @@ public enum RoomTypeEnum { /** 其他 */ OTHER("8","其他"); - - private final String value; + + private final String key; + private final String value; + public String getKey() { return key; } + public String getValue() { + return value; + } + RoomTypeEnum(String key, String value) { this.value = value; this.key = key; } - - public String getValue() { - return value; - } - + /** * 根据值获取枚举 * * @param value 枚举值 * @return 枚举 */ - public static RoomTypeEnum getByValue(String value) { - for (RoomTypeEnum type : values()) { - if (type.getKey().equals(value)) { - return type; + public static String getByValue(String value) { + for (RoomTypeEnum status : values()) { + if (status.getValue().equals(value)) { + return status.getKey(); + } + } + return null; + } + /** + * 根据枚举获取值 + * + * @param key + * @return 枚举 + */ + public static String getValue(String key) { + for (RoomTypeEnum status : values()) { + if (status.getKey().equals(key)) { + return status.getValue(); } } return null; } - /** * 校验枚举值是否有效 * - * @param value 枚举值 + * @param key 枚举值 * @return 是否有效 */ - public static boolean isValid(String value) { - return getByValue(value) != null; + public static boolean isValid(String key) { + for (RoomTypeEnum status : values()) { + if (status.getKey().equals(key)) { + return true; + } + } + return false; } } \ No newline at end of file diff --git a/src/main/java/com/eden/room/common/enums/VirtualFlagEnum.java b/src/main/java/com/eden/room/common/enums/VirtualFlagEnum.java new file mode 100644 index 0000000..2f3bdfa --- /dev/null +++ b/src/main/java/com/eden/room/common/enums/VirtualFlagEnum.java @@ -0,0 +1,71 @@ +package com.eden.room.common.enums; + +public enum VirtualFlagEnum { + + /** 是 */ + YES("1","是"), + + /** 否 */ + NO("0","否"); + + + private final String key; + + private final String value; + + public String getKey() { + return key; + } + + public String getValue() { + return value; + } + + VirtualFlagEnum(String key, String value) { + this.value = value; + this.key = key; + } + + /** + * 根据值获取枚举 + * + * @param value 枚举值 + * @return 枚举 + */ + public static String getByValue(String value) { + for (VirtualFlagEnum status : values()) { + if (status.getValue().equals(value)) { + return status.getKey(); + } + } + return null; + } + /** + * 根据枚举获取值 + * + * @param key + * @return 枚举 + */ + public static String getValue(String key) { + for (VirtualFlagEnum status : values()) { + if (status.getKey().equals(key)) { + return status.getValue(); + } + } + return null; + } + /** + * 校验枚举值是否有效 + * + * @param key 枚举值 + * @return 是否有效 + */ + public static boolean isValid(String key) { + for (VirtualFlagEnum status : values()) { + if (status.getKey().equals(key)) { + return true; + } + } + return false; + } +} diff --git a/src/main/java/com/eden/room/common/enums/WholeFloorFlagEnum.java b/src/main/java/com/eden/room/common/enums/WholeFloorFlagEnum.java new file mode 100644 index 0000000..a3859f2 --- /dev/null +++ b/src/main/java/com/eden/room/common/enums/WholeFloorFlagEnum.java @@ -0,0 +1,71 @@ +package com.eden.room.common.enums; + +public enum WholeFloorFlagEnum { + + /** 是 */ + YES("1","是"), + + /** 否 */ + NO("0","否"); + + + private final String key; + + private final String value; + + public String getKey() { + return key; + } + + public String getValue() { + return value; + } + + WholeFloorFlagEnum(String key, String value) { + this.value = value; + this.key = key; + } + + /** + * 根据值获取枚举 + * + * @param value 枚举值 + * @return 枚举 + */ + public static String getByValue(String value) { + for (WholeFloorFlagEnum status : values()) { + if (status.getValue().equals(value)) { + return status.getKey(); + } + } + return null; + } + /** + * 根据枚举获取值 + * + * @param key + * @return 枚举 + */ + public static String getValue(String key) { + for (WholeFloorFlagEnum status : values()) { + if (status.getKey().equals(key)) { + return status.getValue(); + } + } + return null; + } + /** + * 校验枚举值是否有效 + * + * @param key 枚举值 + * @return 是否有效 + */ + public static boolean isValid(String key) { + for (WholeFloorFlagEnum status : values()) { + if (status.getKey().equals(key)) { + return true; + } + } + return false; + } +} diff --git a/src/main/java/com/eden/room/constant/RoomConstants.java b/src/main/java/com/eden/room/constant/RoomConstants.java new file mode 100644 index 0000000..6835195 --- /dev/null +++ b/src/main/java/com/eden/room/constant/RoomConstants.java @@ -0,0 +1,32 @@ +package com.eden.room.constant; + +/** + * 房源相关常量 + */ +public class RoomConstants { + + // Excel相关常量 + public static final String EXCEL_CONTENT_TYPE = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; + public static final String UTF8 = "utf-8"; + public static final String EXCEL_EXTENSION = ".xlsx"; + public static final int EXCEL_DEFAULT_COLUMN_WIDTH = 15; + public static final String EXCEL_DATE_FORMAT = "yyyy-MM-dd"; + public static final int EXCEL_HEADER_ROW_NUMBER = 1; + public static final long MAX_FILE_SIZE = 1024 * 1024; // 1MB + + public static final String CONTENT_TYPE = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; + public static final String CHARSET = "utf-8"; + private static final String EXPORT_FILE_PREFIX = "房源信息_"; + + // 文件相关常量 + public static final String ROOM_IMPORT_TEMPLATE = "room_import.xlsx"; + public static final String ROOM_IMPORT_RESULT = "room_import_result.xlsx"; + + // 业务相关常量 + public static final String DEL_FLAG_NORMAL = "0"; + public static final String DEFAULT_USERNAME = "admin"; + public static final int BATCH_SIZE = 500; + + + public static final int IMPORT_HEADER_ROW_INDEX = 2; +} \ No newline at end of file diff --git a/src/main/java/com/eden/room/controller/BuildingController.java b/src/main/java/com/eden/room/controller/BuildingController.java index 62a11dd..46841dd 100644 --- a/src/main/java/com/eden/room/controller/BuildingController.java +++ b/src/main/java/com/eden/room/controller/BuildingController.java @@ -53,7 +53,7 @@ public class BuildingController extends BaseController { /** * 新增楼宇信息 */ - @PostMapping + @PostMapping("/add") public Result add(@RequestBody Building building) { if (buildingService.checkBuildingNameExists(building)) { return error("新增楼宇'" + building.getBuildingName() + "'失败,楼宇名称已存在"); @@ -65,7 +65,7 @@ public class BuildingController extends BaseController { /** * 修改楼宇信息 */ - @PutMapping + @PostMapping("/edit") public Result edit(@RequestBody Building building) { int rows = buildingService.updateBuilding(building); return toResult(rows); @@ -74,14 +74,10 @@ public class BuildingController extends BaseController { /** * 删除楼宇信息 */ - @DeleteMapping("/{ids}") - public Result remove(@PathVariable String[] ids) { - try { - int rows = buildingService.deleteBuildingByIds(ids); - return toResult(rows); - } catch (RuntimeException e) { - return error(e.getMessage()); - } + @PostMapping("/remove/{ids}") + public Result remove(@PathVariable List ids) { + int rows = buildingService.deleteBuildingByIds(ids); + return toResult(rows); } /** * 查询楼宇信息列表 diff --git a/src/main/java/com/eden/room/controller/FloorController.java b/src/main/java/com/eden/room/controller/FloorController.java index 333adc1..debaac3 100644 --- a/src/main/java/com/eden/room/controller/FloorController.java +++ b/src/main/java/com/eden/room/controller/FloorController.java @@ -50,7 +50,7 @@ public class FloorController extends BaseController { /** * 新增楼层信息 */ - @PostMapping + @PostMapping("/add") public Result add(@RequestBody Floor floor) { int rows = floorService.insertFloor(floor); return toResult(rows); @@ -59,7 +59,7 @@ public class FloorController extends BaseController { /** * 修改楼层信息 */ - @PutMapping + @PostMapping("/edit") public Result edit(@RequestBody Floor floor) { int rows = floorService.updateFloor(floor); return toResult(rows); @@ -68,14 +68,10 @@ public class FloorController extends BaseController { /** * 删除楼层信息 */ - @DeleteMapping("/{ids}") - public Result remove(@PathVariable String[] ids) { - try { - int rows = floorService.deleteFloorByIds(ids); - return toResult(rows); - } catch (RuntimeException e) { - return error(e.getMessage()); - } + @PostMapping("/remove/{ids}") + public Result remove(@PathVariable List ids) { + int rows = floorService.deleteFloorByIds(ids); + return toResult(rows); } /** diff --git a/src/main/java/com/eden/room/controller/ProjectController.java b/src/main/java/com/eden/room/controller/ProjectController.java index 971c3f5..21d2558 100644 --- a/src/main/java/com/eden/room/controller/ProjectController.java +++ b/src/main/java/com/eden/room/controller/ProjectController.java @@ -50,7 +50,7 @@ public class ProjectController extends BaseController { /** * 新增项目信息 */ - @PostMapping + @PostMapping("/add") public Result add(@RequestBody Project project) { // 校验项目名称是否唯一 if (projectService.checkProjectNameExists(project)) { @@ -63,12 +63,12 @@ public class ProjectController extends BaseController { /** * 修改项目信息 */ - @PutMapping + @PostMapping("/edit") public Result edit(@RequestBody Project project) { -// // 校验项目名称是否唯一 -// if (projectService.checkProjectNameExists(project)) { -// return error("修改项目'" + project.getProjectName() + "'失败,项目名称已存在"); -// } + // 校验项目名称是否唯一 + if (projectService.checkProjectNameExists(project)) { + return error("修改项目'" + project.getProjectName() + "'失败,项目名称已存在"); + } int rows = projectService.updateProject(project); return toResult(rows); } @@ -76,7 +76,7 @@ public class ProjectController extends BaseController { /** * 删除项目信息 */ - @DeleteMapping("/{ids}") + @PostMapping("/remove/{ids}") public Result remove(@PathVariable String[] ids) { try { int rows = projectService.deleteProjectByIds(ids); diff --git a/src/main/java/com/eden/room/controller/RoomController.java b/src/main/java/com/eden/room/controller/RoomController.java index dda7cef..92d6316 100644 --- a/src/main/java/com/eden/room/controller/RoomController.java +++ b/src/main/java/com/eden/room/controller/RoomController.java @@ -20,6 +20,7 @@ import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; import javax.validation.constraints.Null; import java.util.List; import java.util.Map; @@ -42,25 +43,8 @@ public class RoomController { public Result> list(RoomQueryDTO queryDTO, @RequestParam(defaultValue = "1") Integer pageNum, @RequestParam(defaultValue = "10") Integer pageSize) { - Room room = new Room(); - if (queryDTO != null) { - // 设置查询条件 - room.setRoomNumber(queryDTO.getRoomNumber()); - room.setProjectId(queryDTO.getProjectId()); - room.setBuildingId(queryDTO.getBuildingId()); - room.setFloorId(queryDTO.getFloorId()); - room.setRoomType(queryDTO.getRoomType()); - room.setIsVirtual(queryDTO.getIsVirtual()); - room.setBusinessStatus(queryDTO.getBusinessStatus()); - - // 校验枚举值 - if (StringUtils.isNotEmpty(queryDTO.getRoomType()) && !RoomTypeEnum.isValid(queryDTO.getRoomType())) { - return Result.error("无效的房源类型"); - } - } - PageHelper.startPage(pageNum, pageSize); - List list = roomService.selectRoomList(room); + List list = roomService.selectRoomList(queryDTO); return Result.success(new PageInfo<>(list)); } @@ -68,7 +52,7 @@ public class RoomController { * 获取房源详情 */ @GetMapping("/{id}") - public Result getInfo(@PathVariable("id") @NotBlank(message = "房源ID不能为空") Long id) { + public Result getInfo(@PathVariable("id") @NotNull(message = "房源ID不能为空") Long id) { RoomDTO roomDTO = roomService.selectRoomDetailById(id); return Result.success(roomDTO); } @@ -76,42 +60,15 @@ public class RoomController { /** * 新增房源 */ - @PostMapping + @PostMapping("/add") public Result add(@RequestBody @Valid RoomDTO roomDTO) { - // 校验枚举值 - if (StringUtils.isNotEmpty(roomDTO.getRoomType()) && !RoomTypeEnum.isValid(roomDTO.getRoomType())) { - return Result.error("无效的房源类型"); - } - if (StringUtils.isNotEmpty(roomDTO.getRoomStatus()) && !RoomStatusEnum.isValid(roomDTO.getRoomStatus())) { - return Result.error("无效的房源状态"); - } - if (StringUtils.isNotEmpty(roomDTO.getPropertyNature()) && !PropertyNatureEnum.isValid(roomDTO.getPropertyNature())) { - return Result.error("无效的产权性质"); - } - - // 校验招商信息枚举值 - if (roomDTO.getBusinessInfo() != null) { - if (StringUtils.isNotEmpty(roomDTO.getBusinessInfo().getRentalStatus()) && - !RentalStatusEnum.isValid(roomDTO.getBusinessInfo().getRentalStatus())) { - return Result.error("无效的租赁状态"); - } - if (StringUtils.isNotEmpty(roomDTO.getBusinessInfo().getBusinessStatus()) && - !BusinessStatusEnum.isValid(roomDTO.getBusinessInfo().getBusinessStatus())) { - return Result.error("无效的招商状态"); - } - if (StringUtils.isNotEmpty(roomDTO.getBusinessInfo().getDecorationStatus()) && - !DecorationStatusEnum.isValid(roomDTO.getBusinessInfo().getDecorationStatus())) { - return Result.error("无效的装修情况"); - } - } - return Result.success(roomService.insertRoom(roomDTO)); } /** * 修改房源 */ - @PutMapping + @PostMapping("/edit") public Result edit(@RequestBody @Valid RoomDTO roomDTO) { if (roomDTO.getId() == null) { return Result.error("房源ID不能为空"); @@ -125,8 +82,8 @@ public class RoomController { /** * 删除房源 */ - @DeleteMapping("/{id}") - public Result remove(@PathVariable("id") @NotBlank(message = "房源ID不能为空") Long id) { + @PostMapping("/remove/{id}") + public Result remove(@PathVariable("id") @NotNull(message = "房源ID不能为空") Long id) { try { return Result.success(roomService.deleteRoomById(id)); } catch (Exception e) { @@ -134,22 +91,10 @@ public class RoomController { } } - /** - * 批量删除房源,无这个功能 - */ - @DeleteMapping("/batch") - public Result removeBatch(@RequestBody @NotEmpty(message = "房源ID列表不能为空") String[] ids) { - try { - return Result.success(roomService.deleteRoomByIds(ids)); - } catch (Exception e) { - return Result.error(e.getMessage()); - } - } - /** * 修改房源租赁状态 */ - @PutMapping("/status/{id}/{rentalStatus}") + @PostMapping("/status/{id}/{rentalStatus}") public Result updateRentalStatus( @PathVariable("id") @NotBlank(message = "房源ID不能为空") Long id, @PathVariable("rentalStatus") @NotBlank(message = "租赁状态不能为空") String rentalStatus) { @@ -179,7 +124,7 @@ public class RoomController { try { roomService.updateRoomRentalStatus(id, rentalStatus); - return Result.success("修改成功", "000000"); + return Result.success(); } catch (Exception e) { return Result.error(e.getMessage(), "1"); } diff --git a/src/main/java/com/eden/room/controller/RoomTemplateController.java b/src/main/java/com/eden/room/controller/RoomTemplateController.java index ef40304..ba2140f 100644 --- a/src/main/java/com/eden/room/controller/RoomTemplateController.java +++ b/src/main/java/com/eden/room/controller/RoomTemplateController.java @@ -1,34 +1,37 @@ package com.eden.room.controller; -import com.eden.room.common.Result; -import com.eden.room.domain.RoomExport; +import com.alibaba.excel.EasyExcel; +import com.eden.room.constant.RoomConstants; import com.eden.room.domain.dto.RoomExportDTO; import com.eden.room.domain.dto.RoomImportDTO; +import com.eden.room.domain.dto.RoomQueryDTO; +import com.eden.room.service.IBuildingService; +import com.eden.room.service.IFloorService; +import com.eden.room.service.IProjectService; import com.eden.room.service.IRoomService; -import com.eden.room.service.RoomTemplateService; import com.eden.room.utils.ExcelUtil; +import com.eden.room.utils.excel.BigDecimalConverter; +import com.eden.room.utils.excel.ExcelImportListener; +import com.eden.room.utils.excel.RoomImportListener; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.io.ClassPathResource; import org.springframework.http.HttpHeaders; +import org.springframework.validation.Validator; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; -import java.io.File; -import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; import java.util.List; -import java.util.Map; /** * 房源模板下载控制器 @@ -37,15 +40,24 @@ import java.util.Map; @RestController @RequestMapping("/room/template") public class RoomTemplateController { - + private static final Logger log = LoggerFactory.getLogger(RoomTemplateController.class); - - @Autowired - private RoomTemplateService roomTemplateService; - + @Autowired private IRoomService roomService; + @Autowired + private IProjectService projectService; + + @Autowired + private IBuildingService buildingService; + + @Autowired + private IFloorService floorService; + + @Autowired + private Validator validator; + /** * 下载房源导入模板 * @@ -56,18 +68,18 @@ public class RoomTemplateController { public void downloadTemplate(HttpServletResponse response) throws IOException { try { // 设置要下载的文件的名称 - String fileName = "room_import.xlsx"; - + String fileName = RoomConstants.ROOM_IMPORT_TEMPLATE; + // 设置响应头 - response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); - response.setCharacterEncoding("utf-8"); + response.setContentType(RoomConstants.CONTENT_TYPE); + response.setCharacterEncoding(RoomConstants.CHARSET); String encodedFileName = URLEncoder.encode(fileName, StandardCharsets.UTF_8.toString()); response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=" + encodedFileName + ";filename*=utf-8''" + encodedFileName); - + // 获取模板文件资源 ClassPathResource resource = new ClassPathResource("templates/excel/" + fileName); - + // 将文件内容写入响应流 try (InputStream inputStream = resource.getInputStream(); OutputStream outputStream = response.getOutputStream()) { @@ -82,7 +94,7 @@ public class RoomTemplateController { // 如果发生异常,写入错误响应 response.reset(); response.setContentType("application/json"); - response.setCharacterEncoding("utf-8"); + response.setCharacterEncoding(RoomConstants.CHARSET); response.getWriter().write("{\"code\":\"1\",\"message\":\"下载模板文件失败: " + e.getMessage() + "\"}"); } } @@ -90,45 +102,35 @@ public class RoomTemplateController { /** * 批量导出房源信息 - * - * @param ids 房源ID数组 + * + * @param queryDTO 房源ID数组 * @param response HTTP响应对象 */ - @ApiOperation(value = "批量导出房源", notes = "根据房源ID数组批量导出房源详细信息为Excel文件") - @ApiImplicitParam(name = "ids", value = "房源ID数组", required = true, dataType = "List") + @ApiOperation(value = "批量导出房源", notes = "根据查询条件批量导出房源详细信息为Excel文件") + @ApiImplicitParam(name = "queryDTO", value = "queryDTO", required = true, dataType = "List") @PostMapping("/export/batch") - public void exportRoomBatch(@RequestBody List ids, HttpServletResponse response) { + public void exportRoomBatch(@RequestBody RoomQueryDTO queryDTO, HttpServletResponse response) { try { - if (ids == null || ids.isEmpty()) { - throw new IllegalArgumentException("房源ID不能为空"); - } - - // 将List转换为String[] - String[] idArray = ids.toArray(new String[0]); - // 根据ID列表查询房源列表 - List list = roomService.exportRoomByIds(idArray); - + List list = roomService.exportRoom(queryDTO); + if (list.isEmpty()) { throw new IllegalArgumentException("未找到指定的房源信息"); } - + // 设置要下载的文件名称 String fileName = "房源信息_" + System.currentTimeMillis() + ".xlsx"; - - // 转换为符合导出模板的数据结构 - List exportData = roomTemplateService.convertToRoomImportList(list); - + // 设置响应头 response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setCharacterEncoding("utf-8"); String encodedFileName = URLEncoder.encode(fileName, StandardCharsets.UTF_8.toString()); response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=" + encodedFileName + ";filename*=utf-8''" + encodedFileName); - + // 导出Excel - ExcelUtil excelUtil = new ExcelUtil<>(RoomExport.class); - excelUtil.exportExcel(exportData, "房源信息", response.getOutputStream()); + ExcelUtil excelUtil = new ExcelUtil<>(RoomExportDTO.class); + excelUtil.exportExcel(list, "房源信息", response.getOutputStream()); } catch (Exception e) { log.error("批量导出房源信息失败", e); @@ -146,7 +148,7 @@ public class RoomTemplateController { /** * 批量导入房源数据 - * + * * @param file 导入房源的Excel文件(必须遵循指定的模板格式) * @param response HTTP响应对象 */ @@ -154,47 +156,62 @@ public class RoomTemplateController { @ApiImplicitParam(name = "file", value = "Excel文件", required = true, dataType = "MultipartFile") @PostMapping("/import") public void importRoom(@RequestParam("file") MultipartFile file, HttpServletResponse response) throws IOException { - if (file.isEmpty()) { + // 校验文件 + validateFile(file); + + log.info("开始导入Excel文件: {}, 大小: {} bytes", file.getOriginalFilename(), file.getSize()); + + // 创建导入监听器 + RoomImportListener listener = new RoomImportListener(validator, roomService, projectService, buildingService, floorService); + + // 读取Excel文件,添加自定义转换器 + EasyExcel.read(file.getInputStream(), RoomImportDTO.class, listener) + .registerConverter(new BigDecimalConverter()) + .headRowNumber(1) + .sheet() + .doRead(); + + // 获取错误信息 + Boolean successFlag = listener.getSuccessFlag(); + + if (successFlag) { + // 如果没有错误,直接返回成功 + response.setContentType("application/json"); + response.setCharacterEncoding("utf-8"); + response.getWriter().write("{\"code\":\"0\",\"message\":\"导入成功\"}"); + return; + } + + // 如果有错误,生成带错误信息的Excel文件 + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setCharacterEncoding("utf-8"); + String encodedFileName = URLEncoder.encode("room_import_result.xlsx", StandardCharsets.UTF_8.toString()); + response.setHeader("Content-Disposition", "attachment;filename=" + encodedFileName); + + // 写入带错误信息的Excel文件 + EasyExcel.write(response.getOutputStream(), RoomImportDTO.class) + .sheet("导入结果") + .doWrite(listener.getDataList()); + } + + + /** + * 校验文件 + */ + private void validateFile(MultipartFile file) { + if (file == null || file.isEmpty()) { throw new RuntimeException("请选择要上传的文件"); } - + + // 校验文件大小 + if (file.getSize() > RoomConstants.MAX_FILE_SIZE) { + throw new RuntimeException("文件大小不能超过1MB"); + } + // 校验文件格式 String filename = file.getOriginalFilename(); if (filename == null || !(filename.toLowerCase().endsWith(".xls") || filename.toLowerCase().endsWith(".xlsx"))) { throw new RuntimeException("文件格式不正确,请上传Excel文件"); } - - log.info("开始导入Excel文件: {}, 大小: {} bytes", filename, file.getSize()); - - try { - // 检查文件大小(10MB限制) - if (file.getSize() > 10 * 1024 * 1024) { - throw new RuntimeException("文件过大,请控制在10MB以内"); - } - - Map result = roomService.importRoom(file); - - // 获取Excel数据流 - byte[] excelBytes = (byte[]) result.get("excelBytes"); - if (excelBytes != null && excelBytes.length > 0) { - // 设置响应头 - response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); - response.setCharacterEncoding("utf-8"); - String encodedFileName = URLEncoder.encode("room_import_result.xlsx", StandardCharsets.UTF_8.toString()); - response.setHeader(HttpHeaders.CONTENT_DISPOSITION, - "attachment; filename=" + encodedFileName + ";filename*=utf-8''" + encodedFileName); - - // 将数据流写入响应 - try (OutputStream outputStream = response.getOutputStream()) { - outputStream.write(excelBytes); - outputStream.flush(); - } - } else { - throw new RuntimeException("生成结果文件失败"); - } - } catch (Exception e) { - log.error("导入房源失败", e); - throw new RuntimeException("导入失败:" + e.getMessage()); - } } } \ No newline at end of file diff --git a/src/main/java/com/eden/room/domain/Building.java b/src/main/java/com/eden/room/domain/Building.java index 4d08d21..b996b0e 100644 --- a/src/main/java/com/eden/room/domain/Building.java +++ b/src/main/java/com/eden/room/domain/Building.java @@ -16,7 +16,7 @@ import javax.persistence.Id; */ @Data @EqualsAndHashCode(callSuper = true) -@Table(name = "TB_BUILDING") +@Table(name = "TB_RES_BUILDING") public class Building extends BaseEntity { private static final long serialVersionUID = 1L; @@ -25,10 +25,6 @@ public class Building extends BaseEntity { @Column(name = "id") private Long id; - /** 租户ID */ - @Column(name = "tenant_id") - //@NotBlank(message = "租户ID不能为空") - private String tenantId; /** 所属项目ID */ @Column(name = "project_id") @@ -179,13 +175,7 @@ public class Building extends BaseEntity { this.id = id; } - public String getTenantId() { - return tenantId; - } - public void setTenantId(String tenantId) { - this.tenantId = tenantId; - } public String getProjectId() { return projectId; diff --git a/src/main/java/com/eden/room/domain/Floor.java b/src/main/java/com/eden/room/domain/Floor.java index d54148f..948bfda 100644 --- a/src/main/java/com/eden/room/domain/Floor.java +++ b/src/main/java/com/eden/room/domain/Floor.java @@ -13,7 +13,7 @@ import javax.persistence.Id; */ @Data @EqualsAndHashCode(callSuper = true) -@Table(name = "TB_FLOOR") +@Table(name = "TB_RES_FLOOR") public class Floor extends BaseEntity { private static final long serialVersionUID = 1L; @@ -22,10 +22,6 @@ public class Floor extends BaseEntity { @Column(name = "id") private Long id; - /** 租户ID */ - @Column(name = "tenant_id") - private String tenantId; - /** 所属楼宇ID */ @Column(name = "building_id") @NotBlank(message = "所属楼宇ID不能为空") diff --git a/src/main/java/com/eden/room/domain/Project.java b/src/main/java/com/eden/room/domain/Project.java index c4fff41..d29486d 100644 --- a/src/main/java/com/eden/room/domain/Project.java +++ b/src/main/java/com/eden/room/domain/Project.java @@ -13,11 +13,11 @@ import javax.persistence.Id; /** * 项目信息实体类 - * 对应数据库表: TB_PROJECT + * 对应数据库表: TB_RES_PROJECT */ @Data @EqualsAndHashCode(callSuper = true) -@Table(name = "TB_PROJECT") +@Table(name = "TB_RES_PROJECT") public class Project extends BaseEntity { private static final long serialVersionUID = 1L; @@ -27,10 +27,6 @@ public class Project extends BaseEntity { @NotBlank(message = "项目ID不能为空") private String id; - /** 租户ID */ - @Column(name = "tenant_id") - private String tenantId; - /** * 项目类型:写字楼、产业园区、商场、联合办公、公寓、小区、社区养老 */ @@ -99,13 +95,7 @@ public class Project extends BaseEntity { this.id = id; } - public String getTenantId() { - return tenantId; - } - public void setTenantId(String tenantId) { - this.tenantId = tenantId; - } public String getProjectType() { return projectType; diff --git a/src/main/java/com/eden/room/domain/Room.java b/src/main/java/com/eden/room/domain/Room.java index d0f336b..f9f0097 100644 --- a/src/main/java/com/eden/room/domain/Room.java +++ b/src/main/java/com/eden/room/domain/Room.java @@ -12,8 +12,8 @@ import org.springframework.format.annotation.DateTimeFormat; /** - * 房源基本信息实体类 TB_ROOM - * + * 房源基本信息实体类 TB_RES_ROOM + * * @author eden * @date 2023-08-01 */ @@ -27,7 +27,7 @@ public class Room extends BaseEntity /** 项目ID */ @Excel(name = "项目ID") private String projectId; - + /** 项目名称 */ @Excel(name = "项目名称") private String projectName; @@ -35,7 +35,7 @@ public class Room extends BaseEntity /** 楼宇ID */ @Excel(name = "楼宇ID") private Long buildingId; - + /** 楼宇名称 */ @Excel(name = "楼宇名称") private String buildingName; @@ -43,7 +43,7 @@ public class Room extends BaseEntity /** 楼层ID */ @Excel(name = "楼层ID") private Long floorId; - + /** 楼层名称 */ @Excel(name = "楼层名称") private String floorName; @@ -55,7 +55,7 @@ public class Room extends BaseEntity /** 房源数字编号 */ @Excel(name = "房间数字编号") private String roomDigitalNumber; - + /** 房源管理编号 */ @Excel(name = "房源管理编号") private String roomManageNumber; @@ -65,7 +65,7 @@ public class Room extends BaseEntity private String roomName; /** 房源类型 */ - @Excel(name = "房源类型", readConverterExp = "1=办公,2=商业,3=仓储,4=厂房,5=多经,6=公寓,7=住宅,8=其他") + @Excel(name = "房源类型") private String roomType; /** 楼层 */ @@ -73,52 +73,52 @@ public class Room extends BaseEntity private String floor; /** 是否整层 */ - @Excel(name = "是否整层", readConverterExp = "0=否,1=是") + @Excel(name = "是否整层") private String isWholeFloor; /** 建筑面积 */ @Excel(name = "建筑面积") private BigDecimal buildingArea; - + /** 计租面积 */ @Excel(name = "计租面积") private BigDecimal rentalArea; - + /** 计费面积 */ @Excel(name = "计费面积") private BigDecimal billingArea; - + /** 套内面积 */ @Excel(name = "套内面积") private BigDecimal innerArea; - + /** 是否虚拟房源 */ - @Excel(name = "是否虚拟房源", readConverterExp = "0=否,1=是") + @Excel(name = "是否虚拟房源") private String isVirtual; - + /** 房源交付时间 */ @JsonFormat(pattern = "yyyy-MM-dd") @Excel(name = "房源交付时间", width = 30, dateFormat = "yyyy-MM-dd") private Date deliveryTime; - + /** 绑定业主ID */ @Excel(name = "绑定业主ID") private Long ownerId; - + /** 产权性质 */ - @Excel(name = "产权性质", readConverterExp = "1=自持,2=承租,3=自持+承租") + @Excel(name = "产权性质") private String propertyNature; - + /** 层高(米) */ @Excel(name = "层高(米)") private BigDecimal height; - + /** 荷载值 */ @Excel(name = "荷载值") private BigDecimal loadValue; - + /** 房源状态 */ - @Excel(name = "房源状态", readConverterExp = "1=公开,2=关闭,3=私密") + @Excel(name = "房源状态") private String roomStatus; /** 房源面积 */ @@ -128,6 +128,29 @@ public class Room extends BaseEntity @Excel(name = "报价") private BigDecimal price; + /** 报价单位 */ + @Excel(name = "priceUnit") + private String priceUnit; + + /** 租赁状态 */ + @Excel(name = "租赁状态") + private String rentalStatus; + /** 可租日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date availableDate; + + /** 出租状态 */ + @Excel(name = "招商状态") + private String businessStatus; + /** 装修情况 */ + @Excel(name = "装修情况") + private String decorationStatus; + + /** 标签 */ + @Excel(name = "标签") + private String tags; + public String getPriceUnit() { return priceUnit; } @@ -136,12 +159,9 @@ public class Room extends BaseEntity this.priceUnit = priceUnit; } - /** 报价单位 */ - @Excel(name = "priceUnit") - private String priceUnit; - public String getPrice() { - return (price==null? "":price.toString()) + PriceUnitEnum.getValue(getPriceUnit()); + return (price==null? "":price )+ + (priceUnit==null?"":PriceUnitEnum.getValue(priceUnit)); } public void setPrice(BigDecimal price) { @@ -165,21 +185,6 @@ public class Room extends BaseEntity this.decorationStatus = decorationStatus; } - /** 租赁状态 */ - @Excel(name = "租赁状态") - private String rentalStatus; - /** 可租日期 */ - @JsonFormat(pattern = "yyyy-MM-dd") - @DateTimeFormat(pattern = "yyyy-MM-dd") - private Date availableDate; - - /** 出租状态 */ - @Excel(name = "招商状态", readConverterExp = "1=招商,2=不招商") - private String businessStatus; - /** 装修情况 */ - @Excel(name = "装修情况") - private String decorationStatus; - public void setId(Long id) { this.id = id; @@ -190,22 +195,22 @@ public class Room extends BaseEntity return id; } - public void setProjectId(String projectId) + public void setProjectId(String projectId) { this.projectId = projectId; } - public String getProjectId() + public String getProjectId() { return projectId; } - - public void setProjectName(String projectName) + + public void setProjectName(String projectName) { this.projectName = projectName; } - public String getProjectName() + public String getProjectName() { return projectName; } @@ -219,13 +224,13 @@ public class Room extends BaseEntity { return buildingId; } - - public void setBuildingName(String buildingName) + + public void setBuildingName(String buildingName) { this.buildingName = buildingName; } - public String getBuildingName() + public String getBuildingName() { return buildingName; } @@ -239,83 +244,83 @@ public class Room extends BaseEntity { return floorId; } - - public void setFloorName(String floorName) + + public void setFloorName(String floorName) { this.floorName = floorName; } - public String getFloorName() + public String getFloorName() { return floorName; } - public void setRoomNumber(String roomNumber) + public void setRoomNumber(String roomNumber) { this.roomNumber = roomNumber; } - public String getRoomNumber() + public String getRoomNumber() { return roomNumber; } - public void setRoomDigitalNumber(String roomDigitalNumber) + public void setRoomDigitalNumber(String roomDigitalNumber) { this.roomDigitalNumber = roomDigitalNumber; } - public String getRoomDigitalNumber() + public String getRoomDigitalNumber() { return roomDigitalNumber; } - - public void setRoomManageNumber(String roomManageNumber) + + public void setRoomManageNumber(String roomManageNumber) { this.roomManageNumber = roomManageNumber; } - public String getRoomManageNumber() + public String getRoomManageNumber() { return roomManageNumber; } - public void setRoomName(String roomName) + public void setRoomName(String roomName) { this.roomName = roomName; } - public String getRoomName() + public String getRoomName() { return roomName; } - public void setRoomType(String roomType) + public void setRoomType(String roomType) { this.roomType = roomType; } - public String getRoomType() + public String getRoomType() { return roomType; } - public void setFloor(String floor) + public void setFloor(String floor) { this.floor = floor; } - public String getFloor() + public String getFloor() { return floor; } - public void setIsWholeFloor(String isWholeFloor) + public void setIsWholeFloor(String isWholeFloor) { this.isWholeFloor = isWholeFloor; } - public String getIsWholeFloor() + public String getIsWholeFloor() { return isWholeFloor; } @@ -329,7 +334,7 @@ public class Room extends BaseEntity { return buildingArea; } - + public void setRentalArea(BigDecimal rentalArea) { this.rentalArea = rentalArea; @@ -339,7 +344,7 @@ public class Room extends BaseEntity { return rentalArea; } - + public void setBillingArea(BigDecimal billingArea) { this.billingArea = billingArea; @@ -349,7 +354,7 @@ public class Room extends BaseEntity { return billingArea; } - + public void setInnerArea(BigDecimal innerArea) { this.innerArea = innerArea; @@ -359,27 +364,27 @@ public class Room extends BaseEntity { return innerArea; } - - public void setIsVirtual(String isVirtual) + + public void setIsVirtual(String isVirtual) { this.isVirtual = isVirtual; } - public String getIsVirtual() + public String getIsVirtual() { return isVirtual; } - - public void setDeliveryTime(Date deliveryTime) + + public void setDeliveryTime(Date deliveryTime) { this.deliveryTime = deliveryTime; } - public Date getDeliveryTime() + public Date getDeliveryTime() { return deliveryTime; } - + public void setOwnerId(Long ownerId) { this.ownerId = ownerId; @@ -389,17 +394,17 @@ public class Room extends BaseEntity { return ownerId; } - - public void setPropertyNature(String propertyNature) + + public void setPropertyNature(String propertyNature) { this.propertyNature = propertyNature; } - public String getPropertyNature() + public String getPropertyNature() { return propertyNature; } - + public void setHeight(BigDecimal height) { this.height = height; @@ -409,7 +414,7 @@ public class Room extends BaseEntity { return height; } - + public void setLoadValue(BigDecimal loadValue) { this.loadValue = loadValue; @@ -419,13 +424,13 @@ public class Room extends BaseEntity { return loadValue; } - - public void setRoomStatus(String roomStatus) + + public void setRoomStatus(String roomStatus) { this.roomStatus = roomStatus; } - public String getRoomStatus() + public String getRoomStatus() { return roomStatus; } @@ -440,45 +445,61 @@ public class Room extends BaseEntity return roomArea; } - public void setRentalStatus(String rentalStatus) + public void setRentalStatus(String rentalStatus) { this.rentalStatus = rentalStatus; } - public String getRentalStatus() + public String getRentalStatus() { return rentalStatus; } + public void setAvailableDate(Date availableDate) { + this.availableDate = availableDate; + } + + public Date getAvailableDate() { + return availableDate; + } + @Override public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("id", getId()) - .append("tenantId", getTenantId()) - .append("projectId", getProjectId()) - .append("buildingId", getBuildingId()) - .append("floorId", getFloorId()) - .append("roomNumber", getRoomNumber()) - .append("roomDigitalNumber", getRoomDigitalNumber()) - .append("roomManageNumber", getRoomManageNumber()) - .append("buildingArea", getBuildingArea()) - .append("rentalArea", getRentalArea()) - .append("billingArea", getBillingArea()) - .append("innerArea", getInnerArea()) - .append("isVirtual", getIsVirtual()) - .append("deliveryTime", getDeliveryTime()) - .append("ownerId", getOwnerId()) - .append("propertyNature", getPropertyNature()) - .append("height", getHeight()) - .append("loadValue", getLoadValue()) - .append("roomStatus", getRoomStatus()) - .append("roomType", getRoomType()) - .append("createTime", getCreateTime()) - .append("lastModTime", getLastModTime()) - .append("createUserId", getCreateUserId()) - .append("lastModUserId", getLastModUserId()) - .append("delFlag", getDelFlag()) - .append("remark", getRemark()) - .toString(); + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("tenantId", getTenantId()) + .append("projectId", getProjectId()) + .append("buildingId", getBuildingId()) + .append("floorId", getFloorId()) + .append("roomNumber", getRoomNumber()) + .append("roomDigitalNumber", getRoomDigitalNumber()) + .append("roomManageNumber", getRoomManageNumber()) + .append("buildingArea", getBuildingArea()) + .append("rentalArea", getRentalArea()) + .append("billingArea", getBillingArea()) + .append("innerArea", getInnerArea()) + .append("isVirtual", getIsVirtual()) + .append("deliveryTime", getDeliveryTime()) + .append("ownerId", getOwnerId()) + .append("propertyNature", getPropertyNature()) + .append("height", getHeight()) + .append("loadValue", getLoadValue()) + .append("roomStatus", getRoomStatus()) + .append("roomType", getRoomType()) + .append("createTime", getCreateTime()) + .append("lastModTime", getLastModTime()) + .append("createUserId", getCreateUserId()) + .append("lastModUserId", getLastModUserId()) + .append("delFlag", getDelFlag()) + .append("remark", getRemark()) + .toString(); } -} \ No newline at end of file + + public String getTags() { + return tags; + } + + public void setTags(String tags) { + this.tags = tags; + } +} diff --git a/src/main/java/com/eden/room/domain/RoomBusinessInfo.java b/src/main/java/com/eden/room/domain/RoomBusinessInfo.java index 19bd020..0b25031 100644 --- a/src/main/java/com/eden/room/domain/RoomBusinessInfo.java +++ b/src/main/java/com/eden/room/domain/RoomBusinessInfo.java @@ -2,6 +2,9 @@ package com.eden.room.domain; import java.util.Date; import java.math.BigDecimal; + +import com.eden.room.common.enums.*; +import com.eden.room.utils.EnumValid; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; @@ -13,27 +16,15 @@ import org.springframework.format.annotation.DateTimeFormat; public class RoomBusinessInfo extends BaseEntity { /** 招商信息ID */ private Long id; - - /** 租户ID */ - private String tenantId; - + /** 房源ID */ private Long roomId; - /** 租赁状态:待租,已租,下架 */ - private String rentalStatus; - - /** 招商状态: 招商,不招商 */ - private String businessStatus; - /** 可租日期 */ @JsonFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date availableDate; - /** 装修情况:精装,简装,毛坯,标准交付,豪装 */ - private String decorationStatus; - /** 报价 */ private BigDecimal price; @@ -72,6 +63,15 @@ public class RoomBusinessInfo extends BaseEntity { /** 备注 */ private String remark; + @EnumValid(value = RentalStatusEnum.class, message = "无效的租赁状态") + private String rentalStatus; + + @EnumValid(value = BusinessStatusEnum.class, message = "无效的招商状态") + private String businessStatus; + + @EnumValid(value = DecorationStatusEnum.class, message = "无效的装修情况") + private String decorationStatus; + public Long getId() { return id; } @@ -80,13 +80,7 @@ public class RoomBusinessInfo extends BaseEntity { this.id = id; } - public String getTenantId() { - return tenantId; - } - public void setTenantId(String tenantId) { - this.tenantId = tenantId; - } public Long getRoomId() { return roomId; @@ -226,7 +220,7 @@ public class RoomBusinessInfo extends BaseEntity { @Override public String toString() { - return "RoomBusinessInfo [id=" + id + ", tenantId=" + tenantId + ", roomId=" + roomId + ", rentalStatus=" + return "RoomBusinessInfo [id=" + id + ", tenantId=" + getTenantId() + ", roomId=" + roomId + ", rentalStatus=" + rentalStatus + ", businessStatus=" + businessStatus + ", availableDate=" + availableDate + ", decorationStatus=" + decorationStatus + ", price=" + price + ", priceUnit=" + priceUnit + ", floorPrice=" + floorPrice + ", floorPriceUnit=" + floorPriceUnit + ", businessNumber=" diff --git a/src/main/java/com/eden/room/domain/RoomExtendInfo.java b/src/main/java/com/eden/room/domain/RoomExtendInfo.java index 4d851e0..d0a955c 100644 --- a/src/main/java/com/eden/room/domain/RoomExtendInfo.java +++ b/src/main/java/com/eden/room/domain/RoomExtendInfo.java @@ -11,9 +11,7 @@ import lombok.Data; public class RoomExtendInfo extends BaseEntity { /** 拓展信息ID */ private Long id; - - /** 租户ID */ - private String tenantId; + /** 房源ID */ private Long roomId; @@ -76,13 +74,7 @@ public class RoomExtendInfo extends BaseEntity { this.id = id; } - public String getTenantId() { - return tenantId; - } - public void setTenantId(String tenantId) { - this.tenantId = tenantId; - } public Long getRoomId() { return roomId; @@ -222,7 +214,7 @@ public class RoomExtendInfo extends BaseEntity { @Override public String toString() { - return "RoomExtendInfo [id=" + id + ", tenantId=" + tenantId + ", roomId=" + roomId + ", roomRecordNumber=" + return "RoomExtendInfo [id=" + id + ", tenantId=" + getTenantId() + ", roomId=" + roomId + ", roomRecordNumber=" + roomRecordNumber + ", usageRate=" + usageRate + ", officeLayout=" + officeLayout + ", windowOrientation=" + windowOrientation + ", rentFreePeriod=" + rentFreePeriod + ", minLeaseTerm=" + minLeaseTerm + ", workstationMin=" + workstationMin + ", workstationMax=" + workstationMax diff --git a/src/main/java/com/eden/room/domain/RoomImage.java b/src/main/java/com/eden/room/domain/RoomImage.java index c398d2d..665c792 100644 --- a/src/main/java/com/eden/room/domain/RoomImage.java +++ b/src/main/java/com/eden/room/domain/RoomImage.java @@ -10,9 +10,6 @@ public class RoomImage extends BaseEntity { /** 图片ID */ private Long id; - /** 租户ID */ - private String tenantId; - /** 房源ID */ private Long roomId; @@ -50,13 +47,7 @@ public class RoomImage extends BaseEntity { this.id = id; } - public String getTenantId() { - return tenantId; - } - public void setTenantId(String tenantId) { - this.tenantId = tenantId; - } public Long getRoomId() { return roomId; @@ -132,7 +123,7 @@ public class RoomImage extends BaseEntity { @Override public String toString() { - return "RoomImage [id=" + id + ", tenantId=" + tenantId + ", roomId=" + roomId + ", imageUrl=" + imageUrl + return "RoomImage [id=" + id + ", tenantId=" + getTenantId() + ", roomId=" + roomId + ", imageUrl=" + imageUrl + ", imageType=" + imageType + ", sortOrder=" + sortOrder + ", createTime=" + createTime + ", updateTime=" + updateTime + ", delFlag=" + delFlag + "]"; } diff --git a/src/main/java/com/eden/room/domain/dto/RoomDTO.java b/src/main/java/com/eden/room/domain/dto/RoomDTO.java index 8b88e32..b76a045 100644 --- a/src/main/java/com/eden/room/domain/dto/RoomDTO.java +++ b/src/main/java/com/eden/room/domain/dto/RoomDTO.java @@ -1,14 +1,24 @@ package com.eden.room.domain.dto; +import com.eden.room.common.enums.BusinessStatusEnum; +import com.eden.room.common.enums.DecorationStatusEnum; +import com.eden.room.common.enums.PropertyNatureEnum; +import com.eden.room.common.enums.RentalStatusEnum; +import com.eden.room.common.enums.RoomStatusEnum; +import com.eden.room.common.enums.RoomTypeEnum; import com.eden.room.domain.Room; import com.eden.room.domain.RoomBusinessInfo; import com.eden.room.domain.RoomExtendInfo; import com.eden.room.domain.RoomImage; +import com.eden.room.utils.EnumValid; import lombok.Data; import lombok.EqualsAndHashCode; import java.util.List; +import javax.validation.Valid; +import javax.validation.constraints.NotNull; + /** * 房源信息DTO,包含基础信息、招商信息和拓展信息 */ @@ -19,6 +29,7 @@ public class RoomDTO extends Room { private static final long serialVersionUID = 1L; /** 招商信息 */ + @Valid private RoomBusinessInfo businessInfo; /** 拓展信息 */ @@ -45,6 +56,15 @@ public class RoomDTO extends Room { /** 标签列表 */ private String tags; + @EnumValid(value = RoomTypeEnum.class, message = "无效的房源类型") + private String roomType; + + @EnumValid(value = RoomStatusEnum.class, message = "无效的房源状态") + private String roomStatus; + + @EnumValid(value = PropertyNatureEnum.class, message = "无效的产权性质") + private String propertyNature; + public RoomBusinessInfo getBusinessInfo() { return businessInfo; } diff --git a/src/main/java/com/eden/room/domain/dto/RoomExportDTO.java b/src/main/java/com/eden/room/domain/dto/RoomExportDTO.java index 14d78eb..0621c29 100644 --- a/src/main/java/com/eden/room/domain/dto/RoomExportDTO.java +++ b/src/main/java/com/eden/room/domain/dto/RoomExportDTO.java @@ -2,6 +2,10 @@ package com.eden.room.domain.dto; import java.math.BigDecimal; import java.util.Date; + +import com.eden.room.common.enums.*; +import com.eden.room.utils.EnumConvert; +import com.eden.room.utils.excel.Excel; import lombok.Data; /** @@ -9,6 +13,99 @@ import lombok.Data; */ @Data public class RoomExportDTO { + + /** + * 项目名称 + */ + @Excel(name = "项目名称", required = true, sort = 1) + private String projectName; + + /** + * 楼宇名称 + */ + @Excel(name = "楼宇名称", required = true, sort = 2) + private String buildingName; + + /** + * 楼层 + */ + @Excel(name = "楼层", required = true, sort = 3) + private String floorName; + + /** + * 房源编号 + */ + @Excel(name = "房号", required = true, sort = 4) + private String roomNumber; + /** + * 计租面积 + */ + @Excel(name = "计租面积", required = true, sort = 5) + private BigDecimal rentalArea; + + /** + * 报价+单位 + */ + @Excel(name = "报价", required = true, sort = 6) + private String priceAndUnit; + + /** + * 租赁状态 + */ + @Excel(name = "租赁状态", required = true, sort = 7) + @EnumConvert(RentalStatusEnum.class) + private String rentalStatus; + + /** + * 可租日期 + */ + @Excel(name = "可租日期", required = true, sort = 8) + private Date availableDate; + /** + * 房源标签 + */ + @Excel(name = "房源标签", required = true, sort = 9) + private String tags; + /** + * 虚拟房源 + */ + @Excel(name = "虚拟房源", sort =10) + @EnumConvert(VirtualFlagEnum.class) + private String isVirtual; + + /** + * 招商状态 + */ + @Excel(name = "招商状态", sort = 11) + @EnumConvert(BusinessStatusEnum.class) + private String businessStatus; + + /** + * 装修情况 + */ + @Excel(name = "装修情况", sort = 12) + @EnumConvert(DecorationStatusEnum.class) + private String decorationStatus; + + /** + * 房源交付时间 + */ + @Excel(name = "房源交付时间", sort = 13) + private Date deliveryTime; + /** + * 创建时间 + */ + @Excel(name = "创建时间", sort = 14) + private Date createTime; + + + /** + * 房源类型 + * 使用EnumConverter将枚举类型的key转换为对应的value + */ + @Excel(name = "房源类型", sort = 15) + @EnumConvert(RoomTypeEnum.class) + private String roomType; /** * 房源ID @@ -19,37 +116,19 @@ public class RoomExportDTO { * 项目ID */ private String projectId; - - /** - * 项目名称 - */ - private String projectName; + /** * 楼宇ID */ private Long buildingId; - - /** - * 楼宇名称 - */ - private String buildingName; + /** * 楼层ID */ private Long floorId; - /** - * 楼层名称 - */ - private String floorName; - - /** - * 房源编号 - */ - private String roomNumber; - /** * 房源数字编号 */ @@ -64,31 +143,16 @@ public class RoomExportDTO { * 房源名称 */ private String roomName; - - /** - * 房源类型 - */ - private String roomType; - /** * 楼层 */ private String floor; - - /** - * 是否整层 - */ - private String isWholeFloor; - + /** * 建筑面积 */ private BigDecimal buildingArea; - - /** - * 计租面积 - */ - private BigDecimal rentalArea; + /** * 计费面积 @@ -100,16 +164,6 @@ public class RoomExportDTO { */ private BigDecimal innerArea; - /** - * 是否虚拟房源 - */ - private String isVirtual; - - /** - * 房源交付时间 - */ - private Date deliveryTime; - /** * 绑定业主ID */ @@ -145,43 +199,13 @@ public class RoomExportDTO { */ private String roomStatus; - /** - * 租赁状态 - */ - private String rentalStatus; - - /** - * 业务状态 - */ - private String businessStatus; - - /** - * 装修状态 - */ - private String decorationStatus; - /** * 价格 */ - private BigDecimal price; + private String price; /** * 价格单位 */ private String priceUnit; - - /** - * 可租日期 - */ - private Date availableDate; - - /** - * 房源标签 - */ - private String tags; - - /** - * 创建时间 - */ - private Date createTime; } \ No newline at end of file diff --git a/src/main/java/com/eden/room/domain/dto/RoomImportDTO.java b/src/main/java/com/eden/room/domain/dto/RoomImportDTO.java index 3280f34..6d461be 100644 --- a/src/main/java/com/eden/room/domain/dto/RoomImportDTO.java +++ b/src/main/java/com/eden/room/domain/dto/RoomImportDTO.java @@ -1,82 +1,81 @@ package com.eden.room.domain.dto; -import com.eden.room.utils.excel.Excel; +import com.alibaba.excel.annotation.ExcelProperty; import lombok.Data; -import java.io.Serializable; +import javax.validation.constraints.NotBlank; import java.math.BigDecimal; /** * 房源导入DTO */ @Data -public class RoomImportDTO implements Serializable { - - private static final long serialVersionUID = 1L; - - /** 项目 */ - @Excel(name = "项目", sort = 1, required = true,cellType = Excel.ColumnType.STRING) +public class RoomImportDTO { + + @ExcelProperty("项目") + @NotBlank(message = "项目名称不能为空。") private String projectName; - - /** 楼宇 */ - @Excel(name = "楼宇", sort = 2, required = true,cellType = Excel.ColumnType.STRING) + + @ExcelProperty("楼宇") + @NotBlank(message = "楼宇名称不能为空。") private String buildingName; - - /** 楼层 */ - @Excel(name = "楼层", sort = 3, required = true,cellType = Excel.ColumnType.STRING) + + @ExcelProperty("楼层") + @NotBlank(message = "楼层名称不能为空。") private String floorName; /** 房号 */ - @Excel(name = "房号", sort = 4, required = true,cellType = Excel.ColumnType.STRING) + @ExcelProperty("房号") + @NotBlank(message = "房号不能为空。") private String roomNumber; /** 房间数字编号 */ - @Excel(name = "房间数字编号", sort = 5, required = true,cellType = Excel.ColumnType.STRING) + @ExcelProperty("房间数字编号") private String roomDigitalNumber; /** 计租面积 */ - @Excel(name = "计租面积(m²)", sort = 6, suffix = "㎡", cellType = Excel.ColumnType.NUMERIC) + @ExcelProperty("计租面积(m²)") private BigDecimal rentalArea; /** 计费面积 */ - @Excel(name = "计费面积(m²)", sort = 7, suffix = "㎡", cellType = Excel.ColumnType.NUMERIC) + @ExcelProperty("计费面积(m²)") private BigDecimal billingArea; /** 建筑面积 */ - @Excel(name = "建筑面积", sort = 8, suffix = "㎡", cellType = Excel.ColumnType.NUMERIC) + @ExcelProperty("建筑面积") private BigDecimal buildingArea; /** 层高 */ - @Excel(name = "层高(m)", sort = 9, suffix = "m", cellType = Excel.ColumnType.NUMERIC) + @ExcelProperty("层高(m)") private BigDecimal height; /** 报价 */ - @Excel(name = "报价", sort = 10, cellType = Excel.ColumnType.NUMERIC) + @ExcelProperty("报价") private BigDecimal price; /** 底价 */ - @Excel(name = "底价", sort = 11, cellType = Excel.ColumnType.NUMERIC) + @ExcelProperty("底价") private BigDecimal floorPrice; /** 单位 */ - @Excel(name = "单位", sort = 12,cellType = Excel.ColumnType.STRING) + @ExcelProperty("单位") private String priceUnit; /** 房源备案号 */ - @Excel(name = "房源备案号", sort = 13, cellType = Excel.ColumnType.STRING) + @ExcelProperty("房源备案号") private String roomRecordNumber; /** 标签 */ - @Excel(name = "标签", sort = 14,cellType = Excel.ColumnType.STRING) + @ExcelProperty("标签") private String tags; /** 房源管理编号 */ - @Excel(name = "房源管理编号", sort = 15,cellType = Excel.ColumnType.STRING) + @ExcelProperty("房源管理编号") private String roomManageNumber; /** 导入结果说明 */ - @Excel(name = "导入结果说明", sort = 16,cellType = Excel.ColumnType.STRING) - private String importResult; + @ExcelProperty("导入结果说明") + private String importResult=""; public String getProjectName() { diff --git a/src/main/java/com/eden/room/domain/dto/RoomQueryDTO.java b/src/main/java/com/eden/room/domain/dto/RoomQueryDTO.java index 83cf41f..332d4e3 100644 --- a/src/main/java/com/eden/room/domain/dto/RoomQueryDTO.java +++ b/src/main/java/com/eden/room/domain/dto/RoomQueryDTO.java @@ -3,6 +3,7 @@ package com.eden.room.domain.dto; import lombok.Data; import java.io.Serializable; +import java.util.Set; /** * 房源查询条件DTO @@ -48,6 +49,13 @@ public class RoomQueryDTO implements Serializable { /** 截止创建时间 */ private String endCreateTime; + /** 房源状态 */ + private String roomStatus; + + /** 房号 */ + private Set RoomNumbers; + + public String getRoomNumber() { return roomNumber; } diff --git a/src/main/java/com/eden/room/interceptor/TenantInterceptor.java b/src/main/java/com/eden/room/interceptor/TenantInterceptor.java index 7464a01..e69de29 100644 --- a/src/main/java/com/eden/room/interceptor/TenantInterceptor.java +++ b/src/main/java/com/eden/room/interceptor/TenantInterceptor.java @@ -1,139 +0,0 @@ -//package com.eden.room.interceptor; -// -//import java.util.Properties; -//import java.util.Set; -//import java.util.HashSet; -// -//import org.apache.ibatis.cache.CacheKey; -//import org.apache.ibatis.executor.Executor; -//import org.apache.ibatis.mapping.BoundSql; -//import org.apache.ibatis.mapping.MappedStatement; -//import org.apache.ibatis.mapping.SqlCommandType; -//import org.apache.ibatis.plugin.Interceptor; -//import org.apache.ibatis.plugin.Intercepts; -//import org.apache.ibatis.plugin.Invocation; -//import org.apache.ibatis.plugin.Plugin; -//import org.apache.ibatis.plugin.Signature; -//import org.apache.ibatis.session.ResultHandler; -//import org.apache.ibatis.session.RowBounds; -// -//import com.eden.room.common.ContextUser; -// -///** -// * 租户拦截器 -// */ -//@Intercepts({ -// @Signature(type = Executor.class, method = "query", args = {MappedStatement.class, Object.class, RowBounds.class, ResultHandler.class}), -// @Signature(type = Executor.class, method = "query", args = {MappedStatement.class, Object.class, RowBounds.class, ResultHandler.class, CacheKey.class, BoundSql.class}), -// @Signature(type = Executor.class, method = "update", args = {MappedStatement.class, Object.class}) -//}) -//public class TenantInterceptor implements Interceptor { -// -// // 需要添加租户条件的表名集合 -// private static final Set TENANT_TABLES = new HashSet<>(); -// static { -// TENANT_TABLES.add("TB_ROOM_BASE"); -// TENANT_TABLES.add("TB_ROOM_BUSINESS"); -// TENANT_TABLES.add("TB_ROOM_EXTEND"); -// TENANT_TABLES.add("TB_ROOM_IMAGE"); -// TENANT_TABLES.add("TB_PROJECT"); -// TENANT_TABLES.add("TB_BUILDING"); -// TENANT_TABLES.add("TB_FLOOR"); -// } -// -// @Override -// public Object intercept(Invocation invocation) throws Throwable { -// Object[] args = invocation.getArgs(); -// MappedStatement ms = (MappedStatement) args[0]; -// Object parameter = args[1]; -// -// // 获取当前用户信息 -// ContextUser user = ContextUser.getCurrentUser(); -// if (user == null || user.getTenantId() == null) { -// return invocation.proceed(); -// } -// -// // 获取SQL类型 -// SqlCommandType sqlCommandType = ms.getSqlCommandType(); -// -// // 获取SQL语句 -// BoundSql boundSql = ms.getBoundSql(parameter); -// String sql = boundSql.getSql().toUpperCase(); -// -// // 判断是否需要添加租户条件 -// if (needTenant(sql)) { -// // 添加租户条件 -// String tenantSql = addTenantCondition(sql, user.getTenantId()); -// // 创建新的BoundSql -// BoundSql newBoundSql = new BoundSql(ms.getConfiguration(), tenantSql, boundSql.getParameterMappings(), parameter); -// // 创建新的MappedStatement -// MappedStatement newMs = copyMappedStatement(ms, newBoundSql); -// // 替换参数 -// args[0] = newMs; -// } -// -// return invocation.proceed(); -// } -// -// /** -// * 判断是否需要添加租户条件 -// */ -// private boolean needTenant(String sql) { -// // 排除不需要添加租户条件的SQL -// if (sql.contains("COUNT(*)") || sql.contains("MAX(") || sql.contains("MIN(") || -// sql.contains("SUM(") || sql.contains("AVG(")) { -// return false; -// } -// -// // 检查SQL中是否包含需要添加租户条件的表 -// for (String table : TENANT_TABLES) { -// if (sql.contains(table)) { -// return true; -// } -// } -// -// return false; -// } -// -// /** -// * 添加租户条件 -// */ -// private String addTenantCondition(String sql, String tenantId) { -// // 使用参数化查询防止SQL注入 -// String tenantCondition = " tenant_id = #{tenantId} AND "; -// if (sql.contains("WHERE")) { -// return sql.replaceFirst("(?i)WHERE", "WHERE " + tenantCondition); -// } else { -// return sql.replaceFirst("(?i)FROM", "FROM WHERE " + tenantCondition); -// } -// } -// -// /** -// * 复制MappedStatement -// */ -// private MappedStatement copyMappedStatement(MappedStatement ms, BoundSql boundSql) { -// MappedStatement.Builder builder = new MappedStatement.Builder(ms.getConfiguration(), ms.getId(), -// boundSql, ms.getSqlCommandType()); -// builder.resource(ms.getResource()); -// builder.fetchSize(ms.getFetchSize()); -// builder.statementType(ms.getStatementType()); -// builder.keyGenerator(ms.getKeyGenerator()); -// builder.timeout(ms.getTimeout()); -// builder.parameterMap(ms.getParameterMap()); -// builder.resultMaps(ms.getResultMaps()); -// builder.resultSetType(ms.getResultSetType()); -// builder.cache(ms.getCache()); -// builder.flushCacheRequired(ms.isFlushCacheRequired()); -// builder.useCache(ms.isUseCache()); -// return builder.build(); -// } -// -// @Override -// public Object plugin(Object target) { -// return Plugin.wrap(target, this); -// } -// -// @Override -// public void setProperties(Properties properties) { -// } -//} \ No newline at end of file diff --git a/src/main/java/com/eden/room/interceptor/UserContextInterceptor.java b/src/main/java/com/eden/room/interceptor/UserContextInterceptor.java index 6aeb1db..e69de29 100644 --- a/src/main/java/com/eden/room/interceptor/UserContextInterceptor.java +++ b/src/main/java/com/eden/room/interceptor/UserContextInterceptor.java @@ -1,69 +0,0 @@ -//package com.eden.room.interceptor; -// -//import javax.servlet.http.HttpServletRequest; -//import javax.servlet.http.HttpServletResponse; -// -//import org.slf4j.Logger; -//import org.slf4j.LoggerFactory; -//import org.springframework.web.servlet.HandlerInterceptor; -// -//import com.eden.room.common.ContextUser; -// -///** -// * 用户上下文拦截器 -// */ -//public class UserContextInterceptor implements HandlerInterceptor { -// -// private static final Logger logger = LoggerFactory.getLogger(UserContextInterceptor.class); -// -// @Override -// public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { -// try { -// // 从请求头或token中获取用户信息 -// String tenantId = request.getHeader("X-Tenant-ID"); -// String userId = request.getHeader("X-User-ID"); -// String username = request.getHeader("X-Username"); -// -// // 参数校验 -// if (tenantId == null || tenantId.trim().isEmpty()) { -// logger.warn("Missing tenant ID in request headers"); -// response.setStatus(HttpServletResponse.SC_BAD_REQUEST); -// return false; -// } -// -// if (userId == null || userId.trim().isEmpty()) { -// logger.warn("Missing user ID in request headers"); -// response.setStatus(HttpServletResponse.SC_BAD_REQUEST); -// return false; -// } -// -// // 设置用户上下文 -// ContextUser user = new ContextUser(); -// user.setTenantId(tenantId.trim()); -// user.setUserId(userId.trim()); -// user.setUsername(username != null ? username.trim() : null); -// ContextUser.setCurrentUser(user); -// -// logger.debug("Set user context: tenantId={}, userId={}, username={}", -// tenantId, userId, username); -// -// return true; -// -// } catch (Exception e) { -// logger.error("Error setting user context", e); -// response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); -// return false; -// } -// } -// -// @Override -// public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) { -// try { -// // 清理用户上下文 -// ContextUser.clear(); -// logger.debug("Cleared user context"); -// } catch (Exception e) { -// logger.error("Error clearing user context", e); -// } -// } -//} \ No newline at end of file diff --git a/src/main/java/com/eden/room/mapper/BuildingMapper.java b/src/main/java/com/eden/room/mapper/BuildingMapper.java index c51b133..00083b9 100644 --- a/src/main/java/com/eden/room/mapper/BuildingMapper.java +++ b/src/main/java/com/eden/room/mapper/BuildingMapper.java @@ -1,7 +1,9 @@ package com.eden.room.mapper; import java.util.List; +import java.util.Set; import com.eden.room.domain.Building; +import org.apache.ibatis.annotations.Param; /** * 楼宇信息数据访问层 @@ -45,7 +47,7 @@ public interface BuildingMapper { * @param ids 需要删除的楼宇ID数组 * @return 结果 */ - int deleteBuildingByIds(String[] ids); + int deleteBuildingByIds(List ids); /** * 删除楼宇信息 @@ -97,4 +99,13 @@ public interface BuildingMapper { boolean checkBuildingHasFloors(Long id); List getBuildByIds(List ids); + + /** + * 根据项目ID和楼栋名称列表查询楼栋列表 + * + * @param projectId 项目ID + * @param buildingNames 楼栋名称列表 + * @return 楼栋列表 + */ + List selectBuildingListByNames(@Param("projectId") String projectId, @Param("buildingNames") Set buildingNames); } \ No newline at end of file diff --git a/src/main/java/com/eden/room/mapper/FloorMapper.java b/src/main/java/com/eden/room/mapper/FloorMapper.java index 7ab5338..9d13e3c 100644 --- a/src/main/java/com/eden/room/mapper/FloorMapper.java +++ b/src/main/java/com/eden/room/mapper/FloorMapper.java @@ -1,7 +1,9 @@ package com.eden.room.mapper; import java.util.List; +import java.util.Set; import com.eden.room.domain.Floor; +import org.apache.ibatis.annotations.Param; /** * 楼层信息数据访问层 @@ -45,7 +47,7 @@ public interface FloorMapper { * @param ids 需要删除的楼层ID数组 * @return 结果 */ - int deleteFloorByIds(String[] ids); + int deleteFloorByIds(List ids); /** * 删除楼层信息 @@ -95,4 +97,13 @@ public interface FloorMapper { * @return 结果 */ int checkFloorHasRooms(Long id); + + /** + * 根据楼栋ID和楼层名称列表查询楼层列表 + * + * @param buildingId 楼栋ID + * @param floorNames 楼层名称列表 + * @return 楼层列表 + */ + List selectFloorListByNames(@Param("buildingId") Long buildingId, @Param("floorNames") Set floorNames); } \ No newline at end of file diff --git a/src/main/java/com/eden/room/mapper/ProjectMapper.java b/src/main/java/com/eden/room/mapper/ProjectMapper.java index 279ab67..403601b 100644 --- a/src/main/java/com/eden/room/mapper/ProjectMapper.java +++ b/src/main/java/com/eden/room/mapper/ProjectMapper.java @@ -1,7 +1,9 @@ package com.eden.room.mapper; import java.util.List; +import java.util.Set; import com.eden.room.domain.Project; +import org.apache.ibatis.annotations.Param; /** * 项目信息Mapper接口 @@ -88,4 +90,12 @@ public interface ProjectMapper { public Integer checkProjectShortNameExists(Project project); List selectProjectListByIds(List ids); + + /** + * 根据项目名称列表查询项目列表 + * + * @param projectNames 项目名称列表 + * @return 项目列表 + */ + List selectProjectListByNames(@Param("projectNames") Set projectNames); } \ No newline at end of file diff --git a/src/main/java/com/eden/room/mapper/RoomBusinessInfoMapper.java b/src/main/java/com/eden/room/mapper/RoomBusinessInfoMapper.java index 52fcc69..6bd2901 100644 --- a/src/main/java/com/eden/room/mapper/RoomBusinessInfoMapper.java +++ b/src/main/java/com/eden/room/mapper/RoomBusinessInfoMapper.java @@ -35,14 +35,14 @@ public interface RoomBusinessInfoMapper { * @return 房源招商信息 */ RoomBusinessInfo selectRoomBusinessInfoByRoomId(@Param("roomId") Long roomId); - + /** - * 新增房源招商信息 + * 批量插入房源招商信息 * - * @param businessInfo 房源招商信息 - * @return 结果 + * @param businessInfos 房源招商信息列表 + * @return 插入结果 */ - int insertRoomBusinessInfo(RoomBusinessInfo businessInfo); + int batchInsertBusinessInfos(@Param("list") List businessInfos); /** * 修改房源招商信息 @@ -67,20 +67,5 @@ public interface RoomBusinessInfoMapper { * @return 结果 */ int deleteRoomBusinessInfoByRoomId(@Param("roomId") Long roomId); - - /** - * 批量删除房源招商信息 - * - * @param ids 需要删除的数据ID - * @return 结果 - */ - int deleteRoomBusinessInfoByIds(@Param("ids") String[] ids); - - /** - * 批量删除房源招商信息(根据房源ID) - * - * @param roomIds 房源ID数组 - * @return 结果 - */ - int deleteRoomBusinessInfoByRoomIds(@Param("roomIds") String[] roomIds); + } \ No newline at end of file diff --git a/src/main/java/com/eden/room/mapper/RoomExtendInfoMapper.java b/src/main/java/com/eden/room/mapper/RoomExtendInfoMapper.java index 6000a63..6335b7c 100644 --- a/src/main/java/com/eden/room/mapper/RoomExtendInfoMapper.java +++ b/src/main/java/com/eden/room/mapper/RoomExtendInfoMapper.java @@ -35,15 +35,14 @@ public interface RoomExtendInfoMapper { * @return 房源拓展信息 */ RoomExtendInfo selectRoomExtendInfoByRoomId(@Param("roomId") Long roomId); - + /** - * 新增房源拓展信息 + * 批量插入房源扩展信息 * - * @param extendInfo 房源拓展信息 - * @return 结果 + * @param extendInfos 房源扩展信息列表 + * @return 插入结果 */ - int insertRoomExtendInfo(RoomExtendInfo extendInfo); - + int batchInsertExtendInfos(List extendInfos); /** * 修改房源拓展信息 * @@ -67,20 +66,5 @@ public interface RoomExtendInfoMapper { * @return 结果 */ int deleteRoomExtendInfoByRoomId(@Param("roomId") Long roomId); - - /** - * 批量删除房源拓展信息 - * - * @param ids 需要删除的数据ID - * @return 结果 - */ - int deleteRoomExtendInfoByIds(@Param("ids") String[] ids); - - /** - * 批量删除房源拓展信息(根据房源ID) - * - * @param roomIds 房源ID数组 - * @return 结果 - */ - int deleteRoomExtendInfoByRoomIds(@Param("roomIds") String[] roomIds); + } \ No newline at end of file diff --git a/src/main/java/com/eden/room/mapper/RoomImageMapper.java b/src/main/java/com/eden/room/mapper/RoomImageMapper.java index c9d168d..e429f8e 100644 --- a/src/main/java/com/eden/room/mapper/RoomImageMapper.java +++ b/src/main/java/com/eden/room/mapper/RoomImageMapper.java @@ -83,7 +83,7 @@ public interface RoomImageMapper { * @param ids 需要删除的数据ID * @return 结果 */ - int deleteRoomImageByIds(@Param("ids") String[] ids); + int deleteRoomImageByIds(@Param("ids") List ids); /** * 批量删除房源图片(根据房源ID) @@ -91,5 +91,5 @@ public interface RoomImageMapper { * @param roomIds 房源ID数组 * @return 结果 */ - int deleteRoomImagesByRoomIds(@Param("roomIds") String[] roomIds); + int deleteRoomImagesByRoomIds(@Param("roomIds") List roomIds); } \ No newline at end of file diff --git a/src/main/java/com/eden/room/mapper/RoomMapper.java b/src/main/java/com/eden/room/mapper/RoomMapper.java index 5c99337..f56098e 100644 --- a/src/main/java/com/eden/room/mapper/RoomMapper.java +++ b/src/main/java/com/eden/room/mapper/RoomMapper.java @@ -1,6 +1,9 @@ package com.eden.room.mapper; import java.util.List; +import java.util.Set; + +import com.eden.room.domain.dto.RoomQueryDTO; import org.apache.ibatis.annotations.Param; import com.eden.room.domain.Room; import org.apache.ibatis.annotations.Mapper; @@ -13,10 +16,10 @@ public interface RoomMapper { /** * 查询房源列表 * - * @param room 房源信息 + * @param queryDTO 房源信息 * @return 房源列表 */ - List selectRoomList(Room room); + List selectRoomList( RoomQueryDTO queryDTO); /** * 根据ID查询房源 @@ -25,15 +28,7 @@ public interface RoomMapper { * @return 房源信息 */ Room selectRoomById(@Param("id") Long id); - - /** - * 新增房源 - * - * @param room 房源信息 - * @return 结果 - */ - int insertRoom(Room room); - + /** * 修改房源 * @@ -56,7 +51,7 @@ public interface RoomMapper { * @param ids 房源ID数组 * @return 结果 */ - int deleteRoomByIds(@Param("ids") String[] ids); + int deleteRoomByIds(@Param("ids") List ids); /** * 检查房号是否已存在 @@ -69,9 +64,9 @@ public interface RoomMapper { */ boolean checkRoomNumberExist(@Param("roomNumber") String roomNumber, @Param("projectId") String projectId, - @Param("buildingId") String buildingId, - @Param("floorId") String floorId); - + @Param("buildingId") Long buildingId, + @Param("floorId") Long floorId); + /** * 检查房间数字编号是否已存在 * @@ -81,16 +76,26 @@ public interface RoomMapper { * @param floorId 楼层ID * @return 是否存在 */ - boolean checkRoomDigitalNumberExist(@Param("roomDigitalNumber") String roomDigitalNumber, - @Param("projectId") String projectId, - @Param("buildingId") String buildingId, - @Param("floorId") String floorId); - + boolean checkRoomDigitalNumberExist(@Param("roomDigitalNumber") String roomDigitalNumber, + @Param("projectId") String projectId, + @Param("buildingId") Long buildingId, + @Param("floorId") Long floorId); + + /** - * 根据ID数组查询房源列表 + * 批量插入房源信息 * - * @param ids 房源ID数组 - * @return 房源列表 + * @param rooms 房源信息列表 + * @return 插入结果 */ - List selectRoomByIds(@Param("ids") String[] ids); + int batchInsertRooms(@Param("list") List rooms); + + /** + * 获取指定项目下已存在的房间号 + * + * @param projectId 项目ID + * @param roomNumbers 待检查的房间号列表 + * @return 已存在的房间号集合 + */ + Set getExistingRoomNumbers(@Param("projectId") String projectId, @Param("roomNumbers") Set roomNumbers); } \ No newline at end of file diff --git a/src/main/java/com/eden/room/service/IBuildingService.java b/src/main/java/com/eden/room/service/IBuildingService.java index 0109acf..0245bab 100644 --- a/src/main/java/com/eden/room/service/IBuildingService.java +++ b/src/main/java/com/eden/room/service/IBuildingService.java @@ -1,6 +1,9 @@ package com.eden.room.service; import java.util.List; +import java.util.Map; +import java.util.Set; + import com.eden.room.domain.Building; import com.eden.room.domain.Project; @@ -46,7 +49,7 @@ public interface IBuildingService { * @param ids 需要删除的楼宇ID数组 * @return 结果 */ - int deleteBuildingByIds(String[] ids); + int deleteBuildingByIds(List ids); /** * 删除楼宇信息 @@ -67,4 +70,13 @@ public interface IBuildingService { boolean checkBuildingNameExists(Building building); List getBuildByIds(List ids); + + /** + * 根据楼宇名称列表获取楼宇ID映射 + * + * @param projectId 项目ID + * @param buildingNames 楼宇名称列表 + * @return 楼宇名称到ID的映射 + */ + Map getBuildingIdsByNames(String projectId, Set buildingNames); } \ No newline at end of file diff --git a/src/main/java/com/eden/room/service/IFloorService.java b/src/main/java/com/eden/room/service/IFloorService.java index cfb50ef..3644c48 100644 --- a/src/main/java/com/eden/room/service/IFloorService.java +++ b/src/main/java/com/eden/room/service/IFloorService.java @@ -1,6 +1,9 @@ package com.eden.room.service; import java.util.List; +import java.util.Map; +import java.util.Set; + import com.eden.room.domain.Floor; /** @@ -45,7 +48,7 @@ public interface IFloorService { * @param ids 需要删除的楼层ID数组 * @return 结果 */ - int deleteFloorByIds(String[] ids); + int deleteFloorByIds(List ids); /** * 删除楼层信息 @@ -62,4 +65,13 @@ public interface IFloorService { * @return 楼层列表 */ List selectFloorListByBuildingId(Long buildingId); + + /** + * 根据楼层名称列表获取楼层ID映射 + * + * @param buildingId 楼宇ID + * @param floorNames 楼层名称列表 + * @return 楼层名称到ID的映射 + */ + Map getFloorIdsByNames(Long buildingId, Set floorNames); } \ No newline at end of file diff --git a/src/main/java/com/eden/room/service/IProjectService.java b/src/main/java/com/eden/room/service/IProjectService.java index ac49f76..9be8421 100644 --- a/src/main/java/com/eden/room/service/IProjectService.java +++ b/src/main/java/com/eden/room/service/IProjectService.java @@ -1,6 +1,9 @@ package com.eden.room.service; import java.util.List; +import java.util.Map; +import java.util.Set; + import com.eden.room.domain.Project; /** @@ -74,4 +77,12 @@ public interface IProjectService { List selectProjectListByIds(List ids); List selectProjectListByName(String name); + + /** + * 根据项目名称列表获取项目ID映射 + * + * @param projectNames 项目名称列表 + * @return 项目名称到ID的映射 + */ + Map getProjectIdsByNames(Set projectNames); } \ No newline at end of file diff --git a/src/main/java/com/eden/room/service/IRoomService.java b/src/main/java/com/eden/room/service/IRoomService.java index 1865906..2d97204 100644 --- a/src/main/java/com/eden/room/service/IRoomService.java +++ b/src/main/java/com/eden/room/service/IRoomService.java @@ -3,13 +3,14 @@ package com.eden.room.service; import com.eden.room.domain.Room; import com.eden.room.domain.RoomBusinessInfo; import com.eden.room.domain.RoomExtendInfo; -import com.eden.room.domain.RoomImage; import com.eden.room.domain.dto.RoomDTO; import com.eden.room.domain.dto.RoomExportDTO; +import com.eden.room.domain.dto.RoomQueryDTO; import org.springframework.web.multipart.MultipartFile; import java.util.List; import java.util.Map; +import java.util.Set; /** * 房源服务接口 @@ -19,10 +20,10 @@ public interface IRoomService { /** * 查询房源列表 * - * @param room 房源信息 + * @param queryDTO 房源信息 * @return 房源列表 */ - List selectRoomList(Room room); + List selectRoomList(RoomQueryDTO queryDTO); /** * 根据ID查询房源 @@ -64,23 +65,15 @@ public interface IRoomService { */ int deleteRoomById(Long id); - /** - * 批量删除房源信息 - * - * @param ids 房源ID数组 - * @return 结果 - */ - int deleteRoomByIds(String[] ids); - /** * 导出房源信息 * - * @param room 查询条件 + * @param queryDTO 查询条件 * @return 房源信息列表 */ - List exportRoom(Room room); + List exportRoom( RoomQueryDTO queryDTO); /** * 修改房源租赁状态 @@ -100,18 +93,18 @@ public interface IRoomService { boolean checkRoomContract(Long id); /** - * 根据ID列表导出房源信息 - * - * @param ids 房源ID数组 - * @return 房源信息列表 + * 批量插入房源信息 + * @param rooms + * @param businessInfos + * @param extendInfos */ - List exportRoomByIds(String[] ids); - + void batchInsertRooms(List rooms, List businessInfos, List extendInfos); + /** - * 批量导入房源信息 - * - * @param file 导入文件 - * @return 导入结果 + * 获取项目下已存在的房源编号 + * @param projectId + * @param roomNumbers + * @return */ - Map importRoom(MultipartFile file) throws Exception; -} \ No newline at end of file + Set getExistingRoomNumbers(String projectId, Set roomNumbers); +} \ No newline at end of file diff --git a/src/main/java/com/eden/room/service/RoomTemplateService.java b/src/main/java/com/eden/room/service/RoomTemplateService.java deleted file mode 100644 index 7a6d5d2..0000000 --- a/src/main/java/com/eden/room/service/RoomTemplateService.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.eden.room.service; - -import com.eden.room.common.enums.BusinessStatusEnum; -import com.eden.room.common.enums.DecorationStatusEnum; -import com.eden.room.common.enums.PriceUnitEnum; -import com.eden.room.common.enums.RentalStatusEnum; -import com.eden.room.domain.RoomExport; -import com.eden.room.domain.dto.RoomExportDTO; -import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.List; - -/** - * 房源模板服务 - */ -@Service -public class RoomTemplateService { - /** - * 将房源导出DTO数据转换为房源导入模板格式 - * - * @param roomList 房源数据列表 - * @return 转换后的数据列表 - */ - public List convertToRoomImportList(List roomList) { - List result = new ArrayList<>(); - - if (roomList == null || roomList.isEmpty()) { - return result; - } - - for (RoomExportDTO roomDTO : roomList) { - RoomExport roomExport = new RoomExport(); - - // 设置基本信息 - roomExport.setProjectName(roomDTO.getProjectName()); - roomExport.setBuildingName(roomDTO.getBuildingName()); - roomExport.setFloorName(roomDTO.getFloorName()); - roomExport.setRoomNumber(roomDTO.getRoomNumber()); // 使用管理编号作为房源编号 - roomExport.setRentalArea(roomDTO.getRentalArea()); - roomExport.setPriceAndUnit((roomDTO.getPrice()==null?"":roomDTO.getPrice().toString()) + PriceUnitEnum.getValue(roomDTO.getPriceUnit())); - roomExport.setRentalStatus(RentalStatusEnum.getValue(roomDTO.getRentalStatus())); - roomExport.setAvailableDate(roomDTO.getAvailableDate()); - //TODO 根据tags 调接口去查对应的tagName - roomExport.setTags(roomDTO.getTags()); - roomExport.setIsVirtual("1".equals(roomDTO.getIsVirtual())? "是":"否"); - roomExport.setBusinessStatus(BusinessStatusEnum.getValue(roomDTO.getBusinessStatus())); - roomExport.setDecorationStatus(DecorationStatusEnum.getValue(roomDTO.getDecorationStatus())); - roomExport.setDeliveryTime(roomDTO.getDeliveryTime()); - roomExport.setCreateTime(roomDTO.getCreateTime()); - result.add(roomExport); - } - - return result; - } - - -} \ No newline at end of file diff --git a/src/main/java/com/eden/room/service/impl/BuildingServiceImpl.java b/src/main/java/com/eden/room/service/impl/BuildingServiceImpl.java index d649698..fd1f8d4 100644 --- a/src/main/java/com/eden/room/service/impl/BuildingServiceImpl.java +++ b/src/main/java/com/eden/room/service/impl/BuildingServiceImpl.java @@ -1,6 +1,10 @@ package com.eden.room.service.impl; import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.Collections; +import java.util.stream.Collectors; import com.eden.room.domain.Project; import org.springframework.beans.factory.annotation.Autowired; @@ -90,9 +94,9 @@ public class BuildingServiceImpl implements IBuildingService { * @return 结果 */ @Override - public int deleteBuildingByIds(String[] ids) { - for (String id : ids) { - if (buildingMapper.checkBuildingHasFloors(Long.valueOf(id))) { + public int deleteBuildingByIds(List ids) { + for (Long id : ids) { + if (buildingMapper.checkBuildingHasFloors(id)) { throw new ServiceException("楼宇下存在楼层信息,不允许删除"); } } @@ -148,4 +152,19 @@ public class BuildingServiceImpl implements IBuildingService { private boolean checkBuildingCodeExists(Building building) { return buildingMapper.checkBuildingCodeExists(building) > 0; } + + @Override + public Map getBuildingIdsByNames(String projectId, Set buildingNames) { + if (projectId == null || buildingNames == null || buildingNames.isEmpty()) { + return Collections.emptyMap(); + } + + List buildings = buildingMapper.selectBuildingListByNames(projectId, buildingNames); + return buildings.stream() + .collect(Collectors.toMap( + Building::getBuildingName, + Building::getId, + (existing, replacement) -> existing + )); + } } \ No newline at end of file diff --git a/src/main/java/com/eden/room/service/impl/FloorServiceImpl.java b/src/main/java/com/eden/room/service/impl/FloorServiceImpl.java index 743e098..c492b02 100644 --- a/src/main/java/com/eden/room/service/impl/FloorServiceImpl.java +++ b/src/main/java/com/eden/room/service/impl/FloorServiceImpl.java @@ -1,6 +1,10 @@ package com.eden.room.service.impl; import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.Collections; +import java.util.stream.Collectors; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -81,11 +85,11 @@ public class FloorServiceImpl implements IFloorService { */ @Override @Transactional - public int deleteFloorByIds(String[] ids) { - for (String id : ids) { + public int deleteFloorByIds(List ids) { + for (Long id : ids) { // 检查楼层是否有关联的房源 - if (floorMapper.checkFloorHasRooms(Long.valueOf(id)) > 0) { - Floor floor = floorMapper.selectFloorById(Long.valueOf(id)); + if (floorMapper.checkFloorHasRooms(id) > 0) { + Floor floor = floorMapper.selectFloorById(id); throw new ServiceException(String.format("楼层'%s'已分配房源,不能删除", floor.getFloorName())); } } @@ -115,4 +119,19 @@ public class FloorServiceImpl implements IFloorService { floor.setBuildingId(buildingId); return floorMapper.selectFloorList(floor); } + + @Override + public Map getFloorIdsByNames(Long buildingId, Set floorNames) { + if (buildingId == null || floorNames == null || floorNames.isEmpty()) { + return Collections.emptyMap(); + } + + List floors = floorMapper.selectFloorListByNames(buildingId, floorNames); + return floors.stream() + .collect(Collectors.toMap( + Floor::getFloorName, + Floor::getId, + (existing, replacement) -> existing + )); + } } \ No newline at end of file diff --git a/src/main/java/com/eden/room/service/impl/ProjectServiceImpl.java b/src/main/java/com/eden/room/service/impl/ProjectServiceImpl.java index b662072..067e74d 100644 --- a/src/main/java/com/eden/room/service/impl/ProjectServiceImpl.java +++ b/src/main/java/com/eden/room/service/impl/ProjectServiceImpl.java @@ -1,6 +1,10 @@ package com.eden.room.service.impl; import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.Collections; +import java.util.stream.Collectors; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.eden.room.mapper.ProjectMapper; @@ -114,4 +118,19 @@ public class ProjectServiceImpl implements IProjectService { project.setProjectName(name); return projectMapper.selectProjectList(project); } + + @Override + public Map getProjectIdsByNames(Set projectNames) { + if (projectNames == null || projectNames.isEmpty()) { + return Collections.emptyMap(); + } + + List projects = projectMapper.selectProjectListByNames(projectNames); + return projects.stream() + .collect(Collectors.toMap( + Project::getProjectName, + Project::getId, + (existing, replacement) -> existing + )); + } } \ No newline at end of file diff --git a/src/main/java/com/eden/room/service/impl/RoomServiceImpl.java b/src/main/java/com/eden/room/service/impl/RoomServiceImpl.java index d6776d6..09aa534 100644 --- a/src/main/java/com/eden/room/service/impl/RoomServiceImpl.java +++ b/src/main/java/com/eden/room/service/impl/RoomServiceImpl.java @@ -3,9 +3,7 @@ package com.eden.room.service.impl; import com.eden.room.common.ContextUser; import com.eden.room.common.UserContextHolder; -import com.eden.room.common.enums.ImageTypeEnum; -import com.eden.room.common.enums.PriceUnitEnum; -import com.eden.room.common.enums.RentalStatusEnum; +import com.eden.room.common.enums.*; import com.eden.room.domain.*; import com.eden.room.domain.dto.*; import com.eden.room.feign.ContractFeignClient; @@ -19,6 +17,7 @@ import com.eden.room.mapper.RoomExtendInfoMapper; import com.eden.room.mapper.RoomImageMapper; import com.eden.room.mapper.RoomMapper; import com.eden.room.service.IRoomService; +import com.eden.room.utils.EnumConverter; import com.eden.room.utils.ExcelUtil; import com.eden.room.utils.excel.Excel; import lombok.extern.slf4j.Slf4j; @@ -36,6 +35,8 @@ import java.lang.reflect.Field; import java.util.*; import java.util.stream.Collectors; +import com.eden.room.constant.RoomConstants; + /** * 房源服务实现类 */ @@ -77,10 +78,8 @@ public class RoomServiceImpl implements IRoomService { * 查询房源列表 */ @Override - public List selectRoomList(Room room) { - // 设置租户ID - //setTenantId(room); - return roomMapper.selectRoomList(room); + public List selectRoomList(RoomQueryDTO queryDTO) { + return roomMapper.selectRoomList(queryDTO); } /** @@ -170,54 +169,59 @@ public class RoomServiceImpl implements IRoomService { public int insertRoom(RoomDTO roomDTO) { // 获取当前用户 ContextUser user = new ContextUser(); - user.setUsername("admin"); + user.setUsername(RoomConstants.DEFAULT_USERNAME); Date now = new Date(); // 设置房源基础信息 Room room = new Room(); BeanUtils.copyProperties(roomDTO, room); - //setTenantId(room); room.setCreateTime(now); room.setLastModTime(now); room.setCreateUserId(user.getUserName()); room.setLastModUserId(user.getUserName()); - room.setDelFlag("0"); - + room.setDelFlag(RoomConstants.DEL_FLAG_NORMAL); + + // todo 数据库校验 + roomMapper.checkRoomDigitalNumberExist(room.getRoomDigitalNumber(), room.getProjectId(), + room.getBuildingId(), room.getFloorId()); + + // todo 数据库校验 + roomMapper.checkRoomNumberExist(room.getRoomNumber(), room.getProjectId(), + room.getBuildingId(), room.getFloorId()); + // 插入房源基础信息 - int rows = roomMapper.insertRoom(room); + int rows = roomMapper.batchInsertRooms(Collections.singletonList(room)); Long roomId = room.getId(); // 设置招商信息 RoomBusinessInfo businessInfo = roomDTO.getBusinessInfo(); if (businessInfo != null) { businessInfo.setRoomId(roomId); - //setTenantId(businessInfo); businessInfo.setCreateTime(now); businessInfo.setLastModTime(now); businessInfo.setCreateUserId(user.getUserName()); businessInfo.setLastModUserId(user.getUserName()); - businessInfo.setDelFlag("0"); + businessInfo.setDelFlag(RoomConstants.DEL_FLAG_NORMAL); // 默认设置为待租状态 if (StringUtils.isEmpty(businessInfo.getRentalStatus())) { businessInfo.setRentalStatus(RentalStatusEnum.WAITING.getKey()); } - businessInfo.setPriceUnit(PriceUnitEnum.getByValue(businessInfo.getPriceUnit()).getKey()); + businessInfo.setPriceUnit(businessInfo.getPriceUnit()); // 插入招商信息 - businessInfoMapper.insertRoomBusinessInfo(businessInfo); + businessInfoMapper.batchInsertBusinessInfos(Collections.singletonList(businessInfo)); } // 设置拓展信息 RoomExtendInfo extendInfo = roomDTO.getExtendInfo(); if (extendInfo != null) { extendInfo.setRoomId(roomId); - //setTenantId(extendInfo); extendInfo.setCreateTime(now); extendInfo.setLastModTime(now); extendInfo.setCreateUserId(user.getUserName()); extendInfo.setLastModUserId(user.getUserName()); - extendInfo.setDelFlag("0"); + extendInfo.setDelFlag(RoomConstants.DEL_FLAG_NORMAL); // 处理标签 if (roomDTO.getTags() != null && !roomDTO.getTags().isEmpty()) { @@ -225,7 +229,7 @@ public class RoomServiceImpl implements IRoomService { } // 插入拓展信息 - extendInfoMapper.insertRoomExtendInfo(extendInfo); + extendInfoMapper.batchInsertExtendInfos(Collections.singletonList(extendInfo)); } // 插入房源图片 @@ -245,7 +249,7 @@ public class RoomServiceImpl implements IRoomService { public int updateRoom(RoomDTO roomDTO) { // 获取当前用户 ContextUser user = new ContextUser(); - user.setUsername("admin"); + user.setUsername(RoomConstants.DEFAULT_USERNAME); Date now = new Date(); Long roomId = roomDTO.getId(); @@ -270,11 +274,10 @@ public class RoomServiceImpl implements IRoomService { if (existBusinessInfo != null) { businessInfoMapper.updateRoomBusinessInfo(businessInfo); } else { - //setTenantId(businessInfo); businessInfo.setCreateTime(now); businessInfo.setCreateUserId(user.getUserName()); - businessInfo.setDelFlag("0"); - businessInfoMapper.insertRoomBusinessInfo(businessInfo); + businessInfo.setDelFlag(RoomConstants.DEL_FLAG_NORMAL); + businessInfoMapper.batchInsertBusinessInfos(Collections.singletonList(businessInfo)); } } @@ -295,11 +298,10 @@ public class RoomServiceImpl implements IRoomService { if (existExtendInfo != null) { extendInfoMapper.updateRoomExtendInfo(extendInfo); } else { - //setTenantId(extendInfo); extendInfo.setCreateTime(now); extendInfo.setCreateUserId(user.getUserName()); - extendInfo.setDelFlag("0"); - extendInfoMapper.insertRoomExtendInfo(extendInfo); + extendInfo.setDelFlag(RoomConstants.DEL_FLAG_NORMAL); + extendInfoMapper.batchInsertExtendInfos(Collections.singletonList(extendInfo)); } } @@ -344,94 +346,67 @@ public class RoomServiceImpl implements IRoomService { return rows; } - /** - * 批量删除房源信息 - */ - @Override - @Transactional - public int deleteRoomByIds(String[] ids) { - // 检查房源是否有正在执行的合同 - for (String id : ids) { - if (checkRoomContract(Long.valueOf(id))) { - throw new RuntimeException("房源ID为" + id + "的房源有正在执行的合同,不能删除"); - } - } - - // 批量删除房源基础信息 - int rows = roomMapper.deleteRoomByIds(ids); - - // 批量删除招商信息 - businessInfoMapper.deleteRoomBusinessInfoByRoomIds(ids); - - // 批量删除拓展信息 - extendInfoMapper.deleteRoomExtendInfoByRoomIds(ids); - - // 批量删除图片信息 - imageMapper.deleteRoomImagesByRoomIds(ids); - - return rows; - } /** * 导出房源信息 */ @Override - public List exportRoom(Room room) { - // 设置租户ID - //setTenantId(room); - + public List exportRoom(RoomQueryDTO queryDTO) { + // 查询房源信息 - List roomList = roomMapper.selectRoomList(room); + List roomList = roomMapper.selectRoomList(queryDTO); if (roomList == null || roomList.isEmpty()) { return new ArrayList<>(); } // 转换为导出DTO List exportList = new ArrayList<>(); + if (roomList.isEmpty()) { + return exportList; + } + // 转换为导出DTO for (Room r : roomList) { RoomExportDTO exportDTO = new RoomExportDTO(); - - // 设置项目名称 - if (StringUtils.isNotEmpty(r.getProjectId())) { - exportDTO.setProjectName(projectMapper.selectProjectById(r.getProjectId()).getProjectName()); - } - - // 设置楼宇名称 - if (r.getBuildingId()!=null) { - exportDTO.setBuildingName(buildingMapper.selectBuildingById(r.getBuildingId()).getBuildingName()); - } - - // 设置楼层名称 - if (r.getFloorId()!=null) { - exportDTO.setFloorName(floorMapper.selectFloorById(r.getFloorId()).getFloorName()); - } - - // 设置基础信息 + + // 复制基本信息 + exportDTO.setId(r.getId()); + exportDTO.setProjectId(r.getProjectId()); + exportDTO.setProjectName(r.getProjectName()); + exportDTO.setBuildingId(r.getBuildingId()); + exportDTO.setBuildingName(r.getBuildingName()); + exportDTO.setFloorId(r.getFloorId()); + exportDTO.setFloorName(r.getFloorName()); exportDTO.setRoomNumber(r.getRoomNumber()); exportDTO.setRoomDigitalNumber(r.getRoomDigitalNumber()); + exportDTO.setRoomManageNumber(r.getRoomManageNumber()); + exportDTO.setRoomName(r.getRoomName()); + exportDTO.setRoomType(r.getRoomType()); + exportDTO.setFloor(r.getFloor()); + exportDTO.setBuildingArea(r.getBuildingArea()); exportDTO.setRentalArea(r.getRentalArea()); exportDTO.setBillingArea(r.getBillingArea()); - exportDTO.setBuildingArea(r.getBuildingArea()); exportDTO.setInnerArea(r.getInnerArea()); - exportDTO.setRoomManageNumber(r.getRoomManageNumber()); + exportDTO.setIsVirtual(r.getIsVirtual()); + exportDTO.setDeliveryTime(r.getDeliveryTime()); + exportDTO.setOwnerId(r.getOwnerId()); + exportDTO.setPropertyNature(r.getPropertyNature()); + exportDTO.setHeight(r.getHeight()); + exportDTO.setLoadValue(r.getLoadValue()); + exportDTO.setRoomStatus(r.getRoomStatus()); + exportDTO.setCreateTime(r.getCreateTime()); + exportDTO.setPrice(r.getPrice()); + exportDTO.setPriceUnit(r.getPriceUnit()); + exportDTO.setRentalStatus(r.getRentalStatus()); + exportDTO.setAvailableDate(r.getAvailableDate()); + exportDTO.setBusinessStatus(r.getBusinessStatus()); + exportDTO.setDecorationStatus(r.getDecorationStatus()); + // todo 查询接口进行转换 注意不要在for循环里面调用 + exportDTO.setTags(r.getTags()); + exportDTO.setPriceAndUnit((exportDTO.getPrice())); + + // 转换枚举字段 + EnumConverter.convert(exportDTO); - // 查询招商信息 - RoomBusinessInfo businessInfo = businessInfoMapper.selectRoomBusinessInfoByRoomId(r.getId()); - if (businessInfo != null) { - exportDTO.setPrice(businessInfo.getPrice()); - exportDTO.setPriceUnit(businessInfo.getPriceUnit()); - exportDTO.setRentalStatus(businessInfo.getRentalStatus()); - exportDTO.setAvailableDate(businessInfo.getAvailableDate()); - exportDTO.setBusinessStatus(businessInfo.getBusinessStatus()); - exportDTO.setDecorationStatus(businessInfo.getDecorationStatus()); - } - - // 查询拓展信息 - RoomExtendInfo extendInfo = extendInfoMapper.selectRoomExtendInfoByRoomId(r.getId()); - if (extendInfo != null) { - exportDTO.setTags(extendInfo.getTags()); - } - exportList.add(exportDTO); } @@ -470,83 +445,7 @@ public class RoomServiceImpl implements IRoomService { // 调用合同服务接口,检查房源是否有正在执行的合同 return contractFeignClient.checkRoomContract(id, null); } - - /** - * 根据ID列表导出房源信息 - * - * @param ids 房源ID数组 - * @return 房源信息列表 - */ - @Override - public List exportRoomByIds(String[] ids) { - if (ids == null || ids.length == 0) { - return new ArrayList<>(); - } - - List exportList = new ArrayList<>(); - - // 查询指定ID的房源信息 - List roomList = roomMapper.selectRoomByIds(ids); - if (roomList.isEmpty()) { - return exportList; - } - - // 转换为导出DTO - for (Room r : roomList) { - RoomExportDTO exportDTO = new RoomExportDTO(); - - // 复制基本信息 - exportDTO.setId(r.getId()); - exportDTO.setProjectId(r.getProjectId()); - exportDTO.setProjectName(r.getProjectName()); - exportDTO.setBuildingId(r.getBuildingId()); - exportDTO.setBuildingName(r.getBuildingName()); - exportDTO.setFloorId(r.getFloorId()); - exportDTO.setFloorName(r.getFloorName()); - exportDTO.setRoomNumber(r.getRoomNumber()); - exportDTO.setRoomDigitalNumber(r.getRoomDigitalNumber()); - exportDTO.setRoomManageNumber(r.getRoomManageNumber()); - exportDTO.setRoomName(r.getRoomName()); - exportDTO.setRoomType(r.getRoomType()); - exportDTO.setFloor(r.getFloor()); - exportDTO.setIsWholeFloor(r.getIsWholeFloor()); - exportDTO.setBuildingArea(r.getBuildingArea()); - exportDTO.setRentalArea(r.getRentalArea()); - exportDTO.setBillingArea(r.getBillingArea()); - exportDTO.setInnerArea(r.getInnerArea()); - exportDTO.setIsVirtual(r.getIsVirtual()); - exportDTO.setDeliveryTime(r.getDeliveryTime()); - exportDTO.setOwnerId(r.getOwnerId()); - exportDTO.setPropertyNature(r.getPropertyNature()); - exportDTO.setHeight(r.getHeight()); - exportDTO.setLoadValue(r.getLoadValue()); - exportDTO.setRoomStatus(r.getRoomStatus()); - exportDTO.setCreateTime(r.getCreateTime()); - - // 查询招商信息 - RoomBusinessInfo businessInfo = businessInfoMapper.selectRoomBusinessInfoByRoomId(r.getId()); - if (businessInfo != null) { - exportDTO.setPrice(businessInfo.getPrice()); - exportDTO.setPriceUnit(businessInfo.getPriceUnit()); - exportDTO.setRentalStatus(businessInfo.getRentalStatus()); - exportDTO.setAvailableDate(businessInfo.getAvailableDate()); - exportDTO.setBusinessStatus(businessInfo.getBusinessStatus()); - exportDTO.setDecorationStatus(businessInfo.getDecorationStatus()); - } - - // 查询拓展信息 - RoomExtendInfo extendInfo = extendInfoMapper.selectRoomExtendInfoByRoomId(r.getId()); - if (extendInfo != null) { - exportDTO.setTags(extendInfo.getTags()); - } - - exportList.add(exportDTO); - } - - return exportList; - } - /** * 插入房源图片 * @@ -564,259 +463,17 @@ public class RoomServiceImpl implements IRoomService { image.setRoomId(roomId); image.setImageType(imageType); image.setSortOrder(sortOrder++); - //setTenantId(image); image.setCreateTime(now); image.setLastModTime(now); image.setCreateUserId(user.getUserName()); image.setLastModUserId(user.getUserName()); - image.setDelFlag("0"); + image.setDelFlag(RoomConstants.DEL_FLAG_NORMAL); imageMapper.insertRoomImage(image); } } } - - /** - * 设置租户ID - * - * @param obj 需要设置租户ID的对象 - */ -// private void setTenantId(Object obj) { -// if (obj instanceof Room) { -// ((Room) obj).setTenantId(UserContextHolder.get().getTenantId()); -// } else if (obj instanceof RoomBusinessInfo) { -// ((RoomBusinessInfo) obj).setTenantId(UserContextHolder.get().getTenantId()); -// } else if (obj instanceof RoomExtendInfo) { -// ((RoomExtendInfo) obj).setTenantId(UserContextHolder.get().getTenantId()); -// } else if (obj instanceof RoomImage) { -// ((RoomImage) obj).setTenantId(UserContextHolder.get().getTenantId()); -// } -// } - /** - * 批量导入房源信息 - * - * @param file 导入文件 - * @return 导入结果信息 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public Map importRoom(MultipartFile file) throws Exception { - // 初始化结果 - Map result = new HashMap<>(); - int successCount = 0; - int failCount = 0; - StringBuilder failMsg = new StringBuilder(); - - // 解析Excel文件 - ExcelUtil excelUtil = new ExcelUtil<>(RoomImportDTO.class); - List roomImportList = excelUtil.importExcel(file.getInputStream()); - - if (roomImportList.isEmpty()) { - throw new RuntimeException("Excel文件中没有数据"); - } - - // 当前用户 - ContextUser user = UserContextHolder.get(); - Date now = new Date(); - - // 处理每一行数据 - for (int i = 0; i < roomImportList.size(); i++) { - RoomImportDTO roomImport = roomImportList.get(i); - try { - // 1. 查找项目 - String projectId = getProjectIdByName(roomImport.getProjectName()); - if (projectId == null) { - failCount++; - String errorMsg = "项目[" + roomImport.getProjectName() + "]不存在"; - failMsg.append("第").append(i + 2).append("行:").append(errorMsg).append("
"); - roomImport.setImportResult(errorMsg); - continue; - } - - // 2. 查找楼宇 - Long buildingId = getBuildingIdByName(projectId, roomImport.getBuildingName()); - if (buildingId == null) { - failCount++; - String errorMsg = "楼宇[" + roomImport.getBuildingName() + "]不存在"; - failMsg.append("第").append(i + 2).append("行:").append(errorMsg).append("
"); - roomImport.setImportResult(errorMsg); - continue; - } - - // 3. 查找楼层 - Long floorId = getFloorIdByName(buildingId, roomImport.getFloorName()); - if (floorId == null) { - failCount++; - String errorMsg = "楼层[" + roomImport.getFloorName() + "]不存在"; - failMsg.append("第").append(i + 2).append("行:").append(errorMsg).append("
"); - roomImport.setImportResult(errorMsg); - continue; - } - - // 4. 检查房源编号是否重复 - boolean roomExists = checkRoomCodeExists(roomImport.getRoomNumber(), projectId, buildingId, floorId); - if (roomExists) { - failCount++; - String errorMsg = "房源编号[" + roomImport.getRoomNumber() + "]已存在"; - failMsg.append("第").append(i + 2).append("行:").append(errorMsg).append("
"); - roomImport.setImportResult(errorMsg); - continue; - } - - // 5. 保存房源基本信息 - Room room = new Room(); - room.setProjectId(projectId); - room.setProjectName(roomImport.getProjectName()); - room.setBuildingId(buildingId); - room.setBuildingName(roomImport.getBuildingName()); - room.setFloorId(floorId); - room.setFloorName(roomImport.getFloorName()); - room.setRoomNumber(roomImport.getRoomNumber()); - room.setRoomDigitalNumber(roomImport.getRoomDigitalNumber()); - room.setRoomManageNumber(roomImport.getRoomManageNumber()); - room.setBuildingArea(roomImport.getBuildingArea()); - room.setRentalArea(roomImport.getRentalArea()); - room.setBillingArea(roomImport.getBillingArea()); - room.setHeight(roomImport.getHeight()); - room.setIsVirtual("0"); // 默认非虚拟房源 - room.setRoomStatus("1"); // 默认公开状态 - room.setDelFlag("0"); - room.setCreateTime(now); - room.setLastModTime(now); - - // 插入房源基本信息 - roomMapper.insertRoom(room); - - // 6. 创建招商信息 - RoomBusinessInfo businessInfo = new RoomBusinessInfo(); - businessInfo.setRoomId(room.getId()); - businessInfo.setPrice(roomImport.getPrice()); - businessInfo.setFloorPrice(roomImport.getFloorPrice()); - businessInfo.setPriceUnit(roomImport.getPriceUnit()); - businessInfo.setRentalStatus("1"); // 默认待租状态 - businessInfo.setBusinessStatus("1"); // 默认招商状态 - businessInfo.setDecorationStatus("3"); // 默认毛坯状态 - businessInfo.setDelFlag("0"); - businessInfo.setCreateTime(now); - businessInfo.setLastModTime(now); - - // 插入招商信息 - businessInfoMapper.insertRoomBusinessInfo(businessInfo); - - // 7. 创建拓展信息 - if (StringUtils.isNotBlank(roomImport.getTags())) { - RoomExtendInfo extendInfo = new RoomExtendInfo(); - extendInfo.setRoomId(room.getId()); - extendInfo.setTags(roomImport.getTags()); - extendInfo.setDelFlag("0"); - extendInfo.setCreateTime(now); - extendInfo.setLastModTime(now); - - // 插入拓展信息 - extendInfoMapper.insertRoomExtendInfo(extendInfo); - } - - successCount++; - roomImport.setImportResult("导入成功"); - } catch (Exception e) { - failCount++; - String errorMsg = "导入失败:" + e.getMessage(); - failMsg.append("第").append(i + 2).append("行:").append(errorMsg).append("
"); - roomImport.setImportResult(errorMsg); - } - } - - // 只有在有导入失败的情况下才生成Excel文件 - byte[] excelBytes = null; - if (failCount > 0) { - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - exportToExcelWithTemplate(roomImportList, outputStream); - excelBytes = outputStream.toByteArray(); - result.put("excelBytes", excelBytes); - } - result.put("successCount", successCount); - result.put("failCount", failCount); - result.put("failMsg", failMsg.toString()); - result.put("allSuccess", failCount == 0); - - return result; - } - /** - * 使用模板文件导出Excel - * - * @param roomList 房源数据列表 - * @param outputStream 输出流 - * @throws IOException IO异常 - */ - public void exportToExcelWithTemplate(List roomList, OutputStream outputStream) throws IOException { - // 加载模板文件 - ClassPathResource resource = new ClassPathResource("templates/room_import.xlsx"); - InputStream inputStream = resource.getInputStream(); - Workbook workbook = WorkbookFactory.create(inputStream); - inputStream.close(); - - // 获取第一个工作表 - Sheet sheet = workbook.getSheetAt(0); - - // 获取标题行 - Row headerRow = sheet.getRow(0); - if (headerRow == null) { - throw new RuntimeException("模板文件格式错误:未找到标题行"); - } - - // 获取字段映射 - List fields = getExcelFields(RoomExport.class); - Map columnMap = new HashMap<>(); - for (int i = 0; i < headerRow.getLastCellNum(); i++) { - Cell cell = headerRow.getCell(i); - if (cell != null) { - String headerName = cell.getStringCellValue(); - for (Field field : fields) { - Excel excel = field.getAnnotation(Excel.class); - if (excel != null && excel.name().equals(headerName)) { - columnMap.put(i, field); - break; - } - } - } - } - - // 填充数据行 - int startRow = 4; // 从第4行开始填充数据 - for (RoomImportDTO room : roomList) { - Row row = sheet.getRow(startRow); - if (row == null) { - row = sheet.createRow(startRow); - } - - for (Map.Entry entry : columnMap.entrySet()) { - int columnIndex = entry.getKey(); - Field field = entry.getValue(); - - Cell cell = row.getCell(columnIndex); - if (cell == null) { - cell = row.createCell(columnIndex); - } - - field.setAccessible(true); - try { - Object value = field.get(room); - if (value != null) { - cell.setCellValue(value.toString()); - } - } catch (IllegalAccessException e) { - e.printStackTrace(); - } - } - - startRow++; - } - - // 写入输出流 - workbook.write(outputStream); - workbook.close(); - } private List getExcelFields(Class clazz) { List fields = new ArrayList<>(); Field[] declaredFields = clazz.getDeclaredFields(); @@ -899,8 +556,8 @@ public class RoomServiceImpl implements IRoomService { if (StringUtils.isBlank(roomCode)) { return false; } - - Room param = new Room(); + + RoomQueryDTO param = new RoomQueryDTO(); param.setRoomNumber(roomCode); param.setProjectId(projectId); param.setBuildingId(buildingId); @@ -908,4 +565,84 @@ public class RoomServiceImpl implements IRoomService { List rooms = roomMapper.selectRoomList(param); return !rooms.isEmpty(); } -} \ No newline at end of file + + @Override + @Transactional(rollbackFor = Exception.class) + public void batchInsertRooms(List rooms, List businessInfos, List extendInfos) { + if (rooms == null || rooms.isEmpty()) { + return; + } + + // 设置批量插入的批次大小 + int batchSize = RoomConstants.BATCH_SIZE; + + // 分批处理房间信息 + for (int i = 0; i < rooms.size(); i += batchSize) { + int end = Math.min(i + batchSize, rooms.size()); + List batch = rooms.subList(i, end); + roomMapper.batchInsertRooms(batch); + } + + // 获取所有插入的Room的ID + List roomIds = rooms.stream() + .map(Room::getId) + .collect(Collectors.toList()); + + // 设置RoomBusinessInfo和RoomExtendInfo的roomId + if (businessInfos != null && !businessInfos.isEmpty()) { + for (int i = 0; i < businessInfos.size(); i++) { + if (i < roomIds.size()) { + businessInfos.get(i).setRoomId(roomIds.get(i)); + } + } + + // 分批处理招商信息 + for (int i = 0; i < businessInfos.size(); i += batchSize) { + int end = Math.min(i + batchSize, businessInfos.size()); + List batch = businessInfos.subList(i, end); + businessInfoMapper.batchInsertBusinessInfos(batch); + } + } + + // 设置RoomExtendInfo的roomId并分批处理扩展信息 + if (extendInfos != null && !extendInfos.isEmpty()) { + for (int i = 0; i < extendInfos.size(); i++) { + if (i < roomIds.size()) { + extendInfos.get(i).setRoomId(roomIds.get(i)); + } + } + + for (int i = 0; i < extendInfos.size(); i += batchSize) { + int end = Math.min(i + batchSize, extendInfos.size()); + List batch = extendInfos.subList(i, end); + extendInfoMapper.batchInsertExtendInfos(batch); + } + } + } + @Override + public Set getExistingRoomNumbers(String projectId, Set roomNumbers) { + if (projectId == null || roomNumbers == null || roomNumbers.isEmpty()) { + return Collections.emptySet(); + } + + // 1. 查询数据库中已存在的房间号 + Set existingInDB = roomMapper.getExistingRoomNumbers(projectId, roomNumbers); + + // 2. 检查当前批次中是否有重复的房间号 + Set duplicatesInBatch = new HashSet<>(); + Set seen = new HashSet<>(); + + for (String roomNumber : roomNumbers) { + if (!seen.add(roomNumber)) { + duplicatesInBatch.add(roomNumber); + } + } + + // 3. 合并所有重复的房间号 + Set allDuplicates = new HashSet<>(existingInDB); + allDuplicates.addAll(duplicatesInBatch); + + return allDuplicates; + } + +} \ No newline at end of file diff --git a/src/main/java/com/eden/room/utils/EnumConvert.java b/src/main/java/com/eden/room/utils/EnumConvert.java new file mode 100644 index 0000000..c478884 --- /dev/null +++ b/src/main/java/com/eden/room/utils/EnumConvert.java @@ -0,0 +1,24 @@ +package com.eden.room.utils; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * 枚举转换注解 + * 用于标记需要将枚举key转换为value的字段 + */ +@Target(ElementType.FIELD) +@Retention(RetentionPolicy.RUNTIME) +public @interface EnumConvert { + /** + * 枚举类 + */ + Class> value(); + + /** + * 获取value的方法名 + */ + String method() default "getValue"; +} \ No newline at end of file diff --git a/src/main/java/com/eden/room/utils/EnumConverter.java b/src/main/java/com/eden/room/utils/EnumConverter.java new file mode 100644 index 0000000..02611d7 --- /dev/null +++ b/src/main/java/com/eden/room/utils/EnumConverter.java @@ -0,0 +1,50 @@ +package com.eden.room.utils; + +import java.lang.reflect.Field; +import java.lang.reflect.Method; + +/** + * 枚举转换工具类 + */ +public class EnumConverter { + + /** + * 转换对象中的枚举字段 + */ + public static void convert(Object obj) { + if (obj == null) { + return; + } + + Class clazz = obj.getClass(); + Field[] fields = clazz.getDeclaredFields(); + + for (Field field : fields) { + EnumConvert annotation = field.getAnnotation(EnumConvert.class); + if (annotation != null) { + try { + convertField(obj, field, annotation); + } catch (Exception e) { + throw new RuntimeException("枚举转换失败: " + field.getName(), e); + } + } + } + } + + /** + * 转换字段值 + */ + private static void convertField(Object obj, Field field, EnumConvert annotation) throws Exception { + field.setAccessible(true); + Object value = field.get(obj); + + if (value != null) { + Class> enumClass = annotation.value(); + // 获取getValue静态方法 + Method getValueMethod = enumClass.getMethod(annotation.method(), String.class); + // 直接调用getValue方法获取转换后的值 + Object convertedValue = getValueMethod.invoke(null, value.toString()); + field.set(obj, convertedValue); + } + } +} \ No newline at end of file diff --git a/src/main/java/com/eden/room/utils/EnumValid.java b/src/main/java/com/eden/room/utils/EnumValid.java new file mode 100644 index 0000000..611fcd7 --- /dev/null +++ b/src/main/java/com/eden/room/utils/EnumValid.java @@ -0,0 +1,32 @@ +package com.eden.room.utils; + +import javax.validation.Constraint; +import javax.validation.Payload; +import java.lang.annotation.*; + +/** + * 枚举校验注解 + */ +@Target({ElementType.FIELD, ElementType.PARAMETER}) +@Retention(RetentionPolicy.RUNTIME) +@Constraint(validatedBy = EnumValidator.class) +public @interface EnumValid { + /** + * 枚举类 + */ + Class> value(); + + /** + * 校验方法名 + */ + String method() default "isValid"; + + /** + * 错误信息 + */ + String message() default "无效的枚举值"; + + Class[] groups() default {}; + + Class[] payload() default {}; +} \ No newline at end of file diff --git a/src/main/java/com/eden/room/utils/EnumValidator.java b/src/main/java/com/eden/room/utils/EnumValidator.java new file mode 100644 index 0000000..2847ce6 --- /dev/null +++ b/src/main/java/com/eden/room/utils/EnumValidator.java @@ -0,0 +1,34 @@ +package com.eden.room.utils; + +import javax.validation.ConstraintValidator; +import javax.validation.ConstraintValidatorContext; +import java.lang.reflect.Method; + +/** + * 枚举校验器 + */ +public class EnumValidator implements ConstraintValidator { + + private Class> enumClass; + private String methodName; + + @Override + public void initialize(EnumValid constraintAnnotation) { + this.enumClass = constraintAnnotation.value(); + this.methodName = constraintAnnotation.method(); + } + + @Override + public boolean isValid(String value, ConstraintValidatorContext context) { + if (value == null || value.isEmpty()) { + return true; + } + + try { + Method method = enumClass.getMethod(methodName, String.class); + return (boolean) method.invoke(null, value); + } catch (Exception e) { + return false; + } + } +} \ No newline at end of file diff --git a/src/main/java/com/eden/room/utils/ExcelUtil.java b/src/main/java/com/eden/room/utils/ExcelUtil.java index 4556794..3de8250 100644 --- a/src/main/java/com/eden/room/utils/ExcelUtil.java +++ b/src/main/java/com/eden/room/utils/ExcelUtil.java @@ -11,6 +11,7 @@ import java.util.HashMap; import java.util.Map; import java.io.IOException; +import com.alibaba.excel.EasyExcel; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.ss.usermodel.WorkbookFactory; @@ -271,7 +272,6 @@ public class ExcelUtil { } } } - // 写入输出流 workbook.write(os); } finally { diff --git a/src/main/java/com/eden/room/utils/excel/BigDecimalConverter.java b/src/main/java/com/eden/room/utils/excel/BigDecimalConverter.java new file mode 100644 index 0000000..9f9c43f --- /dev/null +++ b/src/main/java/com/eden/room/utils/excel/BigDecimalConverter.java @@ -0,0 +1,42 @@ +package com.eden.room.utils.excel; + +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.math.BigDecimal; + +// 自定义转换器 +public class BigDecimalConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return BigDecimal.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public BigDecimal convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) { + String stringValue = cellData.getStringValue(); + if (stringValue == null || stringValue.trim().isEmpty()) { + return BigDecimal.ZERO; + } + try { + return new BigDecimal(stringValue.trim()); + } catch (NumberFormatException e) { + return BigDecimal.ZERO; + } + } + + @Override + public WriteCellData convertToExcelData(BigDecimal value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) { + return new WriteCellData(value.toString()); + } +} diff --git a/src/main/java/com/eden/room/utils/excel/ExcelImportListener.java b/src/main/java/com/eden/room/utils/excel/ExcelImportListener.java new file mode 100644 index 0000000..bb19b6c --- /dev/null +++ b/src/main/java/com/eden/room/utils/excel/ExcelImportListener.java @@ -0,0 +1,62 @@ +package com.eden.room.utils.excel; + +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.event.AnalysisEventListener; +import com.alibaba.excel.write.metadata.style.WriteCellStyle; +import com.alibaba.excel.write.metadata.style.WriteFont; +import com.alibaba.excel.write.style.HorizontalCellStyleStrategy; +import org.apache.poi.ss.usermodel.*; +import org.springframework.validation.Validator; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +/** + * Excel导入监听器 + * @param 导入数据类型 + */ +public abstract class ExcelImportListener extends AnalysisEventListener { + + protected final List dataList = new ArrayList<>(); + protected final Map errorMap = new ConcurrentHashMap<>(); + protected Boolean successFlag = true; + protected final Validator validator; + + public ExcelImportListener(Validator validator) { + this.validator = validator; + } + + @Override + public void invoke(T data, AnalysisContext context) { + + } + + @Override + public void doAfterAllAnalysed(AnalysisContext context) { + // 处理剩余数据 + if (!dataList.isEmpty()) { + batchProcess(); + } + } + + /** + * 批量处理数据 + */ + protected abstract void batchProcess(); + + /** + * 获取错误信息 + */ + public Map getErrorMap() { + return errorMap; + } + + public Boolean getSuccessFlag() { + return successFlag; + } + + + public abstract List getDataList(); +} \ No newline at end of file diff --git a/src/main/java/com/eden/room/utils/excel/RoomImportListener.java b/src/main/java/com/eden/room/utils/excel/RoomImportListener.java new file mode 100644 index 0000000..3e6b639 --- /dev/null +++ b/src/main/java/com/eden/room/utils/excel/RoomImportListener.java @@ -0,0 +1,220 @@ +package com.eden.room.utils.excel; + +import com.alibaba.excel.context.AnalysisContext; +import com.eden.room.common.enums.*; +import com.eden.room.domain.Room; +import com.eden.room.domain.RoomBusinessInfo; +import com.eden.room.domain.RoomExtendInfo; +import com.eden.room.domain.dto.RoomImportDTO; +import com.eden.room.service.IBuildingService; +import com.eden.room.service.IFloorService; +import com.eden.room.service.IProjectService; +import com.eden.room.service.IRoomService; +import org.springframework.validation.BeanPropertyBindingResult; +import org.springframework.validation.BindingResult; +import org.springframework.validation.Validator; +import com.eden.room.constant.RoomConstants; + +import java.util.*; +import java.util.stream.Collectors; + +/** + * 房源导入监听器 + */ +public class RoomImportListener extends ExcelImportListener { + + + private final IRoomService roomService; + + private final IProjectService projectService; + + private final IBuildingService buildingService; + + private final IFloorService floorService; + + // 用于存储待导入的数据 + private final List rooms = new ArrayList<>(); + private final List businessInfos = new ArrayList<>(); + private final List extendInfos = new ArrayList<>(); + + public RoomImportListener(Validator validator, IRoomService roomService, IProjectService projectService, IBuildingService buildingService, IFloorService floorService) { + super(validator); + this.roomService = roomService; + this.projectService = projectService; + this.buildingService = buildingService; + this.floorService = floorService; + } + + @Override + public void invoke(RoomImportDTO data, AnalysisContext context) { + // 获取当前行号 + int rowIndex = context.readRowHolder().getRowIndex(); + if (rowIndex <= RoomConstants.IMPORT_HEADER_ROW_INDEX) { + return; + } + dataList.add(data); + // 数据校验 + BindingResult bindingResult = new BeanPropertyBindingResult(data, RoomImportDTO.class.getName()); + validator.validate(data, bindingResult); + + if (bindingResult.hasErrors()) { + // 记录错误信息 + data.setImportResult(bindingResult.getAllErrors().get(0).getDefaultMessage()); + successFlag = false; + } + + } + @Override + protected void batchProcess() { + if (dataList.isEmpty()) { + return; + } + + Date now = new Date(); + + // 1. 收集所有需要查询的项目、楼宇、楼层信息 + Set projectNames = dataList.stream() + .map(RoomImportDTO::getProjectName) + .collect(Collectors.toSet()); + + Map> projectBuildingMap = new HashMap<>(); + Map> buildingFloorMap = new HashMap<>(); + + for (RoomImportDTO dto : dataList) { + projectBuildingMap.computeIfAbsent(dto.getProjectName(), k -> new HashSet<>()) + .add(dto.getBuildingName()); + buildingFloorMap.computeIfAbsent(dto.getBuildingName(), k -> new HashSet<>()) + .add(dto.getFloorName()); + } + + // 2. 批量查询项目、楼宇、楼层信息 + Map projectIdMap = projectService.getProjectIdsByNames(projectNames); + Map> buildingIdMap = new HashMap<>(); + Map> floorIdMap = new HashMap<>(); + + for (Map.Entry> entry : projectBuildingMap.entrySet()) { + String projectId = projectIdMap.get(entry.getKey()); + if (projectId != null) { + buildingIdMap.put(projectId, + buildingService.getBuildingIdsByNames(projectId, entry.getValue())); + } + } + + for (Map.Entry> entry : buildingFloorMap.entrySet()) { + for (Map buildingMap : buildingIdMap.values()) { + Long buildingId = buildingMap.get(entry.getKey()); + if (buildingId != null) { + floorIdMap.put(buildingId.toString(), + floorService.getFloorIdsByNames(buildingId, entry.getValue())); + } + } + } + + // 3. 收集所有需要检查的房间号 + Map> projectRoomMap = new HashMap<>(); + for (RoomImportDTO dto : dataList) { + String projectId = projectIdMap.get(dto.getProjectName()); + if (projectId != null) { + projectRoomMap.computeIfAbsent(projectId, k -> new HashSet<>()) + .add(dto.getRoomNumber()); + } + } + + // 4. 批量查询已存在的房间号 + Map> existingRoomMap = new HashMap<>(); + for (Map.Entry> entry : projectRoomMap.entrySet()) { + existingRoomMap.put(entry.getKey(), + roomService.getExistingRoomNumbers(entry.getKey(), entry.getValue())); + } + + // 5. 处理每一行数据 + for (RoomImportDTO dto : dataList) { + + String projectId = projectIdMap.get(dto.getProjectName()); + if (projectId == null) { + dto.setImportResult("项目不存在。"); + successFlag = false; + } + + Map buildingMap = buildingIdMap.get(projectId); + Long buildingId = buildingMap != null ? buildingMap.get(dto.getBuildingName()) : null; + if (buildingId == null) { + dto.setImportResult("楼宇不存在。"); + successFlag = false; + } + + Map floorMap = floorIdMap.get(buildingId.toString()); + Long floorId = floorMap != null ? floorMap.get(dto.getFloorName()) : null; + if (floorId == null) { + dto.setImportResult("楼层不存在。"); + successFlag = false; + } + + // 检查房间号是否重复 + Set existingRooms = existingRoomMap.get(projectId); + if (existingRooms != null && existingRooms.contains(dto.getRoomNumber())) { + dto.setImportResult("房间号已存在。"); + successFlag = false; + } + + if (!successFlag){ + continue; + } + + // 创建Room对象 + Room room = new Room(); + room.setProjectId(projectId); + room.setProjectName(dto.getProjectName()); + room.setBuildingId(buildingId); + room.setBuildingName(dto.getBuildingName()); + room.setFloorId(floorId); + room.setFloorName(dto.getFloorName()); + room.setRoomNumber(dto.getRoomNumber()); + room.setRoomDigitalNumber(dto.getRoomDigitalNumber()); + room.setRoomManageNumber(dto.getRoomManageNumber()); + room.setBuildingArea(dto.getBuildingArea()); + room.setRentalArea(dto.getRentalArea()); + room.setBillingArea(dto.getBillingArea()); + room.setHeight(dto.getHeight()); + room.setIsVirtual(VirtualFlagEnum.NO.getKey()); + room.setRoomStatus(RoomStatusEnum.PUBLIC.getKey()); + room.setDelFlag(RoomConstants.DEL_FLAG_NORMAL); + room.setCreateTime(now); + room.setLastModTime(now); + rooms.add(room); + + // 创建RoomBusinessInfo对象 + RoomBusinessInfo businessInfo = new RoomBusinessInfo(); + businessInfo.setPrice(dto.getPrice()); + businessInfo.setFloorPrice(dto.getFloorPrice()); + businessInfo.setPriceUnit(PriceUnitEnum.getByValue(dto.getPriceUnit())); + businessInfo.setRentalStatus(RentalStatusEnum.WAITING.getKey()); + businessInfo.setBusinessStatus(BusinessStatusEnum.BUSINESS.getKey()); + businessInfo.setDecorationStatus(DecorationStatusEnum.ROUGH.getKey()); + businessInfo.setDelFlag(RoomConstants.DEL_FLAG_NORMAL); + businessInfo.setCreateTime(now); + businessInfo.setLastModTime(now); + businessInfos.add(businessInfo); + + // 创建RoomExtendInfo对象 + RoomExtendInfo extendInfo = new RoomExtendInfo(); + extendInfo.setTags(dto.getTags()); + extendInfo.setDelFlag(RoomConstants.DEL_FLAG_NORMAL); + extendInfo.setCreateTime(now); + extendInfo.setLastModTime(now); + extendInfos.add(extendInfo); + + } + + // 6. 批量保存数据 + if (!rooms.isEmpty() && successFlag) { + roomService.batchInsertRooms(rooms, businessInfos, extendInfos); + } + } + + @Override + public List getDataList() { + return dataList; + } + +} \ No newline at end of file diff --git a/src/main/resources/mapper/ProjectTreeMapper.xml b/src/main/resources/mapper/ProjectTreeMapper.xml index 5da2acf..362b74f 100644 --- a/src/main/resources/mapper/ProjectTreeMapper.xml +++ b/src/main/resources/mapper/ProjectTreeMapper.xml @@ -7,7 +7,7 @@ id, project_name as projectName, project_type as projectType - FROM tb_project + FROM TB_RES_PROJECT WHERE del_flag = '0' @@ -16,7 +16,7 @@ id, building_name as buildingName, building_code as buildingCode - FROM tb_building + FROM TB_RES_BUILDING WHERE project_id = #{projectId} AND del_flag = '0' @@ -26,7 +26,7 @@ id, floor_name as floorName, floor_number as floorNumber - FROM tb_floor + FROM TB_RES_FLOOR WHERE building_id = #{buildingId} AND del_flag = '0' ORDER BY floor_number @@ -40,7 +40,7 @@ room_status as roomStatus, building_area as buildingArea, rental_area as rentalArea - FROM tb_room + FROM TB_RES_ROOM WHERE floor_id = #{floorId} AND del_flag = '0' ORDER BY room_digital_number diff --git a/src/main/resources/mapper/room/BuildingMapper.xml b/src/main/resources/mapper/room/BuildingMapper.xml index bb1724d..3a8c2e6 100644 --- a/src/main/resources/mapper/room/BuildingMapper.xml +++ b/src/main/resources/mapper/room/BuildingMapper.xml @@ -49,8 +49,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" b.last_mod_time, b.create_user_id, b.last_mod_user_id, b.del_flag, b.remark, b.reserve1, b.reserve2, b.reserve3, p.project_name - from TB_BUILDING b - left join TB_PROJECT p on b.project_id = p.id and p.del_flag = '0' + from TB_RES_BUILDING b + left join TB_RES_PROJECT p on b.project_id = p.id and p.del_flag = '0' - where b.id = #{id} and b.del_flag = '0' - insert into TB_BUILDING + insert into TB_RES_BUILDING - tenant_id, project_id, building_code, building_name, @@ -124,7 +123,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" last_mod_time - #{tenantId}, #{projectId}, #{buildingCode}, #{buildingName}, @@ -160,7 +158,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - update TB_BUILDING + update TB_RES_BUILDING building_code = #{buildingCode}, building_name = #{buildingName}, @@ -193,22 +191,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{id} and del_flag = '0' - - update TB_BUILDING set del_flag = '1' where id = #{id} + + update TB_RES_BUILDING set del_flag = '1' where id = #{id} - - update TB_BUILDING set del_flag = '1' where id in - + + update TB_RES_BUILDING set del_flag = '1' where id in + #{id} - select b.*, - (select count(*) from TB_ROOM_BASE where building_id = b.id and del_flag = '0') as total_rooms, - (select count(*) from TB_ROOM_BASE rb - inner join TB_ROOM_BUSINESS rbs on rb.id = rbs.room_id + (select count(*) from TB_RES_ROOM where building_id = b.id and del_flag = '0') as total_rooms, + (select count(*) from TB_RES_ROOM rb + inner join TB_RES_ROOM_BUSINESS rbs on rb.id = rbs.room_id where rb.building_id = b.id and rb.del_flag = '0' and rbs.rental_status = '已租') as rented_rooms, - (select count(*) from TB_ROOM_BASE rb - inner join TB_ROOM_BUSINESS rbs on rb.id = rbs.room_id + (select count(*) from TB_RES_ROOM rb + inner join TB_RES_ROOM_BUSINESS rbs on rb.id = rbs.room_id where rb.building_id = b.id and rb.del_flag = '0' and rbs.rental_status = '待租') as waiting_rooms, - (select COALESCE(sum(rb.building_area), 0) from TB_ROOM_BASE rb - inner join TB_ROOM_BUSINESS rbs on rb.id = rbs.room_id + (select COALESCE(sum(rb.building_area), 0) from TB_RES_ROOM rb + inner join TB_RES_ROOM_BUSINESS rbs on rb.id = rbs.room_id where rb.building_id = b.id and rb.del_flag = '0' and rbs.rental_status = '已租') as rented_area, - (select COALESCE(sum(rb.building_area), 0) from TB_ROOM_BASE rb - inner join TB_ROOM_BUSINESS rbs on rb.id = rbs.room_id + (select COALESCE(sum(rb.building_area), 0) from TB_RES_ROOM rb + inner join TB_RES_ROOM_BUSINESS rbs on rb.id = rbs.room_id where rb.building_id = b.id and rb.del_flag = '0' and rbs.rental_status = '待租') as waiting_area, - (select count(*) from TB_ROOM_BASE rb - inner join TB_ROOM_BUSINESS rbs on rb.id = rbs.room_id + (select count(*) from TB_RES_ROOM rb + inner join TB_RES_ROOM_BUSINESS rbs on rb.id = rbs.room_id where rb.building_id = b.id and rb.del_flag = '0' and rbs.business_status = '招商') as available_rooms, - (select COALESCE(sum(rb.building_area), 0) from TB_ROOM_BASE rb - inner join TB_ROOM_BUSINESS rbs on rb.id = rbs.room_id + (select COALESCE(sum(rb.building_area), 0) from TB_RES_ROOM rb + inner join TB_RES_ROOM_BUSINESS rbs on rb.id = rbs.room_id where rb.building_id = b.id and rb.del_flag = '0' and rbs.business_status = '招商') as available_area - from TB_BUILDING b + from TB_RES_BUILDING b where b.id = #{id} and b.del_flag = '0' - + select count(1) > 0 from TB_RES_FLOOR where building_id = #{id} and del_flag = '0' + \ No newline at end of file diff --git a/src/main/resources/mapper/room/FloorMapper.xml b/src/main/resources/mapper/room/FloorMapper.xml index fc88629..64b14fa 100644 --- a/src/main/resources/mapper/room/FloorMapper.xml +++ b/src/main/resources/mapper/room/FloorMapper.xml @@ -25,7 +25,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select id, tenant_id, building_id, floor_number, floor_name, create_time, last_mod_time, create_user_id, last_mod_user_id, del_flag, remark, reserve1, reserve2, reserve3 - from TB_FLOOR + from TB_RES_FLOOR - where id = #{id} and del_flag = '0' - insert into TB_FLOOR + insert into TB_RES_FLOOR - tenant_id, building_id, floor_number, floor_name, @@ -68,7 +67,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" last_mod_time - #{tenantId}, #{buildingId}, #{floorNumber}, #{floorName}, @@ -85,7 +83,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - update TB_FLOOR + update TB_RES_FLOOR floor_number = #{floorNumber}, floor_name = #{floorName}, @@ -99,22 +97,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{id} and del_flag = '0' - - update TB_FLOOR set del_flag = '1' where id = #{id} and del_flag = '0' + + update TB_RES_FLOOR set del_flag = '1' where id = #{id} and del_flag = '0' - - update TB_FLOOR set del_flag = '1' where id in - + + update TB_RES_FLOOR set del_flag = '1' where id in + #{id} - select f.*, - (select count(*) from TB_ROOM_BASE where floor_id = f.id and del_flag = '0') as total_rooms, - (select count(*) from TB_ROOM_BASE rb - inner join TB_ROOM_BUSINESS rbs on rb.id = rbs.room_id + (select count(*) from TB_RES_ROOM where floor_id = f.id and del_flag = '0') as total_rooms, + (select count(*) from TB_RES_ROOM rb + inner join TB_RES_ROOM_BUSINESS rbs on rb.id = rbs.room_id where rb.floor_id = f.id and rb.del_flag = '0' and rbs.rental_status = '已租') as rented_rooms, - (select count(*) from TB_ROOM_BASE rb - inner join TB_ROOM_BUSINESS rbs on rb.id = rbs.room_id + (select count(*) from TB_RES_ROOM rb + inner join TB_RES_ROOM_BUSINESS rbs on rb.id = rbs.room_id where rb.floor_id = f.id and rb.del_flag = '0' and rbs.rental_status = '待租') as waiting_rooms, - (select COALESCE(sum(rb.building_area), 0) from TB_ROOM_BASE rb - inner join TB_ROOM_BUSINESS rbs on rb.id = rbs.room_id + (select COALESCE(sum(rb.building_area), 0) from TB_RES_ROOM rb + inner join TB_RES_ROOM_BUSINESS rbs on rb.id = rbs.room_id where rb.floor_id = f.id and rb.del_flag = '0' and rbs.rental_status = '已租') as rented_area, - (select COALESCE(sum(rb.building_area), 0) from TB_ROOM_BASE rb - inner join TB_ROOM_BUSINESS rbs on rb.id = rbs.room_id + (select COALESCE(sum(rb.building_area), 0) from TB_RES_ROOM rb + inner join TB_RES_ROOM_BUSINESS rbs on rb.id = rbs.room_id where rb.floor_id = f.id and rb.del_flag = '0' and rbs.rental_status = '待租') as waiting_area, - (select count(*) from TB_ROOM_BASE rb - inner join TB_ROOM_BUSINESS rbs on rb.id = rbs.room_id + (select count(*) from TB_RES_ROOM rb + inner join TB_RES_ROOM_BUSINESS rbs on rb.id = rbs.room_id where rb.floor_id = f.id and rb.del_flag = '0' and rbs.business_status = '招商') as available_rooms, - (select COALESCE(sum(rb.building_area), 0) from TB_ROOM_BASE rb - inner join TB_ROOM_BUSINESS rbs on rb.id = rbs.room_id + (select COALESCE(sum(rb.building_area), 0) from TB_RES_ROOM rb + inner join TB_RES_ROOM_BUSINESS rbs on rb.id = rbs.room_id where rb.floor_id = f.id and rb.del_flag = '0' and rbs.business_status = '招商') as available_area - from TB_FLOOR f + from TB_RES_FLOOR f where f.id = #{id} and f.del_flag = '0' - + select count(*) from TB_RES_ROOM where floor_id = #{id} and del_flag = '0' + + + \ No newline at end of file diff --git a/src/main/resources/mapper/room/ProjectMapper.xml b/src/main/resources/mapper/room/ProjectMapper.xml index 3c8b5ec..93582d6 100644 --- a/src/main/resources/mapper/room/ProjectMapper.xml +++ b/src/main/resources/mapper/room/ProjectMapper.xml @@ -32,7 +32,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" address, project_tags, project_desc, project_image, manager_id, create_time, last_mod_time, create_user_id, last_mod_user_id, del_flag, remark, reserve1, reserve2, reserve3 - from TB_PROJECT + from TB_RES_PROJECT - insert into TB_PROJECT + insert into TB_RES_PROJECT - tenant_id, project_type, project_name, project_short_name, @@ -90,7 +89,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" last_mod_time - #{tenantId}, #{projectType}, #{projectName}, #{projectShortName}, @@ -113,7 +111,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - update TB_PROJECT + update TB_RES_PROJECT project_type = #{projectType}, project_name = #{projectName}, @@ -135,27 +133,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - update TB_PROJECT set del_flag = '1' where id = #{id} + update TB_RES_PROJECT set del_flag = '1' where id = #{id} - update TB_PROJECT set del_flag = '1' where id in + update TB_RES_PROJECT set del_flag = '1' where id in #{id} select p.*, - (select COALESCE(sum(building_area), 0) from TB_BUILDING where project_id = p.id and del_flag = '0') as total_area, - (select COALESCE(sum(building_area), 0) from TB_BUILDING b - inner join TB_ROOM_BASE rb on b.id = rb.building_id - inner join TB_ROOM_BUSINESS rbs on rb.id = rbs.room_id + (select COALESCE(sum(building_area), 0) from TB_RES_BUILDING where project_id = p.id and del_flag = '0') as total_area, + (select COALESCE(sum(building_area), 0) from TB_RES_BUILDING b + inner join TB_RES_ROOM rb on b.id = rb.building_id + inner join TB_RES_ROOM_BUSINESS rbs on rb.id = rbs.room_id where b.project_id = p.id and b.del_flag = '0' and rb.del_flag = '0' and rbs.business_status = '招商') as available_area, - (select count(*) from TB_BUILDING where project_id = p.id and del_flag = '0') as total_buildings, - (select count(*) from TB_BUILDING b - inner join TB_ROOM_BASE rb on b.id = rb.building_id - inner join TB_ROOM_BUSINESS rbs on rb.id = rbs.room_id + (select count(*) from TB_RES_BUILDING where project_id = p.id and del_flag = '0') as total_buildings, + (select count(*) from TB_RES_BUILDING b + inner join TB_RES_ROOM rb on b.id = rb.building_id + inner join TB_RES_ROOM_BUSINESS rbs on rb.id = rbs.room_id where b.project_id = p.id and b.del_flag = '0' and rb.del_flag = '0' and rbs.business_status = '招商') as available_buildings, - (select COALESCE(sum(building_area), 0) from TB_BUILDING b - inner join TB_ROOM_BASE rb on b.id = rb.building_id - inner join TB_ROOM_BUSINESS rbs on rb.id = rbs.room_id + (select COALESCE(sum(building_area), 0) from TB_RES_BUILDING b + inner join TB_RES_ROOM rb on b.id = rb.building_id + inner join TB_RES_ROOM_BUSINESS rbs on rb.id = rbs.room_id where b.project_id = p.id and b.del_flag = '0' and rb.del_flag = '0' and rbs.rental_status = '已租') as rented_area, - (select count(*) from TB_BUILDING b - inner join TB_ROOM_BASE rb on b.id = rb.building_id - inner join TB_ROOM_BUSINESS rbs on rb.id = rbs.room_id + (select count(*) from TB_RES_BUILDING b + inner join TB_RES_ROOM rb on b.id = rb.building_id + inner join TB_RES_ROOM_BUSINESS rbs on rb.id = rbs.room_id where b.project_id = p.id and b.del_flag = '0' and rb.del_flag = '0' and rbs.rental_status = '已租') as rented_buildings, - (select COALESCE(sum(building_area), 0) from TB_BUILDING b - inner join TB_ROOM_BASE rb on b.id = rb.building_id - inner join TB_ROOM_BUSINESS rbs on rb.id = rbs.room_id + (select COALESCE(sum(building_area), 0) from TB_RES_BUILDING b + inner join TB_RES_ROOM rb on b.id = rb.building_id + inner join TB_RES_ROOM_BUSINESS rbs on rb.id = rbs.room_id where b.project_id = p.id and b.del_flag = '0' and rb.del_flag = '0' and rbs.rental_status = '待租') as waiting_area, - (select count(*) from TB_BUILDING b - inner join TB_ROOM_BASE rb on b.id = rb.building_id - inner join TB_ROOM_BUSINESS rbs on rb.id = rbs.room_id + (select count(*) from TB_RES_BUILDING b + inner join TB_RES_ROOM rb on b.id = rb.building_id + inner join TB_RES_ROOM_BUSINESS rbs on rb.id = rbs.room_id where b.project_id = p.id and b.del_flag = '0' and rb.del_flag = '0' and rbs.rental_status = '待租') as waiting_buildings - from TB_PROJECT p + from TB_RES_PROJECT p where p.id = #{id} and p.del_flag = '0' + + \ No newline at end of file diff --git a/src/main/resources/mapper/room/RoomBusinessInfoMapper.xml b/src/main/resources/mapper/room/RoomBusinessInfoMapper.xml index 50a1ad6..0b60b87 100644 --- a/src/main/resources/mapper/room/RoomBusinessInfoMapper.xml +++ b/src/main/resources/mapper/room/RoomBusinessInfoMapper.xml @@ -32,15 +32,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" floor_price_unit, business_number, business_condition, create_time, last_mod_time, create_user_id, last_mod_user_id, del_flag, remark - from TB_ROOM_BUSINESS_INFO + from TB_RES_ROOM_BUSINESS_INFO - where id = #{id} and del_flag = '0' - where room_id = #{roomId} and del_flag = '0' - - - - SELECT nextval('SEQ_ROOM_BUSINESS_INFO_1')::VARCHAR as id - - insert into TB_ROOM_BUSINESS_INFO - - id, - tenant_id, - room_id, - rental_status, - business_status, - available_date, - decoration_status, - price, - price_unit, - floor_price, - floor_price_unit, - business_number, - business_condition, - create_user_id, - last_mod_user_id, - del_flag, - remark, - create_time, - last_mod_time - - - #{id}, - #{tenantId}, - #{roomId}, - #{rentalStatus}, - #{businessStatus}, - #{availableDate}, - #{decorationStatus}, - #{price}, - #{priceUnit}, - #{floorPrice}, - #{floorPriceUnit}, - #{businessNumber}, - #{businessCondition}, - #{createUserId}, - #{lastModUserId}, - #{delFlag}, - #{remark}, + + + insert into TB_RES_ROOM_BUSINESS_INFO + ( + id, + room_id, + rental_status, + business_status, + available_date, + decoration_status, + price, + price_unit, + floor_price, + floor_price_unit, + business_number, + business_condition, + create_user_id, + last_mod_user_id, + del_flag, + remark, + create_time, + last_mod_time + ) + values + + ( + nextval('SEQ_ROOM_BUSINESS_INFO_1'), + #{item.roomId}, + #{item.rentalStatus}, + #{item.businessStatus}, + #{item.availableDate}, + #{item.decorationStatus}, + #{item.price}, + #{item.priceUnit}, + #{item.floorPrice}, + #{item.floorPriceUnit}, + #{item.businessNumber}, + #{item.businessCondition}, + #{item.createUserId}, + #{item.lastModUserId}, + #{item.delFlag}, + #{item.remark}, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP - + ) + - update TB_ROOM_BUSINESS_INFO + update TB_RES_ROOM_BUSINESS_INFO rental_status = #{rentalStatus}, business_status = #{businessStatus}, @@ -136,11 +131,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where room_id = #{roomId} and del_flag = '0' - - update TB_ROOM_BUSINESS_INFO set del_flag = '1' where id = #{id} and del_flag = '0' + + update TB_RES_ROOM_BUSINESS_INFO set del_flag = '1' where id = #{id} and del_flag = '0' - - update TB_ROOM_BUSINESS_INFO set del_flag = '1' where room_id = #{roomId} and del_flag = '0' + + update TB_RES_ROOM_BUSINESS_INFO set del_flag = '1' where room_id = #{roomId} and del_flag = '0' \ No newline at end of file diff --git a/src/main/resources/mapper/room/RoomExtendInfoMapper.xml b/src/main/resources/mapper/room/RoomExtendInfoMapper.xml index a09246f..17defe8 100644 --- a/src/main/resources/mapper/room/RoomExtendInfoMapper.xml +++ b/src/main/resources/mapper/room/RoomExtendInfoMapper.xml @@ -32,15 +32,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" workstation_min, workstation_max, floor_plan_desc, tags, create_time, last_mod_time, create_user_id, last_mod_user_id, del_flag, remark - from TB_ROOM_EXTEND_INFO + from TB_RES_ROOM_EXTEND_INFO - where id = #{id} and del_flag = '0' - where room_id = #{roomId} and del_flag = '0' - - - - SELECT nextval('SEQ_ROOM_EXTEND_INFO_1')::VARCHAR as id - - insert into TB_ROOM_EXTEND_INFO - - id, - tenant_id, - room_id, - room_record_number, - usage_rate, - office_layout, - window_orientation, - rent_free_period, - min_lease_term, - workstation_min, - workstation_max, - floor_plan_desc, - tags, - create_user_id, - last_mod_user_id, - del_flag, - remark, - create_time, - last_mod_time - - - #{id}, - #{tenantId}, - #{roomId}, - #{roomRecordNumber}, - #{usageRate}, - #{officeLayout}, - #{windowOrientation}, - #{rentFreePeriod}, - #{minLeaseTerm}, - #{workstationMin}, - #{workstationMax}, - #{floorPlanDesc}, - #{tags}, - #{createUserId}, - #{lastModUserId}, - #{delFlag}, - #{remark}, + + + insert into TB_RES_ROOM_EXTEND_INFO + ( + id, + room_id, + room_record_number, + usage_rate, + office_layout, + window_orientation, + rent_free_period, + min_lease_term, + workstation_min, + workstation_max, + floor_plan_desc, + tags, + create_user_id, + last_mod_user_id, + del_flag, + remark, + create_time, + last_mod_time + ) + values + + ( + nextval('SEQ_ROOM_EXTEND_INFO_1'), + #{item.roomId}, + #{item.roomRecordNumber}, + #{item.usageRate}, + #{item.officeLayout}, + #{item.windowOrientation}, + #{item.rentFreePeriod}, + #{item.minLeaseTerm}, + #{item.workstationMin}, + #{item.workstationMax}, + #{item.floorPlanDesc}, + #{item.tags}, + #{item.createUserId}, + #{item.lastModUserId}, + #{item.delFlag}, + #{item.remark}, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP - + ) + - update TB_ROOM_EXTEND_INFO + update TB_RES_ROOM_EXTEND_INFO room_record_number = #{roomRecordNumber}, usage_rate = #{usageRate}, @@ -133,11 +128,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where room_id = #{roomId} and del_flag = '0' - - update TB_ROOM_EXTEND_INFO set del_flag = '1' where id = #{id} and del_flag = '0' + + update TB_RES_ROOM_EXTEND_INFO set del_flag = '1' where id = #{id} and del_flag = '0' - - update TB_ROOM_EXTEND_INFO set del_flag = '1' where room_id = #{roomId} and del_flag = '0' + + update TB_RES_ROOM_EXTEND_INFO set del_flag = '1' where room_id = #{roomId} and del_flag = '0' \ No newline at end of file diff --git a/src/main/resources/mapper/room/RoomImageMapper.xml b/src/main/resources/mapper/room/RoomImageMapper.xml index 50a670d..84d5dee 100644 --- a/src/main/resources/mapper/room/RoomImageMapper.xml +++ b/src/main/resources/mapper/room/RoomImageMapper.xml @@ -21,15 +21,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select id, tenant_id, room_id, image_url, image_type, sort_order, create_time, last_mod_time, create_user_id, last_mod_user_id, del_flag - from TB_ROOM_IMAGE + from TB_RES_ROOM_IMAGE - where id = #{id} and del_flag = '0' - where room_id = #{roomId} and del_flag = '0' order by sort_order asc @@ -59,13 +56,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - SELECT nextval('SEQ_ROOM_IMAGE_1')::VARCHAR as id + + SELECT nextval('SEQ_ROOM_IMAGE_1') as id - insert into TB_ROOM_IMAGE + insert into TB_RES_ROOM_IMAGE id, - tenant_id, room_id, image_url, image_type, @@ -78,7 +74,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id}, - #{tenantId}, #{roomId}, #{imageUrl}, #{imageType}, @@ -92,7 +87,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - update TB_ROOM_IMAGE + update TB_RES_ROOM_IMAGE image_url = #{imageUrl}, image_type = #{imageType}, @@ -103,29 +98,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{id} and del_flag = '0' - - update TB_ROOM_IMAGE set del_flag = '1' where id = #{id} and del_flag = '0' + + update TB_RES_ROOM_IMAGE set del_flag = '1' where id = #{id} and del_flag = '0' - - update TB_ROOM_IMAGE set del_flag = '1' where room_id = #{roomId} and del_flag = '0' + + update TB_RES_ROOM_IMAGE set del_flag = '1' where room_id = #{roomId} and del_flag = '0' - update TB_ROOM_IMAGE set del_flag = '1' + update TB_RES_ROOM_IMAGE set del_flag = '1' where room_id = #{roomId} and image_type = #{imageType} and del_flag = '0' - - update TB_ROOM_IMAGE set del_flag = '1' where id in + + update TB_RES_ROOM_IMAGE set del_flag = '1' where id in #{id} and del_flag = '0' - - update TB_ROOM_IMAGE set del_flag = '1' where room_id in + + update TB_RES_ROOM_IMAGE set del_flag = '1' where room_id in #{roomId} diff --git a/src/main/resources/mapper/room/RoomMapper.xml b/src/main/resources/mapper/room/RoomMapper.xml index df8ba3e..7fff7d1 100644 --- a/src/main/resources/mapper/room/RoomMapper.xml +++ b/src/main/resources/mapper/room/RoomMapper.xml @@ -46,23 +46,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select r.id, r.tenant_id, r.project_id, r.building_id, r.floor_id, r.room_number, + SELECT + r.id, r.tenant_id, r.project_id, r.building_id, r.floor_id, r.room_number, r.room_digital_number, r.room_manage_number, r.building_area, r.rental_area, r.billing_area, r.inner_area, r.is_virtual, r.delivery_time, r.owner_id, r.property_nature, r.height, r.load_value, r.room_status, r.room_type, r.create_time, r.last_mod_time, r.create_user_id, r.last_mod_user_id, - r.del_flag, r.remark, b.project_name, c.building_name, d.floor_name,rb.price,rb.price_unit, - rb.rental_status,rb.available_date,rb.business_status,rb.decoration_status - from TB_ROOM r, TB_PROJECT b,TB_BUILDING c,TB_FLOOR d,TB_ROOM_BUSINESS_INFO rb, TB_ROOM_EXTEND_INFO re - where r.project_id=b.id and r.building_id=c.id and r.floor_id=d.id - and r.id = rb.room_id and r.id=re.room_id + r.del_flag, r.remark, b.project_name, c.building_name, d.floor_name, + rb.price, rb.price_unit, rb.rental_status, rb.available_date, rb.business_status, + rb.decoration_status,re.tags + FROM + TB_RES_ROOM r + LEFT JOIN TB_RES_PROJECT b ON r.project_id = b.id + LEFT JOIN TB_RES_BUILDING c ON r.building_id = c.id + LEFT JOIN TB_RES_FLOOR d ON r.floor_id = d.id + LEFT JOIN TB_RES_ROOM_BUSINESS_INFO rb ON r.id = rb.room_id + LEFT JOIN TB_RES_ROOM_EXTEND_INFO re ON r.id = re.room_id + WHERE r.del_flag = '0' - - - AND r.tenant_id = #{tenantId} - AND r.project_id = #{projectId} @@ -73,10 +78,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND r.floor_id = #{floorId} - AND r.room_number like concat('%', #{roomNumber}, '%') - - - AND r.room_digital_number = #{roomDigitalNumber} + AND r.room_number LIKE CONCAT('%', #{roomNumber}, '%') AND r.is_virtual = #{isVirtual} @@ -87,83 +89,82 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND r.room_type = #{roomType} - + AND rb.business_status = #{businessStatus} - AND r.del_flag = '0' - order by r.room_digital_number asc + + AND re.tags LIKE CONCAT('%,', #{tags}, ',%') + + ORDER BY r.room_digital_number ASC - - and r.id = #{id} and r.del_flag = '0' + and r.id = #{id} - - - - SELECT nextval('SEQ_ROOM_1')::VARCHAR as id - - insert into TB_ROOM - - id, - tenant_id, - project_id, - building_id, - floor_id, - room_number, - room_digital_number, - room_manage_number, - building_area, - rental_area, - billing_area, - inner_area, - is_virtual, - delivery_time, - owner_id, - property_nature, - height, - load_value, - room_status, - room_type, - create_user_id, - last_mod_user_id, - del_flag, - remark, - create_time, - last_mod_time - - - #{id}, - #{tenantId}, - #{projectId}, - #{buildingId}, - #{floorId}, - #{roomNumber}, - #{roomDigitalNumber}, - #{roomManageNumber}, - #{buildingArea}, - #{rentalArea}, - #{billingArea}, - #{innerArea}, - #{isVirtual}, - #{deliveryTime}, - #{ownerId}, - #{propertyNature}, - #{height}, - #{loadValue}, - #{roomStatus}, - #{roomType}, - #{createUserId}, - #{lastModUserId}, - #{delFlag}, - #{remark}, + + insert into TB_RES_ROOM + ( + id, + project_id, + building_id, + floor_id, + room_number, + room_digital_number, + room_manage_number, + building_area, + rental_area, + billing_area, + inner_area, + is_virtual, + delivery_time, + owner_id, + property_nature, + height, + load_value, + room_status, + room_type, + create_user_id, + last_mod_user_id, + del_flag, + remark, + create_time, + last_mod_time + ) + values + + ( + nextval('SEQ_ROOM_1'), + #{item.projectId}, + #{item.buildingId}, + #{item.floorId}, + #{item.roomNumber}, + #{item.roomDigitalNumber}, + #{item.roomManageNumber}, + #{item.buildingArea}, + #{item.rentalArea}, + #{item.billingArea}, + #{item.innerArea}, + #{item.isVirtual}, + #{item.deliveryTime}, + #{item.ownerId}, + #{item.propertyNature}, + #{item.height}, + #{item.loadValue}, + #{item.roomStatus}, + #{item.roomType}, + #{item.createUserId}, + #{item.lastModUserId}, + #{item.delFlag}, + #{item.remark}, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP - + ) + - update TB_ROOM + update TB_RES_ROOM room_number = #{roomNumber}, room_digital_number = #{roomDigitalNumber}, @@ -187,36 +188,59 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{id} and del_flag = '0' - - update TB_ROOM set del_flag = '1' where id = #{id} and del_flag = '0' + + update TB_RES_ROOM set del_flag = '1' where id = #{id} and del_flag = '0' - - update TB_ROOM set del_flag = '1' where id in + + update TB_RES_ROOM set del_flag = '1' where id in #{id} - - + + + + + + \ No newline at end of file diff --git a/target/classes/application.yml b/target/classes/application.yml deleted file mode 100644 index 127d20f..0000000 --- a/target/classes/application.yml +++ /dev/null @@ -1,89 +0,0 @@ -server: - port: 8082 - servlet: - context-path: /api - -spring: - application: - name: room-service - - # 数据库配置 - datasource: - type: com.alibaba.druid.pool.DruidDataSource - driver-class-name: org.postgresql.Driver - url: jdbc:postgresql://1.14.121.39:5432/edendb?currentSchema=public&charSet=UTF-8 - username: edenuser - password: edenpswd - druid: - initial-size: 5 - min-idle: 5 - max-active: 20 - max-wait: 60000 - time-between-eviction-runs-millis: 60000 - min-evictable-idle-time-millis: 300000 - validation-query: SELECT 1 - test-while-idle: true - test-on-borrow: false - test-on-return: false - pool-prepared-statements: true - max-pool-prepared-statement-per-connection-size: 20 - - # 启用Swagger - mvc: - pathmatch: - matching-strategy: ant_path_matcher - - # Redis配置 - redis: - host: 1.14.121.39 - port: 6379 - password: edenpswd - database: 0 - timeout: 10000 - lettuce: - pool: - max-active: 8 - max-wait: -1 - max-idle: 8 - min-idle: 0 - -# Feign客户端配置 -feign: - client: - config: - default: - connectTimeout: 5000 # 连接超时时间 - readTimeout: 5000 # 读取超时时间 - hystrix: - enabled: true # 启用熔断器 - -# 服务注册与发现配置 -eureka: - client: - register-with-eureka: false - fetch-registry: false - service-url: - defaultZone: http://localhost:8761/eureka/ - instance: - prefer-ip-address: true - -# MyBatis配置 -mybatis: - mapper-locations: classpath:mapper/**/*.xml - type-aliases-package: com.eden.room.domain - configuration: - map-underscore-to-camel-case: true - cache-enabled: true - -# PageHelper分页插件 -pagehelper: - helper-dialect: postgresql - reasonable: true - support-methods-arguments: true - params: count=countSql - -# 日志配置 -logging: - level: - com.eden.room: debug - org.springframework: warn \ No newline at end of file diff --git a/target/classes/com/eden/common/core/controller/BaseController$1.class b/target/classes/com/eden/common/core/controller/BaseController$1.class deleted file mode 100644 index e678bee..0000000 Binary files a/target/classes/com/eden/common/core/controller/BaseController$1.class and /dev/null differ diff --git a/target/classes/com/eden/common/core/controller/BaseController.class b/target/classes/com/eden/common/core/controller/BaseController.class deleted file mode 100644 index 4a40e69..0000000 Binary files a/target/classes/com/eden/common/core/controller/BaseController.class and /dev/null differ diff --git a/target/classes/com/eden/common/core/domain/AjaxResult.class b/target/classes/com/eden/common/core/domain/AjaxResult.class deleted file mode 100644 index b2ca0ff..0000000 Binary files a/target/classes/com/eden/common/core/domain/AjaxResult.class and /dev/null differ diff --git a/target/classes/com/eden/common/core/page/TableDataInfo.class b/target/classes/com/eden/common/core/page/TableDataInfo.class deleted file mode 100644 index 3718d42..0000000 Binary files a/target/classes/com/eden/common/core/page/TableDataInfo.class and /dev/null differ diff --git a/target/classes/com/eden/common/exception/ServiceException.class b/target/classes/com/eden/common/exception/ServiceException.class deleted file mode 100644 index 9e682db..0000000 Binary files a/target/classes/com/eden/common/exception/ServiceException.class and /dev/null differ diff --git a/target/classes/com/eden/common/utils/DateUtils.class b/target/classes/com/eden/common/utils/DateUtils.class deleted file mode 100644 index f4159ad..0000000 Binary files a/target/classes/com/eden/common/utils/DateUtils.class and /dev/null differ diff --git a/target/classes/com/eden/common/utils/SecurityUtils.class b/target/classes/com/eden/common/utils/SecurityUtils.class deleted file mode 100644 index db492cf..0000000 Binary files a/target/classes/com/eden/common/utils/SecurityUtils.class and /dev/null differ diff --git a/target/classes/com/eden/room/RoomApplication.class b/target/classes/com/eden/room/RoomApplication.class deleted file mode 100644 index 508134d..0000000 Binary files a/target/classes/com/eden/room/RoomApplication.class and /dev/null differ diff --git a/target/classes/com/eden/room/common/ContextUser.class b/target/classes/com/eden/room/common/ContextUser.class deleted file mode 100644 index 72e92a1..0000000 Binary files a/target/classes/com/eden/room/common/ContextUser.class and /dev/null differ diff --git a/target/classes/com/eden/room/common/Result.class b/target/classes/com/eden/room/common/Result.class deleted file mode 100644 index 79cd0eb..0000000 Binary files a/target/classes/com/eden/room/common/Result.class and /dev/null differ diff --git a/target/classes/com/eden/room/common/UserContextHolder.class b/target/classes/com/eden/room/common/UserContextHolder.class deleted file mode 100644 index 8cf5c1a..0000000 Binary files a/target/classes/com/eden/room/common/UserContextHolder.class and /dev/null differ diff --git a/target/classes/com/eden/room/common/enums/BusinessStatusEnum.class b/target/classes/com/eden/room/common/enums/BusinessStatusEnum.class deleted file mode 100644 index ec2429b..0000000 Binary files a/target/classes/com/eden/room/common/enums/BusinessStatusEnum.class and /dev/null differ diff --git a/target/classes/com/eden/room/common/enums/DecorationStatusEnum.class b/target/classes/com/eden/room/common/enums/DecorationStatusEnum.class deleted file mode 100644 index 5da3513..0000000 Binary files a/target/classes/com/eden/room/common/enums/DecorationStatusEnum.class and /dev/null differ diff --git a/target/classes/com/eden/room/common/enums/ImageTypeEnum.class b/target/classes/com/eden/room/common/enums/ImageTypeEnum.class deleted file mode 100644 index 585d548..0000000 Binary files a/target/classes/com/eden/room/common/enums/ImageTypeEnum.class and /dev/null differ diff --git a/target/classes/com/eden/room/common/enums/PriceUnitEnum.class b/target/classes/com/eden/room/common/enums/PriceUnitEnum.class deleted file mode 100644 index 6ccf8d8..0000000 Binary files a/target/classes/com/eden/room/common/enums/PriceUnitEnum.class and /dev/null differ diff --git a/target/classes/com/eden/room/common/enums/PropertyNatureEnum.class b/target/classes/com/eden/room/common/enums/PropertyNatureEnum.class deleted file mode 100644 index 05f8fcc..0000000 Binary files a/target/classes/com/eden/room/common/enums/PropertyNatureEnum.class and /dev/null differ diff --git a/target/classes/com/eden/room/common/enums/RentalStatusEnum.class b/target/classes/com/eden/room/common/enums/RentalStatusEnum.class deleted file mode 100644 index 0b13c30..0000000 Binary files a/target/classes/com/eden/room/common/enums/RentalStatusEnum.class and /dev/null differ diff --git a/target/classes/com/eden/room/common/enums/RoomStatusEnum.class b/target/classes/com/eden/room/common/enums/RoomStatusEnum.class deleted file mode 100644 index 9235a19..0000000 Binary files a/target/classes/com/eden/room/common/enums/RoomStatusEnum.class and /dev/null differ diff --git a/target/classes/com/eden/room/common/enums/RoomTypeEnum.class b/target/classes/com/eden/room/common/enums/RoomTypeEnum.class deleted file mode 100644 index 521d173..0000000 Binary files a/target/classes/com/eden/room/common/enums/RoomTypeEnum.class and /dev/null differ diff --git a/target/classes/com/eden/room/config/CorsConfig.class b/target/classes/com/eden/room/config/CorsConfig.class deleted file mode 100644 index 2e915c2..0000000 Binary files a/target/classes/com/eden/room/config/CorsConfig.class and /dev/null differ diff --git a/target/classes/com/eden/room/config/FeignConfig$FeignErrorDecoder.class b/target/classes/com/eden/room/config/FeignConfig$FeignErrorDecoder.class deleted file mode 100644 index cb6b78f..0000000 Binary files a/target/classes/com/eden/room/config/FeignConfig$FeignErrorDecoder.class and /dev/null differ diff --git a/target/classes/com/eden/room/config/FeignConfig.class b/target/classes/com/eden/room/config/FeignConfig.class deleted file mode 100644 index b45e3e3..0000000 Binary files a/target/classes/com/eden/room/config/FeignConfig.class and /dev/null differ diff --git a/target/classes/com/eden/room/config/SwaggerConfig.class b/target/classes/com/eden/room/config/SwaggerConfig.class deleted file mode 100644 index db9dfc9..0000000 Binary files a/target/classes/com/eden/room/config/SwaggerConfig.class and /dev/null differ diff --git a/target/classes/com/eden/room/config/WebMvcConfigurer.class b/target/classes/com/eden/room/config/WebMvcConfigurer.class deleted file mode 100644 index 3be741e..0000000 Binary files a/target/classes/com/eden/room/config/WebMvcConfigurer.class and /dev/null differ diff --git a/target/classes/com/eden/room/controller/BuildingController.class b/target/classes/com/eden/room/controller/BuildingController.class deleted file mode 100644 index a9e86c8..0000000 Binary files a/target/classes/com/eden/room/controller/BuildingController.class and /dev/null differ diff --git a/target/classes/com/eden/room/controller/FloorController.class b/target/classes/com/eden/room/controller/FloorController.class deleted file mode 100644 index 1b3e0f0..0000000 Binary files a/target/classes/com/eden/room/controller/FloorController.class and /dev/null differ diff --git a/target/classes/com/eden/room/controller/OwnerController.class b/target/classes/com/eden/room/controller/OwnerController.class deleted file mode 100644 index c262df3..0000000 Binary files a/target/classes/com/eden/room/controller/OwnerController.class and /dev/null differ diff --git a/target/classes/com/eden/room/controller/ProjectController.class b/target/classes/com/eden/room/controller/ProjectController.class deleted file mode 100644 index 8332c1f..0000000 Binary files a/target/classes/com/eden/room/controller/ProjectController.class and /dev/null differ diff --git a/target/classes/com/eden/room/controller/ProjectForeignController.class b/target/classes/com/eden/room/controller/ProjectForeignController.class deleted file mode 100644 index 75c7b15..0000000 Binary files a/target/classes/com/eden/room/controller/ProjectForeignController.class and /dev/null differ diff --git a/target/classes/com/eden/room/controller/RoomController.class b/target/classes/com/eden/room/controller/RoomController.class deleted file mode 100644 index 13f5a7f..0000000 Binary files a/target/classes/com/eden/room/controller/RoomController.class and /dev/null differ diff --git a/target/classes/com/eden/room/controller/RoomTemplateController.class b/target/classes/com/eden/room/controller/RoomTemplateController.class deleted file mode 100644 index dea690f..0000000 Binary files a/target/classes/com/eden/room/controller/RoomTemplateController.class and /dev/null differ diff --git a/target/classes/com/eden/room/domain/BaseEntity.class b/target/classes/com/eden/room/domain/BaseEntity.class deleted file mode 100644 index 036c3ad..0000000 Binary files a/target/classes/com/eden/room/domain/BaseEntity.class and /dev/null differ diff --git a/target/classes/com/eden/room/domain/Building.class b/target/classes/com/eden/room/domain/Building.class deleted file mode 100644 index 255beea..0000000 Binary files a/target/classes/com/eden/room/domain/Building.class and /dev/null differ diff --git a/target/classes/com/eden/room/domain/Floor.class b/target/classes/com/eden/room/domain/Floor.class deleted file mode 100644 index f51b849..0000000 Binary files a/target/classes/com/eden/room/domain/Floor.class and /dev/null differ diff --git a/target/classes/com/eden/room/domain/Project.class b/target/classes/com/eden/room/domain/Project.class deleted file mode 100644 index 30d27fa..0000000 Binary files a/target/classes/com/eden/room/domain/Project.class and /dev/null differ diff --git a/target/classes/com/eden/room/domain/Room.class b/target/classes/com/eden/room/domain/Room.class deleted file mode 100644 index da19c90..0000000 Binary files a/target/classes/com/eden/room/domain/Room.class and /dev/null differ diff --git a/target/classes/com/eden/room/domain/RoomBusinessInfo.class b/target/classes/com/eden/room/domain/RoomBusinessInfo.class deleted file mode 100644 index 032b058..0000000 Binary files a/target/classes/com/eden/room/domain/RoomBusinessInfo.class and /dev/null differ diff --git a/target/classes/com/eden/room/domain/RoomExport.class b/target/classes/com/eden/room/domain/RoomExport.class deleted file mode 100644 index 90459b5..0000000 Binary files a/target/classes/com/eden/room/domain/RoomExport.class and /dev/null differ diff --git a/target/classes/com/eden/room/domain/RoomExtendInfo.class b/target/classes/com/eden/room/domain/RoomExtendInfo.class deleted file mode 100644 index 89666d9..0000000 Binary files a/target/classes/com/eden/room/domain/RoomExtendInfo.class and /dev/null differ diff --git a/target/classes/com/eden/room/domain/RoomImage.class b/target/classes/com/eden/room/domain/RoomImage.class deleted file mode 100644 index 8d4dc21..0000000 Binary files a/target/classes/com/eden/room/domain/RoomImage.class and /dev/null differ diff --git a/target/classes/com/eden/room/domain/dto/OwnerDTO.class b/target/classes/com/eden/room/domain/dto/OwnerDTO.class deleted file mode 100644 index b71102e..0000000 Binary files a/target/classes/com/eden/room/domain/dto/OwnerDTO.class and /dev/null differ diff --git a/target/classes/com/eden/room/domain/dto/RoomDTO.class b/target/classes/com/eden/room/domain/dto/RoomDTO.class deleted file mode 100644 index 1a09b1a..0000000 Binary files a/target/classes/com/eden/room/domain/dto/RoomDTO.class and /dev/null differ diff --git a/target/classes/com/eden/room/domain/dto/RoomExportDTO.class b/target/classes/com/eden/room/domain/dto/RoomExportDTO.class deleted file mode 100644 index 05336ab..0000000 Binary files a/target/classes/com/eden/room/domain/dto/RoomExportDTO.class and /dev/null differ diff --git a/target/classes/com/eden/room/domain/dto/RoomImportDTO.class b/target/classes/com/eden/room/domain/dto/RoomImportDTO.class deleted file mode 100644 index 1ac3d29..0000000 Binary files a/target/classes/com/eden/room/domain/dto/RoomImportDTO.class and /dev/null differ diff --git a/target/classes/com/eden/room/domain/dto/RoomQueryDTO.class b/target/classes/com/eden/room/domain/dto/RoomQueryDTO.class deleted file mode 100644 index 261f629..0000000 Binary files a/target/classes/com/eden/room/domain/dto/RoomQueryDTO.class and /dev/null differ diff --git a/target/classes/com/eden/room/domain/dto/TagDTO.class b/target/classes/com/eden/room/domain/dto/TagDTO.class deleted file mode 100644 index 53235c7..0000000 Binary files a/target/classes/com/eden/room/domain/dto/TagDTO.class and /dev/null differ diff --git a/target/classes/com/eden/room/domain/vo/BuildingTreeVO.class b/target/classes/com/eden/room/domain/vo/BuildingTreeVO.class deleted file mode 100644 index 2d159e4..0000000 Binary files a/target/classes/com/eden/room/domain/vo/BuildingTreeVO.class and /dev/null differ diff --git a/target/classes/com/eden/room/domain/vo/FloorTreeVO.class b/target/classes/com/eden/room/domain/vo/FloorTreeVO.class deleted file mode 100644 index 33b388c..0000000 Binary files a/target/classes/com/eden/room/domain/vo/FloorTreeVO.class and /dev/null differ diff --git a/target/classes/com/eden/room/domain/vo/ProjectTreeVO.class b/target/classes/com/eden/room/domain/vo/ProjectTreeVO.class deleted file mode 100644 index 0349219..0000000 Binary files a/target/classes/com/eden/room/domain/vo/ProjectTreeVO.class and /dev/null differ diff --git a/target/classes/com/eden/room/domain/vo/RoomTreeVO.class b/target/classes/com/eden/room/domain/vo/RoomTreeVO.class deleted file mode 100644 index ca417d3..0000000 Binary files a/target/classes/com/eden/room/domain/vo/RoomTreeVO.class and /dev/null differ diff --git a/target/classes/com/eden/room/feign/ContractFeignClient.class b/target/classes/com/eden/room/feign/ContractFeignClient.class deleted file mode 100644 index 1b0fd3c..0000000 Binary files a/target/classes/com/eden/room/feign/ContractFeignClient.class and /dev/null differ diff --git a/target/classes/com/eden/room/feign/ContractFeignFallback.class b/target/classes/com/eden/room/feign/ContractFeignFallback.class deleted file mode 100644 index 3332393..0000000 Binary files a/target/classes/com/eden/room/feign/ContractFeignFallback.class and /dev/null differ diff --git a/target/classes/com/eden/room/feign/CustomerFeignClient.class b/target/classes/com/eden/room/feign/CustomerFeignClient.class deleted file mode 100644 index 3fdcf13..0000000 Binary files a/target/classes/com/eden/room/feign/CustomerFeignClient.class and /dev/null differ diff --git a/target/classes/com/eden/room/feign/CustomerFeignFallback.class b/target/classes/com/eden/room/feign/CustomerFeignFallback.class deleted file mode 100644 index 7e9ad31..0000000 Binary files a/target/classes/com/eden/room/feign/CustomerFeignFallback.class and /dev/null differ diff --git a/target/classes/com/eden/room/feign/OwnerFeignClient.class b/target/classes/com/eden/room/feign/OwnerFeignClient.class deleted file mode 100644 index 2b33b93..0000000 Binary files a/target/classes/com/eden/room/feign/OwnerFeignClient.class and /dev/null differ diff --git a/target/classes/com/eden/room/feign/TagFeignClient.class b/target/classes/com/eden/room/feign/TagFeignClient.class deleted file mode 100644 index b6afb81..0000000 Binary files a/target/classes/com/eden/room/feign/TagFeignClient.class and /dev/null differ diff --git a/target/classes/com/eden/room/feign/TagFeignFallback.class b/target/classes/com/eden/room/feign/TagFeignFallback.class deleted file mode 100644 index 5b40c8e..0000000 Binary files a/target/classes/com/eden/room/feign/TagFeignFallback.class and /dev/null differ diff --git a/target/classes/com/eden/room/mapper/BuildingMapper.class b/target/classes/com/eden/room/mapper/BuildingMapper.class deleted file mode 100644 index 1460185..0000000 Binary files a/target/classes/com/eden/room/mapper/BuildingMapper.class and /dev/null differ diff --git a/target/classes/com/eden/room/mapper/FloorMapper.class b/target/classes/com/eden/room/mapper/FloorMapper.class deleted file mode 100644 index d1ffdb3..0000000 Binary files a/target/classes/com/eden/room/mapper/FloorMapper.class and /dev/null differ diff --git a/target/classes/com/eden/room/mapper/ProjectMapper.class b/target/classes/com/eden/room/mapper/ProjectMapper.class deleted file mode 100644 index c32760c..0000000 Binary files a/target/classes/com/eden/room/mapper/ProjectMapper.class and /dev/null differ diff --git a/target/classes/com/eden/room/mapper/ProjectTreeMapper.class b/target/classes/com/eden/room/mapper/ProjectTreeMapper.class deleted file mode 100644 index a9a1b58..0000000 Binary files a/target/classes/com/eden/room/mapper/ProjectTreeMapper.class and /dev/null differ diff --git a/target/classes/com/eden/room/mapper/RoomBusinessInfoMapper.class b/target/classes/com/eden/room/mapper/RoomBusinessInfoMapper.class deleted file mode 100644 index d3cf306..0000000 Binary files a/target/classes/com/eden/room/mapper/RoomBusinessInfoMapper.class and /dev/null differ diff --git a/target/classes/com/eden/room/mapper/RoomExtendInfoMapper.class b/target/classes/com/eden/room/mapper/RoomExtendInfoMapper.class deleted file mode 100644 index 9ff5980..0000000 Binary files a/target/classes/com/eden/room/mapper/RoomExtendInfoMapper.class and /dev/null differ diff --git a/target/classes/com/eden/room/mapper/RoomImageMapper.class b/target/classes/com/eden/room/mapper/RoomImageMapper.class deleted file mode 100644 index d0d321e..0000000 Binary files a/target/classes/com/eden/room/mapper/RoomImageMapper.class and /dev/null differ diff --git a/target/classes/com/eden/room/mapper/RoomMapper.class b/target/classes/com/eden/room/mapper/RoomMapper.class deleted file mode 100644 index 8ecbf33..0000000 Binary files a/target/classes/com/eden/room/mapper/RoomMapper.class and /dev/null differ diff --git a/target/classes/com/eden/room/service/IBuildingService.class b/target/classes/com/eden/room/service/IBuildingService.class deleted file mode 100644 index 5ffde0b..0000000 Binary files a/target/classes/com/eden/room/service/IBuildingService.class and /dev/null differ diff --git a/target/classes/com/eden/room/service/IFloorService.class b/target/classes/com/eden/room/service/IFloorService.class deleted file mode 100644 index c9473ce..0000000 Binary files a/target/classes/com/eden/room/service/IFloorService.class and /dev/null differ diff --git a/target/classes/com/eden/room/service/IProjectService.class b/target/classes/com/eden/room/service/IProjectService.class deleted file mode 100644 index 0d6f93a..0000000 Binary files a/target/classes/com/eden/room/service/IProjectService.class and /dev/null differ diff --git a/target/classes/com/eden/room/service/IRoomService.class b/target/classes/com/eden/room/service/IRoomService.class deleted file mode 100644 index e15cbf2..0000000 Binary files a/target/classes/com/eden/room/service/IRoomService.class and /dev/null differ diff --git a/target/classes/com/eden/room/service/ProjectTreeService.class b/target/classes/com/eden/room/service/ProjectTreeService.class deleted file mode 100644 index 4abdcd3..0000000 Binary files a/target/classes/com/eden/room/service/ProjectTreeService.class and /dev/null differ diff --git a/target/classes/com/eden/room/service/RoomTemplateService.class b/target/classes/com/eden/room/service/RoomTemplateService.class deleted file mode 100644 index 53bc99f..0000000 Binary files a/target/classes/com/eden/room/service/RoomTemplateService.class and /dev/null differ diff --git a/target/classes/com/eden/room/service/impl/BuildingServiceImpl.class b/target/classes/com/eden/room/service/impl/BuildingServiceImpl.class deleted file mode 100644 index 4537d1f..0000000 Binary files a/target/classes/com/eden/room/service/impl/BuildingServiceImpl.class and /dev/null differ diff --git a/target/classes/com/eden/room/service/impl/FloorServiceImpl.class b/target/classes/com/eden/room/service/impl/FloorServiceImpl.class deleted file mode 100644 index 4c58220..0000000 Binary files a/target/classes/com/eden/room/service/impl/FloorServiceImpl.class and /dev/null differ diff --git a/target/classes/com/eden/room/service/impl/ProjectServiceImpl.class b/target/classes/com/eden/room/service/impl/ProjectServiceImpl.class deleted file mode 100644 index 04589c7..0000000 Binary files a/target/classes/com/eden/room/service/impl/ProjectServiceImpl.class and /dev/null differ diff --git a/target/classes/com/eden/room/service/impl/ProjectTreeServiceImpl.class b/target/classes/com/eden/room/service/impl/ProjectTreeServiceImpl.class deleted file mode 100644 index 4a4b78b..0000000 Binary files a/target/classes/com/eden/room/service/impl/ProjectTreeServiceImpl.class and /dev/null differ diff --git a/target/classes/com/eden/room/service/impl/RoomServiceImpl.class b/target/classes/com/eden/room/service/impl/RoomServiceImpl.class deleted file mode 100644 index c5913c4..0000000 Binary files a/target/classes/com/eden/room/service/impl/RoomServiceImpl.class and /dev/null differ diff --git a/target/classes/com/eden/room/util/ExcelUtil.class b/target/classes/com/eden/room/util/ExcelUtil.class deleted file mode 100644 index da0fba6..0000000 Binary files a/target/classes/com/eden/room/util/ExcelUtil.class and /dev/null differ diff --git a/target/classes/com/eden/room/utils/ExcelUtil$1.class b/target/classes/com/eden/room/utils/ExcelUtil$1.class deleted file mode 100644 index 7ee6009..0000000 Binary files a/target/classes/com/eden/room/utils/ExcelUtil$1.class and /dev/null differ diff --git a/target/classes/com/eden/room/utils/ExcelUtil.class b/target/classes/com/eden/room/utils/ExcelUtil.class deleted file mode 100644 index 8c8ab8a..0000000 Binary files a/target/classes/com/eden/room/utils/ExcelUtil.class and /dev/null differ diff --git a/target/classes/com/eden/room/utils/excel/Excel$ColumnType.class b/target/classes/com/eden/room/utils/excel/Excel$ColumnType.class deleted file mode 100644 index a80d4e5..0000000 Binary files a/target/classes/com/eden/room/utils/excel/Excel$ColumnType.class and /dev/null differ diff --git a/target/classes/com/eden/room/utils/excel/Excel$Type.class b/target/classes/com/eden/room/utils/excel/Excel$Type.class deleted file mode 100644 index 560c1ba..0000000 Binary files a/target/classes/com/eden/room/utils/excel/Excel$Type.class and /dev/null differ diff --git a/target/classes/com/eden/room/utils/excel/Excel.class b/target/classes/com/eden/room/utils/excel/Excel.class deleted file mode 100644 index f095861..0000000 Binary files a/target/classes/com/eden/room/utils/excel/Excel.class and /dev/null differ diff --git a/target/classes/mapper/ProjectTreeMapper.xml b/target/classes/mapper/ProjectTreeMapper.xml deleted file mode 100644 index 5da2acf..0000000 --- a/target/classes/mapper/ProjectTreeMapper.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/target/classes/mapper/room/BuildingMapper.xml b/target/classes/mapper/room/BuildingMapper.xml deleted file mode 100644 index bb1724d..0000000 --- a/target/classes/mapper/room/BuildingMapper.xml +++ /dev/null @@ -1,272 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - select b.id, b.tenant_id, b.project_id, b.building_code, b.building_name, b.region, - b.address, b.property_nature, b.property_cert_no, b.property_no, b.land_no, - b.sort_order, b.building_area, b.property_area, b.rentable_area, b.self_use_area, - b.supporting_area, b.parking_area, b.account_id, b.building_tags, b.is_hot, b.total_floors, b.facilities, b.image_url, b.create_time, - b.last_mod_time, b.create_user_id, b.last_mod_user_id, - b.del_flag, b.remark, b.reserve1, b.reserve2, b.reserve3, - p.project_name - from TB_BUILDING b - left join TB_PROJECT p on b.project_id = p.id and p.del_flag = '0' - - - - - - - - insert into TB_BUILDING - - tenant_id, - project_id, - building_code, - building_name, - region, - address, - property_nature, - property_cert_no, - property_no, - land_no, - sort_order, - building_area, - property_area, - rentable_area, - self_use_area, - supporting_area, - parking_area, - account_id, - building_tags, - is_hot, - total_floors, - facilities, - image_url, - create_user_id, - last_mod_user_id, - del_flag, - remark, - reserve1, - reserve2, - reserve3, - create_time, - last_mod_time - - - #{tenantId}, - #{projectId}, - #{buildingCode}, - #{buildingName}, - #{region}, - #{address}, - #{propertyNature}, - #{propertyCertNo}, - #{propertyNo}, - #{landNo}, - #{sortOrder}, - #{buildingArea}, - #{propertyArea}, - #{rentableArea}, - #{selfUseArea}, - #{supportingArea}, - #{parkingArea}, - #{accountId}, - #{buildingTags}, - #{isHot}, - #{totalFloors}, - #{facilities}, - #{imageUrl}, - #{createUserId}, - #{lastModUserId}, - #{delFlag}, - #{remark}, - #{reserve1}, - #{reserve2}, - #{reserve3}, - CURRENT_TIMESTAMP, - CURRENT_TIMESTAMP - - - - - update TB_BUILDING - - building_code = #{buildingCode}, - building_name = #{buildingName}, - region = #{region}, - address = #{address}, - property_nature = #{propertyNature}, - property_cert_no = #{propertyCertNo}, - property_no = #{propertyNo}, - land_no = #{landNo}, - sort_order = #{sortOrder}, - building_area = #{buildingArea}, - property_area = #{propertyArea}, - rentable_area = #{rentableArea}, - self_use_area = #{selfUseArea}, - supporting_area = #{supportingArea}, - parking_area = #{parkingArea}, - account_id = #{accountId}, - building_tags = #{buildingTags}, - is_hot = #{isHot}, - total_floors = #{totalFloors}, - facilities = #{facilities}, - image_url = #{imageUrl}, - last_mod_user_id = #{lastModUserId}, - remark = #{remark}, - reserve1 = #{reserve1}, - reserve2 = #{reserve2}, - reserve3 = #{reserve3}, - last_mod_time = CURRENT_TIMESTAMP - - where id = #{id} and del_flag = '0' - - - - update TB_BUILDING set del_flag = '1' where id = #{id} - - - - update TB_BUILDING set del_flag = '1' where id in - - #{id} - - - - - - - - - - - - - - \ No newline at end of file diff --git a/target/classes/mapper/room/FloorMapper.xml b/target/classes/mapper/room/FloorMapper.xml deleted file mode 100644 index fc88629..0000000 --- a/target/classes/mapper/room/FloorMapper.xml +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - select id, tenant_id, building_id, floor_number, floor_name, - create_time, last_mod_time, create_user_id, last_mod_user_id, - del_flag, remark, reserve1, reserve2, reserve3 - from TB_FLOOR - - - - - - - - insert into TB_FLOOR - - tenant_id, - building_id, - floor_number, - floor_name, - create_user_id, - last_mod_user_id, - del_flag, - remark, - reserve1, - reserve2, - reserve3, - create_time, - last_mod_time - - - #{tenantId}, - #{buildingId}, - #{floorNumber}, - #{floorName}, - #{createUserId}, - #{lastModUserId}, - #{delFlag}, - #{remark}, - #{reserve1}, - #{reserve2}, - #{reserve3}, - CURRENT_TIMESTAMP, - CURRENT_TIMESTAMP - - - - - update TB_FLOOR - - floor_number = #{floorNumber}, - floor_name = #{floorName}, - last_mod_user_id = #{lastModUserId}, - remark = #{remark}, - reserve1 = #{reserve1}, - reserve2 = #{reserve2}, - reserve3 = #{reserve3}, - last_mod_time = CURRENT_TIMESTAMP - - where id = #{id} and del_flag = '0' - - - - update TB_FLOOR set del_flag = '1' where id = #{id} and del_flag = '0' - - - - update TB_FLOOR set del_flag = '1' where id in - - #{id} - - - - - - - - - - - - - \ No newline at end of file diff --git a/target/classes/mapper/room/ProjectMapper.xml b/target/classes/mapper/room/ProjectMapper.xml deleted file mode 100644 index 3c8b5ec..0000000 --- a/target/classes/mapper/room/ProjectMapper.xml +++ /dev/null @@ -1,213 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - select id, tenant_id, project_type, project_name, project_short_name, region, - address, project_tags, project_desc, project_image, manager_id, create_time, - last_mod_time, create_user_id, last_mod_user_id, del_flag, remark, - reserve1, reserve2, reserve3 - from TB_PROJECT - - - - - - - - insert into TB_PROJECT - - tenant_id, - project_type, - project_name, - project_short_name, - region, - address, - project_tags, - project_desc, - project_image, - manager_id, - create_user_id, - last_mod_user_id, - del_flag, - remark, - reserve1, - reserve2, - reserve3, - create_time, - last_mod_time - - - #{tenantId}, - #{projectType}, - #{projectName}, - #{projectShortName}, - #{region}, - #{address}, - #{projectTags}, - #{projectDesc}, - #{projectImage}, - #{managerId}, - #{createUserId}, - #{lastModUserId}, - #{delFlag}, - #{remark}, - #{reserve1}, - #{reserve2}, - #{reserve3}, - CURRENT_TIMESTAMP, - CURRENT_TIMESTAMP - - - - - update TB_PROJECT - - project_type = #{projectType}, - project_name = #{projectName}, - project_short_name = #{projectShortName}, - region = #{region}, - address = #{address}, - project_tags = #{projectTags}, - project_desc = #{projectDesc}, - project_image = #{projectImage}, - manager_id = #{managerId}, - last_mod_user_id = #{lastModUserId}, - remark = #{remark}, - reserve1 = #{reserve1}, - reserve2 = #{reserve2}, - reserve3 = #{reserve3}, - last_mod_time = CURRENT_TIMESTAMP - - where id = #{id} and del_flag = '0' - - - - update TB_PROJECT set del_flag = '1' where id = #{id} - - - - update TB_PROJECT set del_flag = '1' where id in - - #{id} - - - - - - - - - - - - \ No newline at end of file diff --git a/target/classes/mapper/room/RoomBusinessInfoMapper.xml b/target/classes/mapper/room/RoomBusinessInfoMapper.xml deleted file mode 100644 index 50a1ad6..0000000 --- a/target/classes/mapper/room/RoomBusinessInfoMapper.xml +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - select id, tenant_id, room_id, rental_status, business_status, - available_date, decoration_status, price, price_unit, floor_price, - floor_price_unit, business_number, business_condition, - create_time, last_mod_time, create_user_id, last_mod_user_id, - del_flag, remark - from TB_ROOM_BUSINESS_INFO - - - - - - - - - - - SELECT nextval('SEQ_ROOM_BUSINESS_INFO_1')::VARCHAR as id - - insert into TB_ROOM_BUSINESS_INFO - - id, - tenant_id, - room_id, - rental_status, - business_status, - available_date, - decoration_status, - price, - price_unit, - floor_price, - floor_price_unit, - business_number, - business_condition, - create_user_id, - last_mod_user_id, - del_flag, - remark, - create_time, - last_mod_time - - - #{id}, - #{tenantId}, - #{roomId}, - #{rentalStatus}, - #{businessStatus}, - #{availableDate}, - #{decorationStatus}, - #{price}, - #{priceUnit}, - #{floorPrice}, - #{floorPriceUnit}, - #{businessNumber}, - #{businessCondition}, - #{createUserId}, - #{lastModUserId}, - #{delFlag}, - #{remark}, - CURRENT_TIMESTAMP, - CURRENT_TIMESTAMP - - - - - update TB_ROOM_BUSINESS_INFO - - rental_status = #{rentalStatus}, - business_status = #{businessStatus}, - available_date = #{availableDate}, - decoration_status = #{decorationStatus}, - price = #{price}, - price_unit = #{priceUnit}, - floor_price = #{floorPrice}, - floor_price_unit = #{floorPriceUnit}, - business_number = #{businessNumber}, - business_condition = #{businessCondition}, - last_mod_user_id = #{lastModUserId}, - remark = #{remark}, - last_mod_time = CURRENT_TIMESTAMP - - where room_id = #{roomId} and del_flag = '0' - - - - update TB_ROOM_BUSINESS_INFO set del_flag = '1' where id = #{id} and del_flag = '0' - - - - update TB_ROOM_BUSINESS_INFO set del_flag = '1' where room_id = #{roomId} and del_flag = '0' - - \ No newline at end of file diff --git a/target/classes/mapper/room/RoomExtendInfoMapper.xml b/target/classes/mapper/room/RoomExtendInfoMapper.xml deleted file mode 100644 index a09246f..0000000 --- a/target/classes/mapper/room/RoomExtendInfoMapper.xml +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - select id, tenant_id, room_id, room_record_number, usage_rate, - office_layout, window_orientation, rent_free_period, min_lease_term, - workstation_min, workstation_max, floor_plan_desc, tags, - create_time, last_mod_time, create_user_id, last_mod_user_id, - del_flag, remark - from TB_ROOM_EXTEND_INFO - - - - - - - - - - - SELECT nextval('SEQ_ROOM_EXTEND_INFO_1')::VARCHAR as id - - insert into TB_ROOM_EXTEND_INFO - - id, - tenant_id, - room_id, - room_record_number, - usage_rate, - office_layout, - window_orientation, - rent_free_period, - min_lease_term, - workstation_min, - workstation_max, - floor_plan_desc, - tags, - create_user_id, - last_mod_user_id, - del_flag, - remark, - create_time, - last_mod_time - - - #{id}, - #{tenantId}, - #{roomId}, - #{roomRecordNumber}, - #{usageRate}, - #{officeLayout}, - #{windowOrientation}, - #{rentFreePeriod}, - #{minLeaseTerm}, - #{workstationMin}, - #{workstationMax}, - #{floorPlanDesc}, - #{tags}, - #{createUserId}, - #{lastModUserId}, - #{delFlag}, - #{remark}, - CURRENT_TIMESTAMP, - CURRENT_TIMESTAMP - - - - - update TB_ROOM_EXTEND_INFO - - room_record_number = #{roomRecordNumber}, - usage_rate = #{usageRate}, - office_layout = #{officeLayout}, - window_orientation = #{windowOrientation}, - rent_free_period = #{rentFreePeriod}, - min_lease_term = #{minLeaseTerm}, - workstation_min = #{workstationMin}, - workstation_max = #{workstationMax}, - floor_plan_desc = #{floorPlanDesc}, - tags = #{tags}, - last_mod_user_id = #{lastModUserId}, - remark = #{remark}, - last_mod_time = CURRENT_TIMESTAMP - - where room_id = #{roomId} and del_flag = '0' - - - - update TB_ROOM_EXTEND_INFO set del_flag = '1' where id = #{id} and del_flag = '0' - - - - update TB_ROOM_EXTEND_INFO set del_flag = '1' where room_id = #{roomId} and del_flag = '0' - - \ No newline at end of file diff --git a/target/classes/mapper/room/RoomImageMapper.xml b/target/classes/mapper/room/RoomImageMapper.xml deleted file mode 100644 index 50a670d..0000000 --- a/target/classes/mapper/room/RoomImageMapper.xml +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - - - - - - - - - - - - - - select id, tenant_id, room_id, image_url, image_type, sort_order, - create_time, last_mod_time, create_user_id, last_mod_user_id, del_flag - from TB_ROOM_IMAGE - - - - - - - - - - - - - SELECT nextval('SEQ_ROOM_IMAGE_1')::VARCHAR as id - - insert into TB_ROOM_IMAGE - - id, - tenant_id, - room_id, - image_url, - image_type, - sort_order, - create_user_id, - last_mod_user_id, - del_flag, - create_time, - last_mod_time - - - #{id}, - #{tenantId}, - #{roomId}, - #{imageUrl}, - #{imageType}, - #{sortOrder}, - #{createUserId}, - #{lastModUserId}, - #{delFlag}, - CURRENT_TIMESTAMP, - CURRENT_TIMESTAMP - - - - - update TB_ROOM_IMAGE - - image_url = #{imageUrl}, - image_type = #{imageType}, - sort_order = #{sortOrder}, - last_mod_user_id = #{lastModUserId}, - last_mod_time = CURRENT_TIMESTAMP - - where id = #{id} and del_flag = '0' - - - - update TB_ROOM_IMAGE set del_flag = '1' where id = #{id} and del_flag = '0' - - - - update TB_ROOM_IMAGE set del_flag = '1' where room_id = #{roomId} and del_flag = '0' - - - - update TB_ROOM_IMAGE set del_flag = '1' - where room_id = #{roomId} and image_type = #{imageType} and del_flag = '0' - - - - update TB_ROOM_IMAGE set del_flag = '1' where id in - - #{id} - - and del_flag = '0' - - - - update TB_ROOM_IMAGE set del_flag = '1' where room_id in - - #{roomId} - - and del_flag = '0' - - \ No newline at end of file diff --git a/target/classes/mapper/room/RoomMapper.xml b/target/classes/mapper/room/RoomMapper.xml deleted file mode 100644 index df8ba3e..0000000 --- a/target/classes/mapper/room/RoomMapper.xml +++ /dev/null @@ -1,222 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - select r.id, r.tenant_id, r.project_id, r.building_id, r.floor_id, r.room_number, - r.room_digital_number, r.room_manage_number, r.building_area, r.rental_area, - r.billing_area, r.inner_area, r.is_virtual, r.delivery_time, r.owner_id, - r.property_nature, r.height, r.load_value, r.room_status, r.room_type, - r.create_time, r.last_mod_time, r.create_user_id, r.last_mod_user_id, - r.del_flag, r.remark, b.project_name, c.building_name, d.floor_name,rb.price,rb.price_unit, - rb.rental_status,rb.available_date,rb.business_status,rb.decoration_status - from TB_ROOM r, TB_PROJECT b,TB_BUILDING c,TB_FLOOR d,TB_ROOM_BUSINESS_INFO rb, TB_ROOM_EXTEND_INFO re - where r.project_id=b.id and r.building_id=c.id and r.floor_id=d.id - and r.id = rb.room_id and r.id=re.room_id - - - - - - - - - SELECT nextval('SEQ_ROOM_1')::VARCHAR as id - - insert into TB_ROOM - - id, - tenant_id, - project_id, - building_id, - floor_id, - room_number, - room_digital_number, - room_manage_number, - building_area, - rental_area, - billing_area, - inner_area, - is_virtual, - delivery_time, - owner_id, - property_nature, - height, - load_value, - room_status, - room_type, - create_user_id, - last_mod_user_id, - del_flag, - remark, - create_time, - last_mod_time - - - #{id}, - #{tenantId}, - #{projectId}, - #{buildingId}, - #{floorId}, - #{roomNumber}, - #{roomDigitalNumber}, - #{roomManageNumber}, - #{buildingArea}, - #{rentalArea}, - #{billingArea}, - #{innerArea}, - #{isVirtual}, - #{deliveryTime}, - #{ownerId}, - #{propertyNature}, - #{height}, - #{loadValue}, - #{roomStatus}, - #{roomType}, - #{createUserId}, - #{lastModUserId}, - #{delFlag}, - #{remark}, - CURRENT_TIMESTAMP, - CURRENT_TIMESTAMP - - - - - update TB_ROOM - - room_number = #{roomNumber}, - room_digital_number = #{roomDigitalNumber}, - room_manage_number = #{roomManageNumber}, - building_area = #{buildingArea}, - rental_area = #{rentalArea}, - billing_area = #{billingArea}, - inner_area = #{innerArea}, - is_virtual = #{isVirtual}, - delivery_time = #{deliveryTime}, - owner_id = #{ownerId}, - property_nature = #{propertyNature}, - height = #{height}, - load_value = #{loadValue}, - room_status = #{roomStatus}, - room_type = #{roomType}, - last_mod_user_id = #{lastModUserId}, - remark = #{remark}, - last_mod_time = CURRENT_TIMESTAMP - - where id = #{id} and del_flag = '0' - - - - update TB_ROOM set del_flag = '1' where id = #{id} and del_flag = '0' - - - - update TB_ROOM set del_flag = '1' where id in - - #{id} - - - - - - - \ No newline at end of file diff --git a/target/classes/templates/excel/room_import.xlsx b/target/classes/templates/excel/room_import.xlsx deleted file mode 100644 index 27ee493..0000000 Binary files a/target/classes/templates/excel/room_import.xlsx and /dev/null differ diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst deleted file mode 100644 index e69de29..0000000 diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst deleted file mode 100644 index 0827861..0000000 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ /dev/null @@ -1,21 +0,0 @@ -C:\Users\rain6\Desktop\cursor - 0401\02ݽģ\˴\src\main\java\com\eden\room\mapper\RoomMapper.java -C:\Users\rain6\Desktop\cursor - 0401\02ݽģ\˴\src\main\java\com\eden\room\controller\RoomController.java -C:\Users\rain6\Desktop\cursor - 0401\02ݽģ\˴\src\main\java\com\eden\room\domain\dto\OwnerDTO.java -C:\Users\rain6\Desktop\cursor - 0401\02ݽģ\˴\src\main\java\com\eden\room\controller\TagController.java -C:\Users\rain6\Desktop\cursor - 0401\02ݽģ\˴\src\main\java\com\eden\room\domain\dto\TagDTO.java -C:\Users\rain6\Desktop\cursor - 0401\02ݽģ\˴\src\main\java\com\eden\room\feign\OwnerFeignClient.java -C:\Users\rain6\Desktop\cursor - 0401\02ݽģ\˴\src\main\java\com\eden\room\mapper\RoomImageMapper.java -C:\Users\rain6\Desktop\cursor - 0401\02ݽģ\˴\src\main\java\com\eden\room\RoomApplication.java -C:\Users\rain6\Desktop\cursor - 0401\02ݽģ\˴\src\main\java\com\eden\room\feign\ContractFeignClient.java -C:\Users\rain6\Desktop\cursor - 0401\02ݽģ\˴\src\main\java\com\eden\room\utils\ExcelUtil.java -C:\Users\rain6\Desktop\cursor - 0401\02ݽģ\˴\src\main\java\com\eden\room\domain\BaseEntity.java -C:\Users\rain6\Desktop\cursor - 0401\02ݽģ\˴\src\main\java\com\eden\room\service\ITagService.java -C:\Users\rain6\Desktop\cursor - 0401\02ݽģ\˴\src\main\java\com\eden\room\config\FeignConfig.java -C:\Users\rain6\Desktop\cursor - 0401\02ݽģ\˴\src\main\java\com\eden\room\domain\Room.java -C:\Users\rain6\Desktop\cursor - 0401\02ݽģ\˴\src\main\java\com\eden\room\feign\TagFeignClient.java -C:\Users\rain6\Desktop\cursor - 0401\02ݽģ\˴\src\main\java\com\eden\room\common\Result.java -C:\Users\rain6\Desktop\cursor - 0401\02ݽģ\˴\src\main\java\com\eden\room\service\IRoomService.java -C:\Users\rain6\Desktop\cursor - 0401\02ݽģ\˴\src\main\java\com\eden\room\domain\RoomImage.java -C:\Users\rain6\Desktop\cursor - 0401\02ݽģ\˴\src\main\java\com\eden\room\service\impl\RoomServiceImpl.java -C:\Users\rain6\Desktop\cursor - 0401\02ݽģ\˴\src\main\java\com\eden\room\controller\OwnerController.java -C:\Users\rain6\Desktop\cursor - 0401\02ݽģ\˴\src\main\java\com\eden\room\service\impl\TagServiceImpl.java