diff --git a/pom.xml b/pom.xml
index ffbb36ea..d702f67f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -74,11 +74,14 @@
dev
127.0.0.1:8848
+ 127.0.0.1:4560
+
+
DEFAULT_GROUP
DEFAULT_GROUP
nacos
nacos
- 127.0.0.1:4560
+
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/ApplicationController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/ApplicationController.java
new file mode 100644
index 00000000..5f17fa20
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/ApplicationController.java
@@ -0,0 +1,106 @@
+package org.dromara.property.controller;
+
+import java.util.List;
+
+import lombok.RequiredArgsConstructor;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.*;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.common.mybatis.core.page.PageQuery;
+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.log.enums.BusinessType;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.property.domain.vo.ApplicationVo;
+import org.dromara.property.domain.bo.ApplicationBo;
+import org.dromara.property.service.IApplicationService;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 资产领用
+ * 前端访问路由地址为:/property/application
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/application")
+public class ApplicationController extends BaseController {
+
+ private final IApplicationService applicationService;
+
+ /**
+ * 查询资产领用列表
+ */
+ @SaCheckPermission("property:application:list")
+ @GetMapping("/list")
+ public TableDataInfo list(ApplicationBo bo, PageQuery pageQuery) {
+ return applicationService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 导出资产领用列表
+ */
+ @SaCheckPermission("property:application:export")
+ @Log(title = "资产领用", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(ApplicationBo bo, HttpServletResponse response) {
+ List list = applicationService.queryList(bo);
+ ExcelUtil.exportExcel(list, "资产领用", ApplicationVo.class, response);
+ }
+
+ /**
+ * 获取资产领用详细信息
+ *
+ * @param id 主键
+ */
+ @SaCheckPermission("property:application:query")
+ @GetMapping("/{id}")
+ public R getInfo(@NotNull(message = "主键不能为空")
+ @PathVariable("id") Long id) {
+ return R.ok(applicationService.queryById(id));
+ }
+
+ /**
+ * 新增资产领用
+ */
+ @SaCheckPermission("property:application:add")
+ @Log(title = "资产领用", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R add(@Validated(AddGroup.class) @RequestBody ApplicationBo bo) {
+ return toAjax(applicationService.insertByBo(bo));
+ }
+
+ /**
+ * 修改资产领用
+ */
+ @SaCheckPermission("property:application:edit")
+ @Log(title = "资产领用", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R edit(@Validated(EditGroup.class) @RequestBody ApplicationBo bo) {
+ return toAjax(applicationService.updateByBo(bo));
+ }
+
+ /**
+ * 删除资产领用
+ *
+ * @param ids 主键串
+ */
+ @SaCheckPermission("property:application:remove")
+ @Log(title = "资产领用", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public R remove(@NotEmpty(message = "主键不能为空")
+ @PathVariable("ids") Long[] ids) {
+ return toAjax(applicationService.deleteWithValidByIds(List.of(ids), true));
+ }
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/AssetController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/AssetController.java
new file mode 100644
index 00000000..6ee4eb63
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/AssetController.java
@@ -0,0 +1,106 @@
+package org.dromara.property.controller;
+
+import java.util.List;
+
+import lombok.RequiredArgsConstructor;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.*;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.common.mybatis.core.page.PageQuery;
+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.log.enums.BusinessType;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.property.domain.vo.AssetVo;
+import org.dromara.property.domain.bo.AssetBo;
+import org.dromara.property.service.IAssetService;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 资产管理
+ * 前端访问路由地址为:/property/asset
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/asset")
+public class AssetController extends BaseController {
+
+ private final IAssetService assetService;
+
+ /**
+ * 查询资产管理列表
+ */
+ @SaCheckPermission("property:asset:list")
+ @GetMapping("/list")
+ public TableDataInfo list(AssetBo bo, PageQuery pageQuery) {
+ return assetService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 导出资产管理列表
+ */
+ @SaCheckPermission("property:asset:export")
+ @Log(title = "资产管理", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(AssetBo bo, HttpServletResponse response) {
+ List list = assetService.queryList(bo);
+ ExcelUtil.exportExcel(list, "资产管理", AssetVo.class, response);
+ }
+
+ /**
+ * 获取资产管理详细信息
+ *
+ * @param id 主键
+ */
+ @SaCheckPermission("property:asset:query")
+ @GetMapping("/{id}")
+ public R getInfo(@NotNull(message = "主键不能为空")
+ @PathVariable("id") Long id) {
+ return R.ok(assetService.queryById(id));
+ }
+
+ /**
+ * 新增资产管理
+ */
+ @SaCheckPermission("property:asset:add")
+ @Log(title = "资产管理", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R add(@Validated(AddGroup.class) @RequestBody AssetBo bo) {
+ return toAjax(assetService.insertByBo(bo));
+ }
+
+ /**
+ * 修改资产管理
+ */
+ @SaCheckPermission("property:asset:edit")
+ @Log(title = "资产管理", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R edit(@Validated(EditGroup.class) @RequestBody AssetBo bo) {
+ return toAjax(assetService.updateByBo(bo));
+ }
+
+ /**
+ * 删除资产管理
+ *
+ * @param ids 主键串
+ */
+ @SaCheckPermission("property:asset:remove")
+ @Log(title = "资产管理", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public R remove(@NotEmpty(message = "主键不能为空")
+ @PathVariable("ids") Long[] ids) {
+ return toAjax(assetService.deleteWithValidByIds(List.of(ids), true));
+ }
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/CleanController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/CleanController.java
new file mode 100644
index 00000000..096c935d
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/CleanController.java
@@ -0,0 +1,106 @@
+package org.dromara.property.controller;
+
+import java.util.List;
+
+import lombok.RequiredArgsConstructor;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.*;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.common.mybatis.core.page.PageQuery;
+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.log.enums.BusinessType;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.property.domain.vo.CleanVo;
+import org.dromara.property.domain.bo.CleanBo;
+import org.dromara.property.service.ICleanService;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 保洁管理
+ * 前端访问路由地址为:/property/clean
+ *
+ * @author mocheng
+ * @date 2025-06-19
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/clean")
+public class CleanController extends BaseController {
+
+ private final ICleanService cleanService;
+
+ /**
+ * 查询保洁管理列表
+ */
+ @SaCheckPermission("property:clean:list")
+ @GetMapping("/list")
+ public TableDataInfo list(CleanBo bo, PageQuery pageQuery) {
+ return cleanService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 导出保洁管理列表
+ */
+ @SaCheckPermission("property:clean:export")
+ @Log(title = "保洁管理", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(CleanBo bo, HttpServletResponse response) {
+ List list = cleanService.queryList(bo);
+ ExcelUtil.exportExcel(list, "保洁管理", CleanVo.class, response);
+ }
+
+ /**
+ * 获取保洁管理详细信息
+ *
+ * @param id 主键
+ */
+ @SaCheckPermission("property:clean:query")
+ @GetMapping("/{id}")
+ public R getInfo(@NotNull(message = "主键不能为空")
+ @PathVariable("id") Long id) {
+ return R.ok(cleanService.queryById(id));
+ }
+
+ /**
+ * 新增保洁管理
+ */
+ @SaCheckPermission("property:clean:add")
+ @Log(title = "保洁管理", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R add(@Validated(AddGroup.class) @RequestBody CleanBo bo) {
+ return toAjax(cleanService.insertByBo(bo));
+ }
+
+ /**
+ * 修改保洁管理
+ */
+ @SaCheckPermission("property:clean:edit")
+ @Log(title = "保洁管理", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R edit(@Validated(EditGroup.class) @RequestBody CleanBo bo) {
+ return toAjax(cleanService.updateByBo(bo));
+ }
+
+ /**
+ * 删除保洁管理
+ *
+ * @param ids 主键串
+ */
+ @SaCheckPermission("property:clean:remove")
+ @Log(title = "保洁管理", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public R remove(@NotEmpty(message = "主键不能为空")
+ @PathVariable("ids") Long[] ids) {
+ return toAjax(cleanService.deleteWithValidByIds(List.of(ids), true));
+ }
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/CleanOrderController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/CleanOrderController.java
new file mode 100644
index 00000000..4a11519f
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/CleanOrderController.java
@@ -0,0 +1,106 @@
+package org.dromara.property.controller;
+
+import java.util.List;
+
+import lombok.RequiredArgsConstructor;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.*;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.common.mybatis.core.page.PageQuery;
+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.log.enums.BusinessType;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.property.domain.vo.CleanOrderVo;
+import org.dromara.property.domain.bo.CleanOrderBo;
+import org.dromara.property.service.ICleanOrderService;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 保洁订单
+ * 前端访问路由地址为:/property/clean_order
+ *
+ * @author mocheng
+ * @date 2025-06-19
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/clean_order")
+public class CleanOrderController extends BaseController {
+
+ private final ICleanOrderService cleanOrderService;
+
+ /**
+ * 查询保洁订单列表
+ */
+ @SaCheckPermission("property:clean_order:list")
+ @GetMapping("/list")
+ public TableDataInfo list(CleanOrderBo bo, PageQuery pageQuery) {
+ return cleanOrderService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 导出保洁订单列表
+ */
+ @SaCheckPermission("property:clean_order:export")
+ @Log(title = "保洁订单", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(CleanOrderBo bo, HttpServletResponse response) {
+ List list = cleanOrderService.queryList(bo);
+ ExcelUtil.exportExcel(list, "保洁订单", CleanOrderVo.class, response);
+ }
+
+ /**
+ * 获取保洁订单详细信息
+ *
+ * @param id 主键
+ */
+ @SaCheckPermission("property:clean_order:query")
+ @GetMapping("/{id}")
+ public R getInfo(@NotNull(message = "主键不能为空")
+ @PathVariable("id") Long id) {
+ return R.ok(cleanOrderService.queryById(id));
+ }
+
+ /**
+ * 新增保洁订单
+ */
+ @SaCheckPermission("property:clean_order:add")
+ @Log(title = "保洁订单", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R add(@Validated(AddGroup.class) @RequestBody CleanOrderBo bo) {
+ return toAjax(cleanOrderService.insertByBo(bo));
+ }
+
+ /**
+ * 修改保洁订单
+ */
+ @SaCheckPermission("property:clean_order:edit")
+ @Log(title = "保洁订单", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R edit(@Validated(EditGroup.class) @RequestBody CleanOrderBo bo) {
+ return toAjax(cleanOrderService.updateByBo(bo));
+ }
+
+ /**
+ * 删除保洁订单
+ *
+ * @param ids 主键串
+ */
+ @SaCheckPermission("property:clean_order:remove")
+ @Log(title = "保洁订单", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public R remove(@NotEmpty(message = "主键不能为空")
+ @PathVariable("ids") Long[] ids) {
+ return toAjax(cleanOrderService.deleteWithValidByIds(List.of(ids), true));
+ }
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/ConteactController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/ConteactController.java
new file mode 100644
index 00000000..087a9b56
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/ConteactController.java
@@ -0,0 +1,106 @@
+package org.dromara.property.controller;
+
+import java.util.List;
+
+import lombok.RequiredArgsConstructor;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.*;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.common.mybatis.core.page.PageQuery;
+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.log.enums.BusinessType;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.property.domain.vo.ConteactVo;
+import org.dromara.property.domain.bo.ConteactBo;
+import org.dromara.property.service.IConteactService;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 合同管理
+ * 前端访问路由地址为:/property/conteact
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/conteact")
+public class ConteactController extends BaseController {
+
+ private final IConteactService conteactService;
+
+ /**
+ * 查询合同管理列表
+ */
+ @SaCheckPermission("property:conteact:list")
+ @GetMapping("/list")
+ public TableDataInfo list(ConteactBo bo, PageQuery pageQuery) {
+ return conteactService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 导出合同管理列表
+ */
+ @SaCheckPermission("property:conteact:export")
+ @Log(title = "合同管理", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(ConteactBo bo, HttpServletResponse response) {
+ List list = conteactService.queryList(bo);
+ ExcelUtil.exportExcel(list, "合同管理", ConteactVo.class, response);
+ }
+
+ /**
+ * 获取合同管理详细信息
+ *
+ * @param id 主键
+ */
+ @SaCheckPermission("property:conteact:query")
+ @GetMapping("/{id}")
+ public R getInfo(@NotNull(message = "主键不能为空")
+ @PathVariable("id") Long id) {
+ return R.ok(conteactService.queryById(id));
+ }
+
+ /**
+ * 新增合同管理
+ */
+ @SaCheckPermission("property:conteact:add")
+ @Log(title = "合同管理", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R add(@Validated(AddGroup.class) @RequestBody ConteactBo bo) {
+ return toAjax(conteactService.insertByBo(bo));
+ }
+
+ /**
+ * 修改合同管理
+ */
+ @SaCheckPermission("property:conteact:edit")
+ @Log(title = "合同管理", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R edit(@Validated(EditGroup.class) @RequestBody ConteactBo bo) {
+ return toAjax(conteactService.updateByBo(bo));
+ }
+
+ /**
+ * 删除合同管理
+ *
+ * @param ids 主键串
+ */
+ @SaCheckPermission("property:conteact:remove")
+ @Log(title = "合同管理", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public R remove(@NotEmpty(message = "主键不能为空")
+ @PathVariable("ids") Long[] ids) {
+ return toAjax(conteactService.deleteWithValidByIds(List.of(ids), true));
+ }
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/DepotController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/DepotController.java
new file mode 100644
index 00000000..145000f6
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/DepotController.java
@@ -0,0 +1,106 @@
+package org.dromara.property.controller;
+
+import java.util.List;
+
+import lombok.RequiredArgsConstructor;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.*;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.common.mybatis.core.page.PageQuery;
+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.log.enums.BusinessType;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.property.domain.vo.DepotVo;
+import org.dromara.property.domain.bo.DepotBo;
+import org.dromara.property.service.IDepotService;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 仓库管理
+ * 前端访问路由地址为:/property/depot
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/depot")
+public class DepotController extends BaseController {
+
+ private final IDepotService depotService;
+
+ /**
+ * 查询仓库管理列表
+ */
+ @SaCheckPermission("property:depot:list")
+ @GetMapping("/list")
+ public TableDataInfo list(DepotBo bo, PageQuery pageQuery) {
+ return depotService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 导出仓库管理列表
+ */
+ @SaCheckPermission("property:depot:export")
+ @Log(title = "仓库管理", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(DepotBo bo, HttpServletResponse response) {
+ List list = depotService.queryList(bo);
+ ExcelUtil.exportExcel(list, "仓库管理", DepotVo.class, response);
+ }
+
+ /**
+ * 获取仓库管理详细信息
+ *
+ * @param id 主键
+ */
+ @SaCheckPermission("property:depot:query")
+ @GetMapping("/{id}")
+ public R getInfo(@NotNull(message = "主键不能为空")
+ @PathVariable("id") Long id) {
+ return R.ok(depotService.queryById(id));
+ }
+
+ /**
+ * 新增仓库管理
+ */
+ @SaCheckPermission("property:depot:add")
+ @Log(title = "仓库管理", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R add(@Validated(AddGroup.class) @RequestBody DepotBo bo) {
+ return toAjax(depotService.insertByBo(bo));
+ }
+
+ /**
+ * 修改仓库管理
+ */
+ @SaCheckPermission("property:depot:edit")
+ @Log(title = "仓库管理", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R edit(@Validated(EditGroup.class) @RequestBody DepotBo bo) {
+ return toAjax(depotService.updateByBo(bo));
+ }
+
+ /**
+ * 删除仓库管理
+ *
+ * @param ids 主键串
+ */
+ @SaCheckPermission("property:depot:remove")
+ @Log(title = "仓库管理", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public R remove(@NotEmpty(message = "主键不能为空")
+ @PathVariable("ids") Long[] ids) {
+ return toAjax(depotService.deleteWithValidByIds(List.of(ids), true));
+ }
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/DepotLogController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/DepotLogController.java
new file mode 100644
index 00000000..6fe74b6b
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/DepotLogController.java
@@ -0,0 +1,106 @@
+package org.dromara.property.controller;
+
+import java.util.List;
+
+import lombok.RequiredArgsConstructor;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.*;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.common.mybatis.core.page.PageQuery;
+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.log.enums.BusinessType;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.property.domain.vo.DepotLogVo;
+import org.dromara.property.domain.bo.DepotLogBo;
+import org.dromara.property.service.IDepotLogService;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 仓库记录
+ * 前端访问路由地址为:/property/log
+ *
+ * @author LionLi
+ * @date 2025-06-21
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/log")
+public class DepotLogController extends BaseController {
+
+ private final IDepotLogService depotLogService;
+
+ /**
+ * 查询仓库记录列表
+ */
+ @SaCheckPermission("property:log:list")
+ @GetMapping("/list")
+ public TableDataInfo list(DepotLogBo bo, PageQuery pageQuery) {
+ return depotLogService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 导出仓库记录列表
+ */
+ @SaCheckPermission("property:log:export")
+ @Log(title = "仓库记录", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(DepotLogBo bo, HttpServletResponse response) {
+ List list = depotLogService.queryList(bo);
+ ExcelUtil.exportExcel(list, "仓库记录", DepotLogVo.class, response);
+ }
+
+ /**
+ * 获取仓库记录详细信息
+ *
+ * @param id 主键
+ */
+ @SaCheckPermission("property:log:query")
+ @GetMapping("/{id}")
+ public R getInfo(@NotNull(message = "主键不能为空")
+ @PathVariable("id") Long id) {
+ return R.ok(depotLogService.queryById(id));
+ }
+
+ /**
+ * 新增仓库记录
+ */
+ @SaCheckPermission("property:log:add")
+ @Log(title = "仓库记录", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R add(@Validated(AddGroup.class) @RequestBody DepotLogBo bo) {
+ return toAjax(depotLogService.insertByBo(bo));
+ }
+
+ /**
+ * 修改仓库记录
+ */
+ @SaCheckPermission("property:log:edit")
+ @Log(title = "仓库记录", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R edit(@Validated(EditGroup.class) @RequestBody DepotLogBo bo) {
+ return toAjax(depotLogService.updateByBo(bo));
+ }
+
+ /**
+ * 删除仓库记录
+ *
+ * @param ids 主键串
+ */
+ @SaCheckPermission("property:log:remove")
+ @Log(title = "仓库记录", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public R remove(@NotEmpty(message = "主键不能为空")
+ @PathVariable("ids") Long[] ids) {
+ return toAjax(depotLogService.deleteWithValidByIds(List.of(ids), true));
+ }
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/MeetAttachController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/MeetAttachController.java
new file mode 100644
index 00000000..93307d2b
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/MeetAttachController.java
@@ -0,0 +1,106 @@
+package org.dromara.property.controller;
+
+import java.util.List;
+
+import lombok.RequiredArgsConstructor;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.*;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.common.mybatis.core.page.PageQuery;
+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.log.enums.BusinessType;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.property.domain.vo.MeetAttachVo;
+import org.dromara.property.domain.bo.MeetAttachBo;
+import org.dromara.property.service.IMeetAttachService;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 会议室增值服务
+ * 前端访问路由地址为:/property/attach
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/attach")
+public class MeetAttachController extends BaseController {
+
+ private final IMeetAttachService meetAttachService;
+
+ /**
+ * 查询会议室增值服务列表
+ */
+ @SaCheckPermission("property:attach:list")
+ @GetMapping("/list")
+ public TableDataInfo list(MeetAttachBo bo, PageQuery pageQuery) {
+ return meetAttachService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 导出会议室增值服务列表
+ */
+ @SaCheckPermission("property:attach:export")
+ @Log(title = "会议室增值服务", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(MeetAttachBo bo, HttpServletResponse response) {
+ List list = meetAttachService.queryList(bo);
+ ExcelUtil.exportExcel(list, "会议室增值服务", MeetAttachVo.class, response);
+ }
+
+ /**
+ * 获取会议室增值服务详细信息
+ *
+ * @param id 主键
+ */
+ @SaCheckPermission("property:attach:query")
+ @GetMapping("/{id}")
+ public R getInfo(@NotNull(message = "主键不能为空")
+ @PathVariable("id") Long id) {
+ return R.ok(meetAttachService.queryById(id));
+ }
+
+ /**
+ * 新增会议室增值服务
+ */
+ @SaCheckPermission("property:attach:add")
+ @Log(title = "会议室增值服务", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R add(@Validated(AddGroup.class) @RequestBody MeetAttachBo bo) {
+ return toAjax(meetAttachService.insertByBo(bo));
+ }
+
+ /**
+ * 修改会议室增值服务
+ */
+ @SaCheckPermission("property:attach:edit")
+ @Log(title = "会议室增值服务", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R edit(@Validated(EditGroup.class) @RequestBody MeetAttachBo bo) {
+ return toAjax(meetAttachService.updateByBo(bo));
+ }
+
+ /**
+ * 删除会议室增值服务
+ *
+ * @param ids 主键串
+ */
+ @SaCheckPermission("property:attach:remove")
+ @Log(title = "会议室增值服务", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public R remove(@NotEmpty(message = "主键不能为空")
+ @PathVariable("ids") Long[] ids) {
+ return toAjax(meetAttachService.deleteWithValidByIds(List.of(ids), true));
+ }
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/MeetBookingController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/MeetBookingController.java
new file mode 100644
index 00000000..41d3427a
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/MeetBookingController.java
@@ -0,0 +1,106 @@
+package org.dromara.property.controller;
+
+import java.util.List;
+
+import lombok.RequiredArgsConstructor;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.*;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.common.mybatis.core.page.PageQuery;
+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.log.enums.BusinessType;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.property.domain.vo.MeetBookingVo;
+import org.dromara.property.domain.bo.MeetBookingBo;
+import org.dromara.property.service.IMeetBookingService;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 会议预约
+ * 前端访问路由地址为:/property/meetbooking
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/meetbooking")
+public class MeetBookingController extends BaseController {
+
+ private final IMeetBookingService meetBookingService;
+
+ /**
+ * 查询会议预约列表
+ */
+ @SaCheckPermission("property:meetbooking:list")
+ @GetMapping("/list")
+ public TableDataInfo list(MeetBookingBo bo, PageQuery pageQuery) {
+ return meetBookingService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 导出会议预约列表
+ */
+ @SaCheckPermission("property:meetbooking:export")
+ @Log(title = "会议预约", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(MeetBookingBo bo, HttpServletResponse response) {
+ List list = meetBookingService.queryList(bo);
+ ExcelUtil.exportExcel(list, "会议预约", MeetBookingVo.class, response);
+ }
+
+ /**
+ * 获取会议预约详细信息
+ *
+ * @param id 主键
+ */
+ @SaCheckPermission("property:meetbooking:query")
+ @GetMapping("/{id}")
+ public R getInfo(@NotNull(message = "主键不能为空")
+ @PathVariable("id") Long id) {
+ return R.ok(meetBookingService.queryById(id));
+ }
+
+ /**
+ * 新增会议预约
+ */
+ @SaCheckPermission("property:meetbooking:add")
+ @Log(title = "会议预约", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R add(@Validated(AddGroup.class) @RequestBody MeetBookingBo bo) {
+ return toAjax(meetBookingService.insertByBo(bo));
+ }
+
+ /**
+ * 修改会议预约
+ */
+ @SaCheckPermission("property:meetbooking:edit")
+ @Log(title = "会议预约", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R edit(@Validated(EditGroup.class) @RequestBody MeetBookingBo bo) {
+ return toAjax(meetBookingService.updateByBo(bo));
+ }
+
+ /**
+ * 删除会议预约
+ *
+ * @param ids 主键串
+ */
+ @SaCheckPermission("property:meetbooking:remove")
+ @Log(title = "会议预约", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public R remove(@NotEmpty(message = "主键不能为空")
+ @PathVariable("ids") Long[] ids) {
+ return toAjax(meetBookingService.deleteWithValidByIds(List.of(ids), true));
+ }
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/MeetController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/MeetController.java
new file mode 100644
index 00000000..b82a4f79
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/MeetController.java
@@ -0,0 +1,106 @@
+package org.dromara.property.controller;
+
+import java.util.List;
+
+import lombok.RequiredArgsConstructor;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.*;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.common.mybatis.core.page.PageQuery;
+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.log.enums.BusinessType;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.property.domain.vo.MeetVo;
+import org.dromara.property.domain.bo.MeetBo;
+import org.dromara.property.service.IMeetService;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 会议室管理
+ * 前端访问路由地址为:/property/meet
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/meet")
+public class MeetController extends BaseController {
+
+ private final IMeetService meetService;
+
+ /**
+ * 查询会议室管理列表
+ */
+ @SaCheckPermission("property:meet:list")
+ @GetMapping("/list")
+ public TableDataInfo list(MeetBo bo, PageQuery pageQuery) {
+ return meetService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 导出会议室管理列表
+ */
+ @SaCheckPermission("property:meet:export")
+ @Log(title = "会议室管理", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(MeetBo bo, HttpServletResponse response) {
+ List list = meetService.queryList(bo);
+ ExcelUtil.exportExcel(list, "会议室管理", MeetVo.class, response);
+ }
+
+ /**
+ * 获取会议室管理详细信息
+ *
+ * @param id 主键
+ */
+ @SaCheckPermission("property:meet:query")
+ @GetMapping("/{id}")
+ public R getInfo(@NotNull(message = "主键不能为空")
+ @PathVariable("id") Long id) {
+ return R.ok(meetService.queryById(id));
+ }
+
+ /**
+ * 新增会议室管理
+ */
+ @SaCheckPermission("property:meet:add")
+ @Log(title = "会议室管理", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R add(@Validated(AddGroup.class) @RequestBody MeetBo bo) {
+ return toAjax(meetService.insertByBo(bo));
+ }
+
+ /**
+ * 修改会议室管理
+ */
+ @SaCheckPermission("property:meet:edit")
+ @Log(title = "会议室管理", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R edit(@Validated(EditGroup.class) @RequestBody MeetBo bo) {
+ return toAjax(meetService.updateByBo(bo));
+ }
+
+ /**
+ * 删除会议室管理
+ *
+ * @param ids 主键串
+ */
+ @SaCheckPermission("property:meet:remove")
+ @Log(title = "会议室管理", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public R remove(@NotEmpty(message = "主键不能为空")
+ @PathVariable("ids") Long[] ids) {
+ return toAjax(meetService.deleteWithValidByIds(List.of(ids), true));
+ }
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/ResidentPersonController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/ResidentPersonController.java
new file mode 100644
index 00000000..83c1670e
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/ResidentPersonController.java
@@ -0,0 +1,106 @@
+package org.dromara.property.controller;
+
+import java.util.List;
+
+import lombok.RequiredArgsConstructor;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.*;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.common.mybatis.core.page.PageQuery;
+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.log.enums.BusinessType;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.property.domain.vo.ResidentPersonVo;
+import org.dromara.property.domain.bo.ResidentPersonBo;
+import org.dromara.property.service.IResidentPersonService;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 入驻员工
+ * 前端访问路由地址为:/property/person
+ *
+ * @author mocheng
+ * @date 2025-06-19
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/person")
+public class ResidentPersonController extends BaseController {
+
+ private final IResidentPersonService residentPersonService;
+
+ /**
+ * 查询入驻员工列表
+ */
+ @SaCheckPermission("property:person:list")
+ @GetMapping("/list")
+ public TableDataInfo list(ResidentPersonBo bo, PageQuery pageQuery) {
+ return residentPersonService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 导出入驻员工列表
+ */
+ @SaCheckPermission("property:person:export")
+ @Log(title = "入驻员工", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(ResidentPersonBo bo, HttpServletResponse response) {
+ List list = residentPersonService.queryList(bo);
+ ExcelUtil.exportExcel(list, "入驻员工", ResidentPersonVo.class, response);
+ }
+
+ /**
+ * 获取入驻员工详细信息
+ *
+ * @param id 主键
+ */
+ @SaCheckPermission("property:person:query")
+ @GetMapping("/{id}")
+ public R getInfo(@NotNull(message = "主键不能为空")
+ @PathVariable("id") Long id) {
+ return R.ok(residentPersonService.queryById(id));
+ }
+
+ /**
+ * 新增入驻员工
+ */
+ @SaCheckPermission("property:person:add")
+ @Log(title = "入驻员工", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R add(@Validated(AddGroup.class) @RequestBody ResidentPersonBo bo) {
+ return toAjax(residentPersonService.insertByBo(bo));
+ }
+
+ /**
+ * 修改入驻员工
+ */
+ @SaCheckPermission("property:person:edit")
+ @Log(title = "入驻员工", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R edit(@Validated(EditGroup.class) @RequestBody ResidentPersonBo bo) {
+ return toAjax(residentPersonService.updateByBo(bo));
+ }
+
+ /**
+ * 删除入驻员工
+ *
+ * @param ids 主键串
+ */
+ @SaCheckPermission("property:person:remove")
+ @Log(title = "入驻员工", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public R remove(@NotEmpty(message = "主键不能为空")
+ @PathVariable("ids") Long[] ids) {
+ return toAjax(residentPersonService.deleteWithValidByIds(List.of(ids), true));
+ }
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/ResidentUnitController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/ResidentUnitController.java
new file mode 100644
index 00000000..bc8a7e0e
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/ResidentUnitController.java
@@ -0,0 +1,106 @@
+package org.dromara.property.controller;
+
+import java.util.List;
+
+import lombok.RequiredArgsConstructor;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.*;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.common.mybatis.core.page.PageQuery;
+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.log.enums.BusinessType;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.property.domain.vo.ResidentUnitVo;
+import org.dromara.property.domain.bo.ResidentUnitBo;
+import org.dromara.property.service.IResidentUnitService;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 入驻单位
+ * 前端访问路由地址为:/property/resident_unit
+ *
+ * @author mocheng
+ * @date 2025-06-19
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/resident_unit")
+public class ResidentUnitController extends BaseController {
+
+ private final IResidentUnitService residentUnitService;
+
+ /**
+ * 查询入驻单位列表
+ */
+ @SaCheckPermission("property:resident_unit:list")
+ @GetMapping("/list")
+ public TableDataInfo list(ResidentUnitBo bo, PageQuery pageQuery) {
+ return residentUnitService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 导出入驻单位列表
+ */
+ @SaCheckPermission("property:resident_unit:export")
+ @Log(title = "入驻单位", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(ResidentUnitBo bo, HttpServletResponse response) {
+ List list = residentUnitService.queryList(bo);
+ ExcelUtil.exportExcel(list, "入驻单位", ResidentUnitVo.class, response);
+ }
+
+ /**
+ * 获取入驻单位详细信息
+ *
+ * @param id 主键
+ */
+ @SaCheckPermission("property:resident_unit:query")
+ @GetMapping("/{id}")
+ public R getInfo(@NotNull(message = "主键不能为空")
+ @PathVariable("id") Long id) {
+ return R.ok(residentUnitService.queryById(id));
+ }
+
+ /**
+ * 新增入驻单位
+ */
+ @SaCheckPermission("property:resident_unit:add")
+ @Log(title = "入驻单位", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R add(@Validated(AddGroup.class) @RequestBody ResidentUnitBo bo) {
+ return toAjax(residentUnitService.insertByBo(bo));
+ }
+
+ /**
+ * 修改入驻单位
+ */
+ @SaCheckPermission("property:resident_unit:edit")
+ @Log(title = "入驻单位", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R edit(@Validated(EditGroup.class) @RequestBody ResidentUnitBo bo) {
+ return toAjax(residentUnitService.updateByBo(bo));
+ }
+
+ /**
+ * 删除入驻单位
+ *
+ * @param ids 主键串
+ */
+ @SaCheckPermission("property:resident_unit:remove")
+ @Log(title = "入驻单位", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public R remove(@NotEmpty(message = "主键不能为空")
+ @PathVariable("ids") Long[] ids) {
+ return toAjax(residentUnitService.deleteWithValidByIds(List.of(ids), true));
+ }
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/ServerBookingController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/ServerBookingController.java
new file mode 100644
index 00000000..72214116
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/ServerBookingController.java
@@ -0,0 +1,106 @@
+package org.dromara.property.controller;
+
+import java.util.List;
+
+import lombok.RequiredArgsConstructor;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.*;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.common.mybatis.core.page.PageQuery;
+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.log.enums.BusinessType;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.property.domain.vo.ServerBookingVo;
+import org.dromara.property.domain.bo.ServerBookingBo;
+import org.dromara.property.service.IServerBookingService;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 服务预约
+ * 前端访问路由地址为:/property/serverbooking
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/serverbooking")
+public class ServerBookingController extends BaseController {
+
+ private final IServerBookingService serverBookingService;
+
+ /**
+ * 查询服务预约列表
+ */
+ @SaCheckPermission("property:serverbooking:list")
+ @GetMapping("/list")
+ public TableDataInfo list(ServerBookingBo bo, PageQuery pageQuery) {
+ return serverBookingService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 导出服务预约列表
+ */
+ @SaCheckPermission("property:serverbooking:export")
+ @Log(title = "服务预约", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(ServerBookingBo bo, HttpServletResponse response) {
+ List list = serverBookingService.queryList(bo);
+ ExcelUtil.exportExcel(list, "服务预约", ServerBookingVo.class, response);
+ }
+
+ /**
+ * 获取服务预约详细信息
+ *
+ * @param id 主键
+ */
+ @SaCheckPermission("property:serverbooking:query")
+ @GetMapping("/{id}")
+ public R getInfo(@NotNull(message = "主键不能为空")
+ @PathVariable("id") Long id) {
+ return R.ok(serverBookingService.queryById(id));
+ }
+
+ /**
+ * 新增服务预约
+ */
+ @SaCheckPermission("property:serverbooking:add")
+ @Log(title = "服务预约", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R add(@Validated(AddGroup.class) @RequestBody ServerBookingBo bo) {
+ return toAjax(serverBookingService.insertByBo(bo));
+ }
+
+ /**
+ * 修改服务预约
+ */
+ @SaCheckPermission("property:serverbooking:edit")
+ @Log(title = "服务预约", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R edit(@Validated(EditGroup.class) @RequestBody ServerBookingBo bo) {
+ return toAjax(serverBookingService.updateByBo(bo));
+ }
+
+ /**
+ * 删除服务预约
+ *
+ * @param ids 主键串
+ */
+ @SaCheckPermission("property:serverbooking:remove")
+ @Log(title = "服务预约", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public R remove(@NotEmpty(message = "主键不能为空")
+ @PathVariable("ids") Long[] ids) {
+ return toAjax(serverBookingService.deleteWithValidByIds(List.of(ids), true));
+ }
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/ServerController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/ServerController.java
new file mode 100644
index 00000000..6ee4801d
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/ServerController.java
@@ -0,0 +1,106 @@
+package org.dromara.property.controller;
+
+import java.util.List;
+
+import lombok.RequiredArgsConstructor;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.*;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.common.mybatis.core.page.PageQuery;
+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.log.enums.BusinessType;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.property.domain.vo.ServerVo;
+import org.dromara.property.domain.bo.ServerBo;
+import org.dromara.property.service.IServerService;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 服务管理
+ * 前端访问路由地址为:/property/server
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/server")
+public class ServerController extends BaseController {
+
+ private final IServerService serverService;
+
+ /**
+ * 查询服务管理列表
+ */
+ @SaCheckPermission("property:server:list")
+ @GetMapping("/list")
+ public TableDataInfo list(ServerBo bo, PageQuery pageQuery) {
+ return serverService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 导出服务管理列表
+ */
+ @SaCheckPermission("property:server:export")
+ @Log(title = "服务管理", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(ServerBo bo, HttpServletResponse response) {
+ List list = serverService.queryList(bo);
+ ExcelUtil.exportExcel(list, "服务管理", ServerVo.class, response);
+ }
+
+ /**
+ * 获取服务管理详细信息
+ *
+ * @param id 主键
+ */
+ @SaCheckPermission("property:server:query")
+ @GetMapping("/{id}")
+ public R getInfo(@NotNull(message = "主键不能为空")
+ @PathVariable("id") Long id) {
+ return R.ok(serverService.queryById(id));
+ }
+
+ /**
+ * 新增服务管理
+ */
+ @SaCheckPermission("property:server:add")
+ @Log(title = "服务管理", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R add(@Validated(AddGroup.class) @RequestBody ServerBo bo) {
+ return toAjax(serverService.insertByBo(bo));
+ }
+
+ /**
+ * 修改服务管理
+ */
+ @SaCheckPermission("property:server:edit")
+ @Log(title = "服务管理", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R edit(@Validated(EditGroup.class) @RequestBody ServerBo bo) {
+ return toAjax(serverService.updateByBo(bo));
+ }
+
+ /**
+ * 删除服务管理
+ *
+ * @param ids 主键串
+ */
+ @SaCheckPermission("property:server:remove")
+ @Log(title = "服务管理", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public R remove(@NotEmpty(message = "主键不能为空")
+ @PathVariable("ids") Long[] ids) {
+ return toAjax(serverService.deleteWithValidByIds(List.of(ids), true));
+ }
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/SuppliersController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/SuppliersController.java
new file mode 100644
index 00000000..2f16bebb
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/SuppliersController.java
@@ -0,0 +1,106 @@
+package org.dromara.property.controller;
+
+import java.util.List;
+
+import lombok.RequiredArgsConstructor;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.*;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.common.mybatis.core.page.PageQuery;
+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.log.enums.BusinessType;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.property.domain.vo.SuppliersVo;
+import org.dromara.property.domain.bo.SuppliersBo;
+import org.dromara.property.service.ISuppliersService;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 供应商
+ * 前端访问路由地址为:/property/suppliers
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/suppliers")
+public class SuppliersController extends BaseController {
+
+ private final ISuppliersService suppliersService;
+
+ /**
+ * 查询供应商列表
+ */
+ @SaCheckPermission("property:suppliers:list")
+ @GetMapping("/list")
+ public TableDataInfo list(SuppliersBo bo, PageQuery pageQuery) {
+ return suppliersService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 导出供应商列表
+ */
+ @SaCheckPermission("property:suppliers:export")
+ @Log(title = "供应商", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(SuppliersBo bo, HttpServletResponse response) {
+ List list = suppliersService.queryList(bo);
+ ExcelUtil.exportExcel(list, "供应商", SuppliersVo.class, response);
+ }
+
+ /**
+ * 获取供应商详细信息
+ *
+ * @param id 主键
+ */
+ @SaCheckPermission("property:suppliers:query")
+ @GetMapping("/{id}")
+ public R getInfo(@NotNull(message = "主键不能为空")
+ @PathVariable("id") Long id) {
+ return R.ok(suppliersService.queryById(id));
+ }
+
+ /**
+ * 新增供应商
+ */
+ @SaCheckPermission("property:suppliers:add")
+ @Log(title = "供应商", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R add(@Validated(AddGroup.class) @RequestBody SuppliersBo bo) {
+ return toAjax(suppliersService.insertByBo(bo));
+ }
+
+ /**
+ * 修改供应商
+ */
+ @SaCheckPermission("property:suppliers:edit")
+ @Log(title = "供应商", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R edit(@Validated(EditGroup.class) @RequestBody SuppliersBo bo) {
+ return toAjax(suppliersService.updateByBo(bo));
+ }
+
+ /**
+ * 删除供应商
+ *
+ * @param ids 主键串
+ */
+ @SaCheckPermission("property:suppliers:remove")
+ @Log(title = "供应商", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public R remove(@NotEmpty(message = "主键不能为空")
+ @PathVariable("ids") Long[] ids) {
+ return toAjax(suppliersService.deleteWithValidByIds(List.of(ids), true));
+ }
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/TbVisitorManagementController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/TbVisitorManagementController.java
index 12638821..7171277b 100644
--- a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/TbVisitorManagementController.java
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/TbVisitorManagementController.java
@@ -27,7 +27,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
* 前端访问路由地址为:/property/visitorManagement
*
* @author mocheng
- * @date 2025-06-18
+ * @date 2025-06-19
*/
@Validated
@RequiredArgsConstructor
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/VerificationController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/VerificationController.java
new file mode 100644
index 00000000..a1e7475d
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/VerificationController.java
@@ -0,0 +1,106 @@
+package org.dromara.property.controller;
+
+import java.util.List;
+
+import lombok.RequiredArgsConstructor;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.*;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.common.mybatis.core.page.PageQuery;
+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.log.enums.BusinessType;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.property.domain.vo.VerificationVo;
+import org.dromara.property.domain.bo.VerificationBo;
+import org.dromara.property.service.IVerificationService;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 服务核销
+ * 前端访问路由地址为:/property/verification
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/verification")
+public class VerificationController extends BaseController {
+
+ private final IVerificationService verificationService;
+
+ /**
+ * 查询服务核销列表
+ */
+ @SaCheckPermission("property:verification:list")
+ @GetMapping("/list")
+ public TableDataInfo list(VerificationBo bo, PageQuery pageQuery) {
+ return verificationService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 导出服务核销列表
+ */
+ @SaCheckPermission("property:verification:export")
+ @Log(title = "服务核销", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(VerificationBo bo, HttpServletResponse response) {
+ List list = verificationService.queryList(bo);
+ ExcelUtil.exportExcel(list, "服务核销", VerificationVo.class, response);
+ }
+
+ /**
+ * 获取服务核销详细信息
+ *
+ * @param id 主键
+ */
+ @SaCheckPermission("property:verification:query")
+ @GetMapping("/{id}")
+ public R getInfo(@NotNull(message = "主键不能为空")
+ @PathVariable("id") Long id) {
+ return R.ok(verificationService.queryById(id));
+ }
+
+ /**
+ * 新增服务核销
+ */
+ @SaCheckPermission("property:verification:add")
+ @Log(title = "服务核销", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R add(@Validated(AddGroup.class) @RequestBody VerificationBo bo) {
+ return toAjax(verificationService.insertByBo(bo));
+ }
+
+ /**
+ * 修改服务核销
+ */
+ @SaCheckPermission("property:verification:edit")
+ @Log(title = "服务核销", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R edit(@Validated(EditGroup.class) @RequestBody VerificationBo bo) {
+ return toAjax(verificationService.updateByBo(bo));
+ }
+
+ /**
+ * 删除服务核销
+ *
+ * @param ids 主键串
+ */
+ @SaCheckPermission("property:verification:remove")
+ @Log(title = "服务核销", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public R remove(@NotEmpty(message = "主键不能为空")
+ @PathVariable("ids") Long[] ids) {
+ return toAjax(verificationService.deleteWithValidByIds(List.of(ids), true));
+ }
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Application.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Application.java
new file mode 100644
index 00000000..91805b2f
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Application.java
@@ -0,0 +1,83 @@
+package org.dromara.property.domain;
+
+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;
+
+/**
+ * 资产领用对象 application
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("application")
+public class Application extends TenantEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @TableId(value = "id")
+ private Long id;
+
+ /**
+ * 资产id
+ */
+ private Long assetId;
+
+ /**
+ * 领用人id
+ */
+ private Long userId;
+
+ /**
+ * 数量
+ */
+ private Long number;
+
+ /**
+ * 状态
+ */
+ private Long state;
+
+ /**
+ * 审批人id
+ */
+ private Long acceptanceUserId;
+
+ /**
+ * 审批时间
+ */
+ private Date acceptanceTime;
+
+ /**
+ * 申请时间
+ */
+ private Date applicationTime;
+
+ /**
+ * 创建人id
+ */
+ private Long createById;
+
+ /**
+ * 更新人id
+ */
+ private Long updateById;
+
+ /**
+ * 搜索值
+ */
+ private String searchValue;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Asset.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Asset.java
new file mode 100644
index 00000000..dd3b05a7
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Asset.java
@@ -0,0 +1,103 @@
+package org.dromara.property.domain;
+
+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;
+
+/**
+ * 资产管理对象 asset
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("asset")
+public class Asset extends TenantEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @TableId(value = "id")
+ private Long id;
+
+ /**
+ * 资产名称
+ */
+ private String name;
+
+ /**
+ * 类型
+ */
+ private String model;
+
+ /**
+ * 规格
+ */
+ private String specs;
+
+ /**
+ * 价格
+ */
+ private Long price;
+
+ /**
+ * 库存
+ */
+ private Long stock;
+
+ /**
+ * 计量单位
+ */
+ private String unit;
+
+ /**
+ * 仓库id
+ */
+ private Long depotId;
+
+ /**
+ * 描述信息
+ */
+ private String msg;
+
+ /**
+ * 供应商id
+ */
+ private Long suppliersId;
+
+ /**
+ * 入库时间
+ */
+ private Date storageTime;
+
+ /**
+ * 固定资产类型
+ */
+ private Long type;
+
+ /**
+ * 创建人id
+ */
+ private Long createById;
+
+ /**
+ * 更新人id
+ */
+ private Long updateById;
+
+ /**
+ * 搜索值
+ */
+ private String searchValue;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Clean.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Clean.java
new file mode 100644
index 00000000..426bbb13
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Clean.java
@@ -0,0 +1,86 @@
+package org.dromara.property.domain;
+
+import org.dromara.common.tenant.core.TenantEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+
+/**
+ * 保洁管理对象 clean
+ *
+ * @author mocheng
+ * @date 2025-06-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("clean")
+public class Clean extends TenantEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键id
+ */
+ @TableId(value = "id")
+ private Long id;
+
+ /**
+ * 劳务名称
+ */
+ private String name;
+
+ /**
+ * 计量单位
+ */
+ private String measure;
+
+ /**
+ * 计算方式
+ */
+ private String method;
+
+ /**
+ * 单价
+ */
+ private String peices;
+
+ /**
+ * 保洁频率
+ */
+ private String frequency;
+
+ /**
+ * 保洁标准
+ */
+ private String standard;
+
+ /**
+ * 备注
+ */
+ private String remark;
+
+ /**
+ * 状态
+ */
+ private Long stater;
+
+ /**
+ * 创建人id
+ */
+ private Long createById;
+
+ /**
+ * 更新人id
+ */
+ private Long updateById;
+
+ /**
+ * 搜索值
+ */
+ private String searchValue;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CleanOrder.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CleanOrder.java
new file mode 100644
index 00000000..6e55e892
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CleanOrder.java
@@ -0,0 +1,113 @@
+package org.dromara.property.domain;
+
+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;
+
+/**
+ * 保洁订单对象 clean_order
+ *
+ * @author mocheng
+ * @date 2025-06-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("clean_order")
+public class CleanOrder extends TenantEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @TableId(value = "id")
+ private Long id;
+
+ /**
+ * 位置
+ */
+ private String location;
+
+ /**
+ * 面积
+ */
+ private String area;
+
+ /**
+ * 保洁id
+ */
+ private Long cleanId;
+
+ /**
+ * 名称
+ */
+ private String name;
+
+ /**
+ * 单价
+ */
+ private Long prices;
+
+ /**
+ * 总价
+ */
+ private Long sumPeices;
+
+ /**
+ * 支付状态
+ */
+ private Long payState;
+
+ /**
+ * 开始时间
+ */
+ private Date starTime;
+
+ /**
+ * 结束时间
+ */
+ private Date endTime;
+
+ /**
+ * 单位id
+ */
+ private Long unitId;
+
+ /**
+ * 申请单位
+ */
+ private String unit;
+
+ /**
+ * 联系人
+ */
+ private String persion;
+
+ /**
+ * 联系电话
+ */
+ private String phone;
+
+ /**
+ * 创建人id
+ */
+ private Long createById;
+
+ /**
+ * 更新人id
+ */
+ private Long updateById;
+
+ /**
+ * 搜索值
+ */
+ private String searchValue;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Conteact.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Conteact.java
new file mode 100644
index 00000000..a5ecb57a
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Conteact.java
@@ -0,0 +1,103 @@
+package org.dromara.property.domain;
+
+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;
+
+/**
+ * 合同管理对象 conteact
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("conteact")
+public class Conteact extends TenantEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @TableId(value = "id")
+ private Long id;
+
+ /**
+ * 合同编码
+ */
+ private String contract;
+
+ /**
+ * 合同名称
+ */
+ private String name;
+
+ /**
+ * 描述信息
+ */
+ private String msg;
+
+ /**
+ * 甲方
+ */
+ private String firstParty;
+
+ /**
+ * 乙方
+ */
+ private String lostParty;
+
+ /**
+ * 金额
+ */
+ private Long price;
+
+ /**
+ * 类型
+ */
+ private Long type;
+
+ /**
+ * 经办人
+ */
+ private String attn;
+
+ /**
+ * 审核人
+ */
+ private Long audit;
+
+ /**
+ * 开始时间
+ */
+ private Date startTime;
+
+ /**
+ * 结束时间
+ */
+ private Date endTime;
+
+ /**
+ * 创建人id
+ */
+ private Long createById;
+
+ /**
+ * 更新人id
+ */
+ private Long updateById;
+
+ /**
+ * 搜索值
+ */
+ private String searchValue;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Depot.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Depot.java
new file mode 100644
index 00000000..eca7bc57
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Depot.java
@@ -0,0 +1,66 @@
+package org.dromara.property.domain;
+
+import org.dromara.common.tenant.core.TenantEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+
+/**
+ * 仓库管理对象 depot
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("depot")
+public class Depot extends TenantEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @TableId(value = "id")
+ private Long id;
+
+ /**
+ * 类型名称
+ */
+ private String depotName;
+
+ /**
+ * 描述信息
+ */
+ private String msg;
+
+ /**
+ * 类型
+ */
+ private String modelType;
+
+ /**
+ * 状态
+ */
+ private Long state;
+
+ /**
+ * 创建人id
+ */
+ private Long createById;
+
+ /**
+ * 更新人id
+ */
+ private Long updateById;
+
+ /**
+ * 搜索值
+ */
+ private String searchValue;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/DepotLog.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/DepotLog.java
new file mode 100644
index 00000000..14138671
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/DepotLog.java
@@ -0,0 +1,103 @@
+package org.dromara.property.domain;
+
+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;
+
+/**
+ * 仓库记录对象 depot_log
+ *
+ * @author LionLi
+ * @date 2025-06-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("depot_log")
+public class DepotLog extends TenantEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @TableId(value = "id")
+ private Long id;
+
+ /**
+ * 仓库id
+ */
+ private Long depotId;
+
+ /**
+ * 资产id
+ */
+ private Long assetId;
+
+ /**
+ * 流转类型
+ */
+ private Long type;
+
+ /**
+ * 流转时间
+ */
+ private Date time;
+
+ /**
+ * 操作人id
+ */
+ private Long userId;
+
+ /**
+ * 状态
+ */
+ private Long state;
+
+ /**
+ * 备注
+ */
+ private String remark;
+
+ /**
+ * 价格
+ */
+ private Long price;
+
+ /**
+ * 总价
+ */
+ private Long priceSum;
+
+ /**
+ * 数量
+ */
+ private Long number;
+
+ /**
+ * 供应商id
+ */
+ private Long supplierId;
+
+ /**
+ * 创建人id
+ */
+ private Long createById;
+
+ /**
+ * 更新人id
+ */
+ private Long updateById;
+
+ /**
+ * 搜索值
+ */
+ private String searchValue;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Meet.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Meet.java
new file mode 100644
index 00000000..4988eb8f
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Meet.java
@@ -0,0 +1,76 @@
+package org.dromara.property.domain;
+
+import org.dromara.common.tenant.core.TenantEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+
+/**
+ * 会议室管理对象 meet
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("meet")
+public class Meet extends TenantEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @TableId(value = "id")
+ private Long id;
+
+ /**
+ * 会议室名称
+ */
+ private String name;
+
+ /**
+ * 位置
+ */
+ private String location;
+
+ /**
+ * 容纳人数
+ */
+ private Long personNumber;
+
+ /**
+ * 基础服务
+ */
+ private Long baseServiceId;
+
+ /**
+ * 基础价格
+ */
+ private Long basePrice;
+
+ /**
+ * 增值服务是否启用
+ */
+ private Long attach;
+
+ /**
+ * 创建人id
+ */
+ private Long createById;
+
+ /**
+ * 更新人id
+ */
+ private Long updateById;
+
+ /**
+ * 搜索值
+ */
+ private String searchValue;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/MeetAttach.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/MeetAttach.java
new file mode 100644
index 00000000..b0119f98
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/MeetAttach.java
@@ -0,0 +1,76 @@
+package org.dromara.property.domain;
+
+import org.dromara.common.tenant.core.TenantEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+
+/**
+ * 会议室增值服务对象 meet_attach
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("meet_attach")
+public class MeetAttach extends TenantEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @TableId(value = "id")
+ private Long id;
+
+ /**
+ * 会议室id
+ */
+ private Long meetId;
+
+ /**
+ * 产品名称
+ */
+ private String projectName;
+
+ /**
+ * 单价
+ */
+ private Long price;
+
+ /**
+ * 单位
+ */
+ private String unit;
+
+ /**
+ * 类型
+ */
+ private String type;
+
+ /**
+ * 状态
+ */
+ private Long state;
+
+ /**
+ * 创建人id
+ */
+ private Long createById;
+
+ /**
+ * 更新人id
+ */
+ private Long updateById;
+
+ /**
+ * 搜索值
+ */
+ private String searchValue;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/MeetBooking.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/MeetBooking.java
new file mode 100644
index 00000000..f117cdae
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/MeetBooking.java
@@ -0,0 +1,113 @@
+package org.dromara.property.domain;
+
+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;
+
+/**
+ * 会议预约对象 meet_booking
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("meet_booking")
+public class MeetBooking extends TenantEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @TableId(value = "id")
+ private Long id;
+
+ /**
+ * 会议室名称
+ */
+ private String name;
+
+ /**
+ * 会议室id
+ */
+ private Long meetId;
+
+ /**
+ * 会议室地址
+ */
+ private String meetLocation;
+
+ /**
+ * 所属单位
+ */
+ private String unit;
+
+ /**
+ * 预定人
+ */
+ private String person;
+
+ /**
+ * 联系方式
+ */
+ private String phone;
+
+ /**
+ * 预定开始时间
+ */
+ private Date scheduledStarttime;
+
+ /**
+ * 预定结束时间
+ */
+ private Date scheduledEndtime;
+
+ /**
+ * 参会人数
+ */
+ private Long personSum;
+
+ /**
+ * 费用
+ */
+ private Long price;
+
+ /**
+ * 是否包含增值服务
+ */
+ private Long attach;
+
+ /**
+ * 支付状态
+ */
+ private Long payState;
+
+ /**
+ * 状态
+ */
+ private Long state;
+
+ /**
+ * 创建人id
+ */
+ private Long createById;
+
+ /**
+ * 更新人id
+ */
+ private Long updateById;
+
+ /**
+ * 搜索值
+ */
+ private String searchValue;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/ResidentPerson.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/ResidentPerson.java
new file mode 100644
index 00000000..a012a9a0
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/ResidentPerson.java
@@ -0,0 +1,108 @@
+package org.dromara.property.domain;
+
+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;
+
+/**
+ * 入驻员工对象 resident_person
+ *
+ * @author mocheng
+ * @date 2025-06-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("resident_person")
+public class ResidentPerson extends TenantEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键id
+ */
+ @TableId(value = "id")
+ private Long id;
+
+ /**
+ * 用户id
+ */
+ private Long userId;
+
+ /**
+ * 用户名称
+ */
+ private String userName;
+
+ /**
+ * 联系电话
+ */
+ private String phone;
+
+ /**
+ * 性别
+ */
+ private Long gender;
+
+ /**
+ * 人脸图片
+ */
+ private String img;
+
+ /**
+ * 所属单位id
+ */
+ private Long unitId;
+
+ /**
+ * 所属单位名称
+ */
+ private String unitName;
+
+ /**
+ * 入驻位置
+ */
+ private String locathon;
+
+ /**
+ * 入驻时间
+ */
+ private Date time;
+
+ /**
+ * 车牌号码
+ */
+ private String carNumber;
+
+ /**
+ * 状态
+ */
+ private Long state;
+
+ /**
+ * 备注
+ */
+ private String remark;
+
+ /**
+ * 创建人id
+ */
+ private Long createById;
+
+ /**
+ * 更新人id
+ */
+ private Long updateById;
+
+ /**
+ * 搜索值
+ */
+ private String searchValue;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/ResidentUnit.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/ResidentUnit.java
new file mode 100644
index 00000000..eb21933a
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/ResidentUnit.java
@@ -0,0 +1,98 @@
+package org.dromara.property.domain;
+
+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;
+
+/**
+ * 入驻单位对象 resident_unit
+ *
+ * @author mocheng
+ * @date 2025-06-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("resident_unit")
+public class ResidentUnit extends TenantEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * id
+ */
+ @TableId(value = "id")
+ private Long id;
+
+ /**
+ * 入驻单位名称
+ */
+ private String name;
+
+ /**
+ * 单位编号
+ */
+ private Long unitNumber;
+
+ /**
+ * 企业类型
+ */
+ private Long type;
+
+ /**
+ * 联系人
+ */
+ private String contactPerson;
+
+ /**
+ * 联系电话
+ */
+ private Long phone;
+
+ /**
+ * 入驻位置
+ */
+ private String location;
+
+ /**
+ * 入驻时间
+ */
+ private Date time;
+
+ /**
+ * 状态
+ */
+ private Long state;
+
+ /**
+ * 员工人数
+ */
+ private Long number;
+
+ /**
+ * 备注
+ */
+ private String remark;
+
+ /**
+ * 创建人id
+ */
+ private Long createById;
+
+ /**
+ * 更新人id
+ */
+ private Long updateById;
+
+ /**
+ * 搜索值
+ */
+ private String searchValue;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Server.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Server.java
new file mode 100644
index 00000000..588554b8
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Server.java
@@ -0,0 +1,71 @@
+package org.dromara.property.domain;
+
+import org.dromara.common.tenant.core.TenantEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+
+/**
+ * 服务管理对象 server
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("server")
+public class Server extends TenantEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @TableId(value = "id")
+ private Long id;
+
+ /**
+ * 服务名称
+ */
+ private String serverName;
+
+ /**
+ * 服务类型
+ */
+ private Long serverType;
+
+ /**
+ * 价格
+ */
+ private Long price;
+
+ /**
+ * 排序
+ */
+ private Long sort;
+
+ /**
+ * 状态
+ */
+ private Long state;
+
+ /**
+ * 创建人id
+ */
+ private Long createById;
+
+ /**
+ * 更新人id
+ */
+ private Long updateById;
+
+ /**
+ * 搜索值
+ */
+ private String searchValue;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/ServerBooking.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/ServerBooking.java
new file mode 100644
index 00000000..8283dc0b
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/ServerBooking.java
@@ -0,0 +1,108 @@
+package org.dromara.property.domain;
+
+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;
+
+/**
+ * 服务预约对象 server_booking
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("server_booking")
+public class ServerBooking extends TenantEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @TableId(value = "id")
+ private Long id;
+
+ /**
+ * 服务id
+ */
+ private Long serverId;
+
+ /**
+ * 预约数量
+ */
+ private Long serverNum;
+
+ /**
+ * 预约类型
+ */
+ private String bookingType;
+
+ /**
+ * 服务封面
+ */
+ private String serverImg;
+
+ /**
+ * 预约时间
+ */
+ private Date bookingTime;
+
+ /**
+ * 预约人姓名
+ */
+ private String bookingUserNema;
+
+ /**
+ * 预约人电话
+ */
+ private String bookingUserPhone;
+
+ /**
+ * 预约价格
+ */
+ private Long bookingPrice;
+
+ /**
+ * 实付价格
+ */
+ private Long payPrice;
+
+ /**
+ * 支付方式
+ */
+ private Long payType;
+
+ /**
+ * 备注
+ */
+ private String remark;
+
+ /**
+ * 状态
+ */
+ private Long state;
+
+ /**
+ * 创建人id
+ */
+ private Long createById;
+
+ /**
+ * 更新人id
+ */
+ private Long updateById;
+
+ /**
+ * 搜索值
+ */
+ private String searchValue;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Suppliers.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Suppliers.java
new file mode 100644
index 00000000..c072244b
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Suppliers.java
@@ -0,0 +1,86 @@
+package org.dromara.property.domain;
+
+import org.dromara.common.tenant.core.TenantEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+
+/**
+ * 供应商对象 suppliers
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("suppliers")
+public class Suppliers extends TenantEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @TableId(value = "id")
+ private Long id;
+
+ /**
+ * 供应商名称
+ */
+ private String suppliersName;
+
+ /**
+ * 电话
+ */
+ private String phone;
+
+ /**
+ * 地址
+ */
+ private String location;
+
+ /**
+ * 联系人
+ */
+ private String user;
+
+ /**
+ * 状态
+ */
+ private Long state;
+
+ /**
+ * 开户行
+ */
+ private String bank;
+
+ /**
+ * 卡号
+ */
+ private String bankNumber;
+
+ /**
+ * 备注
+ */
+ private String remark;
+
+ /**
+ * 创建人id
+ */
+ private Long createById;
+
+ /**
+ * 更新人id
+ */
+ private Long updateById;
+
+ /**
+ * 搜索值
+ */
+ private String searchValue;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbVisitorManagement.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbVisitorManagement.java
index cf81713f..af7bc773 100644
--- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbVisitorManagement.java
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbVisitorManagement.java
@@ -1,6 +1,6 @@
package org.dromara.property.domain;
-import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -13,12 +13,12 @@ import java.io.Serial;
* 访客管理对象 tb_visitor_management
*
* @author mocheng
- * @date 2025-06-18
+ * @date 2025-06-19
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("tb_visitor_management")
-public class TbVisitorManagement extends BaseEntity {
+public class TbVisitorManagement extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
@@ -34,6 +34,11 @@ public class TbVisitorManagement extends BaseEntity {
*/
private String visitorName;
+ /**
+ * 所属公司
+ */
+ private String visitorUnit;
+
/**
* 访客电话
*/
@@ -44,6 +49,21 @@ public class TbVisitorManagement extends BaseEntity {
*/
private String visitingReason;
+ /**
+ * 被访人
+ */
+ private String interviewedPerson;
+
+ /**
+ * 被访单位
+ */
+ private String interviewedUnit;
+
+ /**
+ * 被访人联系方式
+ */
+ private String interviewedPhone;
+
/**
* 拜访开始时间
*/
@@ -84,5 +104,10 @@ public class TbVisitorManagement extends BaseEntity {
*/
private Long updateById;
+ /**
+ * 搜索值
+ */
+ private String searchValue;
+
}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Verification.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Verification.java
new file mode 100644
index 00000000..a87270c3
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Verification.java
@@ -0,0 +1,73 @@
+package org.dromara.property.domain;
+
+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;
+
+/**
+ * 服务核销对象 verification
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("verification")
+public class Verification extends TenantEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @TableId(value = "id")
+ private Long id;
+
+ /**
+ * 服务id
+ */
+ private Long serverId;
+
+ /**
+ * 核销人id
+ */
+ private Long userId;
+
+ /**
+ * 核销结果
+ */
+ private Long outcome;
+
+ /**
+ * 核销时间
+ */
+ private Date time;
+
+ /**
+ * 备注
+ */
+ private String remark;
+
+ /**
+ * 创建人id
+ */
+ private Long createById;
+
+ /**
+ * 更新人id
+ */
+ private Long updateById;
+
+ /**
+ * 搜索值
+ */
+ private String searchValue;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/ApplicationBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/ApplicationBo.java
new file mode 100644
index 00000000..dcd69e84
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/ApplicationBo.java
@@ -0,0 +1,67 @@
+package org.dromara.property.domain.bo;
+
+import org.dromara.property.domain.Application;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import jakarta.validation.constraints.*;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+/**
+ * 资产领用业务对象 application
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = Application.class, reverseConvertGenerate = false)
+public class ApplicationBo extends BaseEntity {
+
+ /**
+ * 主键
+ */
+ @NotNull(message = "主键不能为空", groups = { EditGroup.class })
+ private Long id;
+
+ /**
+ * 资产id
+ */
+ private Long assetId;
+
+ /**
+ * 领用人id
+ */
+ private Long userId;
+
+ /**
+ * 数量
+ */
+ private Long number;
+
+ /**
+ * 状态
+ */
+ private Long state;
+
+ /**
+ * 审批人id
+ */
+ private Long acceptanceUserId;
+
+ /**
+ * 审批时间
+ */
+ private Date acceptanceTime;
+
+ /**
+ * 申请时间
+ */
+ private Date applicationTime;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/AssetBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/AssetBo.java
new file mode 100644
index 00000000..97948ef5
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/AssetBo.java
@@ -0,0 +1,87 @@
+package org.dromara.property.domain.bo;
+
+import org.dromara.property.domain.Asset;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import jakarta.validation.constraints.*;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+/**
+ * 资产管理业务对象 asset
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = Asset.class, reverseConvertGenerate = false)
+public class AssetBo extends BaseEntity {
+
+ /**
+ * 主键
+ */
+ @NotNull(message = "主键不能为空", groups = { EditGroup.class })
+ private Long id;
+
+ /**
+ * 资产名称
+ */
+ private String name;
+
+ /**
+ * 类型
+ */
+ private String model;
+
+ /**
+ * 规格
+ */
+ private String specs;
+
+ /**
+ * 价格
+ */
+ private Long price;
+
+ /**
+ * 库存
+ */
+ private Long stock;
+
+ /**
+ * 计量单位
+ */
+ private String unit;
+
+ /**
+ * 仓库id
+ */
+ private Long depotId;
+
+ /**
+ * 描述信息
+ */
+ private String msg;
+
+ /**
+ * 供应商id
+ */
+ private Long suppliersId;
+
+ /**
+ * 入库时间
+ */
+ private Date storageTime;
+
+ /**
+ * 固定资产类型
+ */
+ private Long type;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CleanBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CleanBo.java
new file mode 100644
index 00000000..f2312d01
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CleanBo.java
@@ -0,0 +1,78 @@
+package org.dromara.property.domain.bo;
+
+import org.dromara.property.domain.Clean;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import jakarta.validation.constraints.*;
+
+/**
+ * 保洁管理业务对象 clean
+ *
+ * @author mocheng
+ * @date 2025-06-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = Clean.class, reverseConvertGenerate = false)
+public class CleanBo extends BaseEntity {
+
+ /**
+ * 主键id
+ */
+ @NotNull(message = "主键id不能为空", groups = { EditGroup.class })
+ private Long id;
+
+ /**
+ * 劳务名称
+ */
+ @NotBlank(message = "劳务名称不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String name;
+
+ /**
+ * 计量单位
+ */
+ @NotBlank(message = "计量单位不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String measure;
+
+ /**
+ * 计算方式
+ */
+ @NotBlank(message = "计算方式不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String method;
+
+ /**
+ * 单价
+ */
+ @NotBlank(message = "单价不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String peices;
+
+ /**
+ * 保洁频率
+ */
+ @NotBlank(message = "保洁频率不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String frequency;
+
+ /**
+ * 保洁标准
+ */
+ @NotBlank(message = "保洁标准不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String standard;
+
+ /**
+ * 备注
+ */
+ @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String remark;
+
+ /**
+ * 状态
+ */
+ @NotNull(message = "状态不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long stater;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CleanOrderBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CleanOrderBo.java
new file mode 100644
index 00000000..a817e8e6
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CleanOrderBo.java
@@ -0,0 +1,108 @@
+package org.dromara.property.domain.bo;
+
+import org.dromara.property.domain.CleanOrder;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import jakarta.validation.constraints.*;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+/**
+ * 保洁订单业务对象 clean_order
+ *
+ * @author mocheng
+ * @date 2025-06-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = CleanOrder.class, reverseConvertGenerate = false)
+public class CleanOrderBo extends BaseEntity {
+
+ /**
+ * 主键
+ */
+ @NotNull(message = "主键不能为空", groups = { EditGroup.class })
+ private Long id;
+
+ /**
+ * 位置
+ */
+ @NotBlank(message = "位置不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String location;
+
+ /**
+ * 面积
+ */
+ private String area;
+
+ /**
+ * 保洁id
+ */
+ @NotNull(message = "保洁id不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long cleanId;
+
+ /**
+ * 名称
+ */
+ @NotBlank(message = "名称不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String name;
+
+ /**
+ * 单价
+ */
+ @NotNull(message = "单价不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long prices;
+
+ /**
+ * 总价
+ */
+ private Long sumPeices;
+
+ /**
+ * 支付状态
+ */
+ @NotNull(message = "支付状态不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long payState;
+
+ /**
+ * 开始时间
+ */
+ @NotNull(message = "开始时间不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Date starTime;
+
+ /**
+ * 结束时间
+ */
+ @NotNull(message = "结束时间不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Date endTime;
+
+ /**
+ * 单位id
+ */
+ @NotNull(message = "单位id不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long unitId;
+
+ /**
+ * 申请单位
+ */
+ @NotBlank(message = "申请单位不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String unit;
+
+ /**
+ * 联系人
+ */
+ @NotBlank(message = "联系人不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String persion;
+
+ /**
+ * 联系电话
+ */
+ @NotBlank(message = "联系电话不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String phone;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/ConteactBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/ConteactBo.java
new file mode 100644
index 00000000..385024a2
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/ConteactBo.java
@@ -0,0 +1,91 @@
+package org.dromara.property.domain.bo;
+
+import org.dromara.property.domain.Conteact;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import jakarta.validation.constraints.*;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+/**
+ * 合同管理业务对象 conteact
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = Conteact.class, reverseConvertGenerate = false)
+public class ConteactBo extends BaseEntity {
+
+ /**
+ * 主键
+ */
+ @NotNull(message = "主键不能为空", groups = { EditGroup.class })
+ private Long id;
+
+ /**
+ * 合同编码
+ */
+ @NotBlank(message = "合同编码不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String contract;
+
+ /**
+ * 合同名称
+ */
+ @NotBlank(message = "合同名称不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String name;
+
+ /**
+ * 描述信息
+ */
+ private String msg;
+
+ /**
+ * 甲方
+ */
+ @NotBlank(message = "甲方不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String firstParty;
+
+ /**
+ * 乙方
+ */
+ @NotBlank(message = "乙方不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String lostParty;
+
+ /**
+ * 金额
+ */
+ private Long price;
+
+ /**
+ * 类型
+ */
+ private Long type;
+
+ /**
+ * 经办人
+ */
+ private String attn;
+
+ /**
+ * 审核人
+ */
+ private Long audit;
+
+ /**
+ * 开始时间
+ */
+ private Date startTime;
+
+ /**
+ * 结束时间
+ */
+ private Date endTime;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/DepotBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/DepotBo.java
new file mode 100644
index 00000000..041ca330
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/DepotBo.java
@@ -0,0 +1,50 @@
+package org.dromara.property.domain.bo;
+
+import org.dromara.property.domain.Depot;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import jakarta.validation.constraints.*;
+
+/**
+ * 仓库管理业务对象 depot
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = Depot.class, reverseConvertGenerate = false)
+public class DepotBo extends BaseEntity {
+
+ /**
+ * 主键
+ */
+ @NotNull(message = "主键不能为空", groups = { EditGroup.class })
+ private Long id;
+
+ /**
+ * 类型名称
+ */
+ private String depotName;
+
+ /**
+ * 描述信息
+ */
+ private String msg;
+
+ /**
+ * 类型
+ */
+ private String modelType;
+
+ /**
+ * 状态
+ */
+ private Long state;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/DepotLogBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/DepotLogBo.java
new file mode 100644
index 00000000..86f4b228
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/DepotLogBo.java
@@ -0,0 +1,87 @@
+package org.dromara.property.domain.bo;
+
+import org.dromara.property.domain.DepotLog;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import jakarta.validation.constraints.*;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+/**
+ * 仓库记录业务对象 depot_log
+ *
+ * @author LionLi
+ * @date 2025-06-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = DepotLog.class, reverseConvertGenerate = false)
+public class DepotLogBo extends BaseEntity {
+
+ /**
+ * 主键
+ */
+ @NotNull(message = "主键不能为空", groups = { EditGroup.class })
+ private Long id;
+
+ /**
+ * 仓库id
+ */
+ private Long depotId;
+
+ /**
+ * 资产id
+ */
+ private Long assetId;
+
+ /**
+ * 流转类型
+ */
+ private Long type;
+
+ /**
+ * 流转时间
+ */
+ private Date time;
+
+ /**
+ * 操作人id
+ */
+ private Long userId;
+
+ /**
+ * 状态
+ */
+ private Long state;
+
+ /**
+ * 备注
+ */
+ private String remark;
+
+ /**
+ * 价格
+ */
+ private Long price;
+
+ /**
+ * 总价
+ */
+ private Long priceSum;
+
+ /**
+ * 数量
+ */
+ private Long number;
+
+ /**
+ * 供应商id
+ */
+ private Long supplierId;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/MeetAttachBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/MeetAttachBo.java
new file mode 100644
index 00000000..a8d13785
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/MeetAttachBo.java
@@ -0,0 +1,66 @@
+package org.dromara.property.domain.bo;
+
+import org.dromara.property.domain.MeetAttach;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import jakarta.validation.constraints.*;
+
+/**
+ * 会议室增值服务业务对象 meet_attach
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = MeetAttach.class, reverseConvertGenerate = false)
+public class MeetAttachBo extends BaseEntity {
+
+ /**
+ * 主键
+ */
+ @NotNull(message = "主键不能为空", groups = { EditGroup.class })
+ private Long id;
+
+ /**
+ * 会议室id
+ */
+ @NotNull(message = "会议室id不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long meetId;
+
+ /**
+ * 产品名称
+ */
+ @NotBlank(message = "产品名称不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String projectName;
+
+ /**
+ * 单价
+ */
+ @NotNull(message = "单价不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long price;
+
+ /**
+ * 单位
+ */
+ @NotBlank(message = "单位不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String unit;
+
+ /**
+ * 类型
+ */
+ @NotBlank(message = "类型不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String type;
+
+ /**
+ * 状态
+ */
+ @NotNull(message = "状态不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long state;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/MeetBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/MeetBo.java
new file mode 100644
index 00000000..3bf7c624
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/MeetBo.java
@@ -0,0 +1,60 @@
+package org.dromara.property.domain.bo;
+
+import org.dromara.property.domain.Meet;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import jakarta.validation.constraints.*;
+
+/**
+ * 会议室管理业务对象 meet
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = Meet.class, reverseConvertGenerate = false)
+public class MeetBo extends BaseEntity {
+
+ /**
+ * 主键
+ */
+ @NotNull(message = "主键不能为空", groups = { EditGroup.class })
+ private Long id;
+
+ /**
+ * 会议室名称
+ */
+ private String name;
+
+ /**
+ * 位置
+ */
+ private String location;
+
+ /**
+ * 容纳人数
+ */
+ private Long personNumber;
+
+ /**
+ * 基础服务
+ */
+ private Long baseServiceId;
+
+ /**
+ * 基础价格
+ */
+ private Long basePrice;
+
+ /**
+ * 增值服务是否启用
+ */
+ private Long attach;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/MeetBookingBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/MeetBookingBo.java
new file mode 100644
index 00000000..baa87fd7
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/MeetBookingBo.java
@@ -0,0 +1,110 @@
+package org.dromara.property.domain.bo;
+
+import org.dromara.property.domain.MeetBooking;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import jakarta.validation.constraints.*;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+/**
+ * 会议预约业务对象 meet_booking
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = MeetBooking.class, reverseConvertGenerate = false)
+public class MeetBookingBo extends BaseEntity {
+
+ /**
+ * 主键
+ */
+ @NotNull(message = "主键不能为空", groups = { EditGroup.class })
+ private Long id;
+
+ /**
+ * 会议室名称
+ */
+ @NotBlank(message = "会议室名称不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String name;
+
+ /**
+ * 会议室id
+ */
+ @NotNull(message = "会议室id不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long meetId;
+
+ /**
+ * 会议室地址
+ */
+ @NotBlank(message = "会议室地址不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String meetLocation;
+
+ /**
+ * 所属单位
+ */
+ @NotBlank(message = "所属单位不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String unit;
+
+ /**
+ * 预定人
+ */
+ @NotBlank(message = "预定人不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String person;
+
+ /**
+ * 联系方式
+ */
+ @NotBlank(message = "联系方式不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String phone;
+
+ /**
+ * 预定开始时间
+ */
+ @NotNull(message = "预定开始时间不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Date scheduledStarttime;
+
+ /**
+ * 预定结束时间
+ */
+ @NotNull(message = "预定结束时间不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Date scheduledEndtime;
+
+ /**
+ * 参会人数
+ */
+ @NotNull(message = "参会人数不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long personSum;
+
+ /**
+ * 费用
+ */
+ @NotNull(message = "费用不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long price;
+
+ /**
+ * 是否包含增值服务
+ */
+ @NotNull(message = "是否包含增值服务不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long attach;
+
+ /**
+ * 支付状态
+ */
+ @NotNull(message = "支付状态不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long payState;
+
+ /**
+ * 状态
+ */
+ @NotNull(message = "状态不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long state;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/ResidentPersonBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/ResidentPersonBo.java
new file mode 100644
index 00000000..9d3aaef4
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/ResidentPersonBo.java
@@ -0,0 +1,97 @@
+package org.dromara.property.domain.bo;
+
+import org.dromara.property.domain.ResidentPerson;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import jakarta.validation.constraints.*;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+/**
+ * 入驻员工业务对象 resident_person
+ *
+ * @author mocheng
+ * @date 2025-06-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = ResidentPerson.class, reverseConvertGenerate = false)
+public class ResidentPersonBo extends BaseEntity {
+
+ /**
+ * 主键id
+ */
+ @NotNull(message = "主键id不能为空", groups = { EditGroup.class })
+ private Long id;
+
+ /**
+ * 用户id
+ */
+ @NotNull(message = "用户id不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long userId;
+
+ /**
+ * 用户名称
+ */
+ @NotBlank(message = "用户名称不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String userName;
+
+ /**
+ * 联系电话
+ */
+ @NotBlank(message = "联系电话不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String phone;
+
+ /**
+ * 性别
+ */
+ @NotNull(message = "性别不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long gender;
+
+ /**
+ * 人脸图片
+ */
+ private String img;
+
+ /**
+ * 所属单位id
+ */
+ private Long unitId;
+
+ /**
+ * 所属单位名称
+ */
+ private String unitName;
+
+ /**
+ * 入驻位置
+ */
+ private String locathon;
+
+ /**
+ * 入驻时间
+ */
+ private Date time;
+
+ /**
+ * 车牌号码
+ */
+ private String carNumber;
+
+ /**
+ * 状态
+ */
+// @NotNull(message = "状态不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long state=1l;
+
+ /**
+ * 备注
+ */
+ private String remark;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/ResidentUnitBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/ResidentUnitBo.java
new file mode 100644
index 00000000..c85f3f75
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/ResidentUnitBo.java
@@ -0,0 +1,91 @@
+package org.dromara.property.domain.bo;
+
+import org.dromara.property.domain.ResidentUnit;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import jakarta.validation.constraints.*;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+/**
+ * 入驻单位业务对象 resident_unit
+ *
+ * @author mocheng
+ * @date 2025-06-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = ResidentUnit.class, reverseConvertGenerate = false)
+public class ResidentUnitBo extends BaseEntity {
+
+ /**
+ * id
+ */
+ @NotNull(message = "id不能为空", groups = { EditGroup.class })
+ private Long id;
+
+ /**
+ * 入驻单位名称
+ */
+ @NotBlank(message = "入驻单位名称不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String name;
+
+ /**
+ * 单位编号
+ */
+// @NotNull(message = "单位编号不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long unitNumber;
+
+ /**
+ * 企业类型
+ */
+ @NotNull(message = "企业类型不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long type;
+
+ /**
+ * 联系人
+ */
+ @NotBlank(message = "联系人不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String contactPerson;
+
+ /**
+ * 联系电话
+ */
+ @NotNull(message = "联系电话不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long phone;
+
+ /**
+ * 入驻位置
+ */
+ @NotBlank(message = "入驻位置不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String location;
+
+ /**
+ * 入驻时间
+ */
+ @NotNull(message = "入驻时间不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Date time;
+
+ /**
+ * 状态
+ */
+// @NotNull(message = "状态不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long state=1l;
+
+ /**
+ * 员工人数
+ */
+// @NotNull(message = "员工人数不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long number=0l;
+
+ /**
+ * 备注
+ */
+ private String remark;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/ServerBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/ServerBo.java
new file mode 100644
index 00000000..88088a95
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/ServerBo.java
@@ -0,0 +1,55 @@
+package org.dromara.property.domain.bo;
+
+import org.dromara.property.domain.Server;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import jakarta.validation.constraints.*;
+
+/**
+ * 服务管理业务对象 server
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = Server.class, reverseConvertGenerate = false)
+public class ServerBo extends BaseEntity {
+
+ /**
+ * 主键
+ */
+ @NotNull(message = "主键不能为空", groups = { EditGroup.class })
+ private Long id;
+
+ /**
+ * 服务名称
+ */
+ private String serverName;
+
+ /**
+ * 服务类型
+ */
+ private Long serverType;
+
+ /**
+ * 价格
+ */
+ private Long price;
+
+ /**
+ * 排序
+ */
+ private Long sort;
+
+ /**
+ * 状态
+ */
+ private Long state;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/ServerBookingBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/ServerBookingBo.java
new file mode 100644
index 00000000..a3e7d016
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/ServerBookingBo.java
@@ -0,0 +1,93 @@
+package org.dromara.property.domain.bo;
+
+import org.dromara.property.domain.ServerBooking;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import jakarta.validation.constraints.*;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+/**
+ * 服务预约业务对象 server_booking
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = ServerBooking.class, reverseConvertGenerate = false)
+public class ServerBookingBo extends BaseEntity {
+
+ /**
+ * 主键
+ */
+ @NotNull(message = "主键不能为空", groups = { EditGroup.class })
+ private Long id;
+
+ /**
+ * 服务id
+ */
+ @NotNull(message = "服务id不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long serverId;
+
+ /**
+ * 预约数量
+ */
+ private Long serverNum;
+
+ /**
+ * 预约类型
+ */
+ private String bookingType;
+
+ /**
+ * 服务封面
+ */
+ private String serverImg;
+
+ /**
+ * 预约时间
+ */
+ private Date bookingTime;
+
+ /**
+ * 预约人姓名
+ */
+ private String bookingUserNema;
+
+ /**
+ * 预约人电话
+ */
+ private String bookingUserPhone;
+
+ /**
+ * 预约价格
+ */
+ private Long bookingPrice;
+
+ /**
+ * 实付价格
+ */
+ private Long payPrice;
+
+ /**
+ * 支付方式
+ */
+ private Long payType;
+
+ /**
+ * 备注
+ */
+ private String remark;
+
+ /**
+ * 状态
+ */
+ private Long state;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/SuppliersBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/SuppliersBo.java
new file mode 100644
index 00000000..1d832f55
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/SuppliersBo.java
@@ -0,0 +1,74 @@
+package org.dromara.property.domain.bo;
+
+import org.dromara.property.domain.Suppliers;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import jakarta.validation.constraints.*;
+
+/**
+ * 供应商业务对象 suppliers
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = Suppliers.class, reverseConvertGenerate = false)
+public class SuppliersBo extends BaseEntity {
+
+ /**
+ * 主键
+ */
+ @NotNull(message = "主键不能为空", groups = { EditGroup.class })
+ private Long id;
+
+ /**
+ * 供应商名称
+ */
+ @NotBlank(message = "供应商名称不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String suppliersName;
+
+ /**
+ * 电话
+ */
+ @NotBlank(message = "电话不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String phone;
+
+ /**
+ * 地址
+ */
+ @NotBlank(message = "地址不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String location;
+
+ /**
+ * 联系人
+ */
+ @NotBlank(message = "联系人不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String user;
+
+ /**
+ * 状态
+ */
+ private Long state;
+
+ /**
+ * 开户行
+ */
+ private String bank;
+
+ /**
+ * 卡号
+ */
+ private String bankNumber;
+
+ /**
+ * 备注
+ */
+ private String remark;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbVisitorManagementBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbVisitorManagementBo.java
index 0899c0b7..c9b697a9 100644
--- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbVisitorManagementBo.java
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbVisitorManagementBo.java
@@ -15,7 +15,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
* 访客管理业务对象 tb_visitor_management
*
* @author mocheng
- * @date 2025-06-18
+ * @date 2025-06-19
*/
@Data
@EqualsAndHashCode(callSuper = true)
@@ -25,6 +25,7 @@ public class TbVisitorManagementBo extends BaseEntity {
/**
* id
*/
+ @NotNull(message = "id不能为空", groups = { EditGroup.class })
private Long id;
/**
@@ -33,6 +34,12 @@ public class TbVisitorManagementBo extends BaseEntity {
@NotBlank(message = "访客姓名不能为空", groups = { AddGroup.class, EditGroup.class })
private String visitorName;
+ /**
+ * 所属公司
+ */
+ @NotBlank(message = "所属公司不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String visitorUnit;
+
/**
* 访客电话
*/
@@ -45,6 +52,22 @@ public class TbVisitorManagementBo extends BaseEntity {
@NotBlank(message = "拜访事由不能为空", groups = { AddGroup.class, EditGroup.class })
private String visitingReason;
+ /**
+ * 被访人
+ */
+ @NotBlank(message = "被访人不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String interviewedPerson;
+
+ /**
+ * 被访单位
+ */
+ private String interviewedUnit;
+
+ /**
+ * 被访人联系方式
+ */
+ private String interviewedPhone;
+
/**
* 拜访开始时间
*/
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/VerificationBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/VerificationBo.java
new file mode 100644
index 00000000..458323e3
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/VerificationBo.java
@@ -0,0 +1,61 @@
+package org.dromara.property.domain.bo;
+
+import org.dromara.property.domain.Verification;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import jakarta.validation.constraints.*;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+/**
+ * 服务核销业务对象 verification
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = Verification.class, reverseConvertGenerate = false)
+public class VerificationBo extends BaseEntity {
+
+ /**
+ * 主键
+ */
+ @NotNull(message = "主键不能为空", groups = { EditGroup.class })
+ private Long id;
+
+ /**
+ * 服务id
+ */
+ @NotNull(message = "服务id不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long serverId;
+
+ /**
+ * 核销人id
+ */
+ @NotNull(message = "核销人id不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long userId;
+
+ /**
+ * 核销结果
+ */
+ @NotNull(message = "核销结果不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long outcome;
+
+ /**
+ * 核销时间
+ */
+ @NotNull(message = "核销时间不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Date time;
+
+ /**
+ * 备注
+ */
+ private String remark;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/ApplicationVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/ApplicationVo.java
new file mode 100644
index 00000000..4fa7b598
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/ApplicationVo.java
@@ -0,0 +1,88 @@
+package org.dromara.property.domain.vo;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.dromara.property.domain.Application;
+import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
+import cn.idev.excel.annotation.ExcelProperty;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 资产领用视图对象 application
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = Application.class)
+public class ApplicationVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @ExcelProperty(value = "主键")
+ private Long id;
+
+ /**
+ * 资产id
+ */
+ @ExcelProperty(value = "资产id")
+ private Long assetId;
+
+ /**
+ * 领用人id
+ */
+ @ExcelProperty(value = "领用人id")
+ private Long userId;
+
+ /**
+ * 数量
+ */
+ @ExcelProperty(value = "数量")
+ private Long number;
+
+ /**
+ * 状态
+ */
+ @ExcelProperty(value = "状态")
+ private Long state;
+
+ /**
+ * 审批人id
+ */
+ @ExcelProperty(value = "审批人id")
+ private Long acceptanceUserId;
+
+ /**
+ * 审批时间
+ */
+ @ExcelProperty(value = "审批时间")
+ private Date acceptanceTime;
+
+ /**
+ * 申请时间
+ */
+ @ExcelProperty(value = "申请时间")
+ private Date applicationTime;
+
+ /**
+ * 创建时间
+ */
+ @ExcelProperty(value = "创建时间")
+ private Date createTime;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AssetVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AssetVo.java
new file mode 100644
index 00000000..61c8b5a8
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/AssetVo.java
@@ -0,0 +1,112 @@
+package org.dromara.property.domain.vo;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.dromara.property.domain.Asset;
+import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
+import cn.idev.excel.annotation.ExcelProperty;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 资产管理视图对象 asset
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = Asset.class)
+public class AssetVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @ExcelProperty(value = "主键")
+ private Long id;
+
+ /**
+ * 资产名称
+ */
+ @ExcelProperty(value = "资产名称")
+ private String name;
+
+ /**
+ * 类型
+ */
+ @ExcelProperty(value = "类型")
+ private String model;
+
+ /**
+ * 规格
+ */
+ @ExcelProperty(value = "规格")
+ private String specs;
+
+ /**
+ * 价格
+ */
+ @ExcelProperty(value = "价格")
+ private Long price;
+
+ /**
+ * 库存
+ */
+ @ExcelProperty(value = "库存")
+ private Long stock;
+
+ /**
+ * 计量单位
+ */
+ @ExcelProperty(value = "计量单位")
+ private String unit;
+
+ /**
+ * 仓库id
+ */
+ @ExcelProperty(value = "仓库id")
+ private Long depotId;
+
+ /**
+ * 描述信息
+ */
+ @ExcelProperty(value = "描述信息")
+ private String msg;
+
+ /**
+ * 供应商id
+ */
+ @ExcelProperty(value = "供应商id")
+ private Long suppliersId;
+
+ /**
+ * 入库时间
+ */
+ @ExcelProperty(value = "入库时间")
+ private Date storageTime;
+
+ /**
+ * 固定资产类型
+ */
+ @ExcelProperty(value = "固定资产类型")
+ private Long type;
+
+ /**
+ * 创建时间
+ */
+ @ExcelProperty(value = "创建时间")
+ private Date createTime;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CleanOrderVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CleanOrderVo.java
new file mode 100644
index 00000000..53805d68
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CleanOrderVo.java
@@ -0,0 +1,118 @@
+package org.dromara.property.domain.vo;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.dromara.property.domain.CleanOrder;
+import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
+import cn.idev.excel.annotation.ExcelProperty;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 保洁订单视图对象 clean_order
+ *
+ * @author mocheng
+ * @date 2025-06-19
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = CleanOrder.class)
+public class CleanOrderVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @ExcelProperty(value = "主键")
+ private Long id;
+
+ /**
+ * 位置
+ */
+ @ExcelProperty(value = "位置")
+ private String location;
+
+ /**
+ * 面积
+ */
+ @ExcelProperty(value = "面积")
+ private String area;
+
+ /**
+ * 保洁id
+ */
+ @ExcelProperty(value = "保洁id")
+ private Long cleanId;
+
+ /**
+ * 名称
+ */
+ @ExcelProperty(value = "名称")
+ private String name;
+
+ /**
+ * 单价
+ */
+ @ExcelProperty(value = "单价")
+ private Long prices;
+
+ /**
+ * 总价
+ */
+ @ExcelProperty(value = "总价")
+ private Long sumPeices;
+
+ /**
+ * 支付状态
+ */
+ @ExcelProperty(value = "支付状态")
+ private Long payState;
+
+ /**
+ * 开始时间
+ */
+ @ExcelProperty(value = "开始时间")
+ private Date starTime;
+
+ /**
+ * 结束时间
+ */
+ @ExcelProperty(value = "结束时间")
+ private Date endTime;
+
+ /**
+ * 单位id
+ */
+ @ExcelProperty(value = "单位id")
+ private Long unitId;
+
+ /**
+ * 申请单位
+ */
+ @ExcelProperty(value = "申请单位")
+ private String unit;
+
+ /**
+ * 联系人
+ */
+ @ExcelProperty(value = "联系人")
+ private String persion;
+
+ /**
+ * 联系电话
+ */
+ @ExcelProperty(value = "联系电话")
+ private String phone;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CleanVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CleanVo.java
new file mode 100644
index 00000000..0ef362b3
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CleanVo.java
@@ -0,0 +1,86 @@
+package org.dromara.property.domain.vo;
+
+import org.dromara.property.domain.Clean;
+import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
+import cn.idev.excel.annotation.ExcelProperty;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 保洁管理视图对象 clean
+ *
+ * @author mocheng
+ * @date 2025-06-19
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = Clean.class)
+public class CleanVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键id
+ */
+ @ExcelProperty(value = "主键id")
+ private Long id;
+
+ /**
+ * 劳务名称
+ */
+ @ExcelProperty(value = "劳务名称")
+ private String name;
+
+ /**
+ * 计量单位
+ */
+ @ExcelProperty(value = "计量单位")
+ private String measure;
+
+ /**
+ * 计算方式
+ */
+ @ExcelProperty(value = "计算方式")
+ private String method;
+
+ /**
+ * 单价
+ */
+ @ExcelProperty(value = "单价")
+ private String peices;
+
+ /**
+ * 保洁频率
+ */
+ @ExcelProperty(value = "保洁频率")
+ private String frequency;
+
+ /**
+ * 保洁标准
+ */
+ @ExcelProperty(value = "保洁标准")
+ private String standard;
+
+ /**
+ * 备注
+ */
+ @ExcelProperty(value = "备注")
+ private String remark;
+
+ /**
+ * 状态
+ */
+ @ExcelProperty(value = "状态")
+ private Long stater;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/ConteactVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/ConteactVo.java
new file mode 100644
index 00000000..5c6ab348
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/ConteactVo.java
@@ -0,0 +1,112 @@
+package org.dromara.property.domain.vo;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.dromara.property.domain.Conteact;
+import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
+import cn.idev.excel.annotation.ExcelProperty;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 合同管理视图对象 conteact
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = Conteact.class)
+public class ConteactVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @ExcelProperty(value = "主键")
+ private Long id;
+
+ /**
+ * 合同编码
+ */
+ @ExcelProperty(value = "合同编码")
+ private String contract;
+
+ /**
+ * 合同名称
+ */
+ @ExcelProperty(value = "合同名称")
+ private String name;
+
+ /**
+ * 描述信息
+ */
+ @ExcelProperty(value = "描述信息")
+ private String msg;
+
+ /**
+ * 甲方
+ */
+ @ExcelProperty(value = "甲方")
+ private String firstParty;
+
+ /**
+ * 乙方
+ */
+ @ExcelProperty(value = "乙方")
+ private String lostParty;
+
+ /**
+ * 金额
+ */
+ @ExcelProperty(value = "金额")
+ private Long price;
+
+ /**
+ * 类型
+ */
+ @ExcelProperty(value = "类型")
+ private Long type;
+
+ /**
+ * 经办人
+ */
+ @ExcelProperty(value = "经办人")
+ private String attn;
+
+ /**
+ * 审核人
+ */
+ @ExcelProperty(value = "审核人")
+ private Long audit;
+
+ /**
+ * 开始时间
+ */
+ @ExcelProperty(value = "开始时间")
+ private Date startTime;
+
+ /**
+ * 结束时间
+ */
+ @ExcelProperty(value = "结束时间")
+ private Date endTime;
+
+ /**
+ * 创建时间
+ */
+ @ExcelProperty(value = "创建时间")
+ private Date createTime;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/DepotLogVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/DepotLogVo.java
new file mode 100644
index 00000000..d88032be
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/DepotLogVo.java
@@ -0,0 +1,112 @@
+package org.dromara.property.domain.vo;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.dromara.property.domain.DepotLog;
+import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
+import cn.idev.excel.annotation.ExcelProperty;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 仓库记录视图对象 depot_log
+ *
+ * @author LionLi
+ * @date 2025-06-21
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = DepotLog.class)
+public class DepotLogVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @ExcelProperty(value = "主键")
+ private Long id;
+
+ /**
+ * 仓库id
+ */
+ @ExcelProperty(value = "仓库id")
+ private Long depotId;
+
+ /**
+ * 资产id
+ */
+ @ExcelProperty(value = "资产id")
+ private Long assetId;
+
+ /**
+ * 流转类型
+ */
+ @ExcelProperty(value = "流转类型")
+ private Long type;
+
+ /**
+ * 流转时间
+ */
+ @ExcelProperty(value = "流转时间")
+ private Date time;
+
+ /**
+ * 操作人id
+ */
+ @ExcelProperty(value = "操作人id")
+ private Long userId;
+
+ /**
+ * 状态
+ */
+ @ExcelProperty(value = "状态")
+ private Long state;
+
+ /**
+ * 备注
+ */
+ @ExcelProperty(value = "备注")
+ private String remark;
+
+ /**
+ * 价格
+ */
+ @ExcelProperty(value = "价格")
+ private Long price;
+
+ /**
+ * 总价
+ */
+ @ExcelProperty(value = "总价")
+ private Long priceSum;
+
+ /**
+ * 数量
+ */
+ @ExcelProperty(value = "数量")
+ private Long number;
+
+ /**
+ * 供应商id
+ */
+ @ExcelProperty(value = "供应商id")
+ private Long supplierId;
+
+ /**
+ * 创建时间
+ */
+ @ExcelProperty(value = "创建时间")
+ private Date createTime;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/DepotVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/DepotVo.java
new file mode 100644
index 00000000..71ebc916
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/DepotVo.java
@@ -0,0 +1,68 @@
+package org.dromara.property.domain.vo;
+
+import org.dromara.property.domain.Depot;
+import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
+import cn.idev.excel.annotation.ExcelProperty;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 仓库管理视图对象 depot
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = Depot.class)
+public class DepotVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @ExcelProperty(value = "主键")
+ private Long id;
+
+ /**
+ * 类型名称
+ */
+ @ExcelProperty(value = "类型名称")
+ private String depotName;
+
+ /**
+ * 描述信息
+ */
+ @ExcelProperty(value = "描述信息")
+ private String msg;
+
+ /**
+ * 类型
+ */
+ @ExcelProperty(value = "类型")
+ private String modelType;
+
+ /**
+ * 状态
+ */
+ @ExcelProperty(value = "状态")
+ private Long state;
+
+ /**
+ * 创建时间
+ */
+ @ExcelProperty(value = "创建时间")
+ private Date createTime;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/MeetAttachVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/MeetAttachVo.java
new file mode 100644
index 00000000..5bf157e2
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/MeetAttachVo.java
@@ -0,0 +1,80 @@
+package org.dromara.property.domain.vo;
+
+import org.dromara.property.domain.MeetAttach;
+import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
+import cn.idev.excel.annotation.ExcelProperty;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 会议室增值服务视图对象 meet_attach
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = MeetAttach.class)
+public class MeetAttachVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @ExcelProperty(value = "主键")
+ private Long id;
+
+ /**
+ * 会议室id
+ */
+ @ExcelProperty(value = "会议室id")
+ private Long meetId;
+
+ /**
+ * 产品名称
+ */
+ @ExcelProperty(value = "产品名称")
+ private String projectName;
+
+ /**
+ * 单价
+ */
+ @ExcelProperty(value = "单价")
+ private Long price;
+
+ /**
+ * 单位
+ */
+ @ExcelProperty(value = "单位")
+ private String unit;
+
+ /**
+ * 类型
+ */
+ @ExcelProperty(value = "类型")
+ private String type;
+
+ /**
+ * 状态
+ */
+ @ExcelProperty(value = "状态")
+ private Long state;
+
+ /**
+ * 创建时间
+ */
+ @ExcelProperty(value = "创建时间")
+ private Date createTime;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/MeetBookingVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/MeetBookingVo.java
new file mode 100644
index 00000000..83f87d69
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/MeetBookingVo.java
@@ -0,0 +1,124 @@
+package org.dromara.property.domain.vo;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.dromara.property.domain.MeetBooking;
+import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
+import cn.idev.excel.annotation.ExcelProperty;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 会议预约视图对象 meet_booking
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = MeetBooking.class)
+public class MeetBookingVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @ExcelProperty(value = "主键")
+ private Long id;
+
+ /**
+ * 会议室名称
+ */
+ @ExcelProperty(value = "会议室名称")
+ private String name;
+
+ /**
+ * 会议室id
+ */
+ @ExcelProperty(value = "会议室id")
+ private Long meetId;
+
+ /**
+ * 会议室地址
+ */
+ @ExcelProperty(value = "会议室地址")
+ private String meetLocation;
+
+ /**
+ * 所属单位
+ */
+ @ExcelProperty(value = "所属单位")
+ private String unit;
+
+ /**
+ * 预定人
+ */
+ @ExcelProperty(value = "预定人")
+ private String person;
+
+ /**
+ * 联系方式
+ */
+ @ExcelProperty(value = "联系方式")
+ private String phone;
+
+ /**
+ * 预定开始时间
+ */
+ @ExcelProperty(value = "预定开始时间")
+ private Date scheduledStarttime;
+
+ /**
+ * 预定结束时间
+ */
+ @ExcelProperty(value = "预定结束时间")
+ private Date scheduledEndtime;
+
+ /**
+ * 参会人数
+ */
+ @ExcelProperty(value = "参会人数")
+ private Long personSum;
+
+ /**
+ * 费用
+ */
+ @ExcelProperty(value = "费用")
+ private Long price;
+
+ /**
+ * 是否包含增值服务
+ */
+ @ExcelProperty(value = "是否包含增值服务")
+ private Long attach;
+
+ /**
+ * 支付状态
+ */
+ @ExcelProperty(value = "支付状态")
+ private Long payState;
+
+ /**
+ * 状态
+ */
+ @ExcelProperty(value = "状态")
+ private Long state;
+
+ /**
+ * 创建时间
+ */
+ @ExcelProperty(value = "创建时间")
+ private Date createTime;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/MeetVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/MeetVo.java
new file mode 100644
index 00000000..b86245bc
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/MeetVo.java
@@ -0,0 +1,80 @@
+package org.dromara.property.domain.vo;
+
+import org.dromara.property.domain.Meet;
+import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
+import cn.idev.excel.annotation.ExcelProperty;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 会议室管理视图对象 meet
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = Meet.class)
+public class MeetVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @ExcelProperty(value = "主键")
+ private Long id;
+
+ /**
+ * 会议室名称
+ */
+ @ExcelProperty(value = "会议室名称")
+ private String name;
+
+ /**
+ * 位置
+ */
+ @ExcelProperty(value = "位置")
+ private String location;
+
+ /**
+ * 容纳人数
+ */
+ @ExcelProperty(value = "容纳人数")
+ private Long personNumber;
+
+ /**
+ * 基础服务
+ */
+ @ExcelProperty(value = "基础服务")
+ private Long baseServiceId;
+
+ /**
+ * 基础价格
+ */
+ @ExcelProperty(value = "基础价格")
+ private Long basePrice;
+
+ /**
+ * 增值服务是否启用
+ */
+ @ExcelProperty(value = "增值服务是否启用")
+ private Long attach;
+
+ /**
+ * 创建时间
+ */
+ @ExcelProperty(value = "创建时间")
+ private Date createTime;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/ResidentPersonVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/ResidentPersonVo.java
new file mode 100644
index 00000000..39ad8e81
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/ResidentPersonVo.java
@@ -0,0 +1,112 @@
+package org.dromara.property.domain.vo;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.dromara.property.domain.ResidentPerson;
+import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
+import cn.idev.excel.annotation.ExcelProperty;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 入驻员工视图对象 resident_person
+ *
+ * @author mocheng
+ * @date 2025-06-19
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = ResidentPerson.class)
+public class ResidentPersonVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键id
+ */
+ @ExcelProperty(value = "主键id")
+ private Long id;
+
+ /**
+ * 用户id
+ */
+ @ExcelProperty(value = "用户id")
+ private Long userId;
+
+ /**
+ * 用户名称
+ */
+ @ExcelProperty(value = "用户名称")
+ private String userName;
+
+ /**
+ * 联系电话
+ */
+ @ExcelProperty(value = "联系电话")
+ private String phone;
+
+ /**
+ * 性别
+ */
+ @ExcelProperty(value = "性别")
+ private Long gender;
+
+ /**
+ * 人脸图片
+ */
+ @ExcelProperty(value = "人脸图片")
+ private String img;
+
+ /**
+ * 所属单位id
+ */
+ @ExcelProperty(value = "所属单位id")
+ private Long unitId;
+
+ /**
+ * 所属单位名称
+ */
+ @ExcelProperty(value = "所属单位名称")
+ private String unitName;
+
+ /**
+ * 入驻位置
+ */
+ @ExcelProperty(value = "入驻位置")
+ private String locathon;
+
+ /**
+ * 入驻时间
+ */
+ @ExcelProperty(value = "入驻时间")
+ private Date time;
+
+ /**
+ * 车牌号码
+ */
+ @ExcelProperty(value = "车牌号码")
+ private String carNumber;
+
+ /**
+ * 状态
+ */
+ @ExcelProperty(value = "状态")
+ private Long state;
+
+ /**
+ * 备注
+ */
+ @ExcelProperty(value = "备注")
+ private String remark;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/ResidentUnitVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/ResidentUnitVo.java
new file mode 100644
index 00000000..f0853201
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/ResidentUnitVo.java
@@ -0,0 +1,106 @@
+package org.dromara.property.domain.vo;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.dromara.property.domain.ResidentUnit;
+import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
+import cn.idev.excel.annotation.ExcelProperty;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 入驻单位视图对象 resident_unit
+ *
+ * @author mocheng
+ * @date 2025-06-19
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = ResidentUnit.class)
+public class ResidentUnitVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * id
+ */
+ @ExcelProperty(value = "id")
+ private Long id;
+
+ /**
+ * 入驻单位名称
+ */
+ @ExcelProperty(value = "入驻单位名称")
+ private String name;
+
+ /**
+ * 单位编号
+ */
+ @ExcelProperty(value = "单位编号")
+ private Long unitNumber;
+
+ /**
+ * 企业类型
+ */
+ @ExcelProperty(value = "企业类型")
+ private Long type;
+
+ /**
+ * 联系人
+ */
+ @ExcelProperty(value = "联系人")
+ private String contactPerson;
+
+ /**
+ * 联系电话
+ */
+ @ExcelProperty(value = "联系电话")
+ private Long phone;
+
+ /**
+ * 入驻位置
+ */
+ @ExcelProperty(value = "入驻位置")
+ private String location;
+
+ /**
+ * 入驻时间
+ */
+ @ExcelProperty(value = "入驻时间")
+ private Date time;
+
+ /**
+ * 状态
+ */
+ @ExcelProperty(value = "状态")
+ private Long state;
+
+ /**
+ * 员工人数
+ */
+ @ExcelProperty(value = "员工人数")
+ private Long number;
+
+ /**
+ * 备注
+ */
+ @ExcelProperty(value = "备注")
+ private String remark;
+
+ /**
+ * 创建时间
+ */
+ @ExcelProperty(value = "创建时间")
+ private Date createTime;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/ServerBookingVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/ServerBookingVo.java
new file mode 100644
index 00000000..721b779e
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/ServerBookingVo.java
@@ -0,0 +1,118 @@
+package org.dromara.property.domain.vo;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.dromara.property.domain.ServerBooking;
+import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
+import cn.idev.excel.annotation.ExcelProperty;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 服务预约视图对象 server_booking
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = ServerBooking.class)
+public class ServerBookingVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @ExcelProperty(value = "主键")
+ private Long id;
+
+ /**
+ * 服务id
+ */
+ @ExcelProperty(value = "服务id")
+ private Long serverId;
+
+ /**
+ * 预约数量
+ */
+ @ExcelProperty(value = "预约数量")
+ private Long serverNum;
+
+ /**
+ * 预约类型
+ */
+ @ExcelProperty(value = "预约类型")
+ private String bookingType;
+
+ /**
+ * 服务封面
+ */
+ @ExcelProperty(value = "服务封面")
+ private String serverImg;
+
+ /**
+ * 预约时间
+ */
+ @ExcelProperty(value = "预约时间")
+ private Date bookingTime;
+
+ /**
+ * 预约人姓名
+ */
+ @ExcelProperty(value = "预约人姓名")
+ private String bookingUserNema;
+
+ /**
+ * 预约人电话
+ */
+ @ExcelProperty(value = "预约人电话")
+ private String bookingUserPhone;
+
+ /**
+ * 预约价格
+ */
+ @ExcelProperty(value = "预约价格")
+ private Long bookingPrice;
+
+ /**
+ * 实付价格
+ */
+ @ExcelProperty(value = "实付价格")
+ private Long payPrice;
+
+ /**
+ * 支付方式
+ */
+ @ExcelProperty(value = "支付方式")
+ private Long payType;
+
+ /**
+ * 备注
+ */
+ @ExcelProperty(value = "备注")
+ private String remark;
+
+ /**
+ * 状态
+ */
+ @ExcelProperty(value = "状态")
+ private Long state;
+
+ /**
+ * 创建时间
+ */
+ @ExcelProperty(value = "创建时间")
+ private Date createTime;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/ServerVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/ServerVo.java
new file mode 100644
index 00000000..6726fe32
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/ServerVo.java
@@ -0,0 +1,74 @@
+package org.dromara.property.domain.vo;
+
+import org.dromara.property.domain.Server;
+import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
+import cn.idev.excel.annotation.ExcelProperty;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 服务管理视图对象 server
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = Server.class)
+public class ServerVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @ExcelProperty(value = "主键")
+ private Long id;
+
+ /**
+ * 服务名称
+ */
+ @ExcelProperty(value = "服务名称")
+ private String serverName;
+
+ /**
+ * 服务类型
+ */
+ @ExcelProperty(value = "服务类型")
+ private Long serverType;
+
+ /**
+ * 价格
+ */
+ @ExcelProperty(value = "价格")
+ private Long price;
+
+ /**
+ * 排序
+ */
+ @ExcelProperty(value = "排序")
+ private Long sort;
+
+ /**
+ * 状态
+ */
+ @ExcelProperty(value = "状态")
+ private Long state;
+
+ /**
+ * 创建时间
+ */
+ @ExcelProperty(value = "创建时间")
+ private Date createTime;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/SuppliersVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/SuppliersVo.java
new file mode 100644
index 00000000..c10e11cc
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/SuppliersVo.java
@@ -0,0 +1,92 @@
+package org.dromara.property.domain.vo;
+
+import org.dromara.property.domain.Suppliers;
+import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
+import cn.idev.excel.annotation.ExcelProperty;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 供应商视图对象 suppliers
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = Suppliers.class)
+public class SuppliersVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @ExcelProperty(value = "主键")
+ private Long id;
+
+ /**
+ * 供应商名称
+ */
+ @ExcelProperty(value = "供应商名称")
+ private String suppliersName;
+
+ /**
+ * 电话
+ */
+ @ExcelProperty(value = "电话")
+ private String phone;
+
+ /**
+ * 地址
+ */
+ @ExcelProperty(value = "地址")
+ private String location;
+
+ /**
+ * 联系人
+ */
+ @ExcelProperty(value = "联系人")
+ private String user;
+
+ /**
+ * 状态
+ */
+ @ExcelProperty(value = "状态")
+ private Long state;
+
+ /**
+ * 开户行
+ */
+ @ExcelProperty(value = "开户行")
+ private String bank;
+
+ /**
+ * 卡号
+ */
+ @ExcelProperty(value = "卡号")
+ private String bankNumber;
+
+ /**
+ * 备注
+ */
+ @ExcelProperty(value = "备注")
+ private String remark;
+
+ /**
+ * 创建时间
+ */
+ @ExcelProperty(value = "创建时间")
+ private Date createTime;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbVisitorManagementVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbVisitorManagementVo.java
index 9da92b4f..9afc469f 100644
--- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbVisitorManagementVo.java
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbVisitorManagementVo.java
@@ -20,7 +20,7 @@ import java.util.Date;
* 访客管理视图对象 tb_visitor_management
*
* @author mocheng
- * @date 2025-06-18
+ * @date 2025-06-19
*/
@Data
@ExcelIgnoreUnannotated
@@ -42,6 +42,12 @@ public class TbVisitorManagementVo implements Serializable {
@ExcelProperty(value = "访客姓名")
private String visitorName;
+ /**
+ * 所属公司
+ */
+ @ExcelProperty(value = "所属公司")
+ private String visitorUnit;
+
/**
* 访客电话
*/
@@ -54,6 +60,24 @@ public class TbVisitorManagementVo implements Serializable {
@ExcelProperty(value = "拜访事由")
private String visitingReason;
+ /**
+ * 被访人
+ */
+ @ExcelProperty(value = "被访人")
+ private String interviewedPerson;
+
+ /**
+ * 被访单位
+ */
+ @ExcelProperty(value = "被访单位")
+ private String interviewedUnit;
+
+ /**
+ * 被访人联系方式
+ */
+ @ExcelProperty(value = "被访人联系方式")
+ private String interviewedPhone;
+
/**
* 拜访开始时间
*/
@@ -89,7 +113,7 @@ public class TbVisitorManagementVo implements Serializable {
* 预约状态(0:待确认,1:已确认,2:已取消,3:已完成)
*/
@ExcelProperty(value = "预约状态", converter = ExcelDictConvert.class)
- @ExcelDictFormat(readConverterExp = "0=:待确认,1:已确认,2:已取消,3:已完成")
+ @ExcelDictFormat(dictType = "wy_appointment_tatus")
private Long serveStatus;
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/VerificationVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/VerificationVo.java
new file mode 100644
index 00000000..5c36caa1
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/VerificationVo.java
@@ -0,0 +1,76 @@
+package org.dromara.property.domain.vo;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.dromara.property.domain.Verification;
+import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
+import cn.idev.excel.annotation.ExcelProperty;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 服务核销视图对象 verification
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = Verification.class)
+public class VerificationVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @ExcelProperty(value = "主键")
+ private Long id;
+
+ /**
+ * 服务id
+ */
+ @ExcelProperty(value = "服务id")
+ private Long serverId;
+
+ /**
+ * 核销人id
+ */
+ @ExcelProperty(value = "核销人id")
+ private Long userId;
+
+ /**
+ * 核销结果
+ */
+ @ExcelProperty(value = "核销结果")
+ private Long outcome;
+
+ /**
+ * 核销时间
+ */
+ @ExcelProperty(value = "核销时间")
+ private Date time;
+
+ /**
+ * 备注
+ */
+ @ExcelProperty(value = "备注")
+ private String remark;
+
+ /**
+ * 创建时间
+ */
+ @ExcelProperty(value = "创建时间")
+ private Date createTime;
+
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/ApplicationMapper.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/ApplicationMapper.java
new file mode 100644
index 00000000..d8797ac0
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/ApplicationMapper.java
@@ -0,0 +1,15 @@
+package org.dromara.property.mapper;
+
+import org.dromara.property.domain.Application;
+import org.dromara.property.domain.vo.ApplicationVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+/**
+ * 资产领用Mapper接口
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+public interface ApplicationMapper extends BaseMapperPlus {
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/AssetMapper.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/AssetMapper.java
new file mode 100644
index 00000000..2d231d74
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/AssetMapper.java
@@ -0,0 +1,15 @@
+package org.dromara.property.mapper;
+
+import org.dromara.property.domain.Asset;
+import org.dromara.property.domain.vo.AssetVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+/**
+ * 资产管理Mapper接口
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+public interface AssetMapper extends BaseMapperPlus {
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/CleanMapper.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/CleanMapper.java
new file mode 100644
index 00000000..5c6d37ad
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/CleanMapper.java
@@ -0,0 +1,15 @@
+package org.dromara.property.mapper;
+
+import org.dromara.property.domain.Clean;
+import org.dromara.property.domain.vo.CleanVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+/**
+ * 保洁管理Mapper接口
+ *
+ * @author mocheng
+ * @date 2025-06-19
+ */
+public interface CleanMapper extends BaseMapperPlus {
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/CleanOrderMapper.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/CleanOrderMapper.java
new file mode 100644
index 00000000..3bda8849
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/CleanOrderMapper.java
@@ -0,0 +1,15 @@
+package org.dromara.property.mapper;
+
+import org.dromara.property.domain.CleanOrder;
+import org.dromara.property.domain.vo.CleanOrderVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+/**
+ * 保洁订单Mapper接口
+ *
+ * @author mocheng
+ * @date 2025-06-19
+ */
+public interface CleanOrderMapper extends BaseMapperPlus {
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/ConteactMapper.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/ConteactMapper.java
new file mode 100644
index 00000000..d1c8cc0d
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/ConteactMapper.java
@@ -0,0 +1,15 @@
+package org.dromara.property.mapper;
+
+import org.dromara.property.domain.Conteact;
+import org.dromara.property.domain.vo.ConteactVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+/**
+ * 合同管理Mapper接口
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+public interface ConteactMapper extends BaseMapperPlus {
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/DepotLogMapper.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/DepotLogMapper.java
new file mode 100644
index 00000000..191d262f
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/DepotLogMapper.java
@@ -0,0 +1,15 @@
+package org.dromara.property.mapper;
+
+import org.dromara.property.domain.DepotLog;
+import org.dromara.property.domain.vo.DepotLogVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+/**
+ * 仓库记录Mapper接口
+ *
+ * @author LionLi
+ * @date 2025-06-21
+ */
+public interface DepotLogMapper extends BaseMapperPlus {
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/DepotMapper.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/DepotMapper.java
new file mode 100644
index 00000000..d6d84969
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/DepotMapper.java
@@ -0,0 +1,15 @@
+package org.dromara.property.mapper;
+
+import org.dromara.property.domain.Depot;
+import org.dromara.property.domain.vo.DepotVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+/**
+ * 仓库管理Mapper接口
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+public interface DepotMapper extends BaseMapperPlus {
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/MeetAttachMapper.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/MeetAttachMapper.java
new file mode 100644
index 00000000..15b03186
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/MeetAttachMapper.java
@@ -0,0 +1,15 @@
+package org.dromara.property.mapper;
+
+import org.dromara.property.domain.MeetAttach;
+import org.dromara.property.domain.vo.MeetAttachVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+/**
+ * 会议室增值服务Mapper接口
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+public interface MeetAttachMapper extends BaseMapperPlus {
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/MeetBookingMapper.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/MeetBookingMapper.java
new file mode 100644
index 00000000..958bac2e
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/MeetBookingMapper.java
@@ -0,0 +1,15 @@
+package org.dromara.property.mapper;
+
+import org.dromara.property.domain.MeetBooking;
+import org.dromara.property.domain.vo.MeetBookingVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+/**
+ * 会议预约Mapper接口
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+public interface MeetBookingMapper extends BaseMapperPlus {
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/MeetMapper.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/MeetMapper.java
new file mode 100644
index 00000000..1f16cd96
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/MeetMapper.java
@@ -0,0 +1,15 @@
+package org.dromara.property.mapper;
+
+import org.dromara.property.domain.Meet;
+import org.dromara.property.domain.vo.MeetVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+/**
+ * 会议室管理Mapper接口
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+public interface MeetMapper extends BaseMapperPlus {
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/ResidentPersonMapper.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/ResidentPersonMapper.java
new file mode 100644
index 00000000..b29e28ab
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/ResidentPersonMapper.java
@@ -0,0 +1,15 @@
+package org.dromara.property.mapper;
+
+import org.dromara.property.domain.ResidentPerson;
+import org.dromara.property.domain.vo.ResidentPersonVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+/**
+ * 入驻员工Mapper接口
+ *
+ * @author mocheng
+ * @date 2025-06-19
+ */
+public interface ResidentPersonMapper extends BaseMapperPlus {
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/ResidentUnitMapper.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/ResidentUnitMapper.java
new file mode 100644
index 00000000..2469f42e
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/ResidentUnitMapper.java
@@ -0,0 +1,15 @@
+package org.dromara.property.mapper;
+
+import org.dromara.property.domain.ResidentUnit;
+import org.dromara.property.domain.vo.ResidentUnitVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+/**
+ * 入驻单位Mapper接口
+ *
+ * @author mocheng
+ * @date 2025-06-19
+ */
+public interface ResidentUnitMapper extends BaseMapperPlus {
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/ServerBookingMapper.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/ServerBookingMapper.java
new file mode 100644
index 00000000..d44893df
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/ServerBookingMapper.java
@@ -0,0 +1,15 @@
+package org.dromara.property.mapper;
+
+import org.dromara.property.domain.ServerBooking;
+import org.dromara.property.domain.vo.ServerBookingVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+/**
+ * 服务预约Mapper接口
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+public interface ServerBookingMapper extends BaseMapperPlus {
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/ServerMapper.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/ServerMapper.java
new file mode 100644
index 00000000..65dcfbb7
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/ServerMapper.java
@@ -0,0 +1,15 @@
+package org.dromara.property.mapper;
+
+import org.dromara.property.domain.Server;
+import org.dromara.property.domain.vo.ServerVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+/**
+ * 服务管理Mapper接口
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+public interface ServerMapper extends BaseMapperPlus {
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/SuppliersMapper.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/SuppliersMapper.java
new file mode 100644
index 00000000..971c4950
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/SuppliersMapper.java
@@ -0,0 +1,15 @@
+package org.dromara.property.mapper;
+
+import org.dromara.property.domain.Suppliers;
+import org.dromara.property.domain.vo.SuppliersVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+/**
+ * 供应商Mapper接口
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+public interface SuppliersMapper extends BaseMapperPlus {
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/TbVisitorManagementMapper.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/TbVisitorManagementMapper.java
index 5e3e080c..624ca33b 100644
--- a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/TbVisitorManagementMapper.java
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/TbVisitorManagementMapper.java
@@ -8,7 +8,7 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
* 访客管理Mapper接口
*
* @author mocheng
- * @date 2025-06-18
+ * @date 2025-06-19
*/
public interface TbVisitorManagementMapper extends BaseMapperPlus {
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/VerificationMapper.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/VerificationMapper.java
new file mode 100644
index 00000000..8c4b80e3
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/VerificationMapper.java
@@ -0,0 +1,15 @@
+package org.dromara.property.mapper;
+
+import org.dromara.property.domain.Verification;
+import org.dromara.property.domain.vo.VerificationVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+/**
+ * 服务核销Mapper接口
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+public interface VerificationMapper extends BaseMapperPlus {
+
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IApplicationService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IApplicationService.java
new file mode 100644
index 00000000..3dadf24a
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IApplicationService.java
@@ -0,0 +1,69 @@
+package org.dromara.property.service;
+
+import org.dromara.property.domain.Application;
+import org.dromara.property.domain.vo.ApplicationVo;
+import org.dromara.property.domain.bo.ApplicationBo;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 资产领用Service接口
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+public interface IApplicationService {
+
+ /**
+ * 查询资产领用
+ *
+ * @param id 主键
+ * @return 资产领用
+ */
+ ApplicationVo queryById(Long id);
+
+ /**
+ * 分页查询资产领用列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 资产领用分页列表
+ */
+ TableDataInfo queryPageList(ApplicationBo bo, PageQuery pageQuery);
+
+ /**
+ * 查询符合条件的资产领用列表
+ *
+ * @param bo 查询条件
+ * @return 资产领用列表
+ */
+ List queryList(ApplicationBo bo);
+
+ /**
+ * 新增资产领用
+ *
+ * @param bo 资产领用
+ * @return 是否新增成功
+ */
+ Boolean insertByBo(ApplicationBo bo);
+
+ /**
+ * 修改资产领用
+ *
+ * @param bo 资产领用
+ * @return 是否修改成功
+ */
+ Boolean updateByBo(ApplicationBo bo);
+
+ /**
+ * 校验并批量删除资产领用信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ Boolean deleteWithValidByIds(Collection ids, Boolean isValid);
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IAssetService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IAssetService.java
new file mode 100644
index 00000000..200b1e8f
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IAssetService.java
@@ -0,0 +1,69 @@
+package org.dromara.property.service;
+
+import org.dromara.property.domain.Asset;
+import org.dromara.property.domain.vo.AssetVo;
+import org.dromara.property.domain.bo.AssetBo;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 资产管理Service接口
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+public interface IAssetService {
+
+ /**
+ * 查询资产管理
+ *
+ * @param id 主键
+ * @return 资产管理
+ */
+ AssetVo queryById(Long id);
+
+ /**
+ * 分页查询资产管理列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 资产管理分页列表
+ */
+ TableDataInfo queryPageList(AssetBo bo, PageQuery pageQuery);
+
+ /**
+ * 查询符合条件的资产管理列表
+ *
+ * @param bo 查询条件
+ * @return 资产管理列表
+ */
+ List queryList(AssetBo bo);
+
+ /**
+ * 新增资产管理
+ *
+ * @param bo 资产管理
+ * @return 是否新增成功
+ */
+ Boolean insertByBo(AssetBo bo);
+
+ /**
+ * 修改资产管理
+ *
+ * @param bo 资产管理
+ * @return 是否修改成功
+ */
+ Boolean updateByBo(AssetBo bo);
+
+ /**
+ * 校验并批量删除资产管理信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ Boolean deleteWithValidByIds(Collection ids, Boolean isValid);
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ICleanOrderService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ICleanOrderService.java
new file mode 100644
index 00000000..e4f56189
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ICleanOrderService.java
@@ -0,0 +1,69 @@
+package org.dromara.property.service;
+
+import org.dromara.property.domain.CleanOrder;
+import org.dromara.property.domain.vo.CleanOrderVo;
+import org.dromara.property.domain.bo.CleanOrderBo;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 保洁订单Service接口
+ *
+ * @author mocheng
+ * @date 2025-06-19
+ */
+public interface ICleanOrderService {
+
+ /**
+ * 查询保洁订单
+ *
+ * @param id 主键
+ * @return 保洁订单
+ */
+ CleanOrderVo queryById(Long id);
+
+ /**
+ * 分页查询保洁订单列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 保洁订单分页列表
+ */
+ TableDataInfo queryPageList(CleanOrderBo bo, PageQuery pageQuery);
+
+ /**
+ * 查询符合条件的保洁订单列表
+ *
+ * @param bo 查询条件
+ * @return 保洁订单列表
+ */
+ List queryList(CleanOrderBo bo);
+
+ /**
+ * 新增保洁订单
+ *
+ * @param bo 保洁订单
+ * @return 是否新增成功
+ */
+ Boolean insertByBo(CleanOrderBo bo);
+
+ /**
+ * 修改保洁订单
+ *
+ * @param bo 保洁订单
+ * @return 是否修改成功
+ */
+ Boolean updateByBo(CleanOrderBo bo);
+
+ /**
+ * 校验并批量删除保洁订单信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ Boolean deleteWithValidByIds(Collection ids, Boolean isValid);
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ICleanService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ICleanService.java
new file mode 100644
index 00000000..6e0f4230
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ICleanService.java
@@ -0,0 +1,69 @@
+package org.dromara.property.service;
+
+import org.dromara.property.domain.Clean;
+import org.dromara.property.domain.vo.CleanVo;
+import org.dromara.property.domain.bo.CleanBo;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 保洁管理Service接口
+ *
+ * @author mocheng
+ * @date 2025-06-19
+ */
+public interface ICleanService {
+
+ /**
+ * 查询保洁管理
+ *
+ * @param id 主键
+ * @return 保洁管理
+ */
+ CleanVo queryById(Long id);
+
+ /**
+ * 分页查询保洁管理列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 保洁管理分页列表
+ */
+ TableDataInfo queryPageList(CleanBo bo, PageQuery pageQuery);
+
+ /**
+ * 查询符合条件的保洁管理列表
+ *
+ * @param bo 查询条件
+ * @return 保洁管理列表
+ */
+ List queryList(CleanBo bo);
+
+ /**
+ * 新增保洁管理
+ *
+ * @param bo 保洁管理
+ * @return 是否新增成功
+ */
+ Boolean insertByBo(CleanBo bo);
+
+ /**
+ * 修改保洁管理
+ *
+ * @param bo 保洁管理
+ * @return 是否修改成功
+ */
+ Boolean updateByBo(CleanBo bo);
+
+ /**
+ * 校验并批量删除保洁管理信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ Boolean deleteWithValidByIds(Collection ids, Boolean isValid);
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IConteactService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IConteactService.java
new file mode 100644
index 00000000..aef3e0e1
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IConteactService.java
@@ -0,0 +1,69 @@
+package org.dromara.property.service;
+
+import org.dromara.property.domain.Conteact;
+import org.dromara.property.domain.vo.ConteactVo;
+import org.dromara.property.domain.bo.ConteactBo;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 合同管理Service接口
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+public interface IConteactService {
+
+ /**
+ * 查询合同管理
+ *
+ * @param id 主键
+ * @return 合同管理
+ */
+ ConteactVo queryById(Long id);
+
+ /**
+ * 分页查询合同管理列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 合同管理分页列表
+ */
+ TableDataInfo queryPageList(ConteactBo bo, PageQuery pageQuery);
+
+ /**
+ * 查询符合条件的合同管理列表
+ *
+ * @param bo 查询条件
+ * @return 合同管理列表
+ */
+ List queryList(ConteactBo bo);
+
+ /**
+ * 新增合同管理
+ *
+ * @param bo 合同管理
+ * @return 是否新增成功
+ */
+ Boolean insertByBo(ConteactBo bo);
+
+ /**
+ * 修改合同管理
+ *
+ * @param bo 合同管理
+ * @return 是否修改成功
+ */
+ Boolean updateByBo(ConteactBo bo);
+
+ /**
+ * 校验并批量删除合同管理信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ Boolean deleteWithValidByIds(Collection ids, Boolean isValid);
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IDepotLogService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IDepotLogService.java
new file mode 100644
index 00000000..fc936d02
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IDepotLogService.java
@@ -0,0 +1,69 @@
+package org.dromara.property.service;
+
+import org.dromara.property.domain.DepotLog;
+import org.dromara.property.domain.vo.DepotLogVo;
+import org.dromara.property.domain.bo.DepotLogBo;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 仓库记录Service接口
+ *
+ * @author LionLi
+ * @date 2025-06-21
+ */
+public interface IDepotLogService {
+
+ /**
+ * 查询仓库记录
+ *
+ * @param id 主键
+ * @return 仓库记录
+ */
+ DepotLogVo queryById(Long id);
+
+ /**
+ * 分页查询仓库记录列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 仓库记录分页列表
+ */
+ TableDataInfo queryPageList(DepotLogBo bo, PageQuery pageQuery);
+
+ /**
+ * 查询符合条件的仓库记录列表
+ *
+ * @param bo 查询条件
+ * @return 仓库记录列表
+ */
+ List queryList(DepotLogBo bo);
+
+ /**
+ * 新增仓库记录
+ *
+ * @param bo 仓库记录
+ * @return 是否新增成功
+ */
+ Boolean insertByBo(DepotLogBo bo);
+
+ /**
+ * 修改仓库记录
+ *
+ * @param bo 仓库记录
+ * @return 是否修改成功
+ */
+ Boolean updateByBo(DepotLogBo bo);
+
+ /**
+ * 校验并批量删除仓库记录信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ Boolean deleteWithValidByIds(Collection ids, Boolean isValid);
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IDepotService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IDepotService.java
new file mode 100644
index 00000000..b6b43d4a
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IDepotService.java
@@ -0,0 +1,69 @@
+package org.dromara.property.service;
+
+import org.dromara.property.domain.Depot;
+import org.dromara.property.domain.vo.DepotVo;
+import org.dromara.property.domain.bo.DepotBo;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 仓库管理Service接口
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+public interface IDepotService {
+
+ /**
+ * 查询仓库管理
+ *
+ * @param id 主键
+ * @return 仓库管理
+ */
+ DepotVo queryById(Long id);
+
+ /**
+ * 分页查询仓库管理列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 仓库管理分页列表
+ */
+ TableDataInfo queryPageList(DepotBo bo, PageQuery pageQuery);
+
+ /**
+ * 查询符合条件的仓库管理列表
+ *
+ * @param bo 查询条件
+ * @return 仓库管理列表
+ */
+ List queryList(DepotBo bo);
+
+ /**
+ * 新增仓库管理
+ *
+ * @param bo 仓库管理
+ * @return 是否新增成功
+ */
+ Boolean insertByBo(DepotBo bo);
+
+ /**
+ * 修改仓库管理
+ *
+ * @param bo 仓库管理
+ * @return 是否修改成功
+ */
+ Boolean updateByBo(DepotBo bo);
+
+ /**
+ * 校验并批量删除仓库管理信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ Boolean deleteWithValidByIds(Collection ids, Boolean isValid);
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IMeetAttachService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IMeetAttachService.java
new file mode 100644
index 00000000..cf3ee047
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IMeetAttachService.java
@@ -0,0 +1,69 @@
+package org.dromara.property.service;
+
+import org.dromara.property.domain.MeetAttach;
+import org.dromara.property.domain.vo.MeetAttachVo;
+import org.dromara.property.domain.bo.MeetAttachBo;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 会议室增值服务Service接口
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+public interface IMeetAttachService {
+
+ /**
+ * 查询会议室增值服务
+ *
+ * @param id 主键
+ * @return 会议室增值服务
+ */
+ MeetAttachVo queryById(Long id);
+
+ /**
+ * 分页查询会议室增值服务列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 会议室增值服务分页列表
+ */
+ TableDataInfo queryPageList(MeetAttachBo bo, PageQuery pageQuery);
+
+ /**
+ * 查询符合条件的会议室增值服务列表
+ *
+ * @param bo 查询条件
+ * @return 会议室增值服务列表
+ */
+ List queryList(MeetAttachBo bo);
+
+ /**
+ * 新增会议室增值服务
+ *
+ * @param bo 会议室增值服务
+ * @return 是否新增成功
+ */
+ Boolean insertByBo(MeetAttachBo bo);
+
+ /**
+ * 修改会议室增值服务
+ *
+ * @param bo 会议室增值服务
+ * @return 是否修改成功
+ */
+ Boolean updateByBo(MeetAttachBo bo);
+
+ /**
+ * 校验并批量删除会议室增值服务信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ Boolean deleteWithValidByIds(Collection ids, Boolean isValid);
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IMeetBookingService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IMeetBookingService.java
new file mode 100644
index 00000000..a77446dc
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IMeetBookingService.java
@@ -0,0 +1,69 @@
+package org.dromara.property.service;
+
+import org.dromara.property.domain.MeetBooking;
+import org.dromara.property.domain.vo.MeetBookingVo;
+import org.dromara.property.domain.bo.MeetBookingBo;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 会议预约Service接口
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+public interface IMeetBookingService {
+
+ /**
+ * 查询会议预约
+ *
+ * @param id 主键
+ * @return 会议预约
+ */
+ MeetBookingVo queryById(Long id);
+
+ /**
+ * 分页查询会议预约列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 会议预约分页列表
+ */
+ TableDataInfo queryPageList(MeetBookingBo bo, PageQuery pageQuery);
+
+ /**
+ * 查询符合条件的会议预约列表
+ *
+ * @param bo 查询条件
+ * @return 会议预约列表
+ */
+ List queryList(MeetBookingBo bo);
+
+ /**
+ * 新增会议预约
+ *
+ * @param bo 会议预约
+ * @return 是否新增成功
+ */
+ Boolean insertByBo(MeetBookingBo bo);
+
+ /**
+ * 修改会议预约
+ *
+ * @param bo 会议预约
+ * @return 是否修改成功
+ */
+ Boolean updateByBo(MeetBookingBo bo);
+
+ /**
+ * 校验并批量删除会议预约信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ Boolean deleteWithValidByIds(Collection ids, Boolean isValid);
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IMeetService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IMeetService.java
new file mode 100644
index 00000000..8cbc2444
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IMeetService.java
@@ -0,0 +1,69 @@
+package org.dromara.property.service;
+
+import org.dromara.property.domain.Meet;
+import org.dromara.property.domain.vo.MeetVo;
+import org.dromara.property.domain.bo.MeetBo;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 会议室管理Service接口
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+public interface IMeetService {
+
+ /**
+ * 查询会议室管理
+ *
+ * @param id 主键
+ * @return 会议室管理
+ */
+ MeetVo queryById(Long id);
+
+ /**
+ * 分页查询会议室管理列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 会议室管理分页列表
+ */
+ TableDataInfo queryPageList(MeetBo bo, PageQuery pageQuery);
+
+ /**
+ * 查询符合条件的会议室管理列表
+ *
+ * @param bo 查询条件
+ * @return 会议室管理列表
+ */
+ List queryList(MeetBo bo);
+
+ /**
+ * 新增会议室管理
+ *
+ * @param bo 会议室管理
+ * @return 是否新增成功
+ */
+ Boolean insertByBo(MeetBo bo);
+
+ /**
+ * 修改会议室管理
+ *
+ * @param bo 会议室管理
+ * @return 是否修改成功
+ */
+ Boolean updateByBo(MeetBo bo);
+
+ /**
+ * 校验并批量删除会议室管理信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ Boolean deleteWithValidByIds(Collection ids, Boolean isValid);
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IResidentPersonService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IResidentPersonService.java
new file mode 100644
index 00000000..4ba66023
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IResidentPersonService.java
@@ -0,0 +1,69 @@
+package org.dromara.property.service;
+
+import org.dromara.property.domain.ResidentPerson;
+import org.dromara.property.domain.vo.ResidentPersonVo;
+import org.dromara.property.domain.bo.ResidentPersonBo;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 入驻员工Service接口
+ *
+ * @author mocheng
+ * @date 2025-06-19
+ */
+public interface IResidentPersonService {
+
+ /**
+ * 查询入驻员工
+ *
+ * @param id 主键
+ * @return 入驻员工
+ */
+ ResidentPersonVo queryById(Long id);
+
+ /**
+ * 分页查询入驻员工列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 入驻员工分页列表
+ */
+ TableDataInfo queryPageList(ResidentPersonBo bo, PageQuery pageQuery);
+
+ /**
+ * 查询符合条件的入驻员工列表
+ *
+ * @param bo 查询条件
+ * @return 入驻员工列表
+ */
+ List queryList(ResidentPersonBo bo);
+
+ /**
+ * 新增入驻员工
+ *
+ * @param bo 入驻员工
+ * @return 是否新增成功
+ */
+ Boolean insertByBo(ResidentPersonBo bo);
+
+ /**
+ * 修改入驻员工
+ *
+ * @param bo 入驻员工
+ * @return 是否修改成功
+ */
+ Boolean updateByBo(ResidentPersonBo bo);
+
+ /**
+ * 校验并批量删除入驻员工信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ Boolean deleteWithValidByIds(Collection ids, Boolean isValid);
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IResidentUnitService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IResidentUnitService.java
new file mode 100644
index 00000000..6063c8af
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IResidentUnitService.java
@@ -0,0 +1,69 @@
+package org.dromara.property.service;
+
+import org.dromara.property.domain.ResidentUnit;
+import org.dromara.property.domain.vo.ResidentUnitVo;
+import org.dromara.property.domain.bo.ResidentUnitBo;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 入驻单位Service接口
+ *
+ * @author mocheng
+ * @date 2025-06-19
+ */
+public interface IResidentUnitService {
+
+ /**
+ * 查询入驻单位
+ *
+ * @param id 主键
+ * @return 入驻单位
+ */
+ ResidentUnitVo queryById(Long id);
+
+ /**
+ * 分页查询入驻单位列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 入驻单位分页列表
+ */
+ TableDataInfo queryPageList(ResidentUnitBo bo, PageQuery pageQuery);
+
+ /**
+ * 查询符合条件的入驻单位列表
+ *
+ * @param bo 查询条件
+ * @return 入驻单位列表
+ */
+ List queryList(ResidentUnitBo bo);
+
+ /**
+ * 新增入驻单位
+ *
+ * @param bo 入驻单位
+ * @return 是否新增成功
+ */
+ Boolean insertByBo(ResidentUnitBo bo);
+
+ /**
+ * 修改入驻单位
+ *
+ * @param bo 入驻单位
+ * @return 是否修改成功
+ */
+ Boolean updateByBo(ResidentUnitBo bo);
+
+ /**
+ * 校验并批量删除入驻单位信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ Boolean deleteWithValidByIds(Collection ids, Boolean isValid);
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IServerBookingService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IServerBookingService.java
new file mode 100644
index 00000000..16bb7377
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IServerBookingService.java
@@ -0,0 +1,69 @@
+package org.dromara.property.service;
+
+import org.dromara.property.domain.ServerBooking;
+import org.dromara.property.domain.vo.ServerBookingVo;
+import org.dromara.property.domain.bo.ServerBookingBo;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 服务预约Service接口
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+public interface IServerBookingService {
+
+ /**
+ * 查询服务预约
+ *
+ * @param id 主键
+ * @return 服务预约
+ */
+ ServerBookingVo queryById(Long id);
+
+ /**
+ * 分页查询服务预约列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 服务预约分页列表
+ */
+ TableDataInfo queryPageList(ServerBookingBo bo, PageQuery pageQuery);
+
+ /**
+ * 查询符合条件的服务预约列表
+ *
+ * @param bo 查询条件
+ * @return 服务预约列表
+ */
+ List queryList(ServerBookingBo bo);
+
+ /**
+ * 新增服务预约
+ *
+ * @param bo 服务预约
+ * @return 是否新增成功
+ */
+ Boolean insertByBo(ServerBookingBo bo);
+
+ /**
+ * 修改服务预约
+ *
+ * @param bo 服务预约
+ * @return 是否修改成功
+ */
+ Boolean updateByBo(ServerBookingBo bo);
+
+ /**
+ * 校验并批量删除服务预约信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ Boolean deleteWithValidByIds(Collection ids, Boolean isValid);
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IServerService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IServerService.java
new file mode 100644
index 00000000..2b161b9d
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IServerService.java
@@ -0,0 +1,69 @@
+package org.dromara.property.service;
+
+import org.dromara.property.domain.Server;
+import org.dromara.property.domain.vo.ServerVo;
+import org.dromara.property.domain.bo.ServerBo;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 服务管理Service接口
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+public interface IServerService {
+
+ /**
+ * 查询服务管理
+ *
+ * @param id 主键
+ * @return 服务管理
+ */
+ ServerVo queryById(Long id);
+
+ /**
+ * 分页查询服务管理列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 服务管理分页列表
+ */
+ TableDataInfo queryPageList(ServerBo bo, PageQuery pageQuery);
+
+ /**
+ * 查询符合条件的服务管理列表
+ *
+ * @param bo 查询条件
+ * @return 服务管理列表
+ */
+ List queryList(ServerBo bo);
+
+ /**
+ * 新增服务管理
+ *
+ * @param bo 服务管理
+ * @return 是否新增成功
+ */
+ Boolean insertByBo(ServerBo bo);
+
+ /**
+ * 修改服务管理
+ *
+ * @param bo 服务管理
+ * @return 是否修改成功
+ */
+ Boolean updateByBo(ServerBo bo);
+
+ /**
+ * 校验并批量删除服务管理信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ Boolean deleteWithValidByIds(Collection ids, Boolean isValid);
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ISuppliersService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ISuppliersService.java
new file mode 100644
index 00000000..3fd020de
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ISuppliersService.java
@@ -0,0 +1,69 @@
+package org.dromara.property.service;
+
+import org.dromara.property.domain.Suppliers;
+import org.dromara.property.domain.vo.SuppliersVo;
+import org.dromara.property.domain.bo.SuppliersBo;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 供应商Service接口
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+public interface ISuppliersService {
+
+ /**
+ * 查询供应商
+ *
+ * @param id 主键
+ * @return 供应商
+ */
+ SuppliersVo queryById(Long id);
+
+ /**
+ * 分页查询供应商列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 供应商分页列表
+ */
+ TableDataInfo queryPageList(SuppliersBo bo, PageQuery pageQuery);
+
+ /**
+ * 查询符合条件的供应商列表
+ *
+ * @param bo 查询条件
+ * @return 供应商列表
+ */
+ List queryList(SuppliersBo bo);
+
+ /**
+ * 新增供应商
+ *
+ * @param bo 供应商
+ * @return 是否新增成功
+ */
+ Boolean insertByBo(SuppliersBo bo);
+
+ /**
+ * 修改供应商
+ *
+ * @param bo 供应商
+ * @return 是否修改成功
+ */
+ Boolean updateByBo(SuppliersBo bo);
+
+ /**
+ * 校验并批量删除供应商信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ Boolean deleteWithValidByIds(Collection ids, Boolean isValid);
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ITbVisitorManagementService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ITbVisitorManagementService.java
index c6e568fb..7ed2bdc9 100644
--- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ITbVisitorManagementService.java
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ITbVisitorManagementService.java
@@ -13,7 +13,7 @@ import java.util.List;
* 访客管理Service接口
*
* @author mocheng
- * @date 2025-06-18
+ * @date 2025-06-19
*/
public interface ITbVisitorManagementService {
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IVerificationService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IVerificationService.java
new file mode 100644
index 00000000..125edb0f
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/IVerificationService.java
@@ -0,0 +1,69 @@
+package org.dromara.property.service;
+
+import org.dromara.property.domain.Verification;
+import org.dromara.property.domain.vo.VerificationVo;
+import org.dromara.property.domain.bo.VerificationBo;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 服务核销Service接口
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+public interface IVerificationService {
+
+ /**
+ * 查询服务核销
+ *
+ * @param id 主键
+ * @return 服务核销
+ */
+ VerificationVo queryById(Long id);
+
+ /**
+ * 分页查询服务核销列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 服务核销分页列表
+ */
+ TableDataInfo queryPageList(VerificationBo bo, PageQuery pageQuery);
+
+ /**
+ * 查询符合条件的服务核销列表
+ *
+ * @param bo 查询条件
+ * @return 服务核销列表
+ */
+ List queryList(VerificationBo bo);
+
+ /**
+ * 新增服务核销
+ *
+ * @param bo 服务核销
+ * @return 是否新增成功
+ */
+ Boolean insertByBo(VerificationBo bo);
+
+ /**
+ * 修改服务核销
+ *
+ * @param bo 服务核销
+ * @return 是否修改成功
+ */
+ Boolean updateByBo(VerificationBo bo);
+
+ /**
+ * 校验并批量删除服务核销信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ Boolean deleteWithValidByIds(Collection ids, Boolean isValid);
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/ApplicationServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/ApplicationServiceImpl.java
new file mode 100644
index 00000000..384b49c9
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/ApplicationServiceImpl.java
@@ -0,0 +1,138 @@
+package org.dromara.property.service.impl;
+
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.dromara.property.domain.bo.ApplicationBo;
+import org.dromara.property.domain.vo.ApplicationVo;
+import org.dromara.property.domain.Application;
+import org.dromara.property.mapper.ApplicationMapper;
+import org.dromara.property.service.IApplicationService;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+
+/**
+ * 资产领用Service业务层处理
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Slf4j
+@RequiredArgsConstructor
+@Service
+public class ApplicationServiceImpl implements IApplicationService {
+
+ private final ApplicationMapper baseMapper;
+
+ /**
+ * 查询资产领用
+ *
+ * @param id 主键
+ * @return 资产领用
+ */
+ @Override
+ public ApplicationVo queryById(Long id){
+ return baseMapper.selectVoById(id);
+ }
+
+ /**
+ * 分页查询资产领用列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 资产领用分页列表
+ */
+ @Override
+ public TableDataInfo queryPageList(ApplicationBo bo, PageQuery pageQuery) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ Page result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+ return TableDataInfo.build(result);
+ }
+
+ /**
+ * 查询符合条件的资产领用列表
+ *
+ * @param bo 查询条件
+ * @return 资产领用列表
+ */
+ @Override
+ public List queryList(ApplicationBo bo) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ return baseMapper.selectVoList(lqw);
+ }
+
+ private LambdaQueryWrapper buildQueryWrapper(ApplicationBo bo) {
+ Map params = bo.getParams();
+ LambdaQueryWrapper lqw = Wrappers.lambdaQuery();
+ lqw.orderByAsc(Application::getId);
+ lqw.eq(bo.getAssetId() != null, Application::getAssetId, bo.getAssetId());
+ lqw.eq(bo.getUserId() != null, Application::getUserId, bo.getUserId());
+ lqw.eq(bo.getNumber() != null, Application::getNumber, bo.getNumber());
+ lqw.eq(bo.getState() != null, Application::getState, bo.getState());
+ lqw.eq(bo.getAcceptanceUserId() != null, Application::getAcceptanceUserId, bo.getAcceptanceUserId());
+ lqw.eq(bo.getAcceptanceTime() != null, Application::getAcceptanceTime, bo.getAcceptanceTime());
+ lqw.eq(bo.getApplicationTime() != null, Application::getApplicationTime, bo.getApplicationTime());
+ return lqw;
+ }
+
+ /**
+ * 新增资产领用
+ *
+ * @param bo 资产领用
+ * @return 是否新增成功
+ */
+ @Override
+ public Boolean insertByBo(ApplicationBo bo) {
+ Application add = MapstructUtils.convert(bo, Application.class);
+ validEntityBeforeSave(add);
+ boolean flag = baseMapper.insert(add) > 0;
+ if (flag) {
+ bo.setId(add.getId());
+ }
+ return flag;
+ }
+
+ /**
+ * 修改资产领用
+ *
+ * @param bo 资产领用
+ * @return 是否修改成功
+ */
+ @Override
+ public Boolean updateByBo(ApplicationBo bo) {
+ Application update = MapstructUtils.convert(bo, Application.class);
+ validEntityBeforeSave(update);
+ return baseMapper.updateById(update) > 0;
+ }
+
+ /**
+ * 保存前的数据校验
+ */
+ private void validEntityBeforeSave(Application entity){
+ //TODO 做一些数据校验,如唯一约束
+ }
+
+ /**
+ * 校验并批量删除资产领用信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ @Override
+ public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) {
+ if(isValid){
+ //TODO 做一些业务上的校验,判断是否需要校验
+ }
+ return baseMapper.deleteByIds(ids) > 0;
+ }
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AssetServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AssetServiceImpl.java
new file mode 100644
index 00000000..251b8a74
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/AssetServiceImpl.java
@@ -0,0 +1,142 @@
+package org.dromara.property.service.impl;
+
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.dromara.property.domain.bo.AssetBo;
+import org.dromara.property.domain.vo.AssetVo;
+import org.dromara.property.domain.Asset;
+import org.dromara.property.mapper.AssetMapper;
+import org.dromara.property.service.IAssetService;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+
+/**
+ * 资产管理Service业务层处理
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Slf4j
+@RequiredArgsConstructor
+@Service
+public class AssetServiceImpl implements IAssetService {
+
+ private final AssetMapper baseMapper;
+
+ /**
+ * 查询资产管理
+ *
+ * @param id 主键
+ * @return 资产管理
+ */
+ @Override
+ public AssetVo queryById(Long id){
+ return baseMapper.selectVoById(id);
+ }
+
+ /**
+ * 分页查询资产管理列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 资产管理分页列表
+ */
+ @Override
+ public TableDataInfo queryPageList(AssetBo bo, PageQuery pageQuery) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ Page result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+ return TableDataInfo.build(result);
+ }
+
+ /**
+ * 查询符合条件的资产管理列表
+ *
+ * @param bo 查询条件
+ * @return 资产管理列表
+ */
+ @Override
+ public List queryList(AssetBo bo) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ return baseMapper.selectVoList(lqw);
+ }
+
+ private LambdaQueryWrapper buildQueryWrapper(AssetBo bo) {
+ Map params = bo.getParams();
+ LambdaQueryWrapper lqw = Wrappers.lambdaQuery();
+ lqw.orderByAsc(Asset::getId);
+ lqw.like(StringUtils.isNotBlank(bo.getName()), Asset::getName, bo.getName());
+ lqw.eq(StringUtils.isNotBlank(bo.getModel()), Asset::getModel, bo.getModel());
+ lqw.eq(StringUtils.isNotBlank(bo.getSpecs()), Asset::getSpecs, bo.getSpecs());
+ lqw.eq(bo.getPrice() != null, Asset::getPrice, bo.getPrice());
+ lqw.eq(bo.getStock() != null, Asset::getStock, bo.getStock());
+ lqw.eq(StringUtils.isNotBlank(bo.getUnit()), Asset::getUnit, bo.getUnit());
+ lqw.eq(bo.getDepotId() != null, Asset::getDepotId, bo.getDepotId());
+ lqw.eq(StringUtils.isNotBlank(bo.getMsg()), Asset::getMsg, bo.getMsg());
+ lqw.eq(bo.getSuppliersId() != null, Asset::getSuppliersId, bo.getSuppliersId());
+ lqw.eq(bo.getStorageTime() != null, Asset::getStorageTime, bo.getStorageTime());
+ lqw.eq(bo.getType() != null, Asset::getType, bo.getType());
+ return lqw;
+ }
+
+ /**
+ * 新增资产管理
+ *
+ * @param bo 资产管理
+ * @return 是否新增成功
+ */
+ @Override
+ public Boolean insertByBo(AssetBo bo) {
+ Asset add = MapstructUtils.convert(bo, Asset.class);
+ validEntityBeforeSave(add);
+ boolean flag = baseMapper.insert(add) > 0;
+ if (flag) {
+ bo.setId(add.getId());
+ }
+ return flag;
+ }
+
+ /**
+ * 修改资产管理
+ *
+ * @param bo 资产管理
+ * @return 是否修改成功
+ */
+ @Override
+ public Boolean updateByBo(AssetBo bo) {
+ Asset update = MapstructUtils.convert(bo, Asset.class);
+ validEntityBeforeSave(update);
+ return baseMapper.updateById(update) > 0;
+ }
+
+ /**
+ * 保存前的数据校验
+ */
+ private void validEntityBeforeSave(Asset entity){
+ //TODO 做一些数据校验,如唯一约束
+ }
+
+ /**
+ * 校验并批量删除资产管理信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ @Override
+ public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) {
+ if(isValid){
+ //TODO 做一些业务上的校验,判断是否需要校验
+ }
+ return baseMapper.deleteByIds(ids) > 0;
+ }
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CleanOrderServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CleanOrderServiceImpl.java
new file mode 100644
index 00000000..039d625a
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CleanOrderServiceImpl.java
@@ -0,0 +1,144 @@
+package org.dromara.property.service.impl;
+
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.dromara.property.domain.bo.CleanOrderBo;
+import org.dromara.property.domain.vo.CleanOrderVo;
+import org.dromara.property.domain.CleanOrder;
+import org.dromara.property.mapper.CleanOrderMapper;
+import org.dromara.property.service.ICleanOrderService;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+
+/**
+ * 保洁订单Service业务层处理
+ *
+ * @author mocheng
+ * @date 2025-06-19
+ */
+@Slf4j
+@RequiredArgsConstructor
+@Service
+public class CleanOrderServiceImpl implements ICleanOrderService {
+
+ private final CleanOrderMapper baseMapper;
+
+ /**
+ * 查询保洁订单
+ *
+ * @param id 主键
+ * @return 保洁订单
+ */
+ @Override
+ public CleanOrderVo queryById(Long id){
+ return baseMapper.selectVoById(id);
+ }
+
+ /**
+ * 分页查询保洁订单列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 保洁订单分页列表
+ */
+ @Override
+ public TableDataInfo queryPageList(CleanOrderBo bo, PageQuery pageQuery) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ Page result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+ return TableDataInfo.build(result);
+ }
+
+ /**
+ * 查询符合条件的保洁订单列表
+ *
+ * @param bo 查询条件
+ * @return 保洁订单列表
+ */
+ @Override
+ public List queryList(CleanOrderBo bo) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ return baseMapper.selectVoList(lqw);
+ }
+
+ private LambdaQueryWrapper buildQueryWrapper(CleanOrderBo bo) {
+ Map params = bo.getParams();
+ LambdaQueryWrapper lqw = Wrappers.lambdaQuery();
+ lqw.orderByAsc(CleanOrder::getId);
+ lqw.eq(StringUtils.isNotBlank(bo.getLocation()), CleanOrder::getLocation, bo.getLocation());
+ lqw.eq(StringUtils.isNotBlank(bo.getArea()), CleanOrder::getArea, bo.getArea());
+ lqw.eq(bo.getCleanId() != null, CleanOrder::getCleanId, bo.getCleanId());
+ lqw.like(StringUtils.isNotBlank(bo.getName()), CleanOrder::getName, bo.getName());
+ lqw.eq(bo.getPrices() != null, CleanOrder::getPrices, bo.getPrices());
+ lqw.eq(bo.getSumPeices() != null, CleanOrder::getSumPeices, bo.getSumPeices());
+ lqw.eq(bo.getPayState() != null, CleanOrder::getPayState, bo.getPayState());
+ lqw.eq(bo.getStarTime() != null, CleanOrder::getStarTime, bo.getStarTime());
+ lqw.eq(bo.getEndTime() != null, CleanOrder::getEndTime, bo.getEndTime());
+ lqw.eq(bo.getUnitId() != null, CleanOrder::getUnitId, bo.getUnitId());
+ lqw.eq(StringUtils.isNotBlank(bo.getUnit()), CleanOrder::getUnit, bo.getUnit());
+ lqw.eq(StringUtils.isNotBlank(bo.getPersion()), CleanOrder::getPersion, bo.getPersion());
+ lqw.eq(StringUtils.isNotBlank(bo.getPhone()), CleanOrder::getPhone, bo.getPhone());
+ return lqw;
+ }
+
+ /**
+ * 新增保洁订单
+ *
+ * @param bo 保洁订单
+ * @return 是否新增成功
+ */
+ @Override
+ public Boolean insertByBo(CleanOrderBo bo) {
+ CleanOrder add = MapstructUtils.convert(bo, CleanOrder.class);
+ validEntityBeforeSave(add);
+ boolean flag = baseMapper.insert(add) > 0;
+ if (flag) {
+ bo.setId(add.getId());
+ }
+ return flag;
+ }
+
+ /**
+ * 修改保洁订单
+ *
+ * @param bo 保洁订单
+ * @return 是否修改成功
+ */
+ @Override
+ public Boolean updateByBo(CleanOrderBo bo) {
+ CleanOrder update = MapstructUtils.convert(bo, CleanOrder.class);
+ validEntityBeforeSave(update);
+ return baseMapper.updateById(update) > 0;
+ }
+
+ /**
+ * 保存前的数据校验
+ */
+ private void validEntityBeforeSave(CleanOrder entity){
+ //TODO 做一些数据校验,如唯一约束
+ }
+
+ /**
+ * 校验并批量删除保洁订单信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ @Override
+ public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) {
+ if(isValid){
+ //TODO 做一些业务上的校验,判断是否需要校验
+ }
+ return baseMapper.deleteByIds(ids) > 0;
+ }
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CleanServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CleanServiceImpl.java
new file mode 100644
index 00000000..b2b93365
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CleanServiceImpl.java
@@ -0,0 +1,138 @@
+package org.dromara.property.service.impl;
+
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.dromara.property.domain.bo.CleanBo;
+import org.dromara.property.domain.vo.CleanVo;
+import org.dromara.property.domain.Clean;
+import org.dromara.property.mapper.CleanMapper;
+import org.dromara.property.service.ICleanService;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+
+/**
+ * 保洁管理Service业务层处理
+ *
+ * @author mocheng
+ * @date 2025-06-19
+ */
+@Slf4j
+@RequiredArgsConstructor
+@Service
+public class CleanServiceImpl implements ICleanService {
+
+ private final CleanMapper baseMapper;
+
+ /**
+ * 查询保洁管理
+ *
+ * @param id 主键
+ * @return 保洁管理
+ */
+ @Override
+ public CleanVo queryById(Long id){
+ return baseMapper.selectVoById(id);
+ }
+
+ /**
+ * 分页查询保洁管理列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 保洁管理分页列表
+ */
+ @Override
+ public TableDataInfo queryPageList(CleanBo bo, PageQuery pageQuery) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ Page result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+ return TableDataInfo.build(result);
+ }
+
+ /**
+ * 查询符合条件的保洁管理列表
+ *
+ * @param bo 查询条件
+ * @return 保洁管理列表
+ */
+ @Override
+ public List queryList(CleanBo bo) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ return baseMapper.selectVoList(lqw);
+ }
+
+ private LambdaQueryWrapper buildQueryWrapper(CleanBo bo) {
+ Map params = bo.getParams();
+ LambdaQueryWrapper lqw = Wrappers.lambdaQuery();
+ lqw.orderByAsc(Clean::getId);
+ lqw.like(StringUtils.isNotBlank(bo.getName()), Clean::getName, bo.getName());
+ lqw.eq(StringUtils.isNotBlank(bo.getMeasure()), Clean::getMeasure, bo.getMeasure());
+ lqw.eq(StringUtils.isNotBlank(bo.getMethod()), Clean::getMethod, bo.getMethod());
+ lqw.eq(StringUtils.isNotBlank(bo.getPeices()), Clean::getPeices, bo.getPeices());
+ lqw.eq(StringUtils.isNotBlank(bo.getFrequency()), Clean::getFrequency, bo.getFrequency());
+ lqw.eq(StringUtils.isNotBlank(bo.getStandard()), Clean::getStandard, bo.getStandard());
+ lqw.eq(bo.getStater() != null, Clean::getStater, bo.getStater());
+ return lqw;
+ }
+
+ /**
+ * 新增保洁管理
+ *
+ * @param bo 保洁管理
+ * @return 是否新增成功
+ */
+ @Override
+ public Boolean insertByBo(CleanBo bo) {
+ Clean add = MapstructUtils.convert(bo, Clean.class);
+ validEntityBeforeSave(add);
+ boolean flag = baseMapper.insert(add) > 0;
+ if (flag) {
+ bo.setId(add.getId());
+ }
+ return flag;
+ }
+
+ /**
+ * 修改保洁管理
+ *
+ * @param bo 保洁管理
+ * @return 是否修改成功
+ */
+ @Override
+ public Boolean updateByBo(CleanBo bo) {
+ Clean update = MapstructUtils.convert(bo, Clean.class);
+ validEntityBeforeSave(update);
+ return baseMapper.updateById(update) > 0;
+ }
+
+ /**
+ * 保存前的数据校验
+ */
+ private void validEntityBeforeSave(Clean entity){
+ //TODO 做一些数据校验,如唯一约束
+ }
+
+ /**
+ * 校验并批量删除保洁管理信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ @Override
+ public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) {
+ if(isValid){
+ //TODO 做一些业务上的校验,判断是否需要校验
+ }
+ return baseMapper.deleteByIds(ids) > 0;
+ }
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/ConteactServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/ConteactServiceImpl.java
new file mode 100644
index 00000000..baf94444
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/ConteactServiceImpl.java
@@ -0,0 +1,143 @@
+package org.dromara.property.service.impl;
+
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.dromara.property.domain.bo.ConteactBo;
+import org.dromara.property.domain.vo.ConteactVo;
+import org.dromara.property.domain.Conteact;
+import org.dromara.property.mapper.ConteactMapper;
+import org.dromara.property.service.IConteactService;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+
+/**
+ * 合同管理Service业务层处理
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Slf4j
+@RequiredArgsConstructor
+@Service
+public class ConteactServiceImpl implements IConteactService {
+
+ private final ConteactMapper baseMapper;
+
+ /**
+ * 查询合同管理
+ *
+ * @param id 主键
+ * @return 合同管理
+ */
+ @Override
+ public ConteactVo queryById(Long id){
+ return baseMapper.selectVoById(id);
+ }
+
+ /**
+ * 分页查询合同管理列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 合同管理分页列表
+ */
+ @Override
+ public TableDataInfo queryPageList(ConteactBo bo, PageQuery pageQuery) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ Page result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+ return TableDataInfo.build(result);
+ }
+
+ /**
+ * 查询符合条件的合同管理列表
+ *
+ * @param bo 查询条件
+ * @return 合同管理列表
+ */
+ @Override
+ public List queryList(ConteactBo bo) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ return baseMapper.selectVoList(lqw);
+ }
+
+ private LambdaQueryWrapper buildQueryWrapper(ConteactBo bo) {
+ Map params = bo.getParams();
+ LambdaQueryWrapper lqw = Wrappers.lambdaQuery();
+ lqw.orderByAsc(Conteact::getId);
+ lqw.eq(StringUtils.isNotBlank(bo.getContract()), Conteact::getContract, bo.getContract());
+ lqw.like(StringUtils.isNotBlank(bo.getName()), Conteact::getName, bo.getName());
+ lqw.eq(StringUtils.isNotBlank(bo.getMsg()), Conteact::getMsg, bo.getMsg());
+ lqw.eq(StringUtils.isNotBlank(bo.getFirstParty()), Conteact::getFirstParty, bo.getFirstParty());
+ lqw.eq(StringUtils.isNotBlank(bo.getLostParty()), Conteact::getLostParty, bo.getLostParty());
+ lqw.eq(bo.getPrice() != null, Conteact::getPrice, bo.getPrice());
+ lqw.eq(bo.getType() != null, Conteact::getType, bo.getType());
+ lqw.eq(StringUtils.isNotBlank(bo.getAttn()), Conteact::getAttn, bo.getAttn());
+ lqw.eq(bo.getAudit() != null, Conteact::getAudit, bo.getAudit());
+ lqw.eq(bo.getStartTime() != null, Conteact::getStartTime, bo.getStartTime());
+ lqw.eq(bo.getEndTime() != null, Conteact::getEndTime, bo.getEndTime());
+ lqw.eq(bo.getCreateTime() != null, Conteact::getCreateTime, bo.getCreateTime());
+ return lqw;
+ }
+
+ /**
+ * 新增合同管理
+ *
+ * @param bo 合同管理
+ * @return 是否新增成功
+ */
+ @Override
+ public Boolean insertByBo(ConteactBo bo) {
+ Conteact add = MapstructUtils.convert(bo, Conteact.class);
+ validEntityBeforeSave(add);
+ boolean flag = baseMapper.insert(add) > 0;
+ if (flag) {
+ bo.setId(add.getId());
+ }
+ return flag;
+ }
+
+ /**
+ * 修改合同管理
+ *
+ * @param bo 合同管理
+ * @return 是否修改成功
+ */
+ @Override
+ public Boolean updateByBo(ConteactBo bo) {
+ Conteact update = MapstructUtils.convert(bo, Conteact.class);
+ validEntityBeforeSave(update);
+ return baseMapper.updateById(update) > 0;
+ }
+
+ /**
+ * 保存前的数据校验
+ */
+ private void validEntityBeforeSave(Conteact entity){
+ //TODO 做一些数据校验,如唯一约束
+ }
+
+ /**
+ * 校验并批量删除合同管理信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ @Override
+ public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) {
+ if(isValid){
+ //TODO 做一些业务上的校验,判断是否需要校验
+ }
+ return baseMapper.deleteByIds(ids) > 0;
+ }
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/DepotLogServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/DepotLogServiceImpl.java
new file mode 100644
index 00000000..90ec425a
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/DepotLogServiceImpl.java
@@ -0,0 +1,141 @@
+package org.dromara.property.service.impl;
+
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.dromara.property.domain.bo.DepotLogBo;
+import org.dromara.property.domain.vo.DepotLogVo;
+import org.dromara.property.domain.DepotLog;
+import org.dromara.property.mapper.DepotLogMapper;
+import org.dromara.property.service.IDepotLogService;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+
+/**
+ * 仓库记录Service业务层处理
+ *
+ * @author LionLi
+ * @date 2025-06-21
+ */
+@Slf4j
+@RequiredArgsConstructor
+@Service
+public class DepotLogServiceImpl implements IDepotLogService {
+
+ private final DepotLogMapper baseMapper;
+
+ /**
+ * 查询仓库记录
+ *
+ * @param id 主键
+ * @return 仓库记录
+ */
+ @Override
+ public DepotLogVo queryById(Long id){
+ return baseMapper.selectVoById(id);
+ }
+
+ /**
+ * 分页查询仓库记录列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 仓库记录分页列表
+ */
+ @Override
+ public TableDataInfo queryPageList(DepotLogBo bo, PageQuery pageQuery) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ Page result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+ return TableDataInfo.build(result);
+ }
+
+ /**
+ * 查询符合条件的仓库记录列表
+ *
+ * @param bo 查询条件
+ * @return 仓库记录列表
+ */
+ @Override
+ public List queryList(DepotLogBo bo) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ return baseMapper.selectVoList(lqw);
+ }
+
+ private LambdaQueryWrapper buildQueryWrapper(DepotLogBo bo) {
+ Map params = bo.getParams();
+ LambdaQueryWrapper lqw = Wrappers.lambdaQuery();
+ lqw.orderByAsc(DepotLog::getId);
+ lqw.eq(bo.getDepotId() != null, DepotLog::getDepotId, bo.getDepotId());
+ lqw.eq(bo.getAssetId() != null, DepotLog::getAssetId, bo.getAssetId());
+ lqw.eq(bo.getType() != null, DepotLog::getType, bo.getType());
+ lqw.eq(bo.getTime() != null, DepotLog::getTime, bo.getTime());
+ lqw.eq(bo.getUserId() != null, DepotLog::getUserId, bo.getUserId());
+ lqw.eq(bo.getState() != null, DepotLog::getState, bo.getState());
+ lqw.eq(bo.getPrice() != null, DepotLog::getPrice, bo.getPrice());
+ lqw.eq(bo.getPriceSum() != null, DepotLog::getPriceSum, bo.getPriceSum());
+ lqw.eq(bo.getNumber() != null, DepotLog::getNumber, bo.getNumber());
+ lqw.eq(bo.getSupplierId() != null, DepotLog::getSupplierId, bo.getSupplierId());
+ return lqw;
+ }
+
+ /**
+ * 新增仓库记录
+ *
+ * @param bo 仓库记录
+ * @return 是否新增成功
+ */
+ @Override
+ public Boolean insertByBo(DepotLogBo bo) {
+ DepotLog add = MapstructUtils.convert(bo, DepotLog.class);
+ validEntityBeforeSave(add);
+ boolean flag = baseMapper.insert(add) > 0;
+ if (flag) {
+ bo.setId(add.getId());
+ }
+ return flag;
+ }
+
+ /**
+ * 修改仓库记录
+ *
+ * @param bo 仓库记录
+ * @return 是否修改成功
+ */
+ @Override
+ public Boolean updateByBo(DepotLogBo bo) {
+ DepotLog update = MapstructUtils.convert(bo, DepotLog.class);
+ validEntityBeforeSave(update);
+ return baseMapper.updateById(update) > 0;
+ }
+
+ /**
+ * 保存前的数据校验
+ */
+ private void validEntityBeforeSave(DepotLog entity){
+ //TODO 做一些数据校验,如唯一约束
+ }
+
+ /**
+ * 校验并批量删除仓库记录信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ @Override
+ public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) {
+ if(isValid){
+ //TODO 做一些业务上的校验,判断是否需要校验
+ }
+ return baseMapper.deleteByIds(ids) > 0;
+ }
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/DepotServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/DepotServiceImpl.java
new file mode 100644
index 00000000..366431a7
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/DepotServiceImpl.java
@@ -0,0 +1,135 @@
+package org.dromara.property.service.impl;
+
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.dromara.property.domain.bo.DepotBo;
+import org.dromara.property.domain.vo.DepotVo;
+import org.dromara.property.domain.Depot;
+import org.dromara.property.mapper.DepotMapper;
+import org.dromara.property.service.IDepotService;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+
+/**
+ * 仓库管理Service业务层处理
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Slf4j
+@RequiredArgsConstructor
+@Service
+public class DepotServiceImpl implements IDepotService {
+
+ private final DepotMapper baseMapper;
+
+ /**
+ * 查询仓库管理
+ *
+ * @param id 主键
+ * @return 仓库管理
+ */
+ @Override
+ public DepotVo queryById(Long id){
+ return baseMapper.selectVoById(id);
+ }
+
+ /**
+ * 分页查询仓库管理列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 仓库管理分页列表
+ */
+ @Override
+ public TableDataInfo queryPageList(DepotBo bo, PageQuery pageQuery) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ Page result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+ return TableDataInfo.build(result);
+ }
+
+ /**
+ * 查询符合条件的仓库管理列表
+ *
+ * @param bo 查询条件
+ * @return 仓库管理列表
+ */
+ @Override
+ public List queryList(DepotBo bo) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ return baseMapper.selectVoList(lqw);
+ }
+
+ private LambdaQueryWrapper buildQueryWrapper(DepotBo bo) {
+ Map params = bo.getParams();
+ LambdaQueryWrapper lqw = Wrappers.lambdaQuery();
+ lqw.orderByAsc(Depot::getId);
+ lqw.like(StringUtils.isNotBlank(bo.getDepotName()), Depot::getDepotName, bo.getDepotName());
+ lqw.eq(StringUtils.isNotBlank(bo.getMsg()), Depot::getMsg, bo.getMsg());
+ lqw.eq(StringUtils.isNotBlank(bo.getModelType()), Depot::getModelType, bo.getModelType());
+ lqw.eq(bo.getState() != null, Depot::getState, bo.getState());
+ return lqw;
+ }
+
+ /**
+ * 新增仓库管理
+ *
+ * @param bo 仓库管理
+ * @return 是否新增成功
+ */
+ @Override
+ public Boolean insertByBo(DepotBo bo) {
+ Depot add = MapstructUtils.convert(bo, Depot.class);
+ validEntityBeforeSave(add);
+ boolean flag = baseMapper.insert(add) > 0;
+ if (flag) {
+ bo.setId(add.getId());
+ }
+ return flag;
+ }
+
+ /**
+ * 修改仓库管理
+ *
+ * @param bo 仓库管理
+ * @return 是否修改成功
+ */
+ @Override
+ public Boolean updateByBo(DepotBo bo) {
+ Depot update = MapstructUtils.convert(bo, Depot.class);
+ validEntityBeforeSave(update);
+ return baseMapper.updateById(update) > 0;
+ }
+
+ /**
+ * 保存前的数据校验
+ */
+ private void validEntityBeforeSave(Depot entity){
+ //TODO 做一些数据校验,如唯一约束
+ }
+
+ /**
+ * 校验并批量删除仓库管理信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ @Override
+ public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) {
+ if(isValid){
+ //TODO 做一些业务上的校验,判断是否需要校验
+ }
+ return baseMapper.deleteByIds(ids) > 0;
+ }
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/MeetAttachServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/MeetAttachServiceImpl.java
new file mode 100644
index 00000000..d1f7dbe3
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/MeetAttachServiceImpl.java
@@ -0,0 +1,137 @@
+package org.dromara.property.service.impl;
+
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.dromara.property.domain.bo.MeetAttachBo;
+import org.dromara.property.domain.vo.MeetAttachVo;
+import org.dromara.property.domain.MeetAttach;
+import org.dromara.property.mapper.MeetAttachMapper;
+import org.dromara.property.service.IMeetAttachService;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+
+/**
+ * 会议室增值服务Service业务层处理
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Slf4j
+@RequiredArgsConstructor
+@Service
+public class MeetAttachServiceImpl implements IMeetAttachService {
+
+ private final MeetAttachMapper baseMapper;
+
+ /**
+ * 查询会议室增值服务
+ *
+ * @param id 主键
+ * @return 会议室增值服务
+ */
+ @Override
+ public MeetAttachVo queryById(Long id){
+ return baseMapper.selectVoById(id);
+ }
+
+ /**
+ * 分页查询会议室增值服务列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 会议室增值服务分页列表
+ */
+ @Override
+ public TableDataInfo queryPageList(MeetAttachBo bo, PageQuery pageQuery) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ Page result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+ return TableDataInfo.build(result);
+ }
+
+ /**
+ * 查询符合条件的会议室增值服务列表
+ *
+ * @param bo 查询条件
+ * @return 会议室增值服务列表
+ */
+ @Override
+ public List queryList(MeetAttachBo bo) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ return baseMapper.selectVoList(lqw);
+ }
+
+ private LambdaQueryWrapper buildQueryWrapper(MeetAttachBo bo) {
+ Map params = bo.getParams();
+ LambdaQueryWrapper lqw = Wrappers.lambdaQuery();
+ lqw.orderByAsc(MeetAttach::getId);
+ lqw.eq(bo.getMeetId() != null, MeetAttach::getMeetId, bo.getMeetId());
+ lqw.like(StringUtils.isNotBlank(bo.getProjectName()), MeetAttach::getProjectName, bo.getProjectName());
+ lqw.eq(bo.getPrice() != null, MeetAttach::getPrice, bo.getPrice());
+ lqw.eq(StringUtils.isNotBlank(bo.getUnit()), MeetAttach::getUnit, bo.getUnit());
+ lqw.eq(StringUtils.isNotBlank(bo.getType()), MeetAttach::getType, bo.getType());
+ lqw.eq(bo.getState() != null, MeetAttach::getState, bo.getState());
+ return lqw;
+ }
+
+ /**
+ * 新增会议室增值服务
+ *
+ * @param bo 会议室增值服务
+ * @return 是否新增成功
+ */
+ @Override
+ public Boolean insertByBo(MeetAttachBo bo) {
+ MeetAttach add = MapstructUtils.convert(bo, MeetAttach.class);
+ validEntityBeforeSave(add);
+ boolean flag = baseMapper.insert(add) > 0;
+ if (flag) {
+ bo.setId(add.getId());
+ }
+ return flag;
+ }
+
+ /**
+ * 修改会议室增值服务
+ *
+ * @param bo 会议室增值服务
+ * @return 是否修改成功
+ */
+ @Override
+ public Boolean updateByBo(MeetAttachBo bo) {
+ MeetAttach update = MapstructUtils.convert(bo, MeetAttach.class);
+ validEntityBeforeSave(update);
+ return baseMapper.updateById(update) > 0;
+ }
+
+ /**
+ * 保存前的数据校验
+ */
+ private void validEntityBeforeSave(MeetAttach entity){
+ //TODO 做一些数据校验,如唯一约束
+ }
+
+ /**
+ * 校验并批量删除会议室增值服务信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ @Override
+ public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) {
+ if(isValid){
+ //TODO 做一些业务上的校验,判断是否需要校验
+ }
+ return baseMapper.deleteByIds(ids) > 0;
+ }
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/MeetBookingServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/MeetBookingServiceImpl.java
new file mode 100644
index 00000000..3dfce854
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/MeetBookingServiceImpl.java
@@ -0,0 +1,144 @@
+package org.dromara.property.service.impl;
+
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.dromara.property.domain.bo.MeetBookingBo;
+import org.dromara.property.domain.vo.MeetBookingVo;
+import org.dromara.property.domain.MeetBooking;
+import org.dromara.property.mapper.MeetBookingMapper;
+import org.dromara.property.service.IMeetBookingService;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+
+/**
+ * 会议预约Service业务层处理
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Slf4j
+@RequiredArgsConstructor
+@Service
+public class MeetBookingServiceImpl implements IMeetBookingService {
+
+ private final MeetBookingMapper baseMapper;
+
+ /**
+ * 查询会议预约
+ *
+ * @param id 主键
+ * @return 会议预约
+ */
+ @Override
+ public MeetBookingVo queryById(Long id){
+ return baseMapper.selectVoById(id);
+ }
+
+ /**
+ * 分页查询会议预约列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 会议预约分页列表
+ */
+ @Override
+ public TableDataInfo queryPageList(MeetBookingBo bo, PageQuery pageQuery) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ Page result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+ return TableDataInfo.build(result);
+ }
+
+ /**
+ * 查询符合条件的会议预约列表
+ *
+ * @param bo 查询条件
+ * @return 会议预约列表
+ */
+ @Override
+ public List queryList(MeetBookingBo bo) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ return baseMapper.selectVoList(lqw);
+ }
+
+ private LambdaQueryWrapper buildQueryWrapper(MeetBookingBo bo) {
+ Map params = bo.getParams();
+ LambdaQueryWrapper lqw = Wrappers.lambdaQuery();
+ lqw.orderByAsc(MeetBooking::getId);
+ lqw.like(StringUtils.isNotBlank(bo.getName()), MeetBooking::getName, bo.getName());
+ lqw.eq(bo.getMeetId() != null, MeetBooking::getMeetId, bo.getMeetId());
+ lqw.eq(StringUtils.isNotBlank(bo.getMeetLocation()), MeetBooking::getMeetLocation, bo.getMeetLocation());
+ lqw.eq(StringUtils.isNotBlank(bo.getUnit()), MeetBooking::getUnit, bo.getUnit());
+ lqw.eq(StringUtils.isNotBlank(bo.getPerson()), MeetBooking::getPerson, bo.getPerson());
+ lqw.eq(StringUtils.isNotBlank(bo.getPhone()), MeetBooking::getPhone, bo.getPhone());
+ lqw.eq(bo.getScheduledStarttime() != null, MeetBooking::getScheduledStarttime, bo.getScheduledStarttime());
+ lqw.eq(bo.getScheduledEndtime() != null, MeetBooking::getScheduledEndtime, bo.getScheduledEndtime());
+ lqw.eq(bo.getPersonSum() != null, MeetBooking::getPersonSum, bo.getPersonSum());
+ lqw.eq(bo.getPrice() != null, MeetBooking::getPrice, bo.getPrice());
+ lqw.eq(bo.getAttach() != null, MeetBooking::getAttach, bo.getAttach());
+ lqw.eq(bo.getPayState() != null, MeetBooking::getPayState, bo.getPayState());
+ lqw.eq(bo.getState() != null, MeetBooking::getState, bo.getState());
+ return lqw;
+ }
+
+ /**
+ * 新增会议预约
+ *
+ * @param bo 会议预约
+ * @return 是否新增成功
+ */
+ @Override
+ public Boolean insertByBo(MeetBookingBo bo) {
+ MeetBooking add = MapstructUtils.convert(bo, MeetBooking.class);
+ validEntityBeforeSave(add);
+ boolean flag = baseMapper.insert(add) > 0;
+ if (flag) {
+ bo.setId(add.getId());
+ }
+ return flag;
+ }
+
+ /**
+ * 修改会议预约
+ *
+ * @param bo 会议预约
+ * @return 是否修改成功
+ */
+ @Override
+ public Boolean updateByBo(MeetBookingBo bo) {
+ MeetBooking update = MapstructUtils.convert(bo, MeetBooking.class);
+ validEntityBeforeSave(update);
+ return baseMapper.updateById(update) > 0;
+ }
+
+ /**
+ * 保存前的数据校验
+ */
+ private void validEntityBeforeSave(MeetBooking entity){
+ //TODO 做一些数据校验,如唯一约束
+ }
+
+ /**
+ * 校验并批量删除会议预约信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ @Override
+ public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) {
+ if(isValid){
+ //TODO 做一些业务上的校验,判断是否需要校验
+ }
+ return baseMapper.deleteByIds(ids) > 0;
+ }
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/MeetServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/MeetServiceImpl.java
new file mode 100644
index 00000000..a86ad518
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/MeetServiceImpl.java
@@ -0,0 +1,137 @@
+package org.dromara.property.service.impl;
+
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.dromara.property.domain.bo.MeetBo;
+import org.dromara.property.domain.vo.MeetVo;
+import org.dromara.property.domain.Meet;
+import org.dromara.property.mapper.MeetMapper;
+import org.dromara.property.service.IMeetService;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+
+/**
+ * 会议室管理Service业务层处理
+ *
+ * @author mocheng
+ * @date 2025-06-21
+ */
+@Slf4j
+@RequiredArgsConstructor
+@Service
+public class MeetServiceImpl implements IMeetService {
+
+ private final MeetMapper baseMapper;
+
+ /**
+ * 查询会议室管理
+ *
+ * @param id 主键
+ * @return 会议室管理
+ */
+ @Override
+ public MeetVo queryById(Long id){
+ return baseMapper.selectVoById(id);
+ }
+
+ /**
+ * 分页查询会议室管理列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 会议室管理分页列表
+ */
+ @Override
+ public TableDataInfo queryPageList(MeetBo bo, PageQuery pageQuery) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ Page result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+ return TableDataInfo.build(result);
+ }
+
+ /**
+ * 查询符合条件的会议室管理列表
+ *
+ * @param bo 查询条件
+ * @return 会议室管理列表
+ */
+ @Override
+ public List queryList(MeetBo bo) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ return baseMapper.selectVoList(lqw);
+ }
+
+ private LambdaQueryWrapper buildQueryWrapper(MeetBo bo) {
+ Map params = bo.getParams();
+ LambdaQueryWrapper lqw = Wrappers.lambdaQuery();
+ lqw.orderByAsc(Meet::getId);
+ lqw.like(StringUtils.isNotBlank(bo.getName()), Meet::getName, bo.getName());
+ lqw.eq(StringUtils.isNotBlank(bo.getLocation()), Meet::getLocation, bo.getLocation());
+ lqw.eq(bo.getPersonNumber() != null, Meet::getPersonNumber, bo.getPersonNumber());
+ lqw.eq(bo.getBaseServiceId() != null, Meet::getBaseServiceId, bo.getBaseServiceId());
+ lqw.eq(bo.getBasePrice() != null, Meet::getBasePrice, bo.getBasePrice());
+ lqw.eq(bo.getAttach() != null, Meet::getAttach, bo.getAttach());
+ return lqw;
+ }
+
+ /**
+ * 新增会议室管理
+ *
+ * @param bo 会议室管理
+ * @return 是否新增成功
+ */
+ @Override
+ public Boolean insertByBo(MeetBo bo) {
+ Meet add = MapstructUtils.convert(bo, Meet.class);
+ validEntityBeforeSave(add);
+ boolean flag = baseMapper.insert(add) > 0;
+ if (flag) {
+ bo.setId(add.getId());
+ }
+ return flag;
+ }
+
+ /**
+ * 修改会议室管理
+ *
+ * @param bo 会议室管理
+ * @return 是否修改成功
+ */
+ @Override
+ public Boolean updateByBo(MeetBo bo) {
+ Meet update = MapstructUtils.convert(bo, Meet.class);
+ validEntityBeforeSave(update);
+ return baseMapper.updateById(update) > 0;
+ }
+
+ /**
+ * 保存前的数据校验
+ */
+ private void validEntityBeforeSave(Meet entity){
+ //TODO 做一些数据校验,如唯一约束
+ }
+
+ /**
+ * 校验并批量删除会议室管理信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ @Override
+ public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) {
+ if(isValid){
+ //TODO 做一些业务上的校验,判断是否需要校验
+ }
+ return baseMapper.deleteByIds(ids) > 0;
+ }
+}
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/ResidentPersonServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/ResidentPersonServiceImpl.java
new file mode 100644
index 00000000..4845c760
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/ResidentPersonServiceImpl.java
@@ -0,0 +1,142 @@
+package org.dromara.property.service.impl;
+
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.dromara.property.domain.bo.ResidentPersonBo;
+import org.dromara.property.domain.vo.ResidentPersonVo;
+import org.dromara.property.domain.ResidentPerson;
+import org.dromara.property.mapper.ResidentPersonMapper;
+import org.dromara.property.service.IResidentPersonService;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+
+/**
+ * 入驻员工Service业务层处理
+ *
+ * @author mocheng
+ * @date 2025-06-19
+ */
+@Slf4j
+@RequiredArgsConstructor
+@Service
+public class ResidentPersonServiceImpl implements IResidentPersonService {
+
+ private final ResidentPersonMapper baseMapper;
+
+ /**
+ * 查询入驻员工
+ *
+ * @param id 主键
+ * @return 入驻员工
+ */
+ @Override
+ public ResidentPersonVo queryById(Long id){
+ return baseMapper.selectVoById(id);
+ }
+
+ /**
+ * 分页查询入驻员工列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 入驻员工分页列表
+ */
+ @Override
+ public TableDataInfo queryPageList(ResidentPersonBo bo, PageQuery pageQuery) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ Page