From eb6f955d00d0d3a05f77272d11520f5818d6b802 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 20 十一月 2024 15:18:44 +0800
Subject: [PATCH] 初始化版本

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java     |   34 ++
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwFloorMapper.java                  |   12 +
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwProject.java                |    7 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwFloorServiceImpl.java    |  196 +++++++++++++++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwFloor.java                  |   88 ++++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProjectServiceImpl.java  |   12 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwBuilding.java               |    7 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwFloorCloudController.java            |   96 +++++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java |    4 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwProjectCloudController.java          |    9 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwRoomCloudController.java             |    9 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwFloorService.java             |   98 +++++++++
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractRoomCloudController.java     |    9 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwBuildingCloudController.java         |    7 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwRoom.java                   |    4 
 15 files changed, 572 insertions(+), 20 deletions(-)

diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwBuildingCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwBuildingCloudController.java
index 699338b..430e030 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwBuildingCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwBuildingCloudController.java
@@ -77,6 +77,13 @@
         pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywBuildingService.findPage(pageWrap));
     }
+    @ApiOperation("鏌ヨ鍒楄〃")
+    @PostMapping("/list")
+    @CloudRequiredPermission("business:ywbuilding:query")
+    public ApiResponse<List<YwBuilding>> findList (@RequestBody  YwBuilding pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.setLoginUserInfo(this.getLoginUser(token));
+        return ApiResponse.success(ywBuildingService.findList(pageWrap));
+    }
 
     @ApiOperation("瀵煎嚭Excel")
     @PostMapping("/exportExcel")
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractRoomCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractRoomCloudController.java
index 02b9360..735b99e 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractRoomCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractRoomCloudController.java
@@ -7,6 +7,7 @@
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.model.YwBuilding;
 import com.doumee.dao.business.model.YwContractRoom;
 import com.doumee.service.business.YwContractRoomService;
 import io.swagger.annotations.Api;
@@ -85,7 +86,13 @@
         pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         ExcelExporter.build(YwContractRoom.class).export(ywContractRoomService.findPage(pageWrap).getRecords(), "杩愮淮鍚堝悓鎴挎簮鍏宠仈淇℃伅琛�", response);
     }
-
+    @ApiOperation("鏌ヨ鍒楄〃")
+    @PostMapping("/list")
+    @CloudRequiredPermission("business:ywcontractroom:query")
+    public ApiResponse<List<YwContractRoom>> findList (@RequestBody  YwContractRoom pageWrap, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.setLoginUserInfo(this.getLoginUser(token));
+        return ApiResponse.success(ywContractRoomService.findList(pageWrap));
+    }
     @ApiOperation("鏍规嵁ID鏌ヨ")
     @GetMapping("/{id}")
     @CloudRequiredPermission("business:ywcontractroom:query")
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwFloorCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwFloorCloudController.java
new file mode 100644
index 0000000..904306f
--- /dev/null
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwFloorCloudController.java
@@ -0,0 +1,96 @@
+package com.doumee.cloud.admin;
+
+import com.doumee.api.BaseController;
+import com.doumee.config.annotation.CloudRequiredPermission;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.model.PageData;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.model.YwFloor;
+import com.doumee.service.business.YwFloorService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;    
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import javax.servlet.http.HttpServletResponse;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/11/20 15:03
+ */
+@Api(tags = "杩愮淮妤煎眰淇℃伅琛�")
+@RestController
+@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/business/ywFloor")
+public class YwFloorCloudController extends BaseController {
+
+    @Autowired
+    private YwFloorService ywFloorService;
+
+    @PreventRepeat
+    @ApiOperation("鏂板缓")
+    @PostMapping("/create")
+    @CloudRequiredPermission("business:ywfloor:create")
+    public ApiResponse create(@RequestBody YwFloor ywFloor,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywFloor.setLoginUserInfo(this.getLoginUser(token));
+        return ApiResponse.success(ywFloorService.create(ywFloor));
+    }
+
+    @ApiOperation("鏍规嵁ID鍒犻櫎")
+    @GetMapping("/delete/{id}")
+    @RequiresPermissions("business:ywfloor:delete")
+    public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywFloorService.deleteById(id,this.getLoginUser(token));
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鎵归噺鍒犻櫎")
+    @GetMapping("/delete/batch")
+    @RequiresPermissions("business:ywfloor:delete")
+    public ApiResponse deleteByIdInBatch(@RequestParam String ids,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        String [] idArray = ids.split(",");
+        List<Integer> idList = new ArrayList<>();
+        for (String id : idArray) {
+            idList.add(Integer.valueOf(id));
+        }
+        ywFloorService.deleteByIdInBatch(idList,this.getLoginUser(token));
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鏍规嵁ID淇敼")
+    @PostMapping("/updateById")
+    @RequiresPermissions("business:ywfloor:update")
+    public ApiResponse updateById(@RequestBody YwFloor ywFloor,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywFloor.setLoginUserInfo(this.getLoginUser(token));
+        ywFloorService.updateById(ywFloor);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鍒嗛〉鏌ヨ")
+    @PostMapping("/page")
+    @RequiresPermissions("business:ywfloor:query")
+    public ApiResponse<PageData<YwFloor>> findPage (@RequestBody PageWrap<YwFloor> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
+        return ApiResponse.success(ywFloorService.findPage(pageWrap));
+    }
+
+    @ApiOperation("瀵煎嚭Excel")
+    @PostMapping("/exportExcel")
+    @RequiresPermissions("business:ywfloor:exportExcel")
+    public void exportExcel (@RequestBody PageWrap<YwFloor> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
+        ExcelExporter.build(YwFloor.class).export(ywFloorService.findPage(pageWrap).getRecords(), "杩愮淮妤煎眰淇℃伅琛�", response);
+    }
+
+    @ApiOperation("鏍规嵁ID鏌ヨ")
+    @GetMapping("/{id}")
+    @RequiresPermissions("business:ywfloor:query")
+    public ApiResponse findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        return ApiResponse.success(ywFloorService.findById(id));
+    }
+}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwProjectCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwProjectCloudController.java
index c9ba4e8..f71ff2c 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwProjectCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwProjectCloudController.java
@@ -8,6 +8,7 @@
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
 import com.doumee.dao.business.model.YwProject;
+import com.doumee.dao.business.model.YwRoom;
 import com.doumee.service.business.YwProjectService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -69,7 +70,13 @@
         ywProjectService.updateById(ywProject);
         return ApiResponse.success(null);
     }
-
+    @ApiOperation("鏌ヨ鍒楄〃")
+    @PostMapping("/list")
+    @CloudRequiredPermission("business:ywproject:query")
+    public ApiResponse<List<YwProject>> findList (@RequestBody  YwProject pageWrap, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.setLoginUserInfo(this.getLoginUser(token));
+        return ApiResponse.success(ywProjectService.findList(pageWrap));
+    }
     @ApiOperation("鍒嗛〉鏌ヨ")
     @PostMapping("/page")
     @CloudRequiredPermission("business:ywproject:query")
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwRoomCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwRoomCloudController.java
index 1388b6c..0eac4e5 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwRoomCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwRoomCloudController.java
@@ -7,6 +7,7 @@
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.model.YwContractRoom;
 import com.doumee.dao.business.model.YwRoom;
 import com.doumee.service.business.YwRoomService;
 import io.swagger.annotations.Api;
@@ -69,7 +70,13 @@
         ywRoomService.updateById(ywRoom);
         return ApiResponse.success(null);
     }
-
+    @ApiOperation("鏌ヨ鍒楄〃")
+    @PostMapping("/list")
+    @CloudRequiredPermission("business:ywroom:query")
+    public ApiResponse<List<YwRoom>> findList (@RequestBody  YwRoom pageWrap, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.setLoginUserInfo(this.getLoginUser(token));
+        return ApiResponse.success(ywRoomService.findList(pageWrap));
+    }
     @ApiOperation("鍒嗛〉鏌ヨ")
     @PostMapping("/page")
     @CloudRequiredPermission("business:ywroom:query")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwFloorMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwFloorMapper.java
new file mode 100644
index 0000000..24f7fd2
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwFloorMapper.java
@@ -0,0 +1,12 @@
+package com.doumee.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.YwFloor;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/11/20 15:03
+ */
+public interface YwFloorMapper extends BaseMapper<YwFloor> {
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwBuilding.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwBuilding.java
index 75279a1..fd5463a 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwBuilding.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwBuilding.java
@@ -1,5 +1,6 @@
 package com.doumee.dao.business.model;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.doumee.core.annotation.excel.ExcelColumn;
 import com.doumee.core.model.LoginUserModel;
 import io.swagger.annotations.ApiModel;
@@ -101,4 +102,10 @@
     @ExcelColumn(name="鎵�灞為」鐩紪鐮侊紙鍏宠仈yw_project)")
     private Integer projectId;
 
+    @ApiModelProperty(value = "鎴挎簮鏁�")
+    @TableField(exist = false)
+    private Integer roomNum;
+    @ApiModelProperty(value = "鍙嫑鍟嗘埧婧愭暟")
+    @TableField(exist = false)
+    private Integer roomeRentNum;
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwFloor.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwFloor.java
new file mode 100644
index 0000000..f479c08
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwFloor.java
@@ -0,0 +1,88 @@
+package com.doumee.dao.business.model;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.core.model.LoginUserModel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+import java.math.BigDecimal;
+
+/**
+ * 杩愮淮妤煎眰淇℃伅琛�
+ * @author 姹熻箘韫�
+ * @date 2024/11/20 15:03
+ */
+@Data
+@ApiModel("杩愮淮妤煎眰淇℃伅琛�")
+@TableName("`yw_floor`")
+public class YwFloor extends LoginUserModel {
+
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "涓婚敭", example = "1")
+    @ExcelColumn(name="涓婚敭")
+    private Integer id;
+
+    @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+    private Integer creator;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @ExcelColumn(name="鍒涘缓鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date createDate;
+
+    @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+    private Integer editor;
+
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
+    @ExcelColumn(name="鏇存柊鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date editDate;
+
+    @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+    @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
+    private Integer isdeleted;
+
+    @ApiModelProperty(value = "鍚嶇О")
+    @ExcelColumn(name="鍚嶇О")
+    private String name;
+
+    @ApiModelProperty(value = "澶囨敞")
+    @ExcelColumn(name="澶囨敞")
+    private String remark;
+
+    @ApiModelProperty(value = "鐘舵�� 0鍚敤 1绂佺敤", example = "1")
+    @ExcelColumn(name="鐘舵�� 0鍚敤 1绂佺敤")
+    private Integer status;
+
+    @ApiModelProperty(value = "鎺掑簭鐮�", example = "1")
+    @ExcelColumn(name="鎺掑簭鐮�")
+    private Integer sortnum;
+
+    @ApiModelProperty(value = "鍥炬爣")
+    @ExcelColumn(name="鍥炬爣")
+    private String imgurl;
+
+    @ApiModelProperty(value = "寤虹瓚闈㈢Н锛堝钩鏂圭背锛�", example = "1")
+    @ExcelColumn(name="寤虹瓚闈㈢Н锛堝钩鏂圭背锛�")
+    private BigDecimal area;
+
+    @ApiModelProperty(value = "妤煎眰鏁�", example = "1")
+    @ExcelColumn(name="妤煎眰鏁�")
+    private Integer floor;
+
+    @ApiModelProperty(value = "鎵�灞為」鐩紪鐮侊紙鍏宠仈yw_project)", example = "1")
+    @ExcelColumn(name="鎵�灞為」鐩紪鐮侊紙鍏宠仈yw_project)")
+    private Integer projectId;
+
+    @ApiModelProperty(value = "鎵�灞為」鐩紪鐮侊紙鍏宠仈yw_building)", example = "1")
+    @ExcelColumn(name="鎵�灞為」鐩紪鐮侊紙鍏宠仈yw_building)")
+    private Integer buildingId;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwProject.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwProject.java
index af06029..7fc920c 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwProject.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwProject.java
@@ -1,5 +1,6 @@
 package com.doumee.dao.business.model;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.doumee.core.annotation.excel.ExcelColumn;
 import com.doumee.core.model.LoginUserModel;
 import io.swagger.annotations.ApiModel;
@@ -75,5 +76,11 @@
     @ApiModelProperty(value = "鍦板潃")
     @ExcelColumn(name="鍦板潃")
     private String addr;
+    @ApiModelProperty(value = "鎴挎簮鏁�")
+    @TableField(exist = false)
+    private Integer roomNum;
+    @ApiModelProperty(value = "鍙嫑鍟嗘埧婧愭暟")
+    @TableField(exist = false)
+    private Integer roomeRentNum;
 
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwRoom.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwRoom.java
index 714f852..58fe4d8 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwRoom.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwRoom.java
@@ -101,8 +101,8 @@
     @ExcelColumn(name="鎵�灞為」鐩紪鐮侊紙鍏宠仈yw_project)")
     private Integer projectId;
 
-    @ApiModelProperty(value = "鎵�灞為」鐩紪鐮侊紙鍏宠仈yw_building)", example = "1")
-    @ExcelColumn(name="鎵�灞為」鐩紪鐮侊紙鍏宠仈yw_building)")
+    @ApiModelProperty(value = "鎵�灞炴ゼ瀹囩紪鐮侊紙鍏宠仈yw_building)", example = "1")
+    @ExcelColumn(name="鎵�灞炴ゼ瀹囩紪鐮侊紙鍏宠仈yw_building)")
     private Integer buildingId;
 
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwFloorService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwFloorService.java
new file mode 100644
index 0000000..158d196
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwFloorService.java
@@ -0,0 +1,98 @@
+package com.doumee.service.business;
+
+import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.YwFloor;
+import java.util.List;
+
+/**
+ * 杩愮淮妤煎眰淇℃伅琛⊿ervice瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2024/11/20 15:03
+ */
+public interface YwFloorService {
+
+    /**
+     * 鍒涘缓
+     * 
+     * @param ywFloor 瀹炰綋瀵硅薄
+     * @return Integer
+     */
+    Integer create(YwFloor ywFloor);
+
+    /**
+     * 涓婚敭鍒犻櫎
+     *
+     * @param id 涓婚敭
+     */
+    void deleteById(Integer id, LoginUserInfo user);
+
+    /**
+     * 鍒犻櫎
+     *
+     * @param ywFloor 瀹炰綋瀵硅薄
+     */
+    void delete(YwFloor ywFloor);
+
+    /**
+     * 鎵归噺涓婚敭鍒犻櫎
+     *
+     * @param ids 涓婚敭闆�
+     */
+    void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user);
+
+    /**
+     * 涓婚敭鏇存柊
+     *
+     * @param ywFloor 瀹炰綋瀵硅薄
+     */
+    void updateById(YwFloor ywFloor);
+
+    /**
+     * 鎵归噺涓婚敭鏇存柊
+     *
+     * @param ywFloors 瀹炰綋闆�
+     */
+    void updateByIdInBatch(List<YwFloor> ywFloors);
+
+    /**
+     * 涓婚敭鏌ヨ
+     *
+     * @param id 涓婚敭
+     * @return YwFloor
+     */
+    YwFloor findById(Integer id);
+
+    /**
+     * 鏉′欢鏌ヨ鍗曟潯璁板綍
+     *
+     * @param ywFloor 瀹炰綋瀵硅薄
+     * @return YwFloor
+     */
+    YwFloor findOne(YwFloor ywFloor);
+
+    /**
+     * 鏉′欢鏌ヨ
+     *
+     * @param ywFloor 瀹炰綋瀵硅薄
+     * @return List<YwFloor>
+     */
+    List<YwFloor> findList(YwFloor ywFloor);
+  
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param pageWrap 鍒嗛〉瀵硅薄
+     * @return PageData<YwFloor>
+     */
+    PageData<YwFloor> findPage(PageWrap<YwFloor> pageWrap);
+
+    /**
+     * 鏉′欢缁熻
+     *
+     * @param ywFloor 瀹炰綋瀵硅薄
+     * @return long
+     */
+    long count(YwFloor ywFloor);
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java
index dcd8fa4..3a3071e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java
@@ -99,6 +99,7 @@
 
     @Override
     public List<YwBuilding> findList(YwBuilding ywBuilding) {
+        ywBuilding.setIsdeleted(Constants.ZERO);
         QueryWrapper<YwBuilding> wrapper = new QueryWrapper<>(ywBuilding);
         return ywBuildingMapper.selectList(wrapper);
     }
@@ -108,6 +109,9 @@
         IPage<YwBuilding> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         QueryWrapper<YwBuilding> queryWrapper = new QueryWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
+        pageWrap.getModel().setIsdeleted(Constants.ZERO);
+        queryWrapper.select("*,(select count(1) from yw_room a where a.isdeleted=0 and a.BUILDING_ID=yw_building.id) as roomNum"+
+                ",(select count(1) from yw_room a where a.isdeleted=0 and a.BUILDING_ID=yw_building.id and a.IS_INVESTMENT=1) as roomRentNum");
         if (pageWrap.getModel().getId() != null) {
             queryWrapper.lambda().eq(YwBuilding::getId, pageWrap.getModel().getId());
         }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwFloorServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwFloorServiceImpl.java
new file mode 100644
index 0000000..38f62cf
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwFloorServiceImpl.java
@@ -0,0 +1,196 @@
+package com.doumee.service.business.impl;
+
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.YwBuildingMapper;
+import com.doumee.dao.business.YwFloorMapper;
+import com.doumee.dao.business.model.YwBuilding;
+import com.doumee.dao.business.model.YwFloor;
+import com.doumee.dao.business.model.YwRoom;
+import com.doumee.service.business.YwFloorService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 杩愮淮妤煎眰淇℃伅琛⊿ervice瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2024/11/20 15:03
+ */
+@Service
+public class YwFloorServiceImpl implements YwFloorService {
+
+    @Autowired
+    private YwFloorMapper ywFloorMapper;
+    @Autowired
+    private YwBuildingMapper ywBuildingMapper;
+
+    @Override
+    public Integer create(YwFloor model) {
+        if(model.getBuildingId()==null){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勬ゼ瀹囦俊鎭紒");
+        }
+        YwBuilding ywBuilding = ywBuildingMapper.selectById(model.getBuildingId());
+        if(ywBuilding ==null ||Constants.equalsInteger(ywBuilding.getIsdeleted(),Constants.ONE)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勬ゼ瀹囦俊鎭紒");
+        }
+        model.setProjectId(ywBuilding.getProjectId());
+        model.setCreator(model.getLoginUserInfo().getId());
+        model.setIsdeleted(Constants.ZERO);
+        model.setCreateDate(new Date());
+        model.setStatus(Constants.ZERO);
+        model.setEditDate(model.getCreateDate());
+        model.setEditor(model.getCreator());
+        ywFloorMapper.insert(model);
+        return model.getId();
+    }
+
+    @Override
+    public void deleteById(Integer id, LoginUserInfo user) {
+        YwFloor model = new YwFloor();
+        model.setId(id);
+        model.setEditDate(new Date());
+        model.setEditor(user.getId());
+        model.setIsdeleted(Constants.ONE);
+        ywFloorMapper.updateById(model);
+    }
+
+    @Override
+    public void delete(YwFloor ywFloor) {
+        UpdateWrapper<YwFloor> deleteWrapper = new UpdateWrapper<>(ywFloor);
+        ywFloorMapper.delete(deleteWrapper);
+    }
+
+    @Override
+    public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user) {
+        if (CollectionUtils.isEmpty(ids)) {
+            return;
+        }
+        for (Integer ywProject: ids) {
+            this.deleteById(ywProject,user);
+        }
+    }
+
+    @Override
+    public void updateById(YwFloor model) {
+        if(model.getBuildingId()==null){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勬ゼ瀹囦俊鎭紒");
+        }
+        YwBuilding ywBuilding = ywBuildingMapper.selectById(model.getBuildingId());
+        if(ywBuilding ==null ||Constants.equalsInteger(ywBuilding.getIsdeleted(),Constants.ONE)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勬ゼ瀹囦俊鎭紒");
+        }
+        model.setProjectId(ywBuilding.getProjectId());
+        model.setEditDate(new Date());
+        model.setEditor(model.getLoginUserInfo().getId());
+        ywFloorMapper.updateById(model);
+    }
+
+    @Override
+    public void updateByIdInBatch(List<YwFloor> ywFloors) {
+        if (CollectionUtils.isEmpty(ywFloors)) {
+            return;
+        }
+        for (YwFloor ywFloor: ywFloors) {
+            this.updateById(ywFloor);
+        }
+    }
+
+    @Override
+    public YwFloor findById(Integer id) {
+        return ywFloorMapper.selectById(id);
+    }
+
+    @Override
+    public YwFloor findOne(YwFloor ywFloor) {
+        QueryWrapper<YwFloor> wrapper = new QueryWrapper<>(ywFloor);
+        return ywFloorMapper.selectOne(wrapper);
+    }
+
+    @Override
+    public List<YwFloor> findList(YwFloor ywFloor) {
+        QueryWrapper<YwFloor> wrapper = new QueryWrapper<>(ywFloor);
+        return ywFloorMapper.selectList(wrapper);
+    }
+  
+    @Override
+    public PageData<YwFloor> findPage(PageWrap<YwFloor> pageWrap) {
+        IPage<YwFloor> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        QueryWrapper<YwFloor> queryWrapper = new QueryWrapper<>();
+        Utils.MP.blankToNull(pageWrap.getModel());
+        pageWrap.getModel().setIsdeleted(Constants.ZERO);
+        if (pageWrap.getModel().getId() != null) {
+            queryWrapper.lambda().eq(YwFloor::getId, pageWrap.getModel().getId());
+        }
+        if (pageWrap.getModel().getCreator() != null) {
+            queryWrapper.lambda().eq(YwFloor::getCreator, pageWrap.getModel().getCreator());
+        }
+        if (pageWrap.getModel().getCreateDate() != null) {
+            queryWrapper.lambda().ge(YwFloor::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
+            queryWrapper.lambda().le(YwFloor::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
+        }
+        if (pageWrap.getModel().getEditor() != null) {
+            queryWrapper.lambda().eq(YwFloor::getEditor, pageWrap.getModel().getEditor());
+        }
+        if (pageWrap.getModel().getEditDate() != null) {
+            queryWrapper.lambda().ge(YwFloor::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
+            queryWrapper.lambda().le(YwFloor::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
+        }
+        if (pageWrap.getModel().getIsdeleted() != null) {
+            queryWrapper.lambda().eq(YwFloor::getIsdeleted, pageWrap.getModel().getIsdeleted());
+        }
+        if (pageWrap.getModel().getName() != null) {
+            queryWrapper.lambda().eq(YwFloor::getName, pageWrap.getModel().getName());
+        }
+        if (pageWrap.getModel().getRemark() != null) {
+            queryWrapper.lambda().eq(YwFloor::getRemark, pageWrap.getModel().getRemark());
+        }
+        if (pageWrap.getModel().getStatus() != null) {
+            queryWrapper.lambda().eq(YwFloor::getStatus, pageWrap.getModel().getStatus());
+        }
+        if (pageWrap.getModel().getSortnum() != null) {
+            queryWrapper.lambda().eq(YwFloor::getSortnum, pageWrap.getModel().getSortnum());
+        }
+        if (pageWrap.getModel().getImgurl() != null) {
+            queryWrapper.lambda().eq(YwFloor::getImgurl, pageWrap.getModel().getImgurl());
+        }
+        if (pageWrap.getModel().getArea() != null) {
+            queryWrapper.lambda().eq(YwFloor::getArea, pageWrap.getModel().getArea());
+        }
+        if (pageWrap.getModel().getFloor() != null) {
+            queryWrapper.lambda().eq(YwFloor::getFloor, pageWrap.getModel().getFloor());
+        }
+        if (pageWrap.getModel().getProjectId() != null) {
+            queryWrapper.lambda().eq(YwFloor::getProjectId, pageWrap.getModel().getProjectId());
+        }
+        if (pageWrap.getModel().getBuildingId() != null) {
+            queryWrapper.lambda().eq(YwFloor::getBuildingId, pageWrap.getModel().getBuildingId());
+        }
+        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+                queryWrapper.orderByDesc(sortData.getProperty());
+            } else {
+                queryWrapper.orderByAsc(sortData.getProperty());
+            }
+        }
+        return PageData.from(ywFloorMapper.selectPage(page, queryWrapper));
+    }
+
+    @Override
+    public long count(YwFloor ywFloor) {
+        QueryWrapper<YwFloor> wrapper = new QueryWrapper<>(ywFloor);
+        return ywFloorMapper.selectCount(wrapper);
+    }
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProjectServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProjectServiceImpl.java
index 4634b2e..5e27677 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProjectServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProjectServiceImpl.java
@@ -99,6 +99,7 @@
 
     @Override
     public List<YwProject> findList(YwProject ywProject) {
+        ywProject.setIsdeleted(Constants.ZERO);
         QueryWrapper<YwProject> wrapper = new QueryWrapper<>(ywProject);
         return ywProjectMapper.selectList(wrapper);
     }
@@ -108,6 +109,9 @@
         IPage<YwProject> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         QueryWrapper<YwProject> queryWrapper = new QueryWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
+        pageWrap.getModel().setIsdeleted(Constants.ZERO);
+        queryWrapper.select("*,(select count(1) from yw_room a where a.isdeleted=0 and a.PROJECT_ID=yw_project.id) as roomNum"+
+                ",(select count(1) from yw_room a where a.isdeleted=0 and a.PROJECT_ID=yw_project.id and a.IS_INVESTMENT=1) as roomRentNum");
         if (pageWrap.getModel().getId() != null) {
             queryWrapper.lambda().eq(YwProject::getId, pageWrap.getModel().getId());
         }
@@ -149,13 +153,7 @@
         if (pageWrap.getModel().getAddr() != null) {
             queryWrapper.lambda().eq(YwProject::getAddr, pageWrap.getModel().getAddr());
         }
-        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
-            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
-                queryWrapper.orderByDesc(sortData.getProperty());
-            } else {
-                queryWrapper.orderByAsc(sortData.getProperty());
-            }
-        }
+        queryWrapper.lambda().orderByDesc(YwProject::getCreateDate);
         return PageData.from(ywProjectMapper.selectPage(page, queryWrapper));
     }
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java
index ff5bbbe..32ce71d 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java
@@ -1,11 +1,15 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
 import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.YwBuildingMapper;
 import com.doumee.dao.business.YwRoomMapper;
+import com.doumee.dao.business.model.YwBuilding;
 import com.doumee.dao.business.model.YwProject;
 import com.doumee.dao.business.model.YwRoom;
 import com.doumee.service.business.YwRoomService;
@@ -30,9 +34,19 @@
 
     @Autowired
     private YwRoomMapper ywRoomMapper;
+    @Autowired
+    private YwBuildingMapper ywBuildingMapper;
 
     @Override
     public Integer create(YwRoom model) {
+        if(model.getBuildingId()==null){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勬ゼ瀹囦俊鎭紒");
+        }
+        YwBuilding ywBuilding = ywBuildingMapper.selectById(model.getBuildingId());
+        if(ywBuilding ==null ||Constants.equalsInteger(ywBuilding.getIsdeleted(),Constants.ONE)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勬ゼ瀹囦俊鎭紒");
+        }
+        model.setProjectId(ywBuilding.getProjectId());
         model.setCreator(model.getLoginUserInfo().getId());
         model.setIsdeleted(Constants.ZERO);
         model.setCreateDate(new Date());
@@ -71,6 +85,14 @@
 
     @Override
     public void updateById(YwRoom model) {
+        if(model.getBuildingId()==null){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勬ゼ瀹囦俊鎭紒");
+        }
+        YwBuilding ywBuilding = ywBuildingMapper.selectById(model.getBuildingId());
+        if(ywBuilding ==null ||Constants.equalsInteger(ywBuilding.getIsdeleted(),Constants.ONE)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勬ゼ瀹囦俊鎭紒");
+        }
+        model.setProjectId(ywBuilding.getProjectId());
         model.setEditDate(new Date());
         model.setEditor(model.getLoginUserInfo().getId());
         ywRoomMapper.updateById(model);
@@ -99,7 +121,8 @@
 
     @Override
     public List<YwRoom> findList(YwRoom ywRoom) {
-        QueryWrapper<YwRoom> wrapper = new QueryWrapper<>(ywRoom);
+        ywRoom.setIsdeleted(Constants.ZERO);
+        QueryWrapper<YwRoom> wrapper = new QueryWrapper< >(ywRoom);
         return ywRoomMapper.selectList(wrapper);
     }
   
@@ -107,6 +130,7 @@
     public PageData<YwRoom> findPage(PageWrap<YwRoom> pageWrap) {
         IPage<YwRoom> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         QueryWrapper<YwRoom> queryWrapper = new QueryWrapper<>();
+        pageWrap.getModel().setIsdeleted(Constants.ZERO);
         Utils.MP.blankToNull(pageWrap.getModel());
         if (pageWrap.getModel().getId() != null) {
             queryWrapper.lambda().eq(YwRoom::getId, pageWrap.getModel().getId());
@@ -170,13 +194,7 @@
         if (pageWrap.getModel().getBuildingId() != null) {
             queryWrapper.lambda().eq(YwRoom::getBuildingId, pageWrap.getModel().getBuildingId());
         }
-        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
-            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
-                queryWrapper.orderByDesc(sortData.getProperty());
-            } else {
-                queryWrapper.orderByAsc(sortData.getProperty());
-            }
-        }
+        queryWrapper.lambda().orderByAsc(YwRoom::getRoomNum);
         return PageData.from(ywRoomMapper.selectPage(page, queryWrapper));
     }
 

--
Gitblit v1.9.3