LIVE_YE 2 månader sedan
förälder
incheckning
1024abf3b7
100 ändrade filer med 9611 tillägg och 6 borttagningar
  1. 3 3
      pom.xml
  2. 4 1
      ruoyi-common/ruoyi-common-core/pom.xml
  3. 1 1
      ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/file/FileUploadUtils.java
  4. 1 1
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysConfigController.java
  5. 106 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/asset/AssetTypeController.java
  6. 106 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/assets/CommunityAssetsController.java
  7. 106 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/blackManage/BlackManageController.java
  8. 106 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/butler/ButlerSettingsController.java
  9. 106 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/checkPoint/CheckPointManageController.java
  10. 106 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/checkPoint/CheckPointRecordController.java
  11. 106 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/communityNews/CommentContentController.java
  12. 106 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/communityNews/CommentIndexController.java
  13. 106 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/communityNews/CommentLikesController.java
  14. 106 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/communityNews/CommentStarsController.java
  15. 106 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/communityNews/CommunityNewsController.java
  16. 106 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/complaintSuggestion/ComplaintSuggestionController.java
  17. 106 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/houseInfo/HouseInfoController.java
  18. 106 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/houseInfo/PropertyFeeController.java
  19. 106 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/houseInfo/PropertySettingsController.java
  20. 106 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/illegalParking/IllegalParkingController.java
  21. 106 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/partyNews/PartyNewsController.java
  22. 106 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/propertyRepair/PropertyRepairController.java
  23. 106 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/proprietorCar/ProprietorCarController.java
  24. 106 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/reservRecord/ReservRecordController.java
  25. 106 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/residentInfo/ResidentInfoController.java
  26. 106 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/staffTrain/StaffTrainManualController.java
  27. 106 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/staffTrainTime/StaffTrainTimeController.java
  28. 106 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/suggestionFj/SuggestionFjController.java
  29. 108 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/visitor/VisitorManageController.java
  30. 62 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/asset/AssetType.java
  31. 54 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/asset/bo/AssetTypeBo.java
  32. 69 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/asset/vo/AssetTypeVo.java
  33. 148 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/assets/CommunityAssets.java
  34. 153 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/assets/bo/CommunityAssetsBo.java
  35. 180 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/assets/vo/CommunityAssetsVo.java
  36. 56 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/blackManage/BlackManage.java
  37. 60 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/blackManage/bo/BlackManageBo.java
  38. 65 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/blackManage/vo/BlackManageVo.java
  39. 51 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/butler/ButlerSettings.java
  40. 50 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/butler/bo/ButlerSettingsBo.java
  41. 63 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/butler/vo/ButlerSettingsVo.java
  42. 68 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/checkPoint/CheckPointManage.java
  43. 118 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/checkPoint/CheckPointRecord.java
  44. 69 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/checkPoint/bo/CheckPointManageBo.java
  45. 119 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/checkPoint/bo/CheckPointRecordBo.java
  46. 78 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/checkPoint/vo/CheckPointManageVo.java
  47. 138 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/checkPoint/vo/CheckPointRecordVo.java
  48. 72 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/communityNews/CommentContent.java
  49. 112 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/communityNews/CommentIndex.java
  50. 72 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/communityNews/CommentLikes.java
  51. 72 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/communityNews/CommentStars.java
  52. 120 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/communityNews/CommunityNews.java
  53. 64 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/communityNews/bo/CommentContentBo.java
  54. 108 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/communityNews/bo/CommentIndexBo.java
  55. 64 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/communityNews/bo/CommentLikesBo.java
  56. 68 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/communityNews/bo/CommentStarsBo.java
  57. 120 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/communityNews/bo/CommunityNewsBo.java
  58. 77 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/communityNews/vo/CommentContentVo.java
  59. 128 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/communityNews/vo/CommentIndexVo.java
  60. 80 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/communityNews/vo/CommentLikesVo.java
  61. 151 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/communityNews/vo/CommunityNewsVo.java
  62. 93 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/complaintSuggestion/ComplaintSuggestion.java
  63. 92 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/complaintSuggestion/bo/ComplaintSuggestionBo.java
  64. 115 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/complaintSuggestion/vo/ComplaintSuggestionVo.java
  65. 118 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/houseInfo/HouseInfo.java
  66. 116 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/houseInfo/PropertyFee.java
  67. 56 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/houseInfo/PropertySettings.java
  68. 117 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/houseInfo/bo/HouseInfoBo.java
  69. 115 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/houseInfo/bo/PropertyFeeBo.java
  70. 55 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/houseInfo/bo/PropertySettingsBo.java
  71. 138 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/houseInfo/vo/HouseInfoVo.java
  72. 137 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/houseInfo/vo/PropertyFeeVo.java
  73. 65 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/houseInfo/vo/PropertySettingsVo.java
  74. 76 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/illegalParking/IllegalParking.java
  75. 77 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/illegalParking/bo/IllegalParkingBo.java
  76. 89 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/illegalParking/vo/IllegalParkingVo.java
  77. 88 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/partyNews/PartyNews.java
  78. 90 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/partyNews/bo/PartyNewsBo.java
  79. 115 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/partyNews/vo/PartyNewsVo.java
  80. 128 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/propertyRepair/PropertyRepair.java
  81. 129 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/propertyRepair/bo/PropertyRepairBo.java
  82. 150 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/propertyRepair/vo/PropertyRepairVo.java
  83. 111 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/proprietorCar/ProprietorCar.java
  84. 112 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/proprietorCar/bo/ProprietorCarBo.java
  85. 135 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/proprietorCar/vo/ProprietorCarVo.java
  86. 118 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/reservRecord/ReservRecord.java
  87. 124 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/reservRecord/bo/ReservRecordBo.java
  88. 138 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/reservRecord/vo/ReservRecordVo.java
  89. 131 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/residentInfo/ResidentInfo.java
  90. 131 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/residentInfo/bo/ResidentInfoBo.java
  91. 155 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/residentInfo/vo/ResidentInfoVo.java
  92. 98 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/staffTrain/StaffTrainManual.java
  93. 100 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/staffTrain/bo/StaffTrainManualBo.java
  94. 127 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/staffTrain/vo/StaffTrainManualVo.java
  95. 61 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/staffTrainTime/StaffTrainTime.java
  96. 59 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/staffTrainTime/bo/StaffTrainTimeBo.java
  97. 71 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/staffTrainTime/vo/StaffTrainTimeVo.java
  98. 66 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/suggestionFj/SuggestionFj.java
  99. 68 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/suggestionFj/bo/SuggestionFjBo.java
  100. 77 0
      ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/suggestionFj/vo/SuggestionFjVo.java

+ 3 - 3
pom.xml

@@ -68,7 +68,7 @@
             <properties>
                 <!-- 环境标识,需要与配置文件的名称相对应 -->
                 <profiles.active>local</profiles.active>
-                <logging.level>info</logging.level>
+                <logging.level>debug</logging.level>
                 <monitor.username>ruoyi</monitor.username>
                 <monitor.password>123456</monitor.password>
             </properties>
@@ -78,7 +78,7 @@
             <properties>
                 <!-- 环境标识,需要与配置文件的名称相对应 -->
                 <profiles.active>dev</profiles.active>
-                <logging.level>info</logging.level>
+                <logging.level>debug</logging.level>
                 <monitor.username>boman</monitor.username>
                 <monitor.password>Boman123!</monitor.password>
             </properties>
@@ -91,7 +91,7 @@
             <id>prod</id>
             <properties>
                 <profiles.active>prod</profiles.active>
-                <logging.level>warn</logging.level>
+                <logging.level>debug</logging.level>
                 <monitor.username>boman</monitor.username>
                 <monitor.password>Boman123!</monitor.password>
             </properties>

+ 4 - 1
ruoyi-common/ruoyi-common-core/pom.xml

@@ -109,7 +109,10 @@
             <groupId>io.github.linpeilie</groupId>
             <artifactId>mapstruct-plus-spring-boot-starter</artifactId>
         </dependency>
-
+        <dependency>
+            <groupId>org.apache.velocity</groupId>
+            <artifactId>velocity-engine-core</artifactId>
+        </dependency>
         <!-- 离线IP地址定位库 -->
         <dependency>
             <groupId>org.lionsoul</groupId>

+ 1 - 1
ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/file/FileUploadUtils.java

@@ -1,7 +1,7 @@
 package org.dromara.common.core.utils.file;
 
 
-import org.apache.commons.io.FilenameUtils;
+import org.apache.velocity.shaded.commons.io.FilenameUtils;
 import org.dromara.common.core.config.BoManConfig;
 import org.dromara.common.core.constant.Constants;
 import org.dromara.common.core.exception.file.FileNameLengthLimitExceededException;

+ 1 - 1
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysConfigController.java

@@ -34,7 +34,7 @@ public class SysConfigController extends BaseController {
     /**
      * 获取参数配置列表
      */
-    @SaCheckPermission("system:config:list")
+    //@SaCheckPermission("system:config:list")
     @GetMapping("/list")
     public TableDataInfo<SysConfigVo> list(SysConfigBo config, PageQuery pageQuery) {
         return configService.selectPageConfigList(config, pageQuery);

+ 106 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/asset/AssetTypeController.java

@@ -0,0 +1,106 @@
+package org.dromara.controller.asset;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.domain.asset.bo.AssetTypeBo;
+import org.dromara.domain.asset.vo.AssetTypeVo;
+import org.dromara.service.IAssetTypeService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 资产类型
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/wuYe/assetType")
+public class AssetTypeController extends BaseController {
+
+    private final IAssetTypeService assetTypeService;
+
+    /**
+     * 查询资产类型列表
+     */
+    @SaCheckPermission("wuYe:assetType:list")
+    @GetMapping("/list")
+    public TableDataInfo<AssetTypeVo> list(AssetTypeBo bo, PageQuery pageQuery) {
+        return assetTypeService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 导出资产类型列表
+     */
+    @SaCheckPermission("wuYe:assetType:export")
+    @Log(title = "资产类型", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(AssetTypeBo bo, HttpServletResponse response) {
+        List<AssetTypeVo> list = assetTypeService.queryList(bo);
+        ExcelUtil.exportExcel(list, "资产类型", AssetTypeVo.class, response);
+    }
+
+    /**
+     * 获取资产类型详细信息
+     *
+     * @param assetId 主键
+     */
+    @SaCheckPermission("wuYe:assetType:query")
+    @GetMapping("/{assetId}")
+    public R<AssetTypeVo> getInfo(@NotNull(message = "主键不能为空")
+                                     @PathVariable Long assetId) {
+        return R.ok(assetTypeService.queryById(assetId));
+    }
+
+    /**
+     * 新增资产类型
+     */
+    @SaCheckPermission("wuYe:assetType:add")
+    @Log(title = "资产类型", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody AssetTypeBo bo) {
+        return toAjax(assetTypeService.insertByBo(bo));
+    }
+
+    /**
+     * 修改资产类型
+     */
+    @SaCheckPermission("wuYe:assetType:edit")
+    @Log(title = "资产类型", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PostMapping("/put")
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody AssetTypeBo bo) {
+        return toAjax(assetTypeService.updateByBo(bo));
+    }
+
+    /**
+     * 删除资产类型
+     *
+     * @param assetIds 主键串
+     */
+    @SaCheckPermission("wuYe:assetType:remove")
+    @Log(title = "资产类型", businessType = BusinessType.DELETE)
+    @GetMapping("/delete/{assetIds}")
+    public R<Void> remove(@NotEmpty(message = "主键不能为空")
+                          @PathVariable Long[] assetIds) {
+        return toAjax(assetTypeService.deleteWithValidByIds(List.of(assetIds), true));
+    }
+}

+ 106 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/assets/CommunityAssetsController.java

@@ -0,0 +1,106 @@
+package org.dromara.controller.assets;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.domain.assets.bo.CommunityAssetsBo;
+import org.dromara.domain.assets.vo.CommunityAssetsVo;
+import org.dromara.service.ICommunityAssetsService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 社区资产
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/wuYe/assets")
+public class CommunityAssetsController extends BaseController {
+
+    private final ICommunityAssetsService communityAssetsService;
+
+    /**
+     * 查询社区资产列表
+     */
+    @SaCheckPermission("wuYe:assets:list")
+    @GetMapping("/list")
+    public TableDataInfo<CommunityAssetsVo> list(CommunityAssetsBo bo, PageQuery pageQuery) {
+        return communityAssetsService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 导出社区资产列表
+     */
+    @SaCheckPermission("wuYe:assets:export")
+    @Log(title = "社区资产", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(CommunityAssetsBo bo, HttpServletResponse response) {
+        List<CommunityAssetsVo> list = communityAssetsService.queryList(bo);
+        ExcelUtil.exportExcel(list, "社区资产", CommunityAssetsVo.class, response);
+    }
+
+    /**
+     * 获取社区资产详细信息
+     *
+     * @param communityAssetId 主键
+     */
+    @SaCheckPermission("wuYe:assets:query")
+    @GetMapping("/{communityAssetId}")
+    public R<CommunityAssetsVo> getInfo(@NotNull(message = "主键不能为空")
+                                     @PathVariable Long communityAssetId) {
+        return R.ok(communityAssetsService.queryById(communityAssetId));
+    }
+
+    /**
+     * 新增社区资产
+     */
+    @SaCheckPermission("wuYe:assets:add")
+    @Log(title = "社区资产", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody CommunityAssetsBo bo) {
+        return toAjax(communityAssetsService.insertByBo(bo));
+    }
+
+    /**
+     * 修改社区资产
+     */
+    @SaCheckPermission("wuYe:assets:edit")
+    @Log(title = "社区资产", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PostMapping("/put")
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody CommunityAssetsBo bo) {
+        return toAjax(communityAssetsService.updateByBo(bo));
+    }
+
+    /**
+     * 删除社区资产
+     *
+     * @param communityAssetIds 主键串
+     */
+    @SaCheckPermission("wuYe:assets:remove")
+    @Log(title = "社区资产", businessType = BusinessType.DELETE)
+    @GetMapping("/delete/{communityAssetIds}")
+    public R<Void> remove(@NotEmpty(message = "主键不能为空")
+                          @PathVariable Long[] communityAssetIds) {
+        return toAjax(communityAssetsService.deleteWithValidByIds(List.of(communityAssetIds), true));
+    }
+}

+ 106 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/blackManage/BlackManageController.java

@@ -0,0 +1,106 @@
+package org.dromara.controller.blackManage;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.domain.blackManage.bo.BlackManageBo;
+import org.dromara.domain.blackManage.vo.BlackManageVo;
+import org.dromara.service.IBlackManageService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 黑名单管理
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/wuYe/blackManage")
+public class BlackManageController extends BaseController {
+
+    private final IBlackManageService blackManageService;
+
+    /**
+     * 查询黑名单管理列表
+     */
+    @SaCheckPermission("wuYe:blackManage:list")
+    @GetMapping("/list")
+    public TableDataInfo<BlackManageVo> list(BlackManageBo bo, PageQuery pageQuery) {
+        return blackManageService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 导出黑名单管理列表
+     */
+    @SaCheckPermission("wuYe:blackManage:export")
+    @Log(title = "黑名单管理", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(BlackManageBo bo, HttpServletResponse response) {
+        List<BlackManageVo> list = blackManageService.queryList(bo);
+        ExcelUtil.exportExcel(list, "黑名单管理", BlackManageVo.class, response);
+    }
+
+    /**
+     * 获取黑名单管理详细信息
+     *
+     * @param blackManageId 主键
+     */
+    @SaCheckPermission("wuYe:blackManage:query")
+    @GetMapping("/{blackManageId}")
+    public R<BlackManageVo> getInfo(@NotNull(message = "主键不能为空")
+                                     @PathVariable Long blackManageId) {
+        return R.ok(blackManageService.queryById(blackManageId));
+    }
+
+    /**
+     * 新增黑名单管理
+     */
+    @SaCheckPermission("wuYe:blackManage:add")
+    @Log(title = "黑名单管理", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody BlackManageBo bo) {
+        return toAjax(blackManageService.insertByBo(bo));
+    }
+
+    /**
+     * 修改黑名单管理
+     */
+    @SaCheckPermission("wuYe:blackManage:edit")
+    @Log(title = "黑名单管理", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PostMapping("/put")
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody BlackManageBo bo) {
+        return toAjax(blackManageService.updateByBo(bo));
+    }
+
+    /**
+     * 删除黑名单管理
+     *
+     * @param blackManageIds 主键串
+     */
+    @SaCheckPermission("wuYe:blackManage:remove")
+    @Log(title = "黑名单管理", businessType = BusinessType.DELETE)
+    @GetMapping("/delete/{blackManageIds}")
+    public R<Void> remove(@NotEmpty(message = "主键不能为空")
+                          @PathVariable Long[] blackManageIds) {
+        return toAjax(blackManageService.deleteWithValidByIds(List.of(blackManageIds), true));
+    }
+}

+ 106 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/butler/ButlerSettingsController.java

@@ -0,0 +1,106 @@
+package org.dromara.controller.butler;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.domain.butler.bo.ButlerSettingsBo;
+import org.dromara.domain.butler.vo.ButlerSettingsVo;
+import org.dromara.service.IButlerSettingsService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 物业管家设置
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/wuYe/settings")
+public class ButlerSettingsController extends BaseController {
+
+    private final IButlerSettingsService butlerSettingsService;
+
+    /**
+     * 查询物业管家设置列表
+     */
+    @SaCheckPermission("wuYe:settings:list")
+    @GetMapping("/list")
+    public TableDataInfo<ButlerSettingsVo> list(ButlerSettingsBo bo, PageQuery pageQuery) {
+        return butlerSettingsService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 导出物业管家设置列表
+     */
+    @SaCheckPermission("wuYe:settings:export")
+    @Log(title = "物业管家设置", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(ButlerSettingsBo bo, HttpServletResponse response) {
+        List<ButlerSettingsVo> list = butlerSettingsService.queryList(bo);
+        ExcelUtil.exportExcel(list, "物业管家设置", ButlerSettingsVo.class, response);
+    }
+
+    /**
+     * 获取物业管家设置详细信息
+     *
+     * @param settingsId 主键
+     */
+    @SaCheckPermission("wuYe:settings:query")
+    @GetMapping("/{settingsId}")
+    public R<ButlerSettingsVo> getInfo(@NotNull(message = "主键不能为空")
+                                     @PathVariable Long settingsId) {
+        return R.ok(butlerSettingsService.queryById(settingsId));
+    }
+
+    /**
+     * 新增物业管家设置
+     */
+    @SaCheckPermission("wuYe:settings:add")
+    @Log(title = "物业管家设置", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody ButlerSettingsBo bo) {
+        return toAjax(butlerSettingsService.insertByBo(bo));
+    }
+
+    /**
+     * 修改物业管家设置
+     */
+    @SaCheckPermission("wuYe:settings:edit")
+    @Log(title = "物业管家设置", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PostMapping("/put")
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody ButlerSettingsBo bo) {
+        return toAjax(butlerSettingsService.updateByBo(bo));
+    }
+
+    /**
+     * 删除物业管家设置
+     *
+     * @param settingsIds 主键串
+     */
+    @SaCheckPermission("wuYe:settings:remove")
+    @Log(title = "物业管家设置", businessType = BusinessType.DELETE)
+    @GetMapping("/delete/{settingsIds}")
+    public R<Void> remove(@NotEmpty(message = "主键不能为空")
+                          @PathVariable Long[] settingsIds) {
+        return toAjax(butlerSettingsService.deleteWithValidByIds(List.of(settingsIds), true));
+    }
+}

+ 106 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/checkPoint/CheckPointManageController.java

@@ -0,0 +1,106 @@
+package org.dromara.controller.checkPoint;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.domain.checkPoint.bo.CheckPointManageBo;
+import org.dromara.domain.checkPoint.vo.CheckPointManageVo;
+import org.dromara.service.ICheckPointManageService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 巡更点管理
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/wuYe/checkPointManage")
+public class CheckPointManageController extends BaseController {
+
+    private final ICheckPointManageService checkPointManageService;
+
+    /**
+     * 查询巡更点管理列表
+     */
+    @SaCheckPermission("wuYe:checkPointManage:list")
+    @GetMapping("/list")
+    public TableDataInfo<CheckPointManageVo> list(CheckPointManageBo bo, PageQuery pageQuery) {
+        return checkPointManageService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 导出巡更点管理列表
+     */
+    @SaCheckPermission("wuYe:checkPointManage:export")
+    @Log(title = "巡更点管理", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(CheckPointManageBo bo, HttpServletResponse response) {
+        List<CheckPointManageVo> list = checkPointManageService.queryList(bo);
+        ExcelUtil.exportExcel(list, "巡更点管理", CheckPointManageVo.class, response);
+    }
+
+    /**
+     * 获取巡更点管理详细信息
+     *
+     * @param checkPointManageId 主键
+     */
+    @SaCheckPermission("wuYe:checkPointManage:query")
+    @GetMapping("/{checkPointManageId}")
+    public R<CheckPointManageVo> getInfo(@NotNull(message = "主键不能为空")
+                                     @PathVariable Long checkPointManageId) {
+        return R.ok(checkPointManageService.queryById(checkPointManageId));
+    }
+
+    /**
+     * 新增巡更点管理
+     */
+    @SaCheckPermission("wuYe:checkPointManage:add")
+    @Log(title = "巡更点管理", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody CheckPointManageBo bo) {
+        return toAjax(checkPointManageService.insertByBo(bo));
+    }
+
+    /**
+     * 修改巡更点管理
+     */
+    @SaCheckPermission("wuYe:checkPointManage:edit")
+    @Log(title = "巡更点管理", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PostMapping("/put")
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody CheckPointManageBo bo) {
+        return toAjax(checkPointManageService.updateByBo(bo));
+    }
+
+    /**
+     * 删除巡更点管理
+     *
+     * @param checkPointManageIds 主键串
+     */
+    @SaCheckPermission("wuYe:checkPointManage:remove")
+    @Log(title = "巡更点管理", businessType = BusinessType.DELETE)
+    @GetMapping("/delete/{checkPointManageIds}")
+    public R<Void> remove(@NotEmpty(message = "主键不能为空")
+                          @PathVariable Long[] checkPointManageIds) {
+        return toAjax(checkPointManageService.deleteWithValidByIds(List.of(checkPointManageIds), true));
+    }
+}

+ 106 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/checkPoint/CheckPointRecordController.java

@@ -0,0 +1,106 @@
+package org.dromara.controller.checkPoint;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.domain.checkPoint.bo.CheckPointRecordBo;
+import org.dromara.domain.checkPoint.vo.CheckPointRecordVo;
+import org.dromara.service.ICheckPointRecordService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 巡更点记录
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/wuYe/checkPointRecord")
+public class CheckPointRecordController extends BaseController {
+
+    private final ICheckPointRecordService checkPointRecordService;
+
+    /**
+     * 查询巡更点记录列表
+     */
+    @SaCheckPermission("wuYe:checkPointRecord:list")
+    @GetMapping("/list")
+    public TableDataInfo<CheckPointRecordVo> list(CheckPointRecordBo bo, PageQuery pageQuery) {
+        return checkPointRecordService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 导出巡更点记录列表
+     */
+    @SaCheckPermission("wuYe:checkPointRecord:export")
+    @Log(title = "巡更点记录", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(CheckPointRecordBo bo, HttpServletResponse response) {
+        List<CheckPointRecordVo> list = checkPointRecordService.queryList(bo);
+        ExcelUtil.exportExcel(list, "巡更点记录", CheckPointRecordVo.class, response);
+    }
+
+    /**
+     * 获取巡更点记录详细信息
+     *
+     * @param checkPointRecordId 主键
+     */
+    @SaCheckPermission("wuYe:checkPointRecord:query")
+    @GetMapping("/{checkPointRecordId}")
+    public R<CheckPointRecordVo> getInfo(@NotNull(message = "主键不能为空")
+                                     @PathVariable Long checkPointRecordId) {
+        return R.ok(checkPointRecordService.queryById(checkPointRecordId));
+    }
+
+    /**
+     * 新增巡更点记录
+     */
+    @SaCheckPermission("wuYe:checkPointRecord:add")
+    @Log(title = "巡更点记录", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody CheckPointRecordBo bo) {
+        return toAjax(checkPointRecordService.insertByBo(bo));
+    }
+
+    /**
+     * 修改巡更点记录
+     */
+    @SaCheckPermission("wuYe:checkPointRecord:edit")
+    @Log(title = "巡更点记录", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PostMapping("/put")
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody CheckPointRecordBo bo) {
+        return toAjax(checkPointRecordService.updateByBo(bo));
+    }
+
+    /**
+     * 删除巡更点记录
+     *
+     * @param checkPointRecordIds 主键串
+     */
+    @SaCheckPermission("wuYe:checkPointRecord:remove")
+    @Log(title = "巡更点记录", businessType = BusinessType.DELETE)
+    @GetMapping("/delete/{checkPointRecordIds}")
+    public R<Void> remove(@NotEmpty(message = "主键不能为空")
+                          @PathVariable Long[] checkPointRecordIds) {
+        return toAjax(checkPointRecordService.deleteWithValidByIds(List.of(checkPointRecordIds), true));
+    }
+}

+ 106 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/communityNews/CommentContentController.java

@@ -0,0 +1,106 @@
+package org.dromara.controller.communityNews;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.domain.communityNews.bo.CommentContentBo;
+import org.dromara.domain.communityNews.vo.CommentContentVo;
+import org.dromara.service.ICommentContentService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 社区资讯评论内容
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/wuYe/commentContent")
+public class CommentContentController extends BaseController {
+
+    private final ICommentContentService commentContentService;
+
+    /**
+     * 查询社区资讯评论内容列表
+     */
+    @SaCheckPermission("wuYe:commentContent:list")
+    @GetMapping("/list")
+    public TableDataInfo<CommentContentVo> list(CommentContentBo bo, PageQuery pageQuery) {
+        return commentContentService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 导出社区资讯评论内容列表
+     */
+    @SaCheckPermission("wuYe:commentContent:export")
+    @Log(title = "社区资讯评论内容", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(CommentContentBo bo, HttpServletResponse response) {
+        List<CommentContentVo> list = commentContentService.queryList(bo);
+        ExcelUtil.exportExcel(list, "社区资讯评论内容", CommentContentVo.class, response);
+    }
+
+    /**
+     * 获取社区资讯评论内容详细信息
+     *
+     * @param contentId 主键
+     */
+    @SaCheckPermission("wuYe:commentContent:query")
+    @GetMapping("/{contentId}")
+    public R<CommentContentVo> getInfo(@NotNull(message = "主键不能为空")
+                                     @PathVariable Long contentId) {
+        return R.ok(commentContentService.queryById(contentId));
+    }
+
+    /**
+     * 新增社区资讯评论内容
+     */
+    @SaCheckPermission("wuYe:commentContent:add")
+    @Log(title = "社区资讯评论内容", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody CommentContentBo bo) {
+        return toAjax(commentContentService.insertByBo(bo));
+    }
+
+    /**
+     * 修改社区资讯评论内容
+     */
+    @SaCheckPermission("wuYe:commentContent:edit")
+    @Log(title = "社区资讯评论内容", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PostMapping("/put")
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody CommentContentBo bo) {
+        return toAjax(commentContentService.updateByBo(bo));
+    }
+
+    /**
+     * 删除社区资讯评论内容
+     *
+     * @param contentIds 主键串
+     */
+    @SaCheckPermission("wuYe:commentContent:remove")
+    @Log(title = "社区资讯评论内容", businessType = BusinessType.DELETE)
+    @GetMapping("/delete/{contentIds}")
+    public R<Void> remove(@NotEmpty(message = "主键不能为空")
+                          @PathVariable Long[] contentIds) {
+        return toAjax(commentContentService.deleteWithValidByIds(List.of(contentIds), true));
+    }
+}

+ 106 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/communityNews/CommentIndexController.java

@@ -0,0 +1,106 @@
+package org.dromara.controller.communityNews;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.domain.communityNews.bo.CommentIndexBo;
+import org.dromara.domain.communityNews.vo.CommentIndexVo;
+import org.dromara.service.ICommentIndexService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 社区资讯评论
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/wuYe/commentIndex")
+public class CommentIndexController extends BaseController {
+
+    private final ICommentIndexService commentIndexService;
+
+    /**
+     * 查询社区资讯评论列表
+     */
+    @SaCheckPermission("wuYe:commentIndex:list")
+    @GetMapping("/list")
+    public TableDataInfo<CommentIndexVo> list(CommentIndexBo bo, PageQuery pageQuery) {
+        return commentIndexService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 导出社区资讯评论列表
+     */
+    @SaCheckPermission("wuYe:commentIndex:export")
+    @Log(title = "社区资讯评论", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(CommentIndexBo bo, HttpServletResponse response) {
+        List<CommentIndexVo> list = commentIndexService.queryList(bo);
+        ExcelUtil.exportExcel(list, "社区资讯评论", CommentIndexVo.class, response);
+    }
+
+    /**
+     * 获取社区资讯评论详细信息
+     *
+     * @param commentId 主键
+     */
+    @SaCheckPermission("wuYe:commentIndex:query")
+    @GetMapping("/{commentId}")
+    public R<CommentIndexVo> getInfo(@NotNull(message = "主键不能为空")
+                                     @PathVariable Long commentId) {
+        return R.ok(commentIndexService.queryById(commentId));
+    }
+
+    /**
+     * 新增社区资讯评论
+     */
+    @SaCheckPermission("wuYe:commentIndex:add")
+    @Log(title = "社区资讯评论", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody CommentIndexBo bo) {
+        return toAjax(commentIndexService.insertByBo(bo));
+    }
+
+    /**
+     * 修改社区资讯评论
+     */
+    @SaCheckPermission("wuYe:commentIndex:edit")
+    @Log(title = "社区资讯评论", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PostMapping("/put")
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody CommentIndexBo bo) {
+        return toAjax(commentIndexService.updateByBo(bo));
+    }
+
+    /**
+     * 删除社区资讯评论
+     *
+     * @param commentIds 主键串
+     */
+    @SaCheckPermission("wuYe:commentIndex:remove")
+    @Log(title = "社区资讯评论", businessType = BusinessType.DELETE)
+    @GetMapping("/delete/{commentIds}")
+    public R<Void> remove(@NotEmpty(message = "主键不能为空")
+                          @PathVariable Long[] commentIds) {
+        return toAjax(commentIndexService.deleteWithValidByIds(List.of(commentIds), true));
+    }
+}

+ 106 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/communityNews/CommentLikesController.java

@@ -0,0 +1,106 @@
+package org.dromara.controller.communityNews;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.domain.communityNews.bo.CommentLikesBo;
+import org.dromara.domain.communityNews.vo.CommentLikesVo;
+import org.dromara.service.ICommentLikesService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 社区资讯点赞
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/wuYe/commentLikes")
+public class CommentLikesController extends BaseController {
+
+    private final ICommentLikesService commentLikesService;
+
+    /**
+     * 查询社区资讯点赞列表
+     */
+    @SaCheckPermission("wuYe:commentLikes:list")
+    @GetMapping("/list")
+    public TableDataInfo<CommentLikesVo> list(CommentLikesBo bo, PageQuery pageQuery) {
+        return commentLikesService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 导出社区资讯点赞列表
+     */
+    @SaCheckPermission("wuYe:commentLikes:export")
+    @Log(title = "社区资讯点赞", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(CommentLikesBo bo, HttpServletResponse response) {
+        List<CommentLikesVo> list = commentLikesService.queryList(bo);
+        ExcelUtil.exportExcel(list, "社区资讯点赞", CommentLikesVo.class, response);
+    }
+
+    /**
+     * 获取社区资讯点赞详细信息
+     *
+     * @param likesId 主键
+     */
+    @SaCheckPermission("wuYe:commentLikes:query")
+    @GetMapping("/{likesId}")
+    public R<CommentLikesVo> getInfo(@NotNull(message = "主键不能为空")
+                                     @PathVariable Long likesId) {
+        return R.ok(commentLikesService.queryById(likesId));
+    }
+
+    /**
+     * 新增社区资讯点赞
+     */
+    @SaCheckPermission("wuYe:commentLikes:add")
+    @Log(title = "社区资讯点赞", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody CommentLikesBo bo) {
+        return toAjax(commentLikesService.insertByBo(bo));
+    }
+
+    /**
+     * 修改社区资讯点赞
+     */
+    @SaCheckPermission("wuYe:commentLikes:edit")
+    @Log(title = "社区资讯点赞", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PostMapping("/put")
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody CommentLikesBo bo) {
+        return toAjax(commentLikesService.updateByBo(bo));
+    }
+
+    /**
+     * 删除社区资讯点赞
+     *
+     * @param likesIds 主键串
+     */
+    @SaCheckPermission("wuYe:commentLikes:remove")
+    @Log(title = "社区资讯点赞", businessType = BusinessType.DELETE)
+    @GetMapping("/delete/{likesIds}")
+    public R<Void> remove(@NotEmpty(message = "主键不能为空")
+                          @PathVariable Long[] likesIds) {
+        return toAjax(commentLikesService.deleteWithValidByIds(List.of(likesIds), true));
+    }
+}

+ 106 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/communityNews/CommentStarsController.java

@@ -0,0 +1,106 @@
+package org.dromara.controller.communityNews;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.domain.communityNews.bo.CommentStarsBo;
+import org.dromara.domain.communityNews.vo.CommentStarsVo;
+import org.dromara.service.ICommentStarsService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 社区资讯收藏
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/wuYe/commentStars")
+public class CommentStarsController extends BaseController {
+
+    private final ICommentStarsService commentStarsService;
+
+    /**
+     * 查询社区资讯收藏列表
+     */
+    @SaCheckPermission("wuYe:commentStars:list")
+    @GetMapping("/list")
+    public TableDataInfo<CommentStarsVo> list(CommentStarsBo bo, PageQuery pageQuery) {
+        return commentStarsService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 导出社区资讯收藏列表
+     */
+    @SaCheckPermission("wuYe:commentStars:export")
+    @Log(title = "社区资讯收藏", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(CommentStarsBo bo, HttpServletResponse response) {
+        List<CommentStarsVo> list = commentStarsService.queryList(bo);
+        ExcelUtil.exportExcel(list, "社区资讯收藏", CommentStarsVo.class, response);
+    }
+
+    /**
+     * 获取社区资讯收藏详细信息
+     *
+     * @param starsId 主键
+     */
+    @SaCheckPermission("wuYe:commentStars:query")
+    @GetMapping("/{starsId}")
+    public R<CommentStarsVo> getInfo(@NotNull(message = "主键不能为空")
+                                     @PathVariable Long starsId) {
+        return R.ok(commentStarsService.queryById(starsId));
+    }
+
+    /**
+     * 新增社区资讯收藏
+     */
+    @SaCheckPermission("wuYe:commentStars:add")
+    @Log(title = "社区资讯收藏", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody CommentStarsBo bo) {
+        return toAjax(commentStarsService.insertByBo(bo));
+    }
+
+    /**
+     * 修改社区资讯收藏
+     */
+    @SaCheckPermission("wuYe:commentStars:edit")
+    @Log(title = "社区资讯收藏", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PostMapping("/put")
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody CommentStarsBo bo) {
+        return toAjax(commentStarsService.updateByBo(bo));
+    }
+
+    /**
+     * 删除社区资讯收藏
+     *
+     * @param starsIds 主键串
+     */
+    @SaCheckPermission("wuYe:commentStars:remove")
+    @Log(title = "社区资讯收藏", businessType = BusinessType.DELETE)
+    @GetMapping("/delete/{starsIds}")
+    public R<Void> remove(@NotEmpty(message = "主键不能为空")
+                          @PathVariable Long[] starsIds) {
+        return toAjax(commentStarsService.deleteWithValidByIds(List.of(starsIds), true));
+    }
+}

+ 106 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/communityNews/CommunityNewsController.java

@@ -0,0 +1,106 @@
+package org.dromara.controller.communityNews;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.domain.communityNews.bo.CommunityNewsBo;
+import org.dromara.domain.communityNews.vo.CommunityNewsVo;
+import org.dromara.service.ICommunityNewsService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 社区资讯
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/wuYe/news")
+public class CommunityNewsController extends BaseController {
+
+    private final ICommunityNewsService communityNewsService;
+
+    /**
+     * 查询社区资讯列表
+     */
+    @SaCheckPermission("wuYe:news:list")
+    @GetMapping("/list")
+    public TableDataInfo<CommunityNewsVo> list(CommunityNewsBo bo, PageQuery pageQuery) {
+        return communityNewsService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 导出社区资讯列表
+     */
+    @SaCheckPermission("wuYe:news:export")
+    @Log(title = "社区资讯", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(CommunityNewsBo bo, HttpServletResponse response) {
+        List<CommunityNewsVo> list = communityNewsService.queryList(bo);
+        ExcelUtil.exportExcel(list, "社区资讯", CommunityNewsVo.class, response);
+    }
+
+    /**
+     * 获取社区资讯详细信息
+     *
+     * @param communityId 主键
+     */
+    @SaCheckPermission("wuYe:news:query")
+    @GetMapping("/{communityId}")
+    public R<CommunityNewsVo> getInfo(@NotNull(message = "主键不能为空")
+                                     @PathVariable Long communityId) {
+        return R.ok(communityNewsService.queryById(communityId));
+    }
+
+    /**
+     * 新增社区资讯
+     */
+    @SaCheckPermission("wuYe:news:add")
+    @Log(title = "社区资讯", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody CommunityNewsBo bo) {
+        return toAjax(communityNewsService.insertByBo(bo));
+    }
+
+    /**
+     * 修改社区资讯
+     */
+    @SaCheckPermission("wuYe:news:edit")
+    @Log(title = "社区资讯", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PostMapping("/put")
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody CommunityNewsBo bo) {
+        return toAjax(communityNewsService.updateByBo(bo));
+    }
+
+    /**
+     * 删除社区资讯
+     *
+     * @param communityIds 主键串
+     */
+    @SaCheckPermission("wuYe:news:remove")
+    @Log(title = "社区资讯", businessType = BusinessType.DELETE)
+    @GetMapping("/delete/{communityIds}")
+    public R<Void> remove(@NotEmpty(message = "主键不能为空")
+                          @PathVariable Long[] communityIds) {
+        return toAjax(communityNewsService.deleteWithValidByIds(List.of(communityIds), true));
+    }
+}

+ 106 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/complaintSuggestion/ComplaintSuggestionController.java

@@ -0,0 +1,106 @@
+package org.dromara.controller.complaintSuggestion;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.domain.complaintSuggestion.bo.ComplaintSuggestionBo;
+import org.dromara.domain.complaintSuggestion.vo.ComplaintSuggestionVo;
+import org.dromara.service.IComplaintSuggestionService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 投诉建议
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/wuYe/suggestion")
+public class ComplaintSuggestionController extends BaseController {
+
+    private final IComplaintSuggestionService complaintSuggestionService;
+
+    /**
+     * 查询投诉建议列表
+     */
+    @SaCheckPermission("wuYe:suggestion:list")
+    @GetMapping("/list")
+    public TableDataInfo<ComplaintSuggestionVo> list(ComplaintSuggestionBo bo, PageQuery pageQuery) {
+        return complaintSuggestionService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 导出投诉建议列表
+     */
+    @SaCheckPermission("wuYe:suggestion:export")
+    @Log(title = "投诉建议", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(ComplaintSuggestionBo bo, HttpServletResponse response) {
+        List<ComplaintSuggestionVo> list = complaintSuggestionService.queryList(bo);
+        ExcelUtil.exportExcel(list, "投诉建议", ComplaintSuggestionVo.class, response);
+    }
+
+    /**
+     * 获取投诉建议详细信息
+     *
+     * @param suggestionId 主键
+     */
+    @SaCheckPermission("wuYe:suggestion:query")
+    @GetMapping("/{suggestionId}")
+    public R<ComplaintSuggestionVo> getInfo(@NotNull(message = "主键不能为空")
+                                     @PathVariable Long suggestionId) {
+        return R.ok(complaintSuggestionService.queryById(suggestionId));
+    }
+
+    /**
+     * 新增投诉建议
+     */
+    @SaCheckPermission("wuYe:suggestion:add")
+    @Log(title = "投诉建议", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody ComplaintSuggestionBo bo) {
+        return toAjax(complaintSuggestionService.insertByBo(bo));
+    }
+
+    /**
+     * 修改投诉建议
+     */
+    @SaCheckPermission("wuYe:suggestion:edit")
+    @Log(title = "投诉建议", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PostMapping("/put")
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody ComplaintSuggestionBo bo) {
+        return toAjax(complaintSuggestionService.updateByBo(bo));
+    }
+
+    /**
+     * 删除投诉建议
+     *
+     * @param suggestionIds 主键串
+     */
+    @SaCheckPermission("wuYe:suggestion:remove")
+    @Log(title = "投诉建议", businessType = BusinessType.DELETE)
+    @GetMapping("/delete/{suggestionIds}")
+    public R<Void> remove(@NotEmpty(message = "主键不能为空")
+                          @PathVariable Long[] suggestionIds) {
+        return toAjax(complaintSuggestionService.deleteWithValidByIds(List.of(suggestionIds), true));
+    }
+}

+ 106 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/houseInfo/HouseInfoController.java

@@ -0,0 +1,106 @@
+package org.dromara.controller.houseInfo;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.domain.houseInfo.bo.HouseInfoBo;
+import org.dromara.domain.houseInfo.vo.HouseInfoVo;
+import org.dromara.service.IHouseInfoService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 房屋信息
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/wuYe/houseInfo")
+public class HouseInfoController extends BaseController {
+
+    private final IHouseInfoService houseInfoService;
+
+    /**
+     * 查询房屋信息列表
+     */
+    @SaCheckPermission("wuYe:houseInfo:list")
+    @GetMapping("/list")
+    public TableDataInfo<HouseInfoVo> list(HouseInfoBo bo, PageQuery pageQuery) {
+        return houseInfoService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 导出房屋信息列表
+     */
+    @SaCheckPermission("wuYe:houseInfo:export")
+    @Log(title = "房屋信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HouseInfoBo bo, HttpServletResponse response) {
+        List<HouseInfoVo> list = houseInfoService.queryList(bo);
+        ExcelUtil.exportExcel(list, "房屋信息", HouseInfoVo.class, response);
+    }
+
+    /**
+     * 获取房屋信息详细信息
+     *
+     * @param houseId 主键
+     */
+    @SaCheckPermission("wuYe:houseInfo:query")
+    @GetMapping("/{houseId}")
+    public R<HouseInfoVo> getInfo(@NotNull(message = "主键不能为空")
+                                     @PathVariable Long houseId) {
+        return R.ok(houseInfoService.queryById(houseId));
+    }
+
+    /**
+     * 新增房屋信息
+     */
+    @SaCheckPermission("wuYe:houseInfo:add")
+    @Log(title = "房屋信息", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody HouseInfoBo bo) {
+        return toAjax(houseInfoService.insertByBo(bo));
+    }
+
+    /**
+     * 修改房屋信息
+     */
+    @SaCheckPermission("wuYe:houseInfo:edit")
+    @Log(title = "房屋信息", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PostMapping("/put")
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody HouseInfoBo bo) {
+        return toAjax(houseInfoService.updateByBo(bo));
+    }
+
+    /**
+     * 删除房屋信息
+     *
+     * @param houseIds 主键串
+     */
+    @SaCheckPermission("wuYe:houseInfo:remove")
+    @Log(title = "房屋信息", businessType = BusinessType.DELETE)
+    @GetMapping("/delete/{houseIds}")
+    public R<Void> remove(@NotEmpty(message = "主键不能为空")
+                          @PathVariable Long[] houseIds) {
+        return toAjax(houseInfoService.deleteWithValidByIds(List.of(houseIds), true));
+    }
+}

+ 106 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/houseInfo/PropertyFeeController.java

@@ -0,0 +1,106 @@
+package org.dromara.controller.houseInfo;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.domain.houseInfo.bo.PropertyFeeBo;
+import org.dromara.domain.houseInfo.vo.PropertyFeeVo;
+import org.dromara.service.IPropertyFeeService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 物业费管理
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/wuYe/fee")
+public class PropertyFeeController extends BaseController {
+
+    private final IPropertyFeeService propertyFeeService;
+
+    /**
+     * 查询物业费管理列表
+     */
+    @SaCheckPermission("wuYe:fee:list")
+    @GetMapping("/list")
+    public TableDataInfo<PropertyFeeVo> list(PropertyFeeBo bo, PageQuery pageQuery) {
+        return propertyFeeService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 导出物业费管理列表
+     */
+    @SaCheckPermission("wuYe:fee:export")
+    @Log(title = "物业费管理", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(PropertyFeeBo bo, HttpServletResponse response) {
+        List<PropertyFeeVo> list = propertyFeeService.queryList(bo);
+        ExcelUtil.exportExcel(list, "物业费管理", PropertyFeeVo.class, response);
+    }
+
+    /**
+     * 获取物业费管理详细信息
+     *
+     * @param propertyId 主键
+     */
+    @SaCheckPermission("wuYe:fee:query")
+    @GetMapping("/{propertyId}")
+    public R<PropertyFeeVo> getInfo(@NotNull(message = "主键不能为空")
+                                     @PathVariable Long propertyId) {
+        return R.ok(propertyFeeService.queryById(propertyId));
+    }
+
+    /**
+     * 新增物业费管理
+     */
+    @SaCheckPermission("wuYe:fee:add")
+    @Log(title = "物业费管理", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody PropertyFeeBo bo) {
+        return toAjax(propertyFeeService.insertByBo(bo));
+    }
+
+    /**
+     * 修改物业费管理
+     */
+    @SaCheckPermission("wuYe:fee:edit")
+    @Log(title = "物业费管理", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PostMapping("/put")
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody PropertyFeeBo bo) {
+        return toAjax(propertyFeeService.updateByBo(bo));
+    }
+
+    /**
+     * 删除物业费管理
+     *
+     * @param propertyIds 主键串
+     */
+    @SaCheckPermission("wuYe:fee:remove")
+    @Log(title = "物业费管理", businessType = BusinessType.DELETE)
+    @GetMapping("/delete/{propertyIds}")
+    public R<Void> remove(@NotEmpty(message = "主键不能为空")
+                          @PathVariable Long[] propertyIds) {
+        return toAjax(propertyFeeService.deleteWithValidByIds(List.of(propertyIds), true));
+    }
+}

+ 106 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/houseInfo/PropertySettingsController.java

@@ -0,0 +1,106 @@
+package org.dromara.controller.houseInfo;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.domain.houseInfo.bo.PropertySettingsBo;
+import org.dromara.domain.houseInfo.vo.PropertySettingsVo;
+import org.dromara.service.IPropertySettingsService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 物业费设置
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/wuYe/fee/settings")
+public class PropertySettingsController extends BaseController {
+
+    private final IPropertySettingsService propertySettingsService;
+
+    /**
+     * 查询物业费设置列表
+     */
+    @SaCheckPermission("wuYe:fee:settings:list")
+    @GetMapping("/list")
+    public TableDataInfo<PropertySettingsVo> list(PropertySettingsBo bo, PageQuery pageQuery) {
+        return propertySettingsService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 导出物业费设置列表
+     */
+    @SaCheckPermission("wuYe:fee:settings:export")
+    @Log(title = "物业费设置", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(PropertySettingsBo bo, HttpServletResponse response) {
+        List<PropertySettingsVo> list = propertySettingsService.queryList(bo);
+        ExcelUtil.exportExcel(list, "物业费设置", PropertySettingsVo.class, response);
+    }
+
+    /**
+     * 获取物业费设置详细信息
+     *
+     * @param settingsId 主键
+     */
+    @SaCheckPermission("wuYe:fee:settings:query")
+    @GetMapping("/{settingsId}")
+    public R<PropertySettingsVo> getInfo(@NotNull(message = "主键不能为空")
+                                     @PathVariable Long settingsId) {
+        return R.ok(propertySettingsService.queryById(settingsId));
+    }
+
+    /**
+     * 新增物业费设置
+     */
+    @SaCheckPermission("wuYe:fee:settings:add")
+    @Log(title = "物业费设置", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody PropertySettingsBo bo) {
+        return toAjax(propertySettingsService.insertByBo(bo));
+    }
+
+    /**
+     * 修改物业费设置
+     */
+    @SaCheckPermission("wuYe:fee:settings:edit")
+    @Log(title = "物业费设置", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PostMapping("/put")
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody PropertySettingsBo bo) {
+        return toAjax(propertySettingsService.updateByBo(bo));
+    }
+
+    /**
+     * 删除物业费设置
+     *
+     * @param settingsIds 主键串
+     */
+    @SaCheckPermission("wuYe:fee:settings:remove")
+    @Log(title = "物业费设置", businessType = BusinessType.DELETE)
+    @GetMapping("/delete/{settingsIds}")
+    public R<Void> remove(@NotEmpty(message = "主键不能为空")
+                          @PathVariable Long[] settingsIds) {
+        return toAjax(propertySettingsService.deleteWithValidByIds(List.of(settingsIds), true));
+    }
+}

+ 106 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/illegalParking/IllegalParkingController.java

@@ -0,0 +1,106 @@
+package org.dromara.controller.illegalParking;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.domain.illegalParking.bo.IllegalParkingBo;
+import org.dromara.domain.illegalParking.vo.IllegalParkingVo;
+import org.dromara.service.IIllegalParkingService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 违章停车登记
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/wuYe/illegalParking")
+public class IllegalParkingController extends BaseController {
+
+    private final IIllegalParkingService illegalParkingService;
+
+    /**
+     * 查询违章停车登记列表
+     */
+    @SaCheckPermission("wuYe:illegalParking:list")
+    @GetMapping("/list")
+    public TableDataInfo<IllegalParkingVo> list(IllegalParkingBo bo, PageQuery pageQuery) {
+        return illegalParkingService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 导出违章停车登记列表
+     */
+    @SaCheckPermission("wuYe:illegalParking:export")
+    @Log(title = "违章停车登记", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(IllegalParkingBo bo, HttpServletResponse response) {
+        List<IllegalParkingVo> list = illegalParkingService.queryList(bo);
+        ExcelUtil.exportExcel(list, "违章停车登记", IllegalParkingVo.class, response);
+    }
+
+    /**
+     * 获取违章停车登记详细信息
+     *
+     * @param illegalParkingId 主键
+     */
+    @SaCheckPermission("wuYe:illegalParking:query")
+    @GetMapping("/{illegalParkingId}")
+    public R<IllegalParkingVo> getInfo(@NotNull(message = "主键不能为空")
+                                     @PathVariable Long illegalParkingId) {
+        return R.ok(illegalParkingService.queryById(illegalParkingId));
+    }
+
+    /**
+     * 新增违章停车登记
+     */
+    @SaCheckPermission("wuYe:illegalParking:add")
+    @Log(title = "违章停车登记", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody IllegalParkingBo bo) {
+        return toAjax(illegalParkingService.insertByBo(bo));
+    }
+
+    /**
+     * 修改违章停车登记
+     */
+    @SaCheckPermission("wuYe:illegalParking:edit")
+    @Log(title = "违章停车登记", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PostMapping("/put")
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody IllegalParkingBo bo) {
+        return toAjax(illegalParkingService.updateByBo(bo));
+    }
+
+    /**
+     * 删除违章停车登记
+     *
+     * @param illegalParkingIds 主键串
+     */
+    @SaCheckPermission("wuYe:illegalParking:remove")
+    @Log(title = "违章停车登记", businessType = BusinessType.DELETE)
+    @GetMapping("/delete/{illegalParkingIds}")
+    public R<Void> remove(@NotEmpty(message = "主键不能为空")
+                          @PathVariable Long[] illegalParkingIds) {
+        return toAjax(illegalParkingService.deleteWithValidByIds(List.of(illegalParkingIds), true));
+    }
+}

+ 106 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/partyNews/PartyNewsController.java

@@ -0,0 +1,106 @@
+package org.dromara.controller.partyNews;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.domain.partyNews.bo.PartyNewsBo;
+import org.dromara.domain.partyNews.vo.PartyNewsVo;
+import org.dromara.service.IPartyNewsService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 党建资讯
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/wuYe/partyNews")
+public class PartyNewsController extends BaseController {
+
+    private final IPartyNewsService partyNewsService;
+
+    /**
+     * 查询党建资讯列表
+     */
+    @SaCheckPermission("wuYe:partyNews:list")
+    @GetMapping("/list")
+    public TableDataInfo<PartyNewsVo> list(PartyNewsBo bo, PageQuery pageQuery) {
+        return partyNewsService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 导出党建资讯列表
+     */
+    @SaCheckPermission("wuYe:partyNews:export")
+    @Log(title = "党建资讯", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(PartyNewsBo bo, HttpServletResponse response) {
+        List<PartyNewsVo> list = partyNewsService.queryList(bo);
+        ExcelUtil.exportExcel(list, "党建资讯", PartyNewsVo.class, response);
+    }
+
+    /**
+     * 获取党建资讯详细信息
+     *
+     * @param partyId 主键
+     */
+    @SaCheckPermission("wuYe:partyNews:query")
+    @GetMapping("/{partyId}")
+    public R<PartyNewsVo> getInfo(@NotNull(message = "主键不能为空")
+                                     @PathVariable Long partyId) {
+        return R.ok(partyNewsService.queryById(partyId));
+    }
+
+    /**
+     * 新增党建资讯
+     */
+    @SaCheckPermission("wuYe:partyNews:add")
+    @Log(title = "党建资讯", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody PartyNewsBo bo) {
+        return toAjax(partyNewsService.insertByBo(bo));
+    }
+
+    /**
+     * 修改党建资讯
+     */
+    @SaCheckPermission("wuYe:partyNews:edit")
+    @Log(title = "党建资讯", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PostMapping("/put")
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody PartyNewsBo bo) {
+        return toAjax(partyNewsService.updateByBo(bo));
+    }
+
+    /**
+     * 删除党建资讯
+     *
+     * @param partyIds 主键串
+     */
+    @SaCheckPermission("wuYe:partyNews:remove")
+    @Log(title = "党建资讯", businessType = BusinessType.DELETE)
+    @GetMapping("/delete/{partyIds}")
+    public R<Void> remove(@NotEmpty(message = "主键不能为空")
+                          @PathVariable Long[] partyIds) {
+        return toAjax(partyNewsService.deleteWithValidByIds(List.of(partyIds), true));
+    }
+}

+ 106 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/propertyRepair/PropertyRepairController.java

@@ -0,0 +1,106 @@
+package org.dromara.controller.propertyRepair;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.domain.propertyRepair.bo.PropertyRepairBo;
+import org.dromara.domain.propertyRepair.vo.PropertyRepairVo;
+import org.dromara.service.IPropertyRepairService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 物业报修
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/wuYe/repair")
+public class PropertyRepairController extends BaseController {
+
+    private final IPropertyRepairService propertyRepairService;
+
+    /**
+     * 查询物业报修列表
+     */
+    @SaCheckPermission("wuYe:repair:list")
+    @GetMapping("/list")
+    public TableDataInfo<PropertyRepairVo> list(PropertyRepairBo bo, PageQuery pageQuery) {
+        return propertyRepairService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 导出物业报修列表
+     */
+    @SaCheckPermission("wuYe:repair:export")
+    @Log(title = "物业报修", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(PropertyRepairBo bo, HttpServletResponse response) {
+        List<PropertyRepairVo> list = propertyRepairService.queryList(bo);
+        ExcelUtil.exportExcel(list, "物业报修", PropertyRepairVo.class, response);
+    }
+
+    /**
+     * 获取物业报修详细信息
+     *
+     * @param repairId 主键
+     */
+    @SaCheckPermission("wuYe:repair:query")
+    @GetMapping("/{repairId}")
+    public R<PropertyRepairVo> getInfo(@NotNull(message = "主键不能为空")
+                                     @PathVariable Long repairId) {
+        return R.ok(propertyRepairService.queryById(repairId));
+    }
+
+    /**
+     * 新增物业报修
+     */
+    @SaCheckPermission("wuYe:repair:add")
+    @Log(title = "物业报修", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody PropertyRepairBo bo) {
+        return toAjax(propertyRepairService.insertByBo(bo));
+    }
+
+    /**
+     * 修改物业报修
+     */
+    @SaCheckPermission("wuYe:repair:edit")
+    @Log(title = "物业报修", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PostMapping("/put")
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody PropertyRepairBo bo) {
+        return toAjax(propertyRepairService.updateByBo(bo));
+    }
+
+    /**
+     * 删除物业报修
+     *
+     * @param repairIds 主键串
+     */
+    @SaCheckPermission("wuYe:repair:remove")
+    @Log(title = "物业报修", businessType = BusinessType.DELETE)
+    @GetMapping("/delete/{repairIds}")
+    public R<Void> remove(@NotEmpty(message = "主键不能为空")
+                          @PathVariable Long[] repairIds) {
+        return toAjax(propertyRepairService.deleteWithValidByIds(List.of(repairIds), true));
+    }
+}

+ 106 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/proprietorCar/ProprietorCarController.java

@@ -0,0 +1,106 @@
+package org.dromara.controller.proprietorCar;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.domain.proprietorCar.bo.ProprietorCarBo;
+import org.dromara.domain.proprietorCar.vo.ProprietorCarVo;
+import org.dromara.service.IProprietorCarService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 业主车辆管理
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/wuYe/car")
+public class ProprietorCarController extends BaseController {
+
+    private final IProprietorCarService proprietorCarService;
+
+    /**
+     * 查询业主车辆管理列表
+     */
+    @SaCheckPermission("wuYe:car:list")
+    @GetMapping("/list")
+    public TableDataInfo<ProprietorCarVo> list(ProprietorCarBo bo, PageQuery pageQuery) {
+        return proprietorCarService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 导出业主车辆管理列表
+     */
+    @SaCheckPermission("wuYe:car:export")
+    @Log(title = "业主车辆管理", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(ProprietorCarBo bo, HttpServletResponse response) {
+        List<ProprietorCarVo> list = proprietorCarService.queryList(bo);
+        ExcelUtil.exportExcel(list, "业主车辆管理", ProprietorCarVo.class, response);
+    }
+
+    /**
+     * 获取业主车辆管理详细信息
+     *
+     * @param carId 主键
+     */
+    @SaCheckPermission("wuYe:car:query")
+    @GetMapping("/{carId}")
+    public R<ProprietorCarVo> getInfo(@NotNull(message = "主键不能为空")
+                                     @PathVariable Long carId) {
+        return R.ok(proprietorCarService.queryById(carId));
+    }
+
+    /**
+     * 新增业主车辆管理
+     */
+    @SaCheckPermission("wuYe:car:add")
+    @Log(title = "业主车辆管理", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody ProprietorCarBo bo) {
+        return toAjax(proprietorCarService.insertByBo(bo));
+    }
+
+    /**
+     * 修改业主车辆管理
+     */
+    @SaCheckPermission("wuYe:car:edit")
+    @Log(title = "业主车辆管理", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PostMapping("/put")
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody ProprietorCarBo bo) {
+        return toAjax(proprietorCarService.updateByBo(bo));
+    }
+
+    /**
+     * 删除业主车辆管理
+     *
+     * @param carIds 主键串
+     */
+    @SaCheckPermission("wuYe:car:remove")
+    @Log(title = "业主车辆管理", businessType = BusinessType.DELETE)
+    @GetMapping("/delete/{carIds}")
+    public R<Void> remove(@NotEmpty(message = "主键不能为空")
+                          @PathVariable Long[] carIds) {
+        return toAjax(proprietorCarService.deleteWithValidByIds(List.of(carIds), true));
+    }
+}

+ 106 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/reservRecord/ReservRecordController.java

@@ -0,0 +1,106 @@
+package org.dromara.controller.reservRecord;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.domain.reservRecord.bo.ReservRecordBo;
+import org.dromara.domain.reservRecord.vo.ReservRecordVo;
+import org.dromara.service.IReservRecordService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 预约记录
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/wuYe/reservRecord")
+public class ReservRecordController extends BaseController {
+
+    private final IReservRecordService reservRecordService;
+
+    /**
+     * 查询预约记录列表
+     */
+    @SaCheckPermission("wuYe:reservRecord:list")
+    @GetMapping("/list")
+    public TableDataInfo<ReservRecordVo> list(ReservRecordBo bo, PageQuery pageQuery) {
+        return reservRecordService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 导出预约记录列表
+     */
+    @SaCheckPermission("wuYe:reservRecord:export")
+    @Log(title = "预约记录", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(ReservRecordBo bo, HttpServletResponse response) {
+        List<ReservRecordVo> list = reservRecordService.queryList(bo);
+        ExcelUtil.exportExcel(list, "预约记录", ReservRecordVo.class, response);
+    }
+
+    /**
+     * 获取预约记录详细信息
+     *
+     * @param reservRecordId 主键
+     */
+    @SaCheckPermission("wuYe:reservRecord:query")
+    @GetMapping("/{reservRecordId}")
+    public R<ReservRecordVo> getInfo(@NotNull(message = "主键不能为空")
+                                     @PathVariable Long reservRecordId) {
+        return R.ok(reservRecordService.queryById(reservRecordId));
+    }
+
+    /**
+     * 新增预约记录
+     */
+    @SaCheckPermission("wuYe:reservRecord:add")
+    @Log(title = "预约记录", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody ReservRecordBo bo) {
+        return toAjax(reservRecordService.insertByBo(bo));
+    }
+
+    /**
+     * 修改预约记录
+     */
+    @SaCheckPermission("wuYe:reservRecord:edit")
+    @Log(title = "预约记录", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PostMapping("/put")
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody ReservRecordBo bo) {
+        return toAjax(reservRecordService.updateByBo(bo));
+    }
+
+    /**
+     * 删除预约记录
+     *
+     * @param reservRecordIds 主键串
+     */
+    @SaCheckPermission("wuYe:reservRecord:remove")
+    @Log(title = "预约记录", businessType = BusinessType.DELETE)
+    @GetMapping("/delete/{reservRecordIds}")
+    public R<Void> remove(@NotEmpty(message = "主键不能为空")
+                          @PathVariable Long[] reservRecordIds) {
+        return toAjax(reservRecordService.deleteWithValidByIds(List.of(reservRecordIds), true));
+    }
+}

+ 106 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/residentInfo/ResidentInfoController.java

@@ -0,0 +1,106 @@
+package org.dromara.controller.residentInfo;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.domain.residentInfo.bo.ResidentInfoBo;
+import org.dromara.domain.residentInfo.vo.ResidentInfoVo;
+import org.dromara.service.IResidentInfoService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 居住人员信息,存储居住人员的详细信息
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/wuYe/residentInfo")
+public class ResidentInfoController extends BaseController {
+
+    private final IResidentInfoService residentInfoService;
+
+    /**
+     * 查询居住人员信息,存储居住人员的详细信息列表
+     */
+    @SaCheckPermission("wuYe:residentInfo:list")
+    @GetMapping("/list")
+    public TableDataInfo<ResidentInfoVo> list(ResidentInfoBo bo, PageQuery pageQuery) {
+        return residentInfoService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 导出居住人员信息,存储居住人员的详细信息列表
+     */
+    @SaCheckPermission("wuYe:residentInfo:export")
+    @Log(title = "居住人员信息,存储居住人员的详细信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(ResidentInfoBo bo, HttpServletResponse response) {
+        List<ResidentInfoVo> list = residentInfoService.queryList(bo);
+        ExcelUtil.exportExcel(list, "居住人员信息,存储居住人员的详细信息", ResidentInfoVo.class, response);
+    }
+
+    /**
+     * 获取居住人员信息,存储居住人员的详细信息详细信息
+     *
+     * @param residentId 主键
+     */
+    @SaCheckPermission("wuYe:residentInfo:query")
+    @GetMapping("/{residentId}")
+    public R<ResidentInfoVo> getInfo(@NotNull(message = "主键不能为空")
+                                     @PathVariable Long residentId) {
+        return R.ok(residentInfoService.queryById(residentId));
+    }
+
+    /**
+     * 新增居住人员信息,存储居住人员的详细信息
+     */
+    @SaCheckPermission("wuYe:residentInfo:add")
+    @Log(title = "居住人员信息,存储居住人员的详细信息", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody ResidentInfoBo bo) {
+        return toAjax(residentInfoService.insertByBo(bo));
+    }
+
+    /**
+     * 修改居住人员信息,存储居住人员的详细信息
+     */
+    @SaCheckPermission("wuYe:residentInfo:edit")
+    @Log(title = "居住人员信息,存储居住人员的详细信息", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PostMapping("/put")
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody ResidentInfoBo bo) {
+        return toAjax(residentInfoService.updateByBo(bo));
+    }
+
+    /**
+     * 删除居住人员信息,存储居住人员的详细信息
+     *
+     * @param residentIds 主键串
+     */
+    @SaCheckPermission("wuYe:residentInfo:remove")
+    @Log(title = "居住人员信息,存储居住人员的详细信息", businessType = BusinessType.DELETE)
+    @GetMapping("/delete/{residentIds}")
+    public R<Void> remove(@NotEmpty(message = "主键不能为空")
+                          @PathVariable Long[] residentIds) {
+        return toAjax(residentInfoService.deleteWithValidByIds(List.of(residentIds), true));
+    }
+}

+ 106 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/staffTrain/StaffTrainManualController.java

@@ -0,0 +1,106 @@
+package org.dromara.controller.staffTrain;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.domain.staffTrain.bo.StaffTrainManualBo;
+import org.dromara.domain.staffTrain.vo.StaffTrainManualVo;
+import org.dromara.service.IStaffTrainManualService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 员工培训手册
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/wuYe/manual")
+public class StaffTrainManualController extends BaseController {
+
+    private final IStaffTrainManualService staffTrainManualService;
+
+    /**
+     * 查询员工培训手册列表
+     */
+    @SaCheckPermission("wuYe:manual:list")
+    @GetMapping("/list")
+    public TableDataInfo<StaffTrainManualVo> list(StaffTrainManualBo bo, PageQuery pageQuery) {
+        return staffTrainManualService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 导出员工培训手册列表
+     */
+    @SaCheckPermission("wuYe:manual:export")
+    @Log(title = "员工培训手册", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(StaffTrainManualBo bo, HttpServletResponse response) {
+        List<StaffTrainManualVo> list = staffTrainManualService.queryList(bo);
+        ExcelUtil.exportExcel(list, "员工培训手册", StaffTrainManualVo.class, response);
+    }
+
+    /**
+     * 获取员工培训手册详细信息
+     *
+     * @param manualId 主键
+     */
+    @SaCheckPermission("wuYe:manual:query")
+    @GetMapping("/{manualId}")
+    public R<StaffTrainManualVo> getInfo(@NotNull(message = "主键不能为空")
+                                     @PathVariable Long manualId) {
+        return R.ok(staffTrainManualService.queryById(manualId));
+    }
+
+    /**
+     * 新增员工培训手册
+     */
+    @SaCheckPermission("wuYe:manual:add")
+    @Log(title = "员工培训手册", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody StaffTrainManualBo bo) {
+        return toAjax(staffTrainManualService.insertByBo(bo));
+    }
+
+    /**
+     * 修改员工培训手册
+     */
+    @SaCheckPermission("wuYe:manual:edit")
+    @Log(title = "员工培训手册", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PostMapping("/put")
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody StaffTrainManualBo bo) {
+        return toAjax(staffTrainManualService.updateByBo(bo));
+    }
+
+    /**
+     * 删除员工培训手册
+     *
+     * @param manualIds 主键串
+     */
+    @SaCheckPermission("wuYe:manual:remove")
+    @Log(title = "员工培训手册", businessType = BusinessType.DELETE)
+    @GetMapping("/delete/{manualIds}")
+    public R<Void> remove(@NotEmpty(message = "主键不能为空")
+                          @PathVariable Long[] manualIds) {
+        return toAjax(staffTrainManualService.deleteWithValidByIds(List.of(manualIds), true));
+    }
+}

+ 106 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/staffTrainTime/StaffTrainTimeController.java

@@ -0,0 +1,106 @@
+package org.dromara.controller.staffTrainTime;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.domain.staffTrainTime.bo.StaffTrainTimeBo;
+import org.dromara.domain.staffTrainTime.vo.StaffTrainTimeVo;
+import org.dromara.service.IStaffTrainTimeService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 员工培训时长
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/wuYe/staffTrainTime")
+public class StaffTrainTimeController extends BaseController {
+
+    private final IStaffTrainTimeService staffTrainTimeService;
+
+    /**
+     * 查询员工培训时长列表
+     */
+    @SaCheckPermission("wuYe:staffTrainTime:list")
+    @GetMapping("/list")
+    public TableDataInfo<StaffTrainTimeVo> list(StaffTrainTimeBo bo, PageQuery pageQuery) {
+        return staffTrainTimeService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 导出员工培训时长列表
+     */
+    @SaCheckPermission("wuYe:staffTrainTime:export")
+    @Log(title = "员工培训时长", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(StaffTrainTimeBo bo, HttpServletResponse response) {
+        List<StaffTrainTimeVo> list = staffTrainTimeService.queryList(bo);
+        ExcelUtil.exportExcel(list, "员工培训时长", StaffTrainTimeVo.class, response);
+    }
+
+    /**
+     * 获取员工培训时长详细信息
+     *
+     * @param trainTimeId 主键
+     */
+    @SaCheckPermission("wuYe:staffTrainTime:query")
+    @GetMapping("/{trainTimeId}")
+    public R<StaffTrainTimeVo> getInfo(@NotNull(message = "主键不能为空")
+                                     @PathVariable Long trainTimeId) {
+        return R.ok(staffTrainTimeService.queryById(trainTimeId));
+    }
+
+    /**
+     * 新增员工培训时长
+     */
+    @SaCheckPermission("wuYe:staffTrainTime:add")
+    @Log(title = "员工培训时长", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody StaffTrainTimeBo bo) {
+        return toAjax(staffTrainTimeService.insertByBo(bo));
+    }
+
+    /**
+     * 修改员工培训时长
+     */
+    @SaCheckPermission("wuYe:staffTrainTime:edit")
+    @Log(title = "员工培训时长", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PostMapping("/put")
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody StaffTrainTimeBo bo) {
+        return toAjax(staffTrainTimeService.updateByBo(bo));
+    }
+
+    /**
+     * 删除员工培训时长
+     *
+     * @param trainTimeIds 主键串
+     */
+    @SaCheckPermission("wuYe:staffTrainTime:remove")
+    @Log(title = "员工培训时长", businessType = BusinessType.DELETE)
+    @GetMapping("/delete/{trainTimeIds}")
+    public R<Void> remove(@NotEmpty(message = "主键不能为空")
+                          @PathVariable Long[] trainTimeIds) {
+        return toAjax(staffTrainTimeService.deleteWithValidByIds(List.of(trainTimeIds), true));
+    }
+}

+ 106 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/suggestionFj/SuggestionFjController.java

@@ -0,0 +1,106 @@
+package org.dromara.controller.suggestionFj;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.domain.suggestionFj.bo.SuggestionFjBo;
+import org.dromara.domain.suggestionFj.vo.SuggestionFjVo;
+import org.dromara.service.ISuggestionFjService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 投诉建议_附件
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/wuYe/suggestionFj")
+public class SuggestionFjController extends BaseController {
+
+    private final ISuggestionFjService suggestionFjService;
+
+    /**
+     * 查询投诉建议_附件列表
+     */
+    @SaCheckPermission("wuYe:suggestionFj:list")
+    @GetMapping("/list")
+    public TableDataInfo<SuggestionFjVo> list(SuggestionFjBo bo, PageQuery pageQuery) {
+        return suggestionFjService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 导出投诉建议_附件列表
+     */
+    @SaCheckPermission("wuYe:suggestionFj:export")
+    @Log(title = "投诉建议_附件", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(SuggestionFjBo bo, HttpServletResponse response) {
+        List<SuggestionFjVo> list = suggestionFjService.queryList(bo);
+        ExcelUtil.exportExcel(list, "投诉建议_附件", SuggestionFjVo.class, response);
+    }
+
+    /**
+     * 获取投诉建议_附件详细信息
+     *
+     * @param suggestionFjId 主键
+     */
+    @SaCheckPermission("wuYe:suggestionFj:query")
+    @GetMapping("/{suggestionFjId}")
+    public R<SuggestionFjVo> getInfo(@NotNull(message = "主键不能为空")
+                                     @PathVariable Long suggestionFjId) {
+        return R.ok(suggestionFjService.queryById(suggestionFjId));
+    }
+
+    /**
+     * 新增投诉建议_附件
+     */
+    @SaCheckPermission("wuYe:suggestionFj:add")
+    @Log(title = "投诉建议_附件", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody SuggestionFjBo bo) {
+        return toAjax(suggestionFjService.insertByBo(bo));
+    }
+
+    /**
+     * 修改投诉建议_附件
+     */
+    @SaCheckPermission("wuYe:suggestionFj:edit")
+    @Log(title = "投诉建议_附件", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PostMapping("/put")
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody SuggestionFjBo bo) {
+        return toAjax(suggestionFjService.updateByBo(bo));
+    }
+
+    /**
+     * 删除投诉建议_附件
+     *
+     * @param suggestionFjIds 主键串
+     */
+    @SaCheckPermission("wuYe:suggestionFj:remove")
+    @Log(title = "投诉建议_附件", businessType = BusinessType.DELETE)
+    @GetMapping("/delete/{suggestionFjIds}")
+    public R<Void> remove(@NotEmpty(message = "主键不能为空")
+                          @PathVariable Long[] suggestionFjIds) {
+        return toAjax(suggestionFjService.deleteWithValidByIds(List.of(suggestionFjIds), true));
+    }
+}

+ 108 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/visitor/VisitorManageController.java

@@ -0,0 +1,108 @@
+package org.dromara.controller.visitor;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.domain.visitor.bo.VisitorManageBo;
+import org.dromara.domain.visitor.vo.VisitorManageVo;
+import org.dromara.service.IVisitorManageService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+;
+
+/**
+ * 来访管理
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/wuYe/visitorManage")
+public class VisitorManageController extends BaseController {
+
+    private final IVisitorManageService visitorManageService;
+
+    /**
+     * 查询来访管理列表
+     */
+    @SaCheckPermission("wuYe:visitorManage:list")
+    @GetMapping("/list")
+    public TableDataInfo<VisitorManageVo> list(VisitorManageBo bo, PageQuery pageQuery) {
+        return visitorManageService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 导出来访管理列表
+     */
+    @SaCheckPermission("wuYe:visitorManage:export")
+    @Log(title = "来访管理", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(VisitorManageBo bo, HttpServletResponse response) {
+        List<VisitorManageVo> list = visitorManageService.queryList(bo);
+        ExcelUtil.exportExcel(list, "来访管理", VisitorManageVo.class, response);
+    }
+
+    /**
+     * 获取来访管理详细信息
+     *
+     * @param visitorManageId 主键
+     */
+    @SaCheckPermission("wuYe:visitorManage:query")
+    @GetMapping("/{visitorManageId}")
+    public R<VisitorManageVo> getInfo(@NotNull(message = "主键不能为空")
+                                     @PathVariable Long visitorManageId) {
+        return R.ok(visitorManageService.queryById(visitorManageId));
+    }
+
+    /**
+     * 新增来访管理
+     */
+    @SaCheckPermission("wuYe:visitorManage:add")
+    @Log(title = "来访管理", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody VisitorManageBo bo) {
+        return toAjax(visitorManageService.insertByBo(bo));
+    }
+
+    /**
+     * 修改来访管理
+     */
+    @SaCheckPermission("wuYe:visitorManage:edit")
+    @Log(title = "来访管理", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PostMapping("/put")
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody VisitorManageBo bo) {
+        return toAjax(visitorManageService.updateByBo(bo));
+    }
+
+    /**
+     * 删除来访管理
+     *
+     * @param visitorManageIds 主键串
+     */
+    @SaCheckPermission("wuYe:visitorManage:remove")
+    @Log(title = "来访管理", businessType = BusinessType.DELETE)
+    @GetMapping("/delete/{visitorManageIds}")
+    public R<Void> remove(@NotEmpty(message = "主键不能为空")
+                          @PathVariable Long[] visitorManageIds) {
+        return toAjax(visitorManageService.deleteWithValidByIds(List.of(visitorManageIds), true));
+    }
+}

+ 62 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/asset/AssetType.java

@@ -0,0 +1,62 @@
+package org.dromara.domain.asset;
+
+import org.dromara.common.tenant.core.TenantEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+
+/**
+ * 资产类型对象 asset_type
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("asset_type")
+public class AssetType extends TenantEntity {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 资产类型id
+     */
+    @TableId(value = "asset_id")
+    private Long assetId;
+
+    /**
+     * 父资产类型id
+     */
+    private Long parentId;
+
+    /**
+     * 祖级列表
+     */
+    private String ancestors;
+
+    /**
+     * 资产类型名称
+     */
+    private String assetName;
+
+    /**
+     * 显示顺序
+     */
+    private Long orderNum;
+
+    /**
+     * 资产类型状态(1正常 2停用)
+     */
+    private String status;
+
+    /**
+     * 删除标志(N代表存在 Y代表删除)
+     */
+    @TableLogic
+    private String delFlag;
+
+
+}

+ 54 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/asset/bo/AssetTypeBo.java

@@ -0,0 +1,54 @@
+package org.dromara.domain.asset.bo;
+
+import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.domain.asset.AssetType;
+
+/**
+ * 资产类型业务对象 asset_type
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = AssetType.class, reverseConvertGenerate = false)
+public class AssetTypeBo extends BaseEntity {
+
+    /**
+     * 资产类型id
+     */
+    @NotNull(message = "资产类型id不能为空", groups = { EditGroup.class })
+    private Long assetId;
+
+    /**
+     * 父资产类型id
+     */
+    private Long parentId;
+
+    /**
+     * 祖级列表
+     */
+    private String ancestors;
+
+    /**
+     * 资产类型名称
+     */
+    private String assetName;
+
+    /**
+     * 显示顺序
+     */
+    private Long orderNum;
+
+    /**
+     * 资产类型状态(1正常 2停用)
+     */
+    private String status;
+
+
+}

+ 69 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/asset/vo/AssetTypeVo.java

@@ -0,0 +1,69 @@
+package org.dromara.domain.asset.vo;
+
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import org.dromara.domain.asset.AssetType;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+
+
+/**
+ * 资产类型视图对象 asset_type
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = AssetType.class)
+public class AssetTypeVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 资产类型id
+     */
+    @ExcelProperty(value = "资产类型id")
+    private Long assetId;
+
+    /**
+     * 父资产类型id
+     */
+    @ExcelProperty(value = "父资产类型id")
+    private Long parentId;
+
+    /**
+     * 祖级列表
+     */
+    @ExcelProperty(value = "祖级列表")
+    private String ancestors;
+
+    /**
+     * 资产类型名称
+     */
+    @ExcelProperty(value = "资产类型名称")
+    private String assetName;
+
+    /**
+     * 显示顺序
+     */
+    @ExcelProperty(value = "显示顺序")
+    private Long orderNum;
+
+    /**
+     * 资产类型状态(1正常 2停用)
+     */
+    @ExcelProperty(value = "资产类型状态", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "1=正常,2=停用")
+    private String status;
+
+
+}

+ 148 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/assets/CommunityAssets.java

@@ -0,0 +1,148 @@
+package org.dromara.domain.assets;
+
+import org.dromara.common.tenant.core.TenantEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.io.Serial;
+
+/**
+ * 社区资产对象 community_assets
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("community_assets")
+public class CommunityAssets extends TenantEntity {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 资产ID
+     */
+    @TableId(value = "community_asset_id")
+    private Long communityAssetId;
+
+    /**
+     * 资产类型id
+     */
+    private Long assetId;
+
+    /**
+     * 资产类型,如设备、车辆等
+     */
+    private String assetName;
+
+    /**
+     * 设备名称
+     */
+    private String equipmentName;
+
+    /**
+     * 设备封面照片的存储路径
+     */
+    private String equipmentCoverPhoto;
+
+    /**
+     * 设备编号,唯一标识
+     */
+    private String equipmentNumber;
+
+    /**
+     * 设备二维码的存储路径或内容
+     */
+    private String equipmentQrCode;
+
+    /**
+     * 设备状态,如1正常、2维修中、3报废等
+     */
+    private String equipmentStatus;
+
+    /**
+     * 设备型号
+     */
+    private String equipmentModel;
+
+    /**
+     * 设备购买时间
+     */
+    private Date purchaseDate;
+
+    /**
+     * 设备用途描述
+     */
+    private String equipmentPurpose;
+
+    /**
+     * 设备存放位置或使用位置
+     */
+    private String equipmentLocation;
+
+    /**
+     * 设备购买价格
+     */
+    private Long equipmentPrice;
+
+    /**
+     * 设备入库时间
+     */
+    private Date storageTime;
+
+    /**
+     * 入库操作人
+     */
+    private String storagePerson;
+
+    /**
+     * 设备出库时间
+     */
+    private Date outboundTime;
+
+    /**
+     * 出库操作人
+     */
+    private String outboundPerson;
+
+    /**
+     * 车牌号(如果是车辆类资产)
+     */
+    private String plateNumber;
+
+    /**
+     * 设备照片的存储路径(多个路径用逗号分隔)
+     */
+    private String equipmentPhotos;
+
+    /**
+     * 最近维护日期
+     */
+    private Date maintenanceDate;
+
+    /**
+     * 维护操作人
+     */
+    private String maintenancePerson;
+
+    /**
+     * 保修期(月)
+     */
+    private String warrantyPeriod;
+
+    /**
+     * 折旧率(百分比)
+     */
+    private String depreciationRate;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 153 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/assets/bo/CommunityAssetsBo.java

@@ -0,0 +1,153 @@
+package org.dromara.domain.assets.bo;
+
+import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.domain.assets.CommunityAssets;
+
+import java.util.Date;
+
+;
+
+/**
+ * 社区资产业务对象 community_assets
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = CommunityAssets.class, reverseConvertGenerate = false)
+public class CommunityAssetsBo extends BaseEntity {
+
+    /**
+     * 资产ID
+     */
+    @NotNull(message = "资产ID不能为空", groups = { EditGroup.class })
+    private Long communityAssetId;
+
+    /**
+     * 资产类型id
+     */
+    private Long assetId;
+
+    /**
+     * 资产类型,如设备、车辆等
+     */
+    @NotBlank(message = "资产类型,如设备、车辆等不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String assetName;
+
+    /**
+     * 设备名称
+     */
+    @NotBlank(message = "设备名称不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String equipmentName;
+
+    /**
+     * 设备封面照片的存储路径
+     */
+    private String equipmentCoverPhoto;
+
+    /**
+     * 设备编号,唯一标识
+     */
+    private String equipmentNumber;
+
+    /**
+     * 设备二维码的存储路径或内容
+     */
+    private String equipmentQrCode;
+
+    /**
+     * 设备状态,如1正常、2维修中、3报废等
+     */
+    @NotBlank(message = "设备状态,如1正常、2维修中、3报废等不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String equipmentStatus;
+
+    /**
+     * 设备型号
+     */
+    private String equipmentModel;
+
+    /**
+     * 设备购买时间
+     */
+    private Date purchaseDate;
+
+    /**
+     * 设备用途描述
+     */
+    private String equipmentPurpose;
+
+    /**
+     * 设备存放位置或使用位置
+     */
+    private String equipmentLocation;
+
+    /**
+     * 设备购买价格
+     */
+    private Long equipmentPrice;
+
+    /**
+     * 设备入库时间
+     */
+    private Date storageTime;
+
+    /**
+     * 入库操作人
+     */
+    private String storagePerson;
+
+    /**
+     * 设备出库时间
+     */
+    private Date outboundTime;
+
+    /**
+     * 出库操作人
+     */
+    private String outboundPerson;
+
+    /**
+     * 车牌号(如果是车辆类资产)
+     */
+    private String plateNumber;
+
+    /**
+     * 设备照片的存储路径(多个路径用逗号分隔)
+     */
+    private String equipmentPhotos;
+
+    /**
+     * 最近维护日期
+     */
+    private Date maintenanceDate;
+
+    /**
+     * 维护操作人
+     */
+    private String maintenancePerson;
+
+    /**
+     * 保修期(月)
+     */
+    private String warrantyPeriod;
+
+    /**
+     * 折旧率(百分比)
+     */
+    private String depreciationRate;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 180 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/assets/vo/CommunityAssetsVo.java

@@ -0,0 +1,180 @@
+package org.dromara.domain.assets.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import org.dromara.domain.assets.CommunityAssets;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 社区资产视图对象 community_assets
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = CommunityAssets.class)
+public class CommunityAssetsVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 资产ID
+     */
+    @ExcelProperty(value = "资产ID")
+    private Long communityAssetId;
+
+    /**
+     * 资产类型id
+     */
+    @ExcelProperty(value = "资产类型id")
+    private Long assetId;
+
+    /**
+     * 资产类型,如设备、车辆等
+     */
+    @ExcelProperty(value = "资产类型,如设备、车辆等")
+    private String assetName;
+
+    /**
+     * 设备名称
+     */
+    @ExcelProperty(value = "设备名称")
+    private String equipmentName;
+
+    /**
+     * 设备封面照片的存储路径
+     */
+    @ExcelProperty(value = "设备封面照片的存储路径")
+    private String equipmentCoverPhoto;
+
+    /**
+     * 设备编号,唯一标识
+     */
+    @ExcelProperty(value = "设备编号,唯一标识")
+    private String equipmentNumber;
+
+    /**
+     * 设备二维码的存储路径或内容
+     */
+    @ExcelProperty(value = "设备二维码的存储路径或内容")
+    private String equipmentQrCode;
+
+    /**
+     * 设备状态,如1正常、2维修中、3报废等
+     */
+    @ExcelProperty(value = "设备状态,如1正常、2维修中、3报废等")
+    private String equipmentStatus;
+
+    /**
+     * 设备型号
+     */
+    @ExcelProperty(value = "设备型号")
+    private String equipmentModel;
+
+    /**
+     * 设备购买时间
+     */
+    @ExcelProperty(value = "设备购买时间")
+    private Date purchaseDate;
+
+    /**
+     * 设备用途描述
+     */
+    @ExcelProperty(value = "设备用途描述")
+    private String equipmentPurpose;
+
+    /**
+     * 设备存放位置或使用位置
+     */
+    @ExcelProperty(value = "设备存放位置或使用位置")
+    private String equipmentLocation;
+
+    /**
+     * 设备购买价格
+     */
+    @ExcelProperty(value = "设备购买价格")
+    private Long equipmentPrice;
+
+    /**
+     * 设备入库时间
+     */
+    @ExcelProperty(value = "设备入库时间")
+    private Date storageTime;
+
+    /**
+     * 入库操作人
+     */
+    @ExcelProperty(value = "入库操作人")
+    private String storagePerson;
+
+    /**
+     * 设备出库时间
+     */
+    @ExcelProperty(value = "设备出库时间")
+    private Date outboundTime;
+
+    /**
+     * 出库操作人
+     */
+    @ExcelProperty(value = "出库操作人")
+    private String outboundPerson;
+
+    /**
+     * 车牌号(如果是车辆类资产)
+     */
+    @ExcelProperty(value = "车牌号", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "如=果是车辆类资产")
+    private String plateNumber;
+
+    /**
+     * 设备照片的存储路径(多个路径用逗号分隔)
+     */
+    @ExcelProperty(value = "设备照片的存储路径", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "多=个路径用逗号分隔")
+    private String equipmentPhotos;
+
+    /**
+     * 最近维护日期
+     */
+    @ExcelProperty(value = "最近维护日期")
+    private Date maintenanceDate;
+
+    /**
+     * 维护操作人
+     */
+    @ExcelProperty(value = "维护操作人")
+    private String maintenancePerson;
+
+    /**
+     * 保修期(月)
+     */
+    @ExcelProperty(value = "保修期", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "月=")
+    private String warrantyPeriod;
+
+    /**
+     * 折旧率(百分比)
+     */
+    @ExcelProperty(value = "折旧率", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "百=分比")
+    private String depreciationRate;
+
+    /**
+     * 备注
+     */
+    @ExcelProperty(value = "备注")
+    private String remark;
+
+
+}

+ 56 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/blackManage/BlackManage.java

@@ -0,0 +1,56 @@
+package org.dromara.domain.blackManage;
+
+import org.dromara.common.tenant.core.TenantEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+
+/**
+ * 黑名单管理对象 black_manage
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("black_manage")
+public class BlackManage extends TenantEntity {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 黑名单管理id
+     */
+    @TableId(value = "black_manage_id")
+    private Long blackManageId;
+
+    /**
+     * 黑名单类型
+     */
+    private String blackType;
+
+    /**
+     * 黑名单说明
+     */
+    private String blackTitle;
+
+    /**
+     * 黑名单的阈值
+     */
+    private String blackNum;
+
+    /**
+     * 黑名单是否启用
+     */
+    private String isDel;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 60 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/blackManage/bo/BlackManageBo.java

@@ -0,0 +1,60 @@
+package org.dromara.domain.blackManage.bo;
+
+import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.domain.blackManage.BlackManage;
+
+/**
+ * 黑名单管理业务对象 black_manage
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = BlackManage.class, reverseConvertGenerate = false)
+public class BlackManageBo extends BaseEntity {
+
+    /**
+     * 黑名单管理id
+     */
+    @NotNull(message = "黑名单管理id不能为空", groups = { EditGroup.class })
+    private Long blackManageId;
+
+    /**
+     * 黑名单类型
+     */
+    @NotBlank(message = "黑名单类型不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String blackType;
+
+    /**
+     * 黑名单说明
+     */
+    @NotBlank(message = "黑名单说明不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String blackTitle;
+
+    /**
+     * 黑名单的阈值
+     */
+    @NotBlank(message = "黑名单的阈值不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String blackNum;
+
+    /**
+     * 黑名单是否启用
+     */
+    @NotBlank(message = "黑名单是否启用不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String isDel;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 65 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/blackManage/vo/BlackManageVo.java

@@ -0,0 +1,65 @@
+package org.dromara.domain.blackManage.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.domain.blackManage.BlackManage;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+
+
+/**
+ * 黑名单管理视图对象 black_manage
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = BlackManage.class)
+public class BlackManageVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 黑名单管理id
+     */
+    @ExcelProperty(value = "黑名单管理id")
+    private Long blackManageId;
+
+    /**
+     * 黑名单类型
+     */
+    @ExcelProperty(value = "黑名单类型")
+    private String blackType;
+
+    /**
+     * 黑名单说明
+     */
+    @ExcelProperty(value = "黑名单说明")
+    private String blackTitle;
+
+    /**
+     * 黑名单的阈值
+     */
+    @ExcelProperty(value = "黑名单的阈值")
+    private String blackNum;
+
+    /**
+     * 黑名单是否启用
+     */
+    @ExcelProperty(value = "黑名单是否启用")
+    private String isDel;
+
+    /**
+     * 备注
+     */
+    @ExcelProperty(value = "备注")
+    private String remark;
+
+
+}

+ 51 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/butler/ButlerSettings.java

@@ -0,0 +1,51 @@
+package org.dromara.domain.butler;
+
+import org.dromara.common.tenant.core.TenantEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+
+/**
+ * 物业管家设置对象 butler_settings
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("butler_settings")
+public class ButlerSettings extends TenantEntity {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ID
+     */
+    @TableId(value = "settings_id")
+    private Long settingsId;
+
+    /**
+     * 标题
+     */
+    private String title;
+
+    /**
+     * 内容
+     */
+    private String content;
+
+    /**
+     * 是否删除:Y(删除)、N(不删除)
+     */
+    private String isDel;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 50 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/butler/bo/ButlerSettingsBo.java

@@ -0,0 +1,50 @@
+package org.dromara.domain.butler.bo;
+
+
+import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.domain.butler.ButlerSettings;
+
+/**
+ * 物业管家设置业务对象 butler_settings
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = ButlerSettings.class, reverseConvertGenerate = false)
+public class ButlerSettingsBo extends BaseEntity {
+
+    /**
+     * ID
+     */
+    @NotNull(message = "ID不能为空", groups = { EditGroup.class })
+    private Long settingsId;
+
+    /**
+     * 标题
+     */
+    private String title;
+
+    /**
+     * 内容
+     */
+    private String content;
+
+    /**
+     * 是否删除:Y(删除)、N(不删除)
+     */
+    private String isDel;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 63 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/butler/vo/ButlerSettingsVo.java

@@ -0,0 +1,63 @@
+package org.dromara.domain.butler.vo;
+
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import org.dromara.domain.butler.ButlerSettings;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+
+
+/**
+ * 物业管家设置视图对象 butler_settings
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = ButlerSettings.class)
+public class ButlerSettingsVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ID
+     */
+    @ExcelProperty(value = "ID")
+    private Long settingsId;
+
+    /**
+     * 标题
+     */
+    @ExcelProperty(value = "标题")
+    private String title;
+
+    /**
+     * 内容
+     */
+    @ExcelProperty(value = "内容")
+    private String content;
+
+    /**
+     * 是否删除:Y(删除)、N(不删除)
+     */
+    @ExcelProperty(value = "是否删除:Y", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "删=除")
+    private String isDel;
+
+    /**
+     * 备注
+     */
+    @ExcelProperty(value = "备注")
+    private String remark;
+
+
+}

+ 68 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/checkPoint/CheckPointManage.java

@@ -0,0 +1,68 @@
+package org.dromara.domain.checkPoint;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.tenant.core.TenantEntity;
+
+import java.io.Serial;
+import java.util.Date;
+
+/**
+ * 巡更点管理对象 check_point_manage
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("check_point_manage")
+public class CheckPointManage extends TenantEntity {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 巡更点主键
+     */
+    @TableId(value = "check_point_manage_id")
+    private Long checkPointManageId;
+
+    /**
+     * 星期几
+     */
+    private String dateTimeNum;
+
+    /**
+     * 巡更类型(字典值)
+     */
+    private String checkType;
+
+    /**
+     * 巡更时间
+     */
+    private Date checkTime;
+
+    /**
+     * 巡更路线
+     */
+    private String checkAddress;
+
+    /**
+     * 巡更人负责人姓名
+     */
+    private String userName;
+
+    /**
+     * 巡更人负责人id
+     */
+    private Long useId;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 118 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/checkPoint/CheckPointRecord.java

@@ -0,0 +1,118 @@
+package org.dromara.domain.checkPoint;
+
+import org.dromara.common.tenant.core.TenantEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.io.Serial;
+
+/**
+ * 巡更点记录对象 check_point_record
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("check_point_record")
+public class CheckPointRecord extends TenantEntity {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 巡更点记录id
+     */
+    @TableId(value = "check_point_record_id")
+    private Long checkPointRecordId;
+
+    /**
+     * 巡更点id
+     */
+    private Long checkPointManageId;
+
+    /**
+     * 星期几
+     */
+    private String dateTimeNum;
+
+    /**
+     * 巡更类型(字典值)
+     */
+    private String checkType;
+
+    /**
+     * 巡更设定时间
+     */
+    private Date checkTime;
+
+    /**
+     * 巡更路线
+     */
+    private String checkAddress;
+
+    /**
+     * 巡更人负责人姓名
+     */
+    private String userName;
+
+    /**
+     * 巡更人负责人id
+     */
+    private Long useId;
+
+    /**
+     * 巡更人姓名
+     */
+    private String checkUserName;
+
+    /**
+     * 巡更人id
+     */
+    private Long checkUseId;
+
+    /**
+     * 巡更人员工管理id
+     */
+    private Long checkStaffId;
+
+    /**
+     * 巡更人手机号
+     */
+    private String checkUsePhone;
+
+    /**
+     * 巡更结果 1:正常 2:损坏
+     */
+    private String checkResult;
+
+    /**
+     * 巡更结果详情
+     */
+    private String checkResultDetails;
+
+    /**
+     * 巡更结果照片
+     */
+    private String checkResultPhoto;
+
+    /**
+     * 巡更完成时间
+     */
+    private Date checkResultTime;
+
+    /**
+     * 是否巡更 1:未巡更 2:已巡更
+     */
+    private String checkStatus;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 69 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/checkPoint/bo/CheckPointManageBo.java

@@ -0,0 +1,69 @@
+package org.dromara.domain.checkPoint.bo;
+
+import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.domain.checkPoint.CheckPointManage;
+
+import java.util.Date;
+
+/**
+ * 巡更点管理业务对象 check_point_manage
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = CheckPointManage.class, reverseConvertGenerate = false)
+public class CheckPointManageBo extends BaseEntity {
+
+    /**
+     * 巡更点主键
+     */
+    @NotNull(message = "巡更点主键不能为空", groups = { EditGroup.class })
+    private Long checkPointManageId;
+
+    /**
+     * 星期几
+     */
+    private String dateTimeNum;
+
+    /**
+     * 巡更类型(字典值)
+     */
+    @NotBlank(message = "巡更类型(字典值)不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String checkType;
+
+    /**
+     * 巡更时间
+     */
+    private Date checkTime;
+
+    /**
+     * 巡更路线
+     */
+    private String checkAddress;
+
+    /**
+     * 巡更人负责人姓名
+     */
+    private String userName;
+
+    /**
+     * 巡更人负责人id
+     */
+    private Long useId;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 119 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/checkPoint/bo/CheckPointRecordBo.java

@@ -0,0 +1,119 @@
+package org.dromara.domain.checkPoint.bo;
+
+import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.domain.checkPoint.CheckPointRecord;
+
+import java.util.Date;
+
+/**
+ * 巡更点记录业务对象 check_point_record
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = CheckPointRecord.class, reverseConvertGenerate = false)
+public class CheckPointRecordBo extends BaseEntity {
+
+    /**
+     * 巡更点记录id
+     */
+    @NotNull(message = "巡更点记录id不能为空", groups = { EditGroup.class })
+    private Long checkPointRecordId;
+
+    /**
+     * 巡更点id
+     */
+    private Long checkPointManageId;
+
+    /**
+     * 星期几
+     */
+    private String dateTimeNum;
+
+    /**
+     * 巡更类型(字典值)
+     */
+    @NotBlank(message = "巡更类型(字典值)不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String checkType;
+
+    /**
+     * 巡更设定时间
+     */
+    private Date checkTime;
+
+    /**
+     * 巡更路线
+     */
+    private String checkAddress;
+
+    /**
+     * 巡更人负责人姓名
+     */
+    private String userName;
+
+    /**
+     * 巡更人负责人id
+     */
+    private Long useId;
+
+    /**
+     * 巡更人姓名
+     */
+    private String checkUserName;
+
+    /**
+     * 巡更人id
+     */
+    private Long checkUseId;
+
+    /**
+     * 巡更人员工管理id
+     */
+    private Long checkStaffId;
+
+    /**
+     * 巡更人手机号
+     */
+    private String checkUsePhone;
+
+    /**
+     * 巡更结果 1:正常 2:损坏
+     */
+    private String checkResult;
+
+    /**
+     * 巡更结果详情
+     */
+    private String checkResultDetails;
+
+    /**
+     * 巡更结果照片
+     */
+    private String checkResultPhoto;
+
+    /**
+     * 巡更完成时间
+     */
+    private Date checkResultTime;
+
+    /**
+     * 是否巡更 1:未巡更 2:已巡更
+     */
+    private String checkStatus;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 78 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/checkPoint/vo/CheckPointManageVo.java

@@ -0,0 +1,78 @@
+package org.dromara.domain.checkPoint.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.domain.checkPoint.CheckPointManage;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 巡更点管理视图对象 check_point_manage
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = CheckPointManage.class)
+public class CheckPointManageVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 巡更点主键
+     */
+    @ExcelProperty(value = "巡更点主键")
+    private Long checkPointManageId;
+
+    /**
+     * 星期几
+     */
+    @ExcelProperty(value = "星期几")
+    private String dateTimeNum;
+
+    /**
+     * 巡更类型(字典值)
+     */
+    @ExcelProperty(value = "巡更类型(字典值)")
+    private String checkType;
+
+    /**
+     * 巡更时间
+     */
+    @ExcelProperty(value = "巡更时间")
+    private Date checkTime;
+
+    /**
+     * 巡更路线
+     */
+    @ExcelProperty(value = "巡更路线")
+    private String checkAddress;
+
+    /**
+     * 巡更人负责人姓名
+     */
+    @ExcelProperty(value = "巡更人负责人姓名")
+    private String userName;
+
+    /**
+     * 巡更人负责人id
+     */
+    @ExcelProperty(value = "巡更人负责人id")
+    private Long useId;
+
+    /**
+     * 备注
+     */
+    @ExcelProperty(value = "备注")
+    private String remark;
+
+
+}

+ 138 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/checkPoint/vo/CheckPointRecordVo.java

@@ -0,0 +1,138 @@
+package org.dromara.domain.checkPoint.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.domain.checkPoint.CheckPointRecord;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 巡更点记录视图对象 check_point_record
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = CheckPointRecord.class)
+public class CheckPointRecordVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 巡更点记录id
+     */
+    @ExcelProperty(value = "巡更点记录id")
+    private Long checkPointRecordId;
+
+    /**
+     * 巡更点id
+     */
+    @ExcelProperty(value = "巡更点id")
+    private Long checkPointManageId;
+
+    /**
+     * 星期几
+     */
+    @ExcelProperty(value = "星期几")
+    private String dateTimeNum;
+
+    /**
+     * 巡更类型(字典值)
+     */
+    @ExcelProperty(value = "巡更类型(字典值)")
+    private String checkType;
+
+    /**
+     * 巡更设定时间
+     */
+    @ExcelProperty(value = "巡更设定时间")
+    private Date checkTime;
+
+    /**
+     * 巡更路线
+     */
+    @ExcelProperty(value = "巡更路线")
+    private String checkAddress;
+
+    /**
+     * 巡更人负责人姓名
+     */
+    @ExcelProperty(value = "巡更人负责人姓名")
+    private String userName;
+
+    /**
+     * 巡更人负责人id
+     */
+    @ExcelProperty(value = "巡更人负责人id")
+    private Long useId;
+
+    /**
+     * 巡更人姓名
+     */
+    @ExcelProperty(value = "巡更人姓名")
+    private String checkUserName;
+
+    /**
+     * 巡更人id
+     */
+    @ExcelProperty(value = "巡更人id")
+    private Long checkUseId;
+
+    /**
+     * 巡更人员工管理id
+     */
+    @ExcelProperty(value = "巡更人员工管理id")
+    private Long checkStaffId;
+
+    /**
+     * 巡更人手机号
+     */
+    @ExcelProperty(value = "巡更人手机号")
+    private String checkUsePhone;
+
+    /**
+     * 巡更结果 1:正常 2:损坏
+     */
+    @ExcelProperty(value = "巡更结果 1:正常 2:损坏")
+    private String checkResult;
+
+    /**
+     * 巡更结果详情
+     */
+    @ExcelProperty(value = "巡更结果详情")
+    private String checkResultDetails;
+
+    /**
+     * 巡更结果照片
+     */
+    @ExcelProperty(value = "巡更结果照片")
+    private String checkResultPhoto;
+
+    /**
+     * 巡更完成时间
+     */
+    @ExcelProperty(value = "巡更完成时间")
+    private Date checkResultTime;
+
+    /**
+     * 是否巡更 1:未巡更 2:已巡更
+     */
+    @ExcelProperty(value = "是否巡更 1:未巡更 2:已巡更")
+    private String checkStatus;
+
+    /**
+     * 备注
+     */
+    @ExcelProperty(value = "备注")
+    private String remark;
+
+
+}

+ 72 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/communityNews/CommentContent.java

@@ -0,0 +1,72 @@
+package org.dromara.domain.communityNews;
+
+import org.dromara.common.tenant.core.TenantEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+
+/**
+ * 社区资讯评论内容对象 comment_content
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("comment_content")
+public class CommentContent extends TenantEntity {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 内容主键
+     */
+    @TableId(value = "content_id")
+    private Long contentId;
+
+    /**
+     * 评论id
+     */
+    private Long commentId;
+
+    /**
+     * 用户id
+     */
+    private Long userId;
+
+    /**
+     * 评论内容
+     */
+    private String commentContent;
+
+    /**
+     * 状态:1:待审核 2:审核通过 3:审核不通过 4:审核通过后下架
+     */
+    private Long status;
+
+    /**
+     * 类型:1:文字 2:图片
+     */
+    private Long type;
+
+    /**
+     * 点赞数量
+     */
+    private Long likeCount;
+
+    /**
+     * 逻辑删除(Y:已删除,N:未删除)
+     */
+    @TableLogic
+    private String delFlag;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 112 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/communityNews/CommentIndex.java

@@ -0,0 +1,112 @@
+package org.dromara.domain.communityNews;
+
+import org.dromara.common.tenant.core.TenantEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+
+/**
+ * 社区资讯评论对象 comment_index
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("comment_index")
+public class CommentIndex extends TenantEntity {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 社区资讯评论ID
+     */
+    @TableId(value = "comment_id")
+    private Long commentId;
+
+    /**
+     * 社区资讯ID
+     */
+    private Long communityId;
+
+    /**
+     * 社区资讯类型(1:公告 2:通知 3:资讯)
+     */
+    private String communityType;
+
+    /**
+     * 社区资讯标题
+     */
+    private String communityTitle;
+
+    /**
+     * 根评论id 1:根评论 2:子评论
+     */
+    private Long isRoot;
+
+    /**
+     * 父评论id
+     */
+    private Long parentId;
+
+    /**
+     * 用户id
+     */
+    private Long userId;
+
+    /**
+     * 用户昵称
+     */
+    private String nickName;
+
+    /**
+     * 头像地址
+     */
+    private String avatar;
+
+    /**
+     * 所回复目标评论的用户id
+     */
+    private Long toUserId;
+
+    /**
+     * 所回复目标评论的用户昵称
+     */
+    private String toNickName;
+
+    /**
+     * 所回复目标评论的头像地址
+     */
+    private String toAvatar;
+
+    /**
+     * 是否是二级回复的回复 Y:是 N:否
+     */
+    private String toRoot;
+
+    /**
+     * 内容id
+     */
+    private Long contentId;
+
+    /**
+     * 评论内容(冗余字段)
+     */
+    private String commentContent;
+
+    /**
+     * 逻辑删除(Y:已删除,N:未删除)
+     */
+    @TableLogic
+    private String delFlag;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 72 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/communityNews/CommentLikes.java

@@ -0,0 +1,72 @@
+package org.dromara.domain.communityNews;
+
+import org.dromara.common.tenant.core.TenantEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+
+/**
+ * 社区资讯点赞对象 comment_likes
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("comment_likes")
+public class CommentLikes extends TenantEntity {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 点赞ID
+     */
+    @TableId(value = "likes_id")
+    private Long likesId;
+
+    /**
+     * 点赞目标id
+     */
+    private Long targetId;
+
+    /**
+     * 点赞目标类型(1:资讯 2:回复)
+     */
+    private String targetType;
+
+    /**
+     * 点赞目标标题
+     */
+    private String targetTitle;
+
+    /**
+     * 用户id
+     */
+    private Long userId;
+
+    /**
+     * 用户昵称
+     */
+    private String nickName;
+
+    /**
+     * 头像地址
+     */
+    private String avatar;
+
+    /**
+     * 逻辑删除(Y:已删除,N:未删除)
+     */
+    @TableLogic
+    private String delFlag;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 72 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/communityNews/CommentStars.java

@@ -0,0 +1,72 @@
+package org.dromara.domain.communityNews;
+
+import org.dromara.common.tenant.core.TenantEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+
+/**
+ * 社区资讯收藏对象 comment_stars
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("comment_stars")
+public class CommentStars extends TenantEntity {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 社区资讯收藏ID
+     */
+    @TableId(value = "stars_id")
+    private Long starsId;
+
+    /**
+     * 目标ID
+     */
+    private Long targetId;
+
+    /**
+     * 目标类型(1:社区 2:党建 )
+     */
+    private String targetType;
+
+    /**
+     * 目标标题
+     */
+    private String targetTitle;
+
+    /**
+     * 用户id
+     */
+    private Long userId;
+
+    /**
+     * 用户昵称
+     */
+    private String nickName;
+
+    /**
+     * 头像地址
+     */
+    private String avatar;
+
+    /**
+     * 逻辑删除(Y:已删除,N:未删除)
+     */
+    @TableLogic
+    private String delFlag;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 120 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/communityNews/CommunityNews.java

@@ -0,0 +1,120 @@
+package org.dromara.domain.communityNews;
+
+import org.dromara.common.tenant.core.TenantEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.translation.annotation.Translation;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.dromara.common.translation.constant.TransConstant;
+
+import java.io.Serial;
+
+/**
+ * 社区资讯对象 community_news
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("community_news")
+public class CommunityNews extends TenantEntity {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 社区资讯ID
+     */
+    @TableId(value = "community_id")
+    private Long communityId;
+
+    /**
+     * 社区资讯标题
+     */
+    private String communityTitle;
+
+    /**
+     * 社区资讯类型(1:公告 2:通知 3:资讯)
+     */
+    private String communityType;
+
+    /**
+     * 社区资讯内容
+     */
+    private String communityContent;
+
+    /**
+     * 社区资讯状态(1正常 2关闭)
+     */
+    private String status;
+
+    /**
+     * 发布时间
+     */
+    private Date publishTime;
+
+    /**
+     * 用户id
+     */
+    private Long userId;
+
+    /**
+     * 员工管理id
+     */
+    private Long staffId;
+
+    /**
+     * 员工姓名
+     */
+    private String staffName;
+
+    /**
+     * 作者,记录资讯的发布者
+     */
+    private String author;
+
+    /**
+     * 来源,记录资讯的来源(如单位、网站等)
+     */
+    private String source;
+
+    /**
+     * 封面图片,存储图片路径或URL
+     */
+    private String coverImage;
+
+    /**
+     * 浏览次数,记录资讯被查看的次数
+     */
+    private Long viewCount;
+
+    /**
+     * 是否置顶:Y(置顶)、N(不置顶)
+     */
+    private String isTop;
+
+    /**
+     * 评论数量
+     */
+    private String userComment;
+
+    /**
+     * 点赞数量
+     */
+    private String userLikes;
+
+    /**
+     * 收藏数量
+     */
+    private String userStars;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 64 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/communityNews/bo/CommentContentBo.java

@@ -0,0 +1,64 @@
+package org.dromara.domain.communityNews.bo;
+
+import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.domain.communityNews.CommentContent;
+
+/**
+ * 社区资讯评论内容业务对象 comment_content
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = CommentContent.class, reverseConvertGenerate = false)
+public class CommentContentBo extends BaseEntity {
+
+    /**
+     * 内容主键
+     */
+    @NotNull(message = "内容主键不能为空", groups = { EditGroup.class })
+    private Long contentId;
+
+    /**
+     * 评论id
+     */
+    private Long commentId;
+
+    /**
+     * 用户id
+     */
+    private Long userId;
+
+    /**
+     * 评论内容
+     */
+    private String commentContent;
+
+    /**
+     * 状态:1:待审核 2:审核通过 3:审核不通过 4:审核通过后下架
+     */
+    private Long status;
+
+    /**
+     * 类型:1:文字 2:图片
+     */
+    private Long type;
+
+    /**
+     * 点赞数量
+     */
+    private Long likeCount;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 108 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/communityNews/bo/CommentIndexBo.java

@@ -0,0 +1,108 @@
+package org.dromara.domain.communityNews.bo;
+
+import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.domain.communityNews.CommentIndex;
+
+/**
+ * 社区资讯评论业务对象 comment_index
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = CommentIndex.class, reverseConvertGenerate = false)
+public class CommentIndexBo extends BaseEntity {
+
+    /**
+     * 社区资讯评论ID
+     */
+    @NotNull(message = "社区资讯评论ID不能为空", groups = { EditGroup.class })
+    private Long commentId;
+
+    /**
+     * 社区资讯ID
+     */
+    @NotNull(message = "社区资讯ID不能为空", groups = { AddGroup.class, EditGroup.class })
+    private Long communityId;
+
+    /**
+     * 社区资讯类型(1:公告 2:通知 3:资讯)
+     */
+    @NotBlank(message = "社区资讯类型(1:公告 2:通知 3:资讯)不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String communityType;
+
+    /**
+     * 社区资讯标题
+     */
+    private String communityTitle;
+
+    /**
+     * 根评论id 1:根评论 2:子评论
+     */
+    private Long isRoot;
+
+    /**
+     * 父评论id
+     */
+    private Long parentId;
+
+    /**
+     * 用户id
+     */
+    private Long userId;
+
+    /**
+     * 用户昵称
+     */
+    private String nickName;
+
+    /**
+     * 头像地址
+     */
+    private String avatar;
+
+    /**
+     * 所回复目标评论的用户id
+     */
+    private Long toUserId;
+
+    /**
+     * 所回复目标评论的用户昵称
+     */
+    private String toNickName;
+
+    /**
+     * 所回复目标评论的头像地址
+     */
+    private String toAvatar;
+
+    /**
+     * 是否是二级回复的回复 Y:是 N:否
+     */
+    private String toRoot;
+
+    /**
+     * 内容id
+     */
+    private Long contentId;
+
+    /**
+     * 评论内容(冗余字段)
+     */
+    private String commentContent;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 64 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/communityNews/bo/CommentLikesBo.java

@@ -0,0 +1,64 @@
+package org.dromara.domain.communityNews.bo;
+
+import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.domain.communityNews.CommentLikes;
+
+/**
+ * 社区资讯点赞业务对象 comment_likes
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = CommentLikes.class, reverseConvertGenerate = false)
+public class CommentLikesBo extends BaseEntity {
+
+    /**
+     * 点赞ID
+     */
+    @NotNull(message = "点赞ID不能为空", groups = { EditGroup.class })
+    private Long likesId;
+
+    /**
+     * 点赞目标id
+     */
+    private Long targetId;
+
+    /**
+     * 点赞目标类型(1:资讯 2:回复)
+     */
+    private String targetType;
+
+    /**
+     * 点赞目标标题
+     */
+    private String targetTitle;
+
+    /**
+     * 用户id
+     */
+    private Long userId;
+
+    /**
+     * 用户昵称
+     */
+    private String nickName;
+
+    /**
+     * 头像地址
+     */
+    private String avatar;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 68 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/communityNews/bo/CommentStarsBo.java

@@ -0,0 +1,68 @@
+package org.dromara.domain.communityNews.bo;
+
+import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.domain.communityNews.CommentStars;
+
+/**
+ * 社区资讯收藏业务对象 comment_stars
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = CommentStars.class, reverseConvertGenerate = false)
+public class CommentStarsBo extends BaseEntity {
+
+    /**
+     * 社区资讯收藏ID
+     */
+    @NotNull(message = "社区资讯收藏ID不能为空", groups = { EditGroup.class })
+    private Long starsId;
+
+    /**
+     * 目标ID
+     */
+    @NotNull(message = "目标ID不能为空", groups = { AddGroup.class, EditGroup.class })
+    private Long targetId;
+
+    /**
+     * 目标类型(1:社区 2:党建 )
+     */
+    @NotBlank(message = "目标类型(1:社区 2:党建 )不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String targetType;
+
+    /**
+     * 目标标题
+     */
+    private String targetTitle;
+
+    /**
+     * 用户id
+     */
+    private Long userId;
+
+    /**
+     * 用户昵称
+     */
+    private String nickName;
+
+    /**
+     * 头像地址
+     */
+    private String avatar;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 120 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/communityNews/bo/CommunityNewsBo.java

@@ -0,0 +1,120 @@
+package org.dromara.domain.communityNews.bo;
+
+import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.domain.communityNews.CommunityNews;
+
+import java.util.Date;
+
+/**
+ * 社区资讯业务对象 community_news
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = CommunityNews.class, reverseConvertGenerate = false)
+public class CommunityNewsBo extends BaseEntity {
+
+    /**
+     * 社区资讯ID
+     */
+    @NotNull(message = "社区资讯ID不能为空", groups = { EditGroup.class })
+    private Long communityId;
+
+    /**
+     * 社区资讯标题
+     */
+    @NotBlank(message = "社区资讯标题不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String communityTitle;
+
+    /**
+     * 社区资讯类型(1:公告 2:通知 3:资讯)
+     */
+    @NotBlank(message = "社区资讯类型(1:公告 2:通知 3:资讯)不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String communityType;
+
+    /**
+     * 社区资讯内容
+     */
+    private String communityContent;
+
+    /**
+     * 社区资讯状态(1正常 2关闭)
+     */
+    private String status;
+
+    /**
+     * 发布时间
+     */
+    private Date publishTime;
+
+    /**
+     * 用户id
+     */
+    private Long userId;
+
+    /**
+     * 员工管理id
+     */
+    private Long staffId;
+
+    /**
+     * 员工姓名
+     */
+    private String staffName;
+
+    /**
+     * 作者,记录资讯的发布者
+     */
+    private String author;
+
+    /**
+     * 来源,记录资讯的来源(如单位、网站等)
+     */
+    private String source;
+
+    /**
+     * 封面图片,存储图片路径或URL
+     */
+    private String coverImage;
+
+    /**
+     * 浏览次数,记录资讯被查看的次数
+     */
+    private Long viewCount;
+
+    /**
+     * 是否置顶:Y(置顶)、N(不置顶)
+     */
+    private String isTop;
+
+    /**
+     * 评论数量
+     */
+    private String userComment;
+
+    /**
+     * 点赞数量
+     */
+    private String userLikes;
+
+    /**
+     * 收藏数量
+     */
+    private String userStars;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 77 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/communityNews/vo/CommentContentVo.java

@@ -0,0 +1,77 @@
+package org.dromara.domain.communityNews.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.domain.communityNews.CommentContent;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+
+
+/**
+ * 社区资讯评论内容视图对象 comment_content
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = CommentContent.class)
+public class CommentContentVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 内容主键
+     */
+    @ExcelProperty(value = "内容主键")
+    private Long contentId;
+
+    /**
+     * 评论id
+     */
+    @ExcelProperty(value = "评论id")
+    private Long commentId;
+
+    /**
+     * 用户id
+     */
+    @ExcelProperty(value = "用户id")
+    private Long userId;
+
+    /**
+     * 评论内容
+     */
+    @ExcelProperty(value = "评论内容")
+    private String commentContent;
+
+    /**
+     * 状态:1:待审核 2:审核通过 3:审核不通过 4:审核通过后下架
+     */
+    @ExcelProperty(value = "状态:1:待审核 2:审核通过 3:审核不通过 4:审核通过后下架")
+    private Long status;
+
+    /**
+     * 类型:1:文字 2:图片
+     */
+    @ExcelProperty(value = "类型:1:文字 2:图片")
+    private Long type;
+
+    /**
+     * 点赞数量
+     */
+    @ExcelProperty(value = "点赞数量")
+    private Long likeCount;
+
+    /**
+     * 备注
+     */
+    @ExcelProperty(value = "备注")
+    private String remark;
+
+
+}

+ 128 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/communityNews/vo/CommentIndexVo.java

@@ -0,0 +1,128 @@
+package org.dromara.domain.communityNews.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import org.dromara.domain.communityNews.CommentIndex;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+
+
+/**
+ * 社区资讯评论视图对象 comment_index
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = CommentIndex.class)
+public class CommentIndexVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 社区资讯评论ID
+     */
+    @ExcelProperty(value = "社区资讯评论ID")
+    private Long commentId;
+
+    /**
+     * 社区资讯ID
+     */
+    @ExcelProperty(value = "社区资讯ID")
+    private Long communityId;
+
+    /**
+     * 社区资讯类型(1:公告 2:通知 3:资讯)
+     */
+    @ExcelProperty(value = "社区资讯类型", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "1=:公告,2=:通知,3=:资讯")
+    private String communityType;
+
+    /**
+     * 社区资讯标题
+     */
+    @ExcelProperty(value = "社区资讯标题")
+    private String communityTitle;
+
+    /**
+     * 根评论id 1:根评论 2:子评论
+     */
+    @ExcelProperty(value = "根评论id 1:根评论 2:子评论")
+    private Long isRoot;
+
+    /**
+     * 父评论id
+     */
+    @ExcelProperty(value = "父评论id")
+    private Long parentId;
+
+    /**
+     * 用户id
+     */
+    @ExcelProperty(value = "用户id")
+    private Long userId;
+
+    /**
+     * 用户昵称
+     */
+    @ExcelProperty(value = "用户昵称")
+    private String nickName;
+
+    /**
+     * 头像地址
+     */
+    @ExcelProperty(value = "头像地址")
+    private String avatar;
+
+    /**
+     * 所回复目标评论的用户id
+     */
+    @ExcelProperty(value = "所回复目标评论的用户id")
+    private Long toUserId;
+
+    /**
+     * 所回复目标评论的用户昵称
+     */
+    @ExcelProperty(value = "所回复目标评论的用户昵称")
+    private String toNickName;
+
+    /**
+     * 所回复目标评论的头像地址
+     */
+    @ExcelProperty(value = "所回复目标评论的头像地址")
+    private String toAvatar;
+
+    /**
+     * 是否是二级回复的回复 Y:是 N:否
+     */
+    @ExcelProperty(value = "是否是二级回复的回复 Y:是 N:否")
+    private String toRoot;
+
+    /**
+     * 内容id
+     */
+    @ExcelProperty(value = "内容id")
+    private Long contentId;
+
+    /**
+     * 评论内容(冗余字段)
+     */
+    @ExcelProperty(value = "评论内容(冗余字段)")
+    private String commentContent;
+
+    /**
+     * 备注
+     */
+    @ExcelProperty(value = "备注")
+    private String remark;
+
+
+}

+ 80 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/communityNews/vo/CommentLikesVo.java

@@ -0,0 +1,80 @@
+package org.dromara.domain.communityNews.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import org.dromara.domain.communityNews.CommentLikes;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+
+
+/**
+ * 社区资讯点赞视图对象 comment_likes
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = CommentLikes.class)
+public class CommentLikesVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 点赞ID
+     */
+    @ExcelProperty(value = "点赞ID")
+    private Long likesId;
+
+    /**
+     * 点赞目标id
+     */
+    @ExcelProperty(value = "点赞目标id")
+    private Long targetId;
+
+    /**
+     * 点赞目标类型(1:资讯 2:回复)
+     */
+    @ExcelProperty(value = "点赞目标类型", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "1=:资讯,2=:回复")
+    private String targetType;
+
+    /**
+     * 点赞目标标题
+     */
+    @ExcelProperty(value = "点赞目标标题")
+    private String targetTitle;
+
+    /**
+     * 用户id
+     */
+    @ExcelProperty(value = "用户id")
+    private Long userId;
+
+    /**
+     * 用户昵称
+     */
+    @ExcelProperty(value = "用户昵称")
+    private String nickName;
+
+    /**
+     * 头像地址
+     */
+    @ExcelProperty(value = "头像地址")
+    private String avatar;
+
+    /**
+     * 备注
+     */
+    @ExcelProperty(value = "备注")
+    private String remark;
+
+
+}

+ 151 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/communityNews/vo/CommunityNewsVo.java

@@ -0,0 +1,151 @@
+package org.dromara.domain.communityNews.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import org.dromara.common.translation.annotation.Translation;
+import org.dromara.common.translation.constant.TransConstant;
+import org.dromara.domain.communityNews.CommunityNews;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 社区资讯视图对象 community_news
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = CommunityNews.class)
+public class CommunityNewsVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 社区资讯ID
+     */
+    @ExcelProperty(value = "社区资讯ID")
+    private Long communityId;
+
+    /**
+     * 社区资讯标题
+     */
+    @ExcelProperty(value = "社区资讯标题")
+    private String communityTitle;
+
+    /**
+     * 社区资讯类型(1:公告 2:通知 3:资讯)
+     */
+    @ExcelProperty(value = "社区资讯类型", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "1=:公告,2=:通知,3=:资讯")
+    private String communityType;
+
+    /**
+     * 社区资讯内容
+     */
+    @ExcelProperty(value = "社区资讯内容")
+    private String communityContent;
+
+    /**
+     * 社区资讯状态(1正常 2关闭)
+     */
+    @ExcelProperty(value = "社区资讯状态", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "1=正常,2=关闭")
+    private String status;
+
+    /**
+     * 发布时间
+     */
+    @ExcelProperty(value = "发布时间")
+    private Date publishTime;
+
+    /**
+     * 用户id
+     */
+    @ExcelProperty(value = "用户id")
+    private Long userId;
+
+    /**
+     * 员工管理id
+     */
+    @ExcelProperty(value = "员工管理id")
+    private Long staffId;
+
+    /**
+     * 员工姓名
+     */
+    @ExcelProperty(value = "员工姓名")
+    private String staffName;
+
+    /**
+     * 作者,记录资讯的发布者
+     */
+    @ExcelProperty(value = "作者,记录资讯的发布者")
+    private String author;
+
+    /**
+     * 来源,记录资讯的来源(如单位、网站等)
+     */
+    @ExcelProperty(value = "来源,记录资讯的来源", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "如=单位、网站等")
+    private String source;
+
+    /**
+     * 封面图片,存储图片路径或URL
+     */
+    @ExcelProperty(value = "封面图片,存储图片路径或URL")
+    private String coverImage;
+
+    /**
+     * 封面图片,存储图片路径或URLUrl
+     */
+    @Translation(type = TransConstant.OSS_ID_TO_URL, mapper = "coverImage")
+    private String coverImageUrl;
+    /**
+     * 浏览次数,记录资讯被查看的次数
+     */
+    @ExcelProperty(value = "浏览次数,记录资讯被查看的次数")
+    private Long viewCount;
+
+    /**
+     * 是否置顶:Y(置顶)、N(不置顶)
+     */
+    @ExcelProperty(value = "是否置顶:Y", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "置=顶")
+    private String isTop;
+
+    /**
+     * 评论数量
+     */
+    @ExcelProperty(value = "评论数量")
+    private String userComment;
+
+    /**
+     * 点赞数量
+     */
+    @ExcelProperty(value = "点赞数量")
+    private String userLikes;
+
+    /**
+     * 收藏数量
+     */
+    @ExcelProperty(value = "收藏数量")
+    private String userStars;
+
+    /**
+     * 备注
+     */
+    @ExcelProperty(value = "备注")
+    private String remark;
+
+
+}

+ 93 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/complaintSuggestion/ComplaintSuggestion.java

@@ -0,0 +1,93 @@
+package org.dromara.domain.complaintSuggestion;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.tenant.core.TenantEntity;
+
+import java.io.Serial;
+import java.util.Date;
+
+/**
+ * 投诉建议对象 complaint_suggestion
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("complaint_suggestion")
+public class ComplaintSuggestion extends TenantEntity {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 投诉建议ID
+     */
+    @TableId(value = "suggestion_id")
+    private Long suggestionId;
+
+    /**
+     * 投诉建议标题,简要描述投诉或建议内容
+     */
+    private String title;
+
+    /**
+     * 投诉建议的具体内容,详细描述问题或建议
+     */
+    private String content;
+
+    /**
+     * 投诉照片,存储图片路径或URL(可多张,建议用JSON格式存储)
+     */
+    private String images;
+
+    /**
+     * 投诉建议提交时间
+     */
+    private Date createdTime;
+
+    /**
+     * 投诉建议状态:1(待回复)、2(已回复)
+     */
+    private String status;
+
+    /**
+     * 投诉建议的回复内容,记录管理员或相关人员的回复
+     */
+    private String replyContent;
+
+    /**
+     * 投诉建议类型:1:投诉建议
+     */
+    private String type;
+
+    /**
+     * 投诉建议是否公开:Y(公开)、N(不公开)
+     */
+    private String isPublic;
+
+    /**
+     * 投诉用户id
+     */
+    private Long userId;
+
+    /**
+     * 投诉建议是否已读:Y(已读)、N(未读)
+     */
+    private String isRead;
+
+    /**
+     * 是否删除:Y(删除)、N(不删除)
+     */
+    private String isDel;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 92 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/complaintSuggestion/bo/ComplaintSuggestionBo.java

@@ -0,0 +1,92 @@
+package org.dromara.domain.complaintSuggestion.bo;
+
+
+import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.domain.complaintSuggestion.ComplaintSuggestion;
+
+import java.util.Date;
+
+/**
+ * 投诉建议业务对象 complaint_suggestion
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = ComplaintSuggestion.class, reverseConvertGenerate = false)
+public class ComplaintSuggestionBo extends BaseEntity {
+
+    /**
+     * 投诉建议ID
+     */
+    @NotNull(message = "投诉建议ID不能为空", groups = { EditGroup.class })
+    private Long suggestionId;
+
+    /**
+     * 投诉建议标题,简要描述投诉或建议内容
+     */
+    private String title;
+
+    /**
+     * 投诉建议的具体内容,详细描述问题或建议
+     */
+    private String content;
+
+    /**
+     * 投诉照片,存储图片路径或URL(可多张,建议用JSON格式存储)
+     */
+    private String images;
+
+    /**
+     * 投诉建议提交时间
+     */
+    private Date createdTime;
+
+    /**
+     * 投诉建议状态:1(待回复)、2(已回复)
+     */
+    private String status;
+
+    /**
+     * 投诉建议的回复内容,记录管理员或相关人员的回复
+     */
+    private String replyContent;
+
+    /**
+     * 投诉建议类型:1:投诉建议
+     */
+    private String type;
+
+    /**
+     * 投诉建议是否公开:Y(公开)、N(不公开)
+     */
+    private String isPublic;
+
+    /**
+     * 投诉用户id
+     */
+    private Long userId;
+
+    /**
+     * 投诉建议是否已读:Y(已读)、N(未读)
+     */
+    private String isRead;
+
+    /**
+     * 是否删除:Y(删除)、N(不删除)
+     */
+    private String isDel;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 115 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/complaintSuggestion/vo/ComplaintSuggestionVo.java

@@ -0,0 +1,115 @@
+package org.dromara.domain.complaintSuggestion.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import org.dromara.domain.complaintSuggestion.ComplaintSuggestion;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 投诉建议视图对象 complaint_suggestion
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = ComplaintSuggestion.class)
+public class ComplaintSuggestionVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 投诉建议ID
+     */
+    @ExcelProperty(value = "投诉建议ID")
+    private Long suggestionId;
+
+    /**
+     * 投诉建议标题,简要描述投诉或建议内容
+     */
+    @ExcelProperty(value = "投诉建议标题,简要描述投诉或建议内容")
+    private String title;
+
+    /**
+     * 投诉建议的具体内容,详细描述问题或建议
+     */
+    @ExcelProperty(value = "投诉建议的具体内容,详细描述问题或建议")
+    private String content;
+
+    /**
+     * 投诉照片,存储图片路径或URL(可多张,建议用JSON格式存储)
+     */
+    @ExcelProperty(value = "投诉照片,存储图片路径或URL", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "可=多张,建议用JSON格式存储")
+    private String images;
+
+    /**
+     * 投诉建议提交时间
+     */
+    @ExcelProperty(value = "投诉建议提交时间")
+    private Date createdTime;
+
+    /**
+     * 投诉建议状态:1(待回复)、2(已回复)
+     */
+    @ExcelProperty(value = "投诉建议状态:1", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "待=回复")
+    private String status;
+
+    /**
+     * 投诉建议的回复内容,记录管理员或相关人员的回复
+     */
+    @ExcelProperty(value = "投诉建议的回复内容,记录管理员或相关人员的回复")
+    private String replyContent;
+
+    /**
+     * 投诉建议类型:1:投诉建议
+     */
+    @ExcelProperty(value = "投诉建议类型:1:投诉建议")
+    private String type;
+
+    /**
+     * 投诉建议是否公开:Y(公开)、N(不公开)
+     */
+    @ExcelProperty(value = "投诉建议是否公开:Y", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "公=开")
+    private String isPublic;
+
+    /**
+     * 投诉用户id
+     */
+    @ExcelProperty(value = "投诉用户id")
+    private Long userId;
+
+    /**
+     * 投诉建议是否已读:Y(已读)、N(未读)
+     */
+    @ExcelProperty(value = "投诉建议是否已读:Y", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "已=读")
+    private String isRead;
+
+    /**
+     * 是否删除:Y(删除)、N(不删除)
+     */
+    @ExcelProperty(value = "是否删除:Y", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "删=除")
+    private String isDel;
+
+    /**
+     * 备注
+     */
+    @ExcelProperty(value = "备注")
+    private String remark;
+
+
+}

+ 118 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/houseInfo/HouseInfo.java

@@ -0,0 +1,118 @@
+package org.dromara.domain.houseInfo;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.tenant.core.TenantEntity;
+
+import java.io.Serial;
+import java.util.Date;
+
+/**
+ * 房屋信息对象 house_info
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("house_info")
+public class HouseInfo extends TenantEntity {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 房屋信息主键,唯一标识每条房屋信息
+     */
+    @TableId(value = "house_id")
+    private Long houseId;
+
+    /**
+     * 权利人姓名
+     */
+    private String ownerName;
+
+    /**
+     * 房屋坐落位置
+     */
+    private String location;
+
+    /**
+     * 权利类型,如所有权、使用权等
+     */
+    private String rightType;
+
+    /**
+     * 房屋面积,单位为平方米
+     */
+    private Long area;
+
+    /**
+     * 房屋相关的字第号
+     */
+    private String documentNumber;
+
+    /**
+     * 不动产单元号,唯一标识不动产单元
+     */
+    private String propertyUnitNumber;
+
+    /**
+     * 房屋的共有情况,如共有比例等
+     */
+    private String coOwnership;
+
+    /**
+     * 房屋用途,如住宅、商业等
+     */
+    private String usageType;
+
+    /**
+     * 房屋使用期限
+     */
+    private String usagePeriod;
+
+    /**
+     * 房屋登记日期
+     */
+    private Date registrationDate;
+
+    /**
+     * 共有人姓名,多个共有人可以用逗号分隔
+     */
+    private String coOwner;
+
+    /**
+     * 房屋的详细门牌号
+     */
+    private String detailedAddress;
+
+    /**
+     * 是否有车位,Y表示有,N表示无
+     */
+    private String hasParkingSpace;
+
+    /**
+     * 车位编号
+     */
+    private String parkingNumber;
+
+    /**
+     * 房屋所在小区名称
+     */
+    private String communityName;
+
+    /**
+     * 房屋状态:1-自住,2-空闲,3-待售空闲,4-出租
+     */
+    private Long houseStatus;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 116 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/houseInfo/PropertyFee.java

@@ -0,0 +1,116 @@
+package org.dromara.domain.houseInfo;
+
+import org.dromara.common.tenant.core.TenantEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+
+/**
+ * 物业费管理对象 property_fee
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("property_fee")
+public class PropertyFee extends TenantEntity {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 物业费信息主键
+     */
+    @TableId(value = "property_id")
+    private Long propertyId;
+
+    /**
+     * 房屋信息主键id
+     */
+    private Long houseId;
+
+    /**
+     * 权利人姓名
+     */
+    private String ownerName;
+
+    /**
+     * 房屋坐落位置
+     */
+    private String location;
+
+    /**
+     * 房屋面积,单位为平方米
+     */
+    private Long area;
+
+    /**
+     * 不动产单元号,唯一标识不动产单元
+     */
+    private String propertyUnitNumber;
+
+    /**
+     * 房屋的详细门牌号
+     */
+    private String detailedAddress;
+
+    /**
+     * 是否有车位,Y表示有,N表示无
+     */
+    private String hasParkingSpace;
+
+    /**
+     * 车位编号
+     */
+    private String parkingNumber;
+
+    /**
+     * 房屋所在小区名称
+     */
+    private String communityName;
+
+    /**
+     * 物业费缴费年份
+     */
+    private String year;
+
+    /**
+     * 业主缴费时间
+     */
+    private String time;
+
+    /**
+     * 应缴物业费用
+     */
+    private Long tenementExpense;
+
+    /**
+     * 应缴车位费用
+     */
+    private Long parkingExpense;
+
+    /**
+     * 应缴能耗费用
+     */
+    private Long energyExpense;
+
+    /**
+     * 应缴总费用
+     */
+    private Long totalExpense;
+
+    /**
+     * 是否缴费,Y表示有,N表示无
+     */
+    private String isExpense;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 56 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/houseInfo/PropertySettings.java

@@ -0,0 +1,56 @@
+package org.dromara.domain.houseInfo;
+
+import org.dromara.common.tenant.core.TenantEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+
+/**
+ * 物业费设置对象 property_settings
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("property_settings")
+public class PropertySettings extends TenantEntity {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 物业费信息主键
+     */
+    @TableId(value = "settings_id")
+    private Long settingsId;
+
+    /**
+     * 应缴物业费用
+     */
+    private Long tenementExpense;
+
+    /**
+     * 应缴车位费用
+     */
+    private Long parkingExpense;
+
+    /**
+     * 应缴能耗费用
+     */
+    private Long energyExpense;
+
+    /**
+     * 是否删除,Y表示删除,N表示有效
+     */
+    private String isDel;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 117 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/houseInfo/bo/HouseInfoBo.java

@@ -0,0 +1,117 @@
+package org.dromara.domain.houseInfo.bo;
+
+
+import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.domain.houseInfo.HouseInfo;
+
+import java.util.Date;
+
+/**
+ * 房屋信息业务对象 house_info
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = HouseInfo.class, reverseConvertGenerate = false)
+public class HouseInfoBo extends BaseEntity {
+
+    /**
+     * 房屋信息主键,唯一标识每条房屋信息
+     */
+    @NotNull(message = "房屋信息主键,唯一标识每条房屋信息不能为空", groups = { EditGroup.class })
+    private Long houseId;
+
+    /**
+     * 权利人姓名
+     */
+    private String ownerName;
+
+    /**
+     * 房屋坐落位置
+     */
+    private String location;
+
+    /**
+     * 权利类型,如所有权、使用权等
+     */
+    private String rightType;
+
+    /**
+     * 房屋面积,单位为平方米
+     */
+    private Long area;
+
+    /**
+     * 房屋相关的字第号
+     */
+    private String documentNumber;
+
+    /**
+     * 不动产单元号,唯一标识不动产单元
+     */
+    private String propertyUnitNumber;
+
+    /**
+     * 房屋的共有情况,如共有比例等
+     */
+    private String coOwnership;
+
+    /**
+     * 房屋用途,如住宅、商业等
+     */
+    private String usageType;
+
+    /**
+     * 房屋使用期限
+     */
+    private String usagePeriod;
+
+    /**
+     * 房屋登记日期
+     */
+    private Date registrationDate;
+
+    /**
+     * 共有人姓名,多个共有人可以用逗号分隔
+     */
+    private String coOwner;
+
+    /**
+     * 房屋的详细门牌号
+     */
+    private String detailedAddress;
+
+    /**
+     * 是否有车位,Y表示有,N表示无
+     */
+    private String hasParkingSpace;
+
+    /**
+     * 车位编号
+     */
+    private String parkingNumber;
+
+    /**
+     * 房屋所在小区名称
+     */
+    private String communityName;
+
+    /**
+     * 房屋状态:1-自住,2-空闲,3-待售空闲,4-出租
+     */
+    private Long houseStatus;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 115 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/houseInfo/bo/PropertyFeeBo.java

@@ -0,0 +1,115 @@
+package org.dromara.domain.houseInfo.bo;
+
+
+import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.domain.houseInfo.PropertyFee;
+
+/**
+ * 物业费管理业务对象 property_fee
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = PropertyFee.class, reverseConvertGenerate = false)
+public class PropertyFeeBo extends BaseEntity {
+
+    /**
+     * 物业费信息主键
+     */
+    @NotNull(message = "物业费信息主键不能为空", groups = { EditGroup.class })
+    private Long propertyId;
+
+    /**
+     * 房屋信息主键id
+     */
+    private Long houseId;
+
+    /**
+     * 权利人姓名
+     */
+    private String ownerName;
+
+    /**
+     * 房屋坐落位置
+     */
+    private String location;
+
+    /**
+     * 房屋面积,单位为平方米
+     */
+    private Long area;
+
+    /**
+     * 不动产单元号,唯一标识不动产单元
+     */
+    private String propertyUnitNumber;
+
+    /**
+     * 房屋的详细门牌号
+     */
+    private String detailedAddress;
+
+    /**
+     * 是否有车位,Y表示有,N表示无
+     */
+    private String hasParkingSpace;
+
+    /**
+     * 车位编号
+     */
+    private String parkingNumber;
+
+    /**
+     * 房屋所在小区名称
+     */
+    private String communityName;
+
+    /**
+     * 物业费缴费年份
+     */
+    private String year;
+
+    /**
+     * 业主缴费时间
+     */
+    private String time;
+
+    /**
+     * 应缴物业费用
+     */
+    private Long tenementExpense;
+
+    /**
+     * 应缴车位费用
+     */
+    private Long parkingExpense;
+
+    /**
+     * 应缴能耗费用
+     */
+    private Long energyExpense;
+
+    /**
+     * 应缴总费用
+     */
+    private Long totalExpense;
+
+    /**
+     * 是否缴费,Y表示有,N表示无
+     */
+    private String isExpense;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 55 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/houseInfo/bo/PropertySettingsBo.java

@@ -0,0 +1,55 @@
+package org.dromara.domain.houseInfo.bo;
+
+
+import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.domain.houseInfo.PropertySettings;
+
+/**
+ * 物业费设置业务对象 property_settings
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = PropertySettings.class, reverseConvertGenerate = false)
+public class PropertySettingsBo extends BaseEntity {
+
+    /**
+     * 物业费信息主键
+     */
+    @NotNull(message = "物业费信息主键不能为空", groups = { EditGroup.class })
+    private Long settingsId;
+
+    /**
+     * 应缴物业费用
+     */
+    private Long tenementExpense;
+
+    /**
+     * 应缴车位费用
+     */
+    private Long parkingExpense;
+
+    /**
+     * 应缴能耗费用
+     */
+    private Long energyExpense;
+
+    /**
+     * 是否删除,Y表示删除,N表示有效
+     */
+    private String isDel;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 138 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/houseInfo/vo/HouseInfoVo.java

@@ -0,0 +1,138 @@
+package org.dromara.domain.houseInfo.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.domain.houseInfo.HouseInfo;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 房屋信息视图对象 house_info
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = HouseInfo.class)
+public class HouseInfoVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 房屋信息主键,唯一标识每条房屋信息
+     */
+    @ExcelProperty(value = "房屋信息主键,唯一标识每条房屋信息")
+    private Long houseId;
+
+    /**
+     * 权利人姓名
+     */
+    @ExcelProperty(value = "权利人姓名")
+    private String ownerName;
+
+    /**
+     * 房屋坐落位置
+     */
+    @ExcelProperty(value = "房屋坐落位置")
+    private String location;
+
+    /**
+     * 权利类型,如所有权、使用权等
+     */
+    @ExcelProperty(value = "权利类型,如所有权、使用权等")
+    private String rightType;
+
+    /**
+     * 房屋面积,单位为平方米
+     */
+    @ExcelProperty(value = "房屋面积,单位为平方米")
+    private Long area;
+
+    /**
+     * 房屋相关的字第号
+     */
+    @ExcelProperty(value = "房屋相关的字第号")
+    private String documentNumber;
+
+    /**
+     * 不动产单元号,唯一标识不动产单元
+     */
+    @ExcelProperty(value = "不动产单元号,唯一标识不动产单元")
+    private String propertyUnitNumber;
+
+    /**
+     * 房屋的共有情况,如共有比例等
+     */
+    @ExcelProperty(value = "房屋的共有情况,如共有比例等")
+    private String coOwnership;
+
+    /**
+     * 房屋用途,如住宅、商业等
+     */
+    @ExcelProperty(value = "房屋用途,如住宅、商业等")
+    private String usageType;
+
+    /**
+     * 房屋使用期限
+     */
+    @ExcelProperty(value = "房屋使用期限")
+    private String usagePeriod;
+
+    /**
+     * 房屋登记日期
+     */
+    @ExcelProperty(value = "房屋登记日期")
+    private Date registrationDate;
+
+    /**
+     * 共有人姓名,多个共有人可以用逗号分隔
+     */
+    @ExcelProperty(value = "共有人姓名,多个共有人可以用逗号分隔")
+    private String coOwner;
+
+    /**
+     * 房屋的详细门牌号
+     */
+    @ExcelProperty(value = "房屋的详细门牌号")
+    private String detailedAddress;
+
+    /**
+     * 是否有车位,Y表示有,N表示无
+     */
+    @ExcelProperty(value = "是否有车位,Y表示有,N表示无")
+    private String hasParkingSpace;
+
+    /**
+     * 车位编号
+     */
+    @ExcelProperty(value = "车位编号")
+    private String parkingNumber;
+
+    /**
+     * 房屋所在小区名称
+     */
+    @ExcelProperty(value = "房屋所在小区名称")
+    private String communityName;
+
+    /**
+     * 房屋状态:1-自住,2-空闲,3-待售空闲,4-出租
+     */
+    @ExcelProperty(value = "房屋状态:1-自住,2-空闲,3-待售空闲,4-出租")
+    private Long houseStatus;
+
+    /**
+     * 备注
+     */
+    @ExcelProperty(value = "备注")
+    private String remark;
+
+
+}

+ 137 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/houseInfo/vo/PropertyFeeVo.java

@@ -0,0 +1,137 @@
+package org.dromara.domain.houseInfo.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.domain.houseInfo.PropertyFee;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+
+
+/**
+ * 物业费管理视图对象 property_fee
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = PropertyFee.class)
+public class PropertyFeeVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 物业费信息主键
+     */
+    @ExcelProperty(value = "物业费信息主键")
+    private Long propertyId;
+
+    /**
+     * 房屋信息主键id
+     */
+    @ExcelProperty(value = "房屋信息主键id")
+    private Long houseId;
+
+    /**
+     * 权利人姓名
+     */
+    @ExcelProperty(value = "权利人姓名")
+    private String ownerName;
+
+    /**
+     * 房屋坐落位置
+     */
+    @ExcelProperty(value = "房屋坐落位置")
+    private String location;
+
+    /**
+     * 房屋面积,单位为平方米
+     */
+    @ExcelProperty(value = "房屋面积,单位为平方米")
+    private Long area;
+
+    /**
+     * 不动产单元号,唯一标识不动产单元
+     */
+    @ExcelProperty(value = "不动产单元号,唯一标识不动产单元")
+    private String propertyUnitNumber;
+
+    /**
+     * 房屋的详细门牌号
+     */
+    @ExcelProperty(value = "房屋的详细门牌号")
+    private String detailedAddress;
+
+    /**
+     * 是否有车位,Y表示有,N表示无
+     */
+    @ExcelProperty(value = "是否有车位,Y表示有,N表示无")
+    private String hasParkingSpace;
+
+    /**
+     * 车位编号
+     */
+    @ExcelProperty(value = "车位编号")
+    private String parkingNumber;
+
+    /**
+     * 房屋所在小区名称
+     */
+    @ExcelProperty(value = "房屋所在小区名称")
+    private String communityName;
+
+    /**
+     * 物业费缴费年份
+     */
+    @ExcelProperty(value = "物业费缴费年份")
+    private String year;
+
+    /**
+     * 业主缴费时间
+     */
+    @ExcelProperty(value = "业主缴费时间")
+    private String time;
+
+    /**
+     * 应缴物业费用
+     */
+    @ExcelProperty(value = "应缴物业费用")
+    private Long tenementExpense;
+
+    /**
+     * 应缴车位费用
+     */
+    @ExcelProperty(value = "应缴车位费用")
+    private Long parkingExpense;
+
+    /**
+     * 应缴能耗费用
+     */
+    @ExcelProperty(value = "应缴能耗费用")
+    private Long energyExpense;
+
+    /**
+     * 应缴总费用
+     */
+    @ExcelProperty(value = "应缴总费用")
+    private Long totalExpense;
+
+    /**
+     * 是否缴费,Y表示有,N表示无
+     */
+    @ExcelProperty(value = "是否缴费,Y表示有,N表示无")
+    private String isExpense;
+
+    /**
+     * 备注
+     */
+    @ExcelProperty(value = "备注")
+    private String remark;
+
+
+}

+ 65 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/houseInfo/vo/PropertySettingsVo.java

@@ -0,0 +1,65 @@
+package org.dromara.domain.houseInfo.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.domain.houseInfo.PropertySettings;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+
+
+/**
+ * 物业费设置视图对象 property_settings
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = PropertySettings.class)
+public class PropertySettingsVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 物业费信息主键
+     */
+    @ExcelProperty(value = "物业费信息主键")
+    private Long settingsId;
+
+    /**
+     * 应缴物业费用
+     */
+    @ExcelProperty(value = "应缴物业费用")
+    private Long tenementExpense;
+
+    /**
+     * 应缴车位费用
+     */
+    @ExcelProperty(value = "应缴车位费用")
+    private Long parkingExpense;
+
+    /**
+     * 应缴能耗费用
+     */
+    @ExcelProperty(value = "应缴能耗费用")
+    private Long energyExpense;
+
+    /**
+     * 是否删除,Y表示删除,N表示有效
+     */
+    @ExcelProperty(value = "是否删除,Y表示删除,N表示有效")
+    private String isDel;
+
+    /**
+     * 备注
+     */
+    @ExcelProperty(value = "备注")
+    private String remark;
+
+
+}

+ 76 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/illegalParking/IllegalParking.java

@@ -0,0 +1,76 @@
+package org.dromara.domain.illegalParking;
+
+import org.dromara.common.tenant.core.TenantEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+
+/**
+ * 违章停车登记对象 illegal_parking
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("illegal_parking")
+public class IllegalParking extends TenantEntity {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 违章停车登记主键
+     */
+    @TableId(value = "illegal_parking_id")
+    private Long illegalParkingId;
+
+    /**
+     * 车牌号码
+     */
+    private String plateNumber;
+
+    /**
+     * 门户id
+     */
+    private Long portalId;
+
+    /**
+     * 关联门户
+     */
+    private String visitPortal;
+
+    /**
+     * 手机号码
+     */
+    private String mobileNumber;
+
+    /**
+     * 人员姓名
+     */
+    private String visitName;
+
+    /**
+     * 违章照片
+     */
+    private String illegalPhoto;
+
+    /**
+     * 车辆类型 1:小区车辆 2:外来车辆
+     */
+    private String carType;
+
+    /**
+     * 是否黑名单 N:否 Y:是
+     */
+    private String isBlack;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 77 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/illegalParking/bo/IllegalParkingBo.java

@@ -0,0 +1,77 @@
+package org.dromara.domain.illegalParking.bo;
+
+import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.domain.illegalParking.IllegalParking;
+
+/**
+ * 违章停车登记业务对象 illegal_parking
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = IllegalParking.class, reverseConvertGenerate = false)
+public class IllegalParkingBo extends BaseEntity {
+
+    /**
+     * 违章停车登记主键
+     */
+    @NotNull(message = "违章停车登记主键不能为空", groups = { EditGroup.class })
+    private Long illegalParkingId;
+
+    /**
+     * 车牌号码
+     */
+    @NotBlank(message = "车牌号码不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String plateNumber;
+
+    /**
+     * 门户id
+     */
+    private Long portalId;
+
+    /**
+     * 关联门户
+     */
+    private String visitPortal;
+
+    /**
+     * 手机号码
+     */
+    private String mobileNumber;
+
+    /**
+     * 人员姓名
+     */
+    private String visitName;
+
+    /**
+     * 违章照片
+     */
+    private String illegalPhoto;
+
+    /**
+     * 车辆类型 1:小区车辆 2:外来车辆
+     */
+    private String carType;
+
+    /**
+     * 是否黑名单 N:否 Y:是
+     */
+    private String isBlack;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 89 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/illegalParking/vo/IllegalParkingVo.java

@@ -0,0 +1,89 @@
+package org.dromara.domain.illegalParking.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.domain.illegalParking.IllegalParking;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+
+
+/**
+ * 违章停车登记视图对象 illegal_parking
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = IllegalParking.class)
+public class IllegalParkingVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 违章停车登记主键
+     */
+    @ExcelProperty(value = "违章停车登记主键")
+    private Long illegalParkingId;
+
+    /**
+     * 车牌号码
+     */
+    @ExcelProperty(value = "车牌号码")
+    private String plateNumber;
+
+    /**
+     * 门户id
+     */
+    @ExcelProperty(value = "门户id")
+    private Long portalId;
+
+    /**
+     * 关联门户
+     */
+    @ExcelProperty(value = "关联门户")
+    private String visitPortal;
+
+    /**
+     * 手机号码
+     */
+    @ExcelProperty(value = "手机号码")
+    private String mobileNumber;
+
+    /**
+     * 人员姓名
+     */
+    @ExcelProperty(value = "人员姓名")
+    private String visitName;
+
+    /**
+     * 违章照片
+     */
+    @ExcelProperty(value = "违章照片")
+    private String illegalPhoto;
+
+    /**
+     * 车辆类型 1:小区车辆 2:外来车辆
+     */
+    @ExcelProperty(value = "车辆类型 1:小区车辆 2:外来车辆")
+    private String carType;
+
+    /**
+     * 是否黑名单 N:否 Y:是
+     */
+    @ExcelProperty(value = "是否黑名单 N:否 Y:是")
+    private String isBlack;
+
+    /**
+     * 备注
+     */
+    @ExcelProperty(value = "备注")
+    private String remark;
+
+
+}

+ 88 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/partyNews/PartyNews.java

@@ -0,0 +1,88 @@
+package org.dromara.domain.partyNews;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.tenant.core.TenantEntity;
+
+import java.io.Serial;
+import java.util.Date;
+
+/**
+ * 党建资讯对象 party_news
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("party_news")
+public class PartyNews extends TenantEntity {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 资讯ID
+     */
+    @TableId(value = "party_id")
+    private Long partyId;
+
+    /**
+     * 党建资讯标题
+     */
+    private String partyTitle;
+
+    /**
+     * 党建资讯类型(1:党建活动 2:党建学习3:党建知识)
+     */
+    private String partyType;
+
+    /**
+     * 党建资讯内容
+     */
+    private String partyContent;
+
+    /**
+     * 党建资讯状态(1正常 2关闭)
+     */
+    private String status;
+
+    /**
+     * 发布时间
+     */
+    private Date publishTime;
+
+    /**
+     * 作者,记录资讯的发布者
+     */
+    private String author;
+
+    /**
+     * 来源,记录资讯的来源(如单位、网站等)
+     */
+    private String source;
+
+    /**
+     * 封面图片,存储图片路径或URL
+     */
+    private String coverImage;
+
+    /**
+     * 浏览次数,记录资讯被查看的次数
+     */
+    private Long viewCount;
+
+    /**
+     * 是否置顶:Y(置顶)、N(不置顶)
+     */
+    private String isTop;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 90 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/partyNews/bo/PartyNewsBo.java

@@ -0,0 +1,90 @@
+package org.dromara.domain.partyNews.bo;
+
+import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.domain.partyNews.PartyNews;
+
+import java.util.Date;
+
+/**
+ * 党建资讯业务对象 party_news
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = PartyNews.class, reverseConvertGenerate = false)
+public class PartyNewsBo extends BaseEntity {
+
+    /**
+     * 资讯ID
+     */
+    @NotNull(message = "资讯ID不能为空", groups = { EditGroup.class })
+    private Long partyId;
+
+    /**
+     * 党建资讯标题
+     */
+    @NotBlank(message = "党建资讯标题不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String partyTitle;
+
+    /**
+     * 党建资讯类型(1:党建活动 2:党建学习3:党建知识)
+     */
+    @NotBlank(message = "党建资讯类型(1:党建活动 2:党建学习3:党建知识)不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String partyType;
+
+    /**
+     * 党建资讯内容
+     */
+    private String partyContent;
+
+    /**
+     * 党建资讯状态(1正常 2关闭)
+     */
+    private String status;
+
+    /**
+     * 发布时间
+     */
+    private Date publishTime;
+
+    /**
+     * 作者,记录资讯的发布者
+     */
+    private String author;
+
+    /**
+     * 来源,记录资讯的来源(如单位、网站等)
+     */
+    private String source;
+
+    /**
+     * 封面图片,存储图片路径或URL
+     */
+    private String coverImage;
+
+    /**
+     * 浏览次数,记录资讯被查看的次数
+     */
+    private Long viewCount;
+
+    /**
+     * 是否置顶:Y(置顶)、N(不置顶)
+     */
+    private String isTop;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 115 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/partyNews/vo/PartyNewsVo.java

@@ -0,0 +1,115 @@
+package org.dromara.domain.partyNews.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import org.dromara.common.translation.annotation.Translation;
+import org.dromara.common.translation.constant.TransConstant;
+import org.dromara.domain.partyNews.PartyNews;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 党建资讯视图对象 party_news
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = PartyNews.class)
+public class PartyNewsVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 资讯ID
+     */
+    @ExcelProperty(value = "资讯ID")
+    private Long partyId;
+
+    /**
+     * 党建资讯标题
+     */
+    @ExcelProperty(value = "党建资讯标题")
+    private String partyTitle;
+
+    /**
+     * 党建资讯类型(1:党建活动 2:党建学习3:党建知识)
+     */
+    @ExcelProperty(value = "党建资讯类型", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "1=:党建活动,2=:党建学习3:党建知识")
+    private String partyType;
+
+    /**
+     * 党建资讯内容
+     */
+    @ExcelProperty(value = "党建资讯内容")
+    private String partyContent;
+
+    /**
+     * 党建资讯状态(1正常 2关闭)
+     */
+    @ExcelProperty(value = "党建资讯状态", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "1=正常,2=关闭")
+    private String status;
+
+    /**
+     * 发布时间
+     */
+    @ExcelProperty(value = "发布时间")
+    private Date publishTime;
+
+    /**
+     * 作者,记录资讯的发布者
+     */
+    @ExcelProperty(value = "作者,记录资讯的发布者")
+    private String author;
+
+    /**
+     * 来源,记录资讯的来源(如单位、网站等)
+     */
+    @ExcelProperty(value = "来源,记录资讯的来源", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "如=单位、网站等")
+    private String source;
+
+    /**
+     * 封面图片,存储图片路径或URL
+     */
+    @ExcelProperty(value = "封面图片,存储图片路径或URL")
+    private String coverImage;
+
+    /**
+     * 封面图片,存储图片路径或URLUrl
+     */
+    @Translation(type = TransConstant.OSS_ID_TO_URL, mapper = "coverImage")
+    private String coverImageUrl;
+    /**
+     * 浏览次数,记录资讯被查看的次数
+     */
+    @ExcelProperty(value = "浏览次数,记录资讯被查看的次数")
+    private Long viewCount;
+
+    /**
+     * 是否置顶:Y(置顶)、N(不置顶)
+     */
+    @ExcelProperty(value = "是否置顶:Y", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "置=顶")
+    private String isTop;
+
+    /**
+     * 备注
+     */
+    @ExcelProperty(value = "备注")
+    private String remark;
+
+
+}

+ 128 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/propertyRepair/PropertyRepair.java

@@ -0,0 +1,128 @@
+package org.dromara.domain.propertyRepair;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.tenant.core.TenantEntity;
+
+import java.io.Serial;
+import java.util.Date;
+
+/**
+ * 物业报修对象 property_repair
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("property_repair")
+public class PropertyRepair extends TenantEntity {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 报修ID
+     */
+    @TableId(value = "repair_id")
+    private Long repairId;
+
+    /**
+     * 门户id
+     */
+    private Long portalId;
+
+    /**
+     * 详细门牌号
+     */
+    private String houseAddress;
+
+    /**
+     * 报修时间,记录报修提交的时间
+     */
+    private Date repairTime;
+
+    /**
+     * 报修用户id
+     */
+    private Long userId;
+
+    /**
+     * 报修用户手机号码
+     */
+    private String phoneNumber;
+
+    /**
+     * 报修标题,简要描述报修内容
+     */
+    private String repairTitle;
+
+    /**
+     * 报修类别,如水电维修、门窗维修等
+     */
+    private String maintenanceCategory;
+
+    /**
+     * 报修详情,详细描述报修问题
+     */
+    private String repairDetails;
+
+    /**
+     * 报修详情图片,存储图片路径或URL
+     */
+    private String repairImages;
+
+    /**
+     * 报修状态:1:待分派 2:待上门 3:处理中 4:已完成
+     */
+    private String repairStatus;
+
+    /**
+     * 维修人员姓名
+     */
+    private String staffName;
+
+    /**
+     * 维修人员ID
+     */
+    private Long staffId;
+
+    /**
+     * 维修人员手机号
+     */
+    private String staffPhone;
+
+    /**
+     * 上门时间,记录维修人员上门的时间
+     */
+    private Date visitTime;
+
+    /**
+     * 上门拍照,存储图片路径或URL
+     */
+    private String visitPhoto;
+
+    /**
+     * 维修结束时间,记录维修完成的时间
+     */
+    private Date completionTime;
+
+    /**
+     * 维修结束拍照,存储图片路径或URL
+     */
+    private String completionPhoto;
+
+    /**
+     * 维修详情,记录维修的具体过程和结果
+     */
+    private String repairCompletionDetails;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 129 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/propertyRepair/bo/PropertyRepairBo.java

@@ -0,0 +1,129 @@
+package org.dromara.domain.propertyRepair.bo;
+
+import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.domain.propertyRepair.PropertyRepair;
+
+import java.util.Date;
+
+/**
+ * 物业报修业务对象 property_repair
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = PropertyRepair.class, reverseConvertGenerate = false)
+public class PropertyRepairBo extends BaseEntity {
+
+    /**
+     * 报修ID
+     */
+    @NotNull(message = "报修ID不能为空", groups = { EditGroup.class })
+    private Long repairId;
+
+    /**
+     * 门户id
+     */
+    private Long portalId;
+
+    /**
+     * 详细门牌号
+     */
+    @NotBlank(message = "详细门牌号不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String houseAddress;
+
+    /**
+     * 报修时间,记录报修提交的时间
+     */
+    private Date repairTime;
+
+    /**
+     * 报修用户id
+     */
+    private Long userId;
+
+    /**
+     * 报修用户手机号码
+     */
+    private String phoneNumber;
+
+    /**
+     * 报修标题,简要描述报修内容
+     */
+    private String repairTitle;
+
+    /**
+     * 报修类别,如水电维修、门窗维修等
+     */
+    private String maintenanceCategory;
+
+    /**
+     * 报修详情,详细描述报修问题
+     */
+    private String repairDetails;
+
+    /**
+     * 报修详情图片,存储图片路径或URL
+     */
+    private String repairImages;
+
+    /**
+     * 报修状态:1:待分派 2:待上门 3:处理中 4:已完成
+     */
+    private String repairStatus;
+
+    /**
+     * 维修人员姓名
+     */
+    private String staffName;
+
+    /**
+     * 维修人员ID
+     */
+    private Long staffId;
+
+    /**
+     * 维修人员手机号
+     */
+    private String staffPhone;
+
+    /**
+     * 上门时间,记录维修人员上门的时间
+     */
+    private Date visitTime;
+
+    /**
+     * 上门拍照,存储图片路径或URL
+     */
+    private String visitPhoto;
+
+    /**
+     * 维修结束时间,记录维修完成的时间
+     */
+    private Date completionTime;
+
+    /**
+     * 维修结束拍照,存储图片路径或URL
+     */
+    private String completionPhoto;
+
+    /**
+     * 维修详情,记录维修的具体过程和结果
+     */
+    private String repairCompletionDetails;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 150 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/propertyRepair/vo/PropertyRepairVo.java

@@ -0,0 +1,150 @@
+package org.dromara.domain.propertyRepair.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.domain.propertyRepair.PropertyRepair;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 物业报修视图对象 property_repair
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = PropertyRepair.class)
+public class PropertyRepairVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 报修ID
+     */
+    @ExcelProperty(value = "报修ID")
+    private Long repairId;
+
+    /**
+     * 门户id
+     */
+    @ExcelProperty(value = "门户id")
+    private Long portalId;
+
+    /**
+     * 详细门牌号
+     */
+    @ExcelProperty(value = "详细门牌号")
+    private String houseAddress;
+
+    /**
+     * 报修时间,记录报修提交的时间
+     */
+    @ExcelProperty(value = "报修时间,记录报修提交的时间")
+    private Date repairTime;
+
+    /**
+     * 报修用户id
+     */
+    @ExcelProperty(value = "报修用户id")
+    private Long userId;
+
+    /**
+     * 报修用户手机号码
+     */
+    @ExcelProperty(value = "报修用户手机号码")
+    private String phoneNumber;
+
+    /**
+     * 报修标题,简要描述报修内容
+     */
+    @ExcelProperty(value = "报修标题,简要描述报修内容")
+    private String repairTitle;
+
+    /**
+     * 报修类别,如水电维修、门窗维修等
+     */
+    @ExcelProperty(value = "报修类别,如水电维修、门窗维修等")
+    private String maintenanceCategory;
+
+    /**
+     * 报修详情,详细描述报修问题
+     */
+    @ExcelProperty(value = "报修详情,详细描述报修问题")
+    private String repairDetails;
+
+    /**
+     * 报修详情图片,存储图片路径或URL
+     */
+    @ExcelProperty(value = "报修详情图片,存储图片路径或URL")
+    private String repairImages;
+
+    /**
+     * 报修状态:1:待分派 2:待上门 3:处理中 4:已完成
+     */
+    @ExcelProperty(value = "报修状态:1:待分派 2:待上门 3:处理中 4:已完成")
+    private String repairStatus;
+
+    /**
+     * 维修人员姓名
+     */
+    @ExcelProperty(value = "维修人员姓名")
+    private String staffName;
+
+    /**
+     * 维修人员ID
+     */
+    @ExcelProperty(value = "维修人员ID")
+    private Long staffId;
+
+    /**
+     * 维修人员手机号
+     */
+    @ExcelProperty(value = "维修人员手机号")
+    private String staffPhone;
+
+    /**
+     * 上门时间,记录维修人员上门的时间
+     */
+    @ExcelProperty(value = "上门时间,记录维修人员上门的时间")
+    private Date visitTime;
+
+    /**
+     * 上门拍照,存储图片路径或URL
+     */
+    @ExcelProperty(value = "上门拍照,存储图片路径或URL")
+    private String visitPhoto;
+
+    /**
+     * 维修结束时间,记录维修完成的时间
+     */
+    @ExcelProperty(value = "维修结束时间,记录维修完成的时间")
+    private Date completionTime;
+
+    /**
+     * 维修结束拍照,存储图片路径或URL
+     */
+    @ExcelProperty(value = "维修结束拍照,存储图片路径或URL")
+    private String completionPhoto;
+
+    /**
+     * 维修详情,记录维修的具体过程和结果
+     */
+    @ExcelProperty(value = "维修详情,记录维修的具体过程和结果")
+    private String repairCompletionDetails;
+
+    /**
+     * 备注
+     */
+    @ExcelProperty(value = "备注")
+    private String remark;
+
+
+}

+ 111 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/proprietorCar/ProprietorCar.java

@@ -0,0 +1,111 @@
+package org.dromara.domain.proprietorCar;
+
+import org.dromara.common.tenant.core.TenantEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+
+/**
+ * 业主车辆管理对象 proprietor_car
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("proprietor_car")
+public class ProprietorCar extends TenantEntity {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 业主车辆主键
+     */
+    @TableId(value = "car_id")
+    private Long carId;
+
+    /**
+     * 房屋信息id
+     */
+    private Long houseId;
+
+    /**
+     * 房屋的详细门牌号
+     */
+    private String detailedAddress;
+
+    /**
+     * 居住人员表id
+     */
+    private Long residentId;
+
+    /**
+     * 业主id
+     */
+    private Long userId;
+
+    /**
+     * 业主姓名
+     */
+    private String userName;
+
+    /**
+     * 业主手机号
+     */
+    private String residentPhone;
+
+    /**
+     * 车牌号码
+     */
+    private String plateNumber;
+
+    /**
+     * 车辆车型 (大众汽车牌SVW6474DFD)
+     */
+    private String vehicleBrand;
+
+    /**
+     * 车辆类型 (小型普通客车)
+     */
+    private String vehicleType;
+
+    /**
+     * 车辆能源类型 燃油 新能源
+     */
+    private String vehicleEnergy;
+
+    /**
+     * 车辆颜色
+     */
+    private String vehicleColour;
+
+    /**
+     * 发动机编号
+     */
+    private String engineNumber;
+
+    /**
+     * 车辆识别代号
+     */
+    private String identificationNumber;
+
+    /**
+     * 注册日期
+     */
+    private String registrationDate;
+
+    /**
+     * 发证日期
+     */
+    private String issueDate;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 112 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/proprietorCar/bo/ProprietorCarBo.java

@@ -0,0 +1,112 @@
+package org.dromara.domain.proprietorCar.bo;
+
+import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.domain.proprietorCar.ProprietorCar;
+
+/**
+ * 业主车辆管理业务对象 proprietor_car
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = ProprietorCar.class, reverseConvertGenerate = false)
+public class ProprietorCarBo extends BaseEntity {
+
+    /**
+     * 业主车辆主键
+     */
+    @NotNull(message = "业主车辆主键不能为空", groups = { EditGroup.class })
+    private Long carId;
+
+    /**
+     * 房屋信息id
+     */
+    private Long houseId;
+
+    /**
+     * 房屋的详细门牌号
+     */
+    private String detailedAddress;
+
+    /**
+     * 居住人员表id
+     */
+    private Long residentId;
+
+    /**
+     * 业主id
+     */
+    private Long userId;
+
+    /**
+     * 业主姓名
+     */
+    private String userName;
+
+    /**
+     * 业主手机号
+     */
+    private String residentPhone;
+
+    /**
+     * 车牌号码
+     */
+    @NotBlank(message = "车牌号码不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String plateNumber;
+
+    /**
+     * 车辆车型 (大众汽车牌SVW6474DFD)
+     */
+    private String vehicleBrand;
+
+    /**
+     * 车辆类型 (小型普通客车)
+     */
+    private String vehicleType;
+
+    /**
+     * 车辆能源类型 燃油 新能源
+     */
+    private String vehicleEnergy;
+
+    /**
+     * 车辆颜色
+     */
+    private String vehicleColour;
+
+    /**
+     * 发动机编号
+     */
+    private String engineNumber;
+
+    /**
+     * 车辆识别代号
+     */
+    private String identificationNumber;
+
+    /**
+     * 注册日期
+     */
+    private String registrationDate;
+
+    /**
+     * 发证日期
+     */
+    private String issueDate;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 135 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/proprietorCar/vo/ProprietorCarVo.java

@@ -0,0 +1,135 @@
+package org.dromara.domain.proprietorCar.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import org.dromara.domain.proprietorCar.ProprietorCar;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+
+
+/**
+ * 业主车辆管理视图对象 proprietor_car
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = ProprietorCar.class)
+public class ProprietorCarVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 业主车辆主键
+     */
+    @ExcelProperty(value = "业主车辆主键")
+    private Long carId;
+
+    /**
+     * 房屋信息id
+     */
+    @ExcelProperty(value = "房屋信息id")
+    private Long houseId;
+
+    /**
+     * 房屋的详细门牌号
+     */
+    @ExcelProperty(value = "房屋的详细门牌号")
+    private String detailedAddress;
+
+    /**
+     * 居住人员表id
+     */
+    @ExcelProperty(value = "居住人员表id")
+    private Long residentId;
+
+    /**
+     * 业主id
+     */
+    @ExcelProperty(value = "业主id")
+    private Long userId;
+
+    /**
+     * 业主姓名
+     */
+    @ExcelProperty(value = "业主姓名")
+    private String userName;
+
+    /**
+     * 业主手机号
+     */
+    @ExcelProperty(value = "业主手机号")
+    private String residentPhone;
+
+    /**
+     * 车牌号码
+     */
+    @ExcelProperty(value = "车牌号码")
+    private String plateNumber;
+
+    /**
+     * 车辆车型 (大众汽车牌SVW6474DFD)
+     */
+    @ExcelProperty(value = "车辆车型 ", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "大=众汽车牌SVW6474DFD")
+    private String vehicleBrand;
+
+    /**
+     * 车辆类型 (小型普通客车)
+     */
+    @ExcelProperty(value = "车辆类型 ", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "小=型普通客车")
+    private String vehicleType;
+
+    /**
+     * 车辆能源类型 燃油 新能源
+     */
+    @ExcelProperty(value = "车辆能源类型 燃油 新能源")
+    private String vehicleEnergy;
+
+    /**
+     * 车辆颜色
+     */
+    @ExcelProperty(value = "车辆颜色")
+    private String vehicleColour;
+
+    /**
+     * 发动机编号
+     */
+    @ExcelProperty(value = "发动机编号")
+    private String engineNumber;
+
+    /**
+     * 车辆识别代号
+     */
+    @ExcelProperty(value = "车辆识别代号")
+    private String identificationNumber;
+
+    /**
+     * 注册日期
+     */
+    @ExcelProperty(value = "注册日期")
+    private String registrationDate;
+
+    /**
+     * 发证日期
+     */
+    @ExcelProperty(value = "发证日期")
+    private String issueDate;
+
+    /**
+     * 备注
+     */
+    @ExcelProperty(value = "备注")
+    private String remark;
+
+
+}

+ 118 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/reservRecord/ReservRecord.java

@@ -0,0 +1,118 @@
+package org.dromara.domain.reservRecord;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.tenant.core.TenantEntity;
+
+import java.io.Serial;
+import java.util.Date;
+
+/**
+ * 预约记录对象 reserv_record
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("reserv_record")
+public class ReservRecord extends TenantEntity {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 预约主键
+     */
+    @TableId(value = "reserv_record_id")
+    private Long reservRecordId;
+
+    /**
+     * 门户id 房屋信息表的id
+     */
+    private Long portalId;
+
+    /**
+     * 详细门牌号
+     */
+    private String houseAddress;
+
+    /**
+     * 详细地址
+     */
+    private String detailAddress;
+
+    /**
+     * 经度
+     */
+    private String lgt;
+
+    /**
+     * 纬度
+     */
+    private String lat;
+
+    /**
+     * 分享人姓名
+     */
+    private String shareName;
+
+    /**
+     * 访客姓名
+     */
+    private String name;
+
+    /**
+     * 来访人数
+     */
+    private String num;
+
+    /**
+     * 来访事由
+     */
+    private String reason;
+
+    /**
+     * 手机号码
+     */
+    private String mobileNumber;
+
+    /**
+     * 是否驾车 N:否 Y:是
+     */
+    private String isCar;
+
+    /**
+     * 车牌号码
+     */
+    private String plateNumber;
+
+    /**
+     * 预约时间
+     */
+    private Date reserveTime;
+
+    /**
+     * 来访时间
+     */
+    private Date visitorTime;
+
+    /**
+     * 状态 1:待来访 2:已来访 3:已过期
+     */
+    private String status;
+
+    /**
+     * 人脸信息
+     */
+    private String photo;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 124 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/reservRecord/bo/ReservRecordBo.java

@@ -0,0 +1,124 @@
+package org.dromara.domain.reservRecord.bo;
+
+import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.domain.reservRecord.ReservRecord;
+
+import java.util.Date;
+
+/**
+ * 预约记录业务对象 reserv_record
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = ReservRecord.class, reverseConvertGenerate = false)
+public class ReservRecordBo extends BaseEntity {
+
+    /**
+     * 预约主键
+     */
+    @NotNull(message = "预约主键不能为空", groups = { EditGroup.class })
+    private Long reservRecordId;
+
+    /**
+     * 门户id 房屋信息表的id
+     */
+    @NotNull(message = "门户id 房屋信息表的id不能为空", groups = { AddGroup.class, EditGroup.class })
+    private Long portalId;
+
+    /**
+     * 详细门牌号
+     */
+    @NotBlank(message = "详细门牌号不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String houseAddress;
+
+    /**
+     * 详细地址
+     */
+    @NotBlank(message = "详细地址不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String detailAddress;
+
+    /**
+     * 经度
+     */
+    @NotBlank(message = "经度不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String lgt;
+
+    /**
+     * 纬度
+     */
+    @NotBlank(message = "纬度不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String lat;
+
+    /**
+     * 分享人姓名
+     */
+    private String shareName;
+
+    /**
+     * 访客姓名
+     */
+    private String name;
+
+    /**
+     * 来访人数
+     */
+    private String num;
+
+    /**
+     * 来访事由
+     */
+    private String reason;
+
+    /**
+     * 手机号码
+     */
+    @NotBlank(message = "手机号码不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String mobileNumber;
+
+    /**
+     * 是否驾车 N:否 Y:是
+     */
+    private String isCar;
+
+    /**
+     * 车牌号码
+     */
+    private String plateNumber;
+
+    /**
+     * 预约时间
+     */
+    private Date reserveTime;
+
+    /**
+     * 来访时间
+     */
+    private Date visitorTime;
+
+    /**
+     * 状态 1:待来访 2:已来访 3:已过期
+     */
+    private String status;
+
+    /**
+     * 人脸信息
+     */
+    private String photo;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 138 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/reservRecord/vo/ReservRecordVo.java

@@ -0,0 +1,138 @@
+package org.dromara.domain.reservRecord.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.domain.reservRecord.ReservRecord;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 预约记录视图对象 reserv_record
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = ReservRecord.class)
+public class ReservRecordVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 预约主键
+     */
+    @ExcelProperty(value = "预约主键")
+    private Long reservRecordId;
+
+    /**
+     * 门户id 房屋信息表的id
+     */
+    @ExcelProperty(value = "门户id 房屋信息表的id")
+    private Long portalId;
+
+    /**
+     * 详细门牌号
+     */
+    @ExcelProperty(value = "详细门牌号")
+    private String houseAddress;
+
+    /**
+     * 详细地址
+     */
+    @ExcelProperty(value = "详细地址")
+    private String detailAddress;
+
+    /**
+     * 经度
+     */
+    @ExcelProperty(value = "经度")
+    private String lgt;
+
+    /**
+     * 纬度
+     */
+    @ExcelProperty(value = "纬度")
+    private String lat;
+
+    /**
+     * 分享人姓名
+     */
+    @ExcelProperty(value = "分享人姓名")
+    private String shareName;
+
+    /**
+     * 访客姓名
+     */
+    @ExcelProperty(value = "访客姓名")
+    private String name;
+
+    /**
+     * 来访人数
+     */
+    @ExcelProperty(value = "来访人数")
+    private String num;
+
+    /**
+     * 来访事由
+     */
+    @ExcelProperty(value = "来访事由")
+    private String reason;
+
+    /**
+     * 手机号码
+     */
+    @ExcelProperty(value = "手机号码")
+    private String mobileNumber;
+
+    /**
+     * 是否驾车 N:否 Y:是
+     */
+    @ExcelProperty(value = "是否驾车 N:否 Y:是")
+    private String isCar;
+
+    /**
+     * 车牌号码
+     */
+    @ExcelProperty(value = "车牌号码")
+    private String plateNumber;
+
+    /**
+     * 预约时间
+     */
+    @ExcelProperty(value = "预约时间")
+    private Date reserveTime;
+
+    /**
+     * 来访时间
+     */
+    @ExcelProperty(value = "来访时间")
+    private Date visitorTime;
+
+    /**
+     * 状态 1:待来访 2:已来访 3:已过期
+     */
+    @ExcelProperty(value = "状态 1:待来访 2:已来访 3:已过期")
+    private String status;
+
+    /**
+     * 人脸信息
+     */
+    @ExcelProperty(value = "人脸信息")
+    private String photo;
+
+    /**
+     * 备注
+     */
+    @ExcelProperty(value = "备注")
+    private String remark;
+
+
+}

+ 131 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/residentInfo/ResidentInfo.java

@@ -0,0 +1,131 @@
+package org.dromara.domain.residentInfo;
+
+import org.dromara.common.tenant.core.TenantEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+
+/**
+ * 居住人员信息,存储居住人员的详细信息对象 resident_info
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("resident_info")
+public class ResidentInfo extends TenantEntity {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 居住人员主键,唯一标识每条居住人员信息
+     */
+    @TableId(value = "resident_id")
+    private Long residentId;
+
+    /**
+     * 关联房屋信息表的house_id,标识居住人员所属房屋
+     */
+    private Long houseId;
+
+    /**
+     * 关联sys_user表中user_id
+     */
+    private Long userId;
+
+    /**
+     * 居住人员的详细门牌号
+     */
+    private String detailedAddress;
+
+    /**
+     * 居住人员姓名
+     */
+    private String residentName;
+
+    /**
+     * 居住人员身份证号码,18位
+     */
+    private String residentIdCard;
+
+    /**
+     * 居住人员出生日期
+     */
+    private String residentBirthday;
+
+    /**
+     * 居住人员手机号
+     */
+    private String residentPhone;
+
+    /**
+     * 居住人员性别:1-男,2-女
+     */
+    private Long residentGender;
+
+    /**
+     * 居住人员与户主的关系,如父子、夫妻等
+     */
+    private String residentRelationship;
+
+    /**
+     * 是否是户主:Y-是,N-否
+     */
+    private String isHouseholder;
+
+    /**
+     * 是否是租户:Y-是,N-否
+     */
+    private String isTenant;
+
+    /**
+     * 居住人员工作单位
+     */
+    private String residentEmployer;
+
+    /**
+     * 特殊类型
+     */
+    private String specialType;
+
+    /**
+     * 爱好字典值多选
+     */
+    private String residentHobby;
+
+    /**
+     * 居住人员面貌,如党员、群众等
+     */
+    private String residentAppearance;
+
+    /**
+     * 身份证正面
+     */
+    private String idCardFront;
+
+    /**
+     * 身份证反面
+     */
+    private String idCardBack;
+
+    /**
+     * 身份证住址
+     */
+    private String idCardAddress;
+
+    /**
+     * 人脸地址
+     */
+    private String facePhoto;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 131 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/residentInfo/bo/ResidentInfoBo.java

@@ -0,0 +1,131 @@
+package org.dromara.domain.residentInfo.bo;
+
+import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.domain.residentInfo.ResidentInfo;
+
+/**
+ * 居住人员信息,存储居住人员的详细信息业务对象 resident_info
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = ResidentInfo.class, reverseConvertGenerate = false)
+public class ResidentInfoBo extends BaseEntity {
+
+    /**
+     * 居住人员主键,唯一标识每条居住人员信息
+     */
+    @NotNull(message = "居住人员主键,唯一标识每条居住人员信息不能为空", groups = { EditGroup.class })
+    private Long residentId;
+
+    /**
+     * 关联房屋信息表的house_id,标识居住人员所属房屋
+     */
+    @NotNull(message = "关联房屋信息表的house_id,标识居住人员所属房屋不能为空", groups = { AddGroup.class, EditGroup.class })
+    private Long houseId;
+
+    /**
+     * 关联sys_user表中user_id
+     */
+    private Long userId;
+
+    /**
+     * 居住人员的详细门牌号
+     */
+    private String detailedAddress;
+
+    /**
+     * 居住人员姓名
+     */
+    private String residentName;
+
+    /**
+     * 居住人员身份证号码,18位
+     */
+    private String residentIdCard;
+
+    /**
+     * 居住人员出生日期
+     */
+    private String residentBirthday;
+
+    /**
+     * 居住人员手机号
+     */
+    private String residentPhone;
+
+    /**
+     * 居住人员性别:1-男,2-女
+     */
+    private Long residentGender;
+
+    /**
+     * 居住人员与户主的关系,如父子、夫妻等
+     */
+    private String residentRelationship;
+
+    /**
+     * 是否是户主:Y-是,N-否
+     */
+    private String isHouseholder;
+
+    /**
+     * 是否是租户:Y-是,N-否
+     */
+    private String isTenant;
+
+    /**
+     * 居住人员工作单位
+     */
+    private String residentEmployer;
+
+    /**
+     * 特殊类型
+     */
+    private String specialType;
+
+    /**
+     * 爱好字典值多选
+     */
+    private String residentHobby;
+
+    /**
+     * 居住人员面貌,如党员、群众等
+     */
+    private String residentAppearance;
+
+    /**
+     * 身份证正面
+     */
+    private String idCardFront;
+
+    /**
+     * 身份证反面
+     */
+    private String idCardBack;
+
+    /**
+     * 身份证住址
+     */
+    private String idCardAddress;
+
+    /**
+     * 人脸地址
+     */
+    private String facePhoto;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 155 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/residentInfo/vo/ResidentInfoVo.java

@@ -0,0 +1,155 @@
+package org.dromara.domain.residentInfo.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.domain.residentInfo.ResidentInfo;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+
+
+/**
+ * 居住人员信息,存储居住人员的详细信息视图对象 resident_info
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = ResidentInfo.class)
+public class ResidentInfoVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 居住人员主键,唯一标识每条居住人员信息
+     */
+    @ExcelProperty(value = "居住人员主键,唯一标识每条居住人员信息")
+    private Long residentId;
+
+    /**
+     * 关联房屋信息表的house_id,标识居住人员所属房屋
+     */
+    @ExcelProperty(value = "关联房屋信息表的house_id,标识居住人员所属房屋")
+    private Long houseId;
+
+    /**
+     * 关联sys_user表中user_id
+     */
+    @ExcelProperty(value = "关联sys_user表中user_id")
+    private Long userId;
+
+    /**
+     * 居住人员的详细门牌号
+     */
+    @ExcelProperty(value = "居住人员的详细门牌号")
+    private String detailedAddress;
+
+    /**
+     * 居住人员姓名
+     */
+    @ExcelProperty(value = "居住人员姓名")
+    private String residentName;
+
+    /**
+     * 居住人员身份证号码,18位
+     */
+    @ExcelProperty(value = "居住人员身份证号码,18位")
+    private String residentIdCard;
+
+    /**
+     * 居住人员出生日期
+     */
+    @ExcelProperty(value = "居住人员出生日期")
+    private String residentBirthday;
+
+    /**
+     * 居住人员手机号
+     */
+    @ExcelProperty(value = "居住人员手机号")
+    private String residentPhone;
+
+    /**
+     * 居住人员性别:1-男,2-女
+     */
+    @ExcelProperty(value = "居住人员性别:1-男,2-女")
+    private Long residentGender;
+
+    /**
+     * 居住人员与户主的关系,如父子、夫妻等
+     */
+    @ExcelProperty(value = "居住人员与户主的关系,如父子、夫妻等")
+    private String residentRelationship;
+
+    /**
+     * 是否是户主:Y-是,N-否
+     */
+    @ExcelProperty(value = "是否是户主:Y-是,N-否")
+    private String isHouseholder;
+
+    /**
+     * 是否是租户:Y-是,N-否
+     */
+    @ExcelProperty(value = "是否是租户:Y-是,N-否")
+    private String isTenant;
+
+    /**
+     * 居住人员工作单位
+     */
+    @ExcelProperty(value = "居住人员工作单位")
+    private String residentEmployer;
+
+    /**
+     * 特殊类型
+     */
+    @ExcelProperty(value = "特殊类型")
+    private String specialType;
+
+    /**
+     * 爱好字典值多选
+     */
+    @ExcelProperty(value = "爱好字典值多选")
+    private String residentHobby;
+
+    /**
+     * 居住人员面貌,如党员、群众等
+     */
+    @ExcelProperty(value = "居住人员面貌,如党员、群众等")
+    private String residentAppearance;
+
+    /**
+     * 身份证正面
+     */
+    @ExcelProperty(value = "身份证正面")
+    private String idCardFront;
+
+    /**
+     * 身份证反面
+     */
+    @ExcelProperty(value = "身份证反面")
+    private String idCardBack;
+
+    /**
+     * 身份证住址
+     */
+    @ExcelProperty(value = "身份证住址")
+    private String idCardAddress;
+
+    /**
+     * 人脸地址
+     */
+    @ExcelProperty(value = "人脸地址")
+    private String facePhoto;
+
+    /**
+     * 备注
+     */
+    @ExcelProperty(value = "备注")
+    private String remark;
+
+
+}

+ 98 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/staffTrain/StaffTrainManual.java

@@ -0,0 +1,98 @@
+package org.dromara.domain.staffTrain;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.tenant.core.TenantEntity;
+
+import java.io.Serial;
+import java.util.Date;
+
+/**
+ * 员工培训手册对象 staff_train_manual
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("staff_train_manual")
+public class StaffTrainManual extends TenantEntity {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 员工培训手册ID
+     */
+    @TableId(value = "manual_id")
+    private Long manualId;
+
+    /**
+     * 员工培训手册标题
+     */
+    private String manualTitle;
+
+    /**
+     * 员工培训手册类型(1:图片 2:视频)
+     */
+    private String manualType;
+
+    /**
+     * 员工培训手册内容
+     */
+    private String manualContent;
+
+    /**
+     * 员工培训手册状态(0正常 1关闭)
+     */
+    private String status;
+
+    /**
+     * 发布时间
+     */
+    private Date publishTime;
+
+    /**
+     * 视频地址URL
+     */
+    private String videoUrl;
+
+    /**
+     * 封面图片,存储图片路径或URL
+     */
+    private String coverImage;
+
+    /**
+     * 作者,记录资讯的发布者
+     */
+    private String author;
+
+    /**
+     * 来源,记录资讯的来源(如单位、网站等)
+     */
+    private String source;
+
+    /**
+     * 浏览次数,记录资讯被查看的次数
+     */
+    private Long viewCount;
+
+    /**
+     * 进度
+     */
+    private String progress;
+
+    /**
+     * 是否置顶:Y(置顶)、N(不置顶)
+     */
+    private String isTop;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 100 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/staffTrain/bo/StaffTrainManualBo.java

@@ -0,0 +1,100 @@
+package org.dromara.domain.staffTrain.bo;
+
+import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.domain.staffTrain.StaffTrainManual;
+
+import java.util.Date;
+
+/**
+ * 员工培训手册业务对象 staff_train_manual
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = StaffTrainManual.class, reverseConvertGenerate = false)
+public class StaffTrainManualBo extends BaseEntity {
+
+    /**
+     * 员工培训手册ID
+     */
+    @NotNull(message = "员工培训手册ID不能为空", groups = { EditGroup.class })
+    private Long manualId;
+
+    /**
+     * 员工培训手册标题
+     */
+    @NotBlank(message = "员工培训手册标题不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String manualTitle;
+
+    /**
+     * 员工培训手册类型(1:图片 2:视频)
+     */
+    @NotBlank(message = "员工培训手册类型(1:图片 2:视频)不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String manualType;
+
+    /**
+     * 员工培训手册内容
+     */
+    private String manualContent;
+
+    /**
+     * 员工培训手册状态(0正常 1关闭)
+     */
+    private String status;
+
+    /**
+     * 发布时间
+     */
+    private Date publishTime;
+
+    /**
+     * 视频地址URL
+     */
+    private String videoUrl;
+
+    /**
+     * 封面图片,存储图片路径或URL
+     */
+    private String coverImage;
+
+    /**
+     * 作者,记录资讯的发布者
+     */
+    private String author;
+
+    /**
+     * 来源,记录资讯的来源(如单位、网站等)
+     */
+    private String source;
+
+    /**
+     * 浏览次数,记录资讯被查看的次数
+     */
+    private Long viewCount;
+
+    /**
+     * 进度
+     */
+    private String progress;
+
+    /**
+     * 是否置顶:Y(置顶)、N(不置顶)
+     */
+    private String isTop;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 127 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/staffTrain/vo/StaffTrainManualVo.java

@@ -0,0 +1,127 @@
+package org.dromara.domain.staffTrain.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import org.dromara.common.translation.annotation.Translation;
+import org.dromara.common.translation.constant.TransConstant;
+import org.dromara.domain.staffTrain.StaffTrainManual;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 员工培训手册视图对象 staff_train_manual
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = StaffTrainManual.class)
+public class StaffTrainManualVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 员工培训手册ID
+     */
+    @ExcelProperty(value = "员工培训手册ID")
+    private Long manualId;
+
+    /**
+     * 员工培训手册标题
+     */
+    @ExcelProperty(value = "员工培训手册标题")
+    private String manualTitle;
+
+    /**
+     * 员工培训手册类型(1:图片 2:视频)
+     */
+    @ExcelProperty(value = "员工培训手册类型", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "1=:图片,2=:视频")
+    private String manualType;
+
+    /**
+     * 员工培训手册内容
+     */
+    @ExcelProperty(value = "员工培训手册内容")
+    private String manualContent;
+
+    /**
+     * 员工培训手册状态(0正常 1关闭)
+     */
+    @ExcelProperty(value = "员工培训手册状态", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "0=正常,1=关闭")
+    private String status;
+
+    /**
+     * 发布时间
+     */
+    @ExcelProperty(value = "发布时间")
+    private Date publishTime;
+
+    /**
+     * 视频地址URL
+     */
+    @ExcelProperty(value = "视频地址URL")
+    private String videoUrl;
+
+    /**
+     * 封面图片,存储图片路径或URL
+     */
+    @ExcelProperty(value = "封面图片,存储图片路径或URL")
+    private String coverImage;
+
+    /**
+     * 封面图片,存储图片路径或URLUrl
+     */
+    @Translation(type = TransConstant.OSS_ID_TO_URL, mapper = "coverImage")
+    private String coverImageUrl;
+    /**
+     * 作者,记录资讯的发布者
+     */
+    @ExcelProperty(value = "作者,记录资讯的发布者")
+    private String author;
+
+    /**
+     * 来源,记录资讯的来源(如单位、网站等)
+     */
+    @ExcelProperty(value = "来源,记录资讯的来源", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "如=单位、网站等")
+    private String source;
+
+    /**
+     * 浏览次数,记录资讯被查看的次数
+     */
+    @ExcelProperty(value = "浏览次数,记录资讯被查看的次数")
+    private Long viewCount;
+
+    /**
+     * 进度
+     */
+    @ExcelProperty(value = "进度")
+    private String progress;
+
+    /**
+     * 是否置顶:Y(置顶)、N(不置顶)
+     */
+    @ExcelProperty(value = "是否置顶:Y", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "置=顶")
+    private String isTop;
+
+    /**
+     * 备注
+     */
+    @ExcelProperty(value = "备注")
+    private String remark;
+
+
+}

+ 61 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/staffTrainTime/StaffTrainTime.java

@@ -0,0 +1,61 @@
+package org.dromara.domain.staffTrainTime;
+
+import org.dromara.common.tenant.core.TenantEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+
+/**
+ * 员工培训时长对象 staff_train_time
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("staff_train_time")
+public class StaffTrainTime extends TenantEntity {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 员工培训时长ID
+     */
+    @TableId(value = "train_time_id")
+    private Long trainTimeId;
+
+    /**
+     * 员工管理id
+     */
+    private Long staffId;
+
+    /**
+     * 员工姓名
+     */
+    private String staffName;
+
+    /**
+     * 员工账号id
+     */
+    private Long userId;
+
+    /**
+     * 员工培训手册ID
+     */
+    private Long manualId;
+
+    /**
+     * 阅读时长
+     */
+    private String staffTime;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 59 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/staffTrainTime/bo/StaffTrainTimeBo.java

@@ -0,0 +1,59 @@
+package org.dromara.domain.staffTrainTime.bo;
+
+import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.domain.staffTrainTime.StaffTrainTime;
+
+/**
+ * 员工培训时长业务对象 staff_train_time
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = StaffTrainTime.class, reverseConvertGenerate = false)
+public class StaffTrainTimeBo extends BaseEntity {
+
+    /**
+     * 员工培训时长ID
+     */
+    @NotNull(message = "员工培训时长ID不能为空", groups = { EditGroup.class })
+    private Long trainTimeId;
+
+    /**
+     * 员工管理id
+     */
+    private Long staffId;
+
+    /**
+     * 员工姓名
+     */
+    private String staffName;
+
+    /**
+     * 员工账号id
+     */
+    private Long userId;
+
+    /**
+     * 员工培训手册ID
+     */
+    private Long manualId;
+
+    /**
+     * 阅读时长
+     */
+    private String staffTime;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 71 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/staffTrainTime/vo/StaffTrainTimeVo.java

@@ -0,0 +1,71 @@
+package org.dromara.domain.staffTrainTime.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.domain.staffTrainTime.StaffTrainTime;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+
+
+/**
+ * 员工培训时长视图对象 staff_train_time
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = StaffTrainTime.class)
+public class StaffTrainTimeVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 员工培训时长ID
+     */
+    @ExcelProperty(value = "员工培训时长ID")
+    private Long trainTimeId;
+
+    /**
+     * 员工管理id
+     */
+    @ExcelProperty(value = "员工管理id")
+    private Long staffId;
+
+    /**
+     * 员工姓名
+     */
+    @ExcelProperty(value = "员工姓名")
+    private String staffName;
+
+    /**
+     * 员工账号id
+     */
+    @ExcelProperty(value = "员工账号id")
+    private Long userId;
+
+    /**
+     * 员工培训手册ID
+     */
+    @ExcelProperty(value = "员工培训手册ID")
+    private Long manualId;
+
+    /**
+     * 阅读时长
+     */
+    @ExcelProperty(value = "阅读时长")
+    private String staffTime;
+
+    /**
+     * 备注
+     */
+    @ExcelProperty(value = "备注")
+    private String remark;
+
+
+}

+ 66 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/suggestionFj/SuggestionFj.java

@@ -0,0 +1,66 @@
+package org.dromara.domain.suggestionFj;
+
+import org.dromara.common.tenant.core.TenantEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+
+/**
+ * 投诉建议_附件对象 suggestion_fj
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("suggestion_fj")
+public class SuggestionFj extends TenantEntity {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 附件ID
+     */
+    @TableId(value = "suggestion_fj_id")
+    private Long suggestionFjId;
+
+    /**
+     * 投诉建议id
+     */
+    private Long suggestionId;
+
+    /**
+     * 原文件名称
+     */
+    private String oldName;
+
+    /**
+     * 附件名称
+     */
+    private String name;
+
+    /**
+     * 附件地址
+     */
+    private String url;
+
+    /**
+     * 文件分类:1:基础附件
+     */
+    private String bigType;
+
+    /**
+     * 文件类型 1:投诉建议
+     */
+    private String type;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 68 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/suggestionFj/bo/SuggestionFjBo.java

@@ -0,0 +1,68 @@
+package org.dromara.domain.suggestionFj.bo;
+
+import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.domain.suggestionFj.SuggestionFj;
+
+/**
+ * 投诉建议_附件业务对象 suggestion_fj
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = SuggestionFj.class, reverseConvertGenerate = false)
+public class SuggestionFjBo extends BaseEntity {
+
+    /**
+     * 附件ID
+     */
+    @NotNull(message = "附件ID不能为空", groups = { EditGroup.class })
+    private Long suggestionFjId;
+
+    /**
+     * 投诉建议id
+     */
+    @NotNull(message = "投诉建议id不能为空", groups = { AddGroup.class, EditGroup.class })
+    private Long suggestionId;
+
+    /**
+     * 原文件名称
+     */
+    private String oldName;
+
+    /**
+     * 附件名称
+     */
+    @NotBlank(message = "附件名称不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String name;
+
+    /**
+     * 附件地址
+     */
+    private String url;
+
+    /**
+     * 文件分类:1:基础附件
+     */
+    private String bigType;
+
+    /**
+     * 文件类型 1:投诉建议
+     */
+    private String type;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 77 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/suggestionFj/vo/SuggestionFjVo.java

@@ -0,0 +1,77 @@
+package org.dromara.domain.suggestionFj.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.domain.suggestionFj.SuggestionFj;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+
+
+/**
+ * 投诉建议_附件视图对象 suggestion_fj
+ *
+ * @author boman
+ * @date 2025-04-11
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = SuggestionFj.class)
+public class SuggestionFjVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 附件ID
+     */
+    @ExcelProperty(value = "附件ID")
+    private Long suggestionFjId;
+
+    /**
+     * 投诉建议id
+     */
+    @ExcelProperty(value = "投诉建议id")
+    private Long suggestionId;
+
+    /**
+     * 原文件名称
+     */
+    @ExcelProperty(value = "原文件名称")
+    private String oldName;
+
+    /**
+     * 附件名称
+     */
+    @ExcelProperty(value = "附件名称")
+    private String name;
+
+    /**
+     * 附件地址
+     */
+    @ExcelProperty(value = "附件地址")
+    private String url;
+
+    /**
+     * 文件分类:1:基础附件
+     */
+    @ExcelProperty(value = "文件分类:1:基础附件")
+    private String bigType;
+
+    /**
+     * 文件类型 1:投诉建议
+     */
+    @ExcelProperty(value = "文件类型 1:投诉建议")
+    private String type;
+
+    /**
+     * 备注
+     */
+    @ExcelProperty(value = "备注")
+    private String remark;
+
+
+}

Vissa filer visades inte eftersom för många filer har ändrats