jiangping
2024-11-20 eb6f955d00d0d3a05f77272d11520f5818d6b802
初始化版本
已添加5个文件
已修改10个文件
592 ■■■■■ 文件已修改
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwBuildingCloudController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractRoomCloudController.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwFloorCloudController.java 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwProjectCloudController.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwRoomCloudController.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwFloorMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwBuilding.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwFloor.java 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwProject.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwRoom.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwFloorService.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwFloorServiceImpl.java 196 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProjectServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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")
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")
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));
    }
}
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")
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")
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> {
}
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;
}
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;
}
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;
}
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;
}
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;
/**
 * è¿ç»´æ¥¼å±‚信息表Service定义
 * @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);
}
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());
        }
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;
/**
 * è¿ç»´æ¥¼å±‚信息表Service实现
 * @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(),"对不起,请选择正确的楼宇信息!");
        }
        YwBuilding ywBuilding = ywBuildingMapper.selectById(model.getBuildingId());
        if(ywBuilding ==null ||Constants.equalsInteger(ywBuilding.getIsdeleted(),Constants.ONE)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,请选择正确的楼宇信息!");
        }
        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(),"对不起,请选择正确的楼宇信息!");
        }
        YwBuilding ywBuilding = ywBuildingMapper.selectById(model.getBuildingId());
        if(ywBuilding ==null ||Constants.equalsInteger(ywBuilding.getIsdeleted(),Constants.ONE)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,请选择正确的楼宇信息!");
        }
        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);
    }
}
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));
    }
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(),"对不起,请选择正确的楼宇信息!");
        }
        YwBuilding ywBuilding = ywBuildingMapper.selectById(model.getBuildingId());
        if(ywBuilding ==null ||Constants.equalsInteger(ywBuilding.getIsdeleted(),Constants.ONE)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,请选择正确的楼宇信息!");
        }
        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(),"对不起,请选择正确的楼宇信息!");
        }
        YwBuilding ywBuilding = ywBuildingMapper.selectById(model.getBuildingId());
        if(ywBuilding ==null ||Constants.equalsInteger(ywBuilding.getIsdeleted(),Constants.ONE)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,请选择正确的楼宇信息!");
        }
        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));
    }