From 2c8ba22c878ca295e170e20aeeb0454b28509ada Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Mon, 30 Oct 2023 22:24:45 +0800
Subject: [PATCH] 新增出租屋查询接口,查询居民房屋接口修改

---
 src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java         |    7 ++
 src/main/java/org/springblade/common/node/TreeNode.java                                              |    4 
 src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.java                            |    8 ++
 src/main/java/org/springblade/modules/house/vo/HouseRentalVO.java                                    |   13 ++++
 src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml                             |   19 ++++++
 src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java                 |   26 ++++++++
 src/main/java/org/springblade/modules/doorplateAddress/vo/DoorplateAddressVO.java                    |    6 ++
 src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml             |    5 +
 src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java            |    7 ++
 src/main/java/org/springblade/modules/house/entity/HouseholdEntity.java                              |    5 -
 src/main/java/org/springblade/modules/house/service/IHouseRentalService.java                         |    9 ++
 src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java |   23 +++++++
 src/main/java/org/springblade/modules/doorplateAddress/controller/DoorplateAddressController.java    |   10 +++
 13 files changed, 132 insertions(+), 10 deletions(-)

diff --git a/src/main/java/org/springblade/common/node/TreeNode.java b/src/main/java/org/springblade/common/node/TreeNode.java
index 79ab625..5bf16bf 100644
--- a/src/main/java/org/springblade/common/node/TreeNode.java
+++ b/src/main/java/org/springblade/common/node/TreeNode.java
@@ -24,7 +24,7 @@
 	 * 主键ID
 	 */
 	@JsonSerialize(using = ToStringSerializer.class)
-	private Long id;
+	private String id;
 
 	/**
 	 * 名称
@@ -35,7 +35,7 @@
 	 * 父节点ID
 	 */
 	@JsonSerialize(using = ToStringSerializer.class)
-	private Long parentId;
+	private String parentId;
 
 	/**
 	 * 子孙节点
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/controller/DoorplateAddressController.java b/src/main/java/org/springblade/modules/doorplateAddress/controller/DoorplateAddressController.java
index 3124b46..3e5768f 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/controller/DoorplateAddressController.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/controller/DoorplateAddressController.java
@@ -142,5 +142,15 @@
 		return R.data(doorplateAddressService.getHousesList(name,code,type));
 	}
 
+	/**
+	 * 查询房屋及出租详情信息
+	 * @param code 门牌地址编号
+	 * @return
+	 */
+	@GetMapping("/getHouseRentInfo")
+	public R getHouseRentInfo(String code) {
+		return R.data(doorplateAddressService.getHouseRentInfo(code));
+	}
+
 
 }
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java
index a1e0956..c5d8ea8 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java
@@ -82,4 +82,11 @@
 	 * @return
 	 */
 	List<FuncNode> getUnitHouseholdList(@Param("name") String name, @Param("code") String code);
+
+	/**
+	 * 先查询门牌信息
+	 * @param code
+	 * @return
+	 */
+    DoorplateAddressVO getDoorplateAddressDetailByCode(@Param("code") String code);
 }
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
index 0c6e037..f5be62a 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
+++ b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
@@ -52,4 +52,9 @@
         and building_code = #{code}
     </select>
 
+    <!--先查询门牌信息-->
+    <select id="getDoorplateAddressDetailByCode" resultType="org.springblade.modules.doorplateAddress.vo.DoorplateAddressVO">
+        select * from jczz_doorplate_address where address_code = #{code}
+    </select>
+
 </mapper>
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java b/src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java
index 03bca76..527f2e4 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java
@@ -54,4 +54,11 @@
 	 * @return
 	 */
     Object getHousesList(String name, String code, Integer type);
+
+	/**
+	 * 查询房屋及出租详情信息
+	 * @param code 门牌地址编号
+	 * @return
+	 */
+	Object getHouseRentInfo(String code);
 }
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java b/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java
index 0e12b3a..9973c01 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java
@@ -16,6 +16,7 @@
  */
 package org.springblade.modules.doorplateAddress.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springblade.common.node.TreeNode;
 import org.springblade.common.utils.NodeTreeUtil;
@@ -26,8 +27,10 @@
 import org.springblade.modules.doorplateAddress.service.IDoorplateAddressService;
 import org.springblade.modules.doorplateAddress.vo.DoorplateAddressVO;
 import org.springblade.modules.doorplateAddress.vo.FuncNode;
+import org.springblade.modules.house.service.IHouseRentalService;
 import org.springblade.modules.house.service.IHouseholdLabelService;
 import org.springblade.modules.house.service.IHouseholdService;
+import org.springblade.modules.house.vo.HouseRentalVO;
 import org.springblade.modules.place.service.IPlaceService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -52,6 +55,9 @@
 
 	@Autowired
 	private IHouseholdService householdService;
+
+	@Autowired
+	private IHouseRentalService houseRentalService;
 
 
 	@Override
@@ -159,4 +165,21 @@
 		// 返回
 		return list;
 	}
+
+	/**
+	 * 查询房屋及出租详情信息
+	 * @param code 门牌地址编号
+	 * @return
+	 */
+	@Override
+	public Object getHouseRentInfo(String code) {
+		// 先查询门牌信息
+		DoorplateAddressVO doorplateAddressDetailVO = baseMapper.getDoorplateAddressDetailByCode(code);
+		// 查询房屋出租情况
+		List<HouseRentalVO> houseRentalVOS = houseRentalService.getHouseRentalListByCode(code);
+		// 设置数据
+		doorplateAddressDetailVO.setHouseRentalList(houseRentalVOS);
+		// 返回
+		return doorplateAddressDetailVO;
+	}
 }
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/vo/DoorplateAddressVO.java b/src/main/java/org/springblade/modules/doorplateAddress/vo/DoorplateAddressVO.java
index 98437f5..f119c4f 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/vo/DoorplateAddressVO.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/vo/DoorplateAddressVO.java
@@ -3,6 +3,10 @@
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity;
+import org.springblade.modules.house.vo.HouseRentalVO;
+
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * 门牌地址表(总台账数据) 视图实体类
@@ -15,4 +19,6 @@
 public class DoorplateAddressVO extends DoorplateAddressEntity {
 	private static final long serialVersionUID = 1L;
 
+	private List<HouseRentalVO> houseRentalList = new ArrayList<>();
+
 }
diff --git a/src/main/java/org/springblade/modules/house/entity/HouseholdEntity.java b/src/main/java/org/springblade/modules/house/entity/HouseholdEntity.java
index af22968..d0b2950 100644
--- a/src/main/java/org/springblade/modules/house/entity/HouseholdEntity.java
+++ b/src/main/java/org/springblade/modules/house/entity/HouseholdEntity.java
@@ -168,11 +168,6 @@
 	@ApiModelProperty(value = "残疾证")
 	private String disabilityCert;
 	/**
-	 * 数据状态(ENABLED)
-	 */
-	@ApiModelProperty(value = "数据状态(ENABLED)")
-	private Short dataStatus;
-	/**
 	 * 角色
 	 */
 	@ApiModelProperty(value = "角色")
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.java b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.java
index 4bb7399..5a48599 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.java
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.java
@@ -16,6 +16,7 @@
  */
 package org.springblade.modules.house.mapper;
 
+import org.apache.ibatis.annotations.Param;
 import org.springblade.modules.house.entity.HouseRentalEntity;
 import org.springblade.modules.house.vo.HouseRentalVO;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -39,5 +40,10 @@
 	 */
 	List<HouseRentalVO> selectHouseRentalPage(IPage page, HouseRentalVO houseRental);
 
-
+	/**
+	 * 查询房屋出租情况
+	 * @param code
+	 * @return
+	 */
+    List<HouseRentalVO> getHouseRentalListByCode(@Param("code") String code);
 }
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
index 8d13bea..f920577 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
@@ -22,10 +22,29 @@
         <result column="is_deleted" property="isDeleted"/>
     </resultMap>
 
+    <resultMap id="houseRentalTenant" type="org.springblade.modules.house.vo.HouseRentalVO"
+               autoMapping="true">
+        <id property="id" column="id"/>
+        <collection property="houseTenantVOList" javaType="java.util.List"
+                    ofType="org.springblade.modules.house.vo.HouseTenantVO" autoMapping="true">
+            <id property="id" column="tenantId"/>
+        </collection>
+    </resultMap>
+
 
     <select id="selectHouseRentalPage" resultMap="houseRentalResultMap">
         select * from jczz_house_rental where is_deleted = 0
     </select>
 
+    <!--查询房屋出租情况-->
+    <select id="getHouseRentalListByCode" resultMap="houseRentalTenant">
+        select
+            jhr.*,
+            jht.id as tenantId,jht.*
+        from jczz_house_rental jhr
+        left join jczz_house_tenant jht on jhr.id = jht.housing_rental_id
+        where 1 = 1 and house_code = #{code}
+    </select>
+
 
 </mapper>
diff --git a/src/main/java/org/springblade/modules/house/service/IHouseRentalService.java b/src/main/java/org/springblade/modules/house/service/IHouseRentalService.java
index 357aae2..4ec3a3b 100644
--- a/src/main/java/org/springblade/modules/house/service/IHouseRentalService.java
+++ b/src/main/java/org/springblade/modules/house/service/IHouseRentalService.java
@@ -22,6 +22,8 @@
 import org.springblade.core.mp.base.BaseService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
+import java.util.List;
+
 /**
  * 出租屋 服务类
  *
@@ -39,5 +41,10 @@
 	 */
 	IPage<HouseRentalVO> selectHouseRentalPage(IPage<HouseRentalVO> page, HouseRentalVO houseRental);
 
-
+	/**
+	 * 查询房屋出租情况
+	 * @param code
+	 * @return
+	 */
+    List<HouseRentalVO> getHouseRentalListByCode(String code);
 }
diff --git a/src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java b/src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java
index 033e114..44bda12 100644
--- a/src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java
+++ b/src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java
@@ -18,12 +18,17 @@
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springblade.modules.house.entity.HouseRentalEntity;
+import org.springblade.modules.house.service.IHouseTenantService;
 import org.springblade.modules.house.vo.HouseRentalVO;
 import org.springblade.modules.house.mapper.HouseRentalMapper;
 import org.springblade.modules.house.service.IHouseRentalService;
 import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.modules.house.vo.HouseTenantVO;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import java.util.List;
 
 /**
  * 出租屋 服务实现类
@@ -34,10 +39,29 @@
 @Service
 public class HouseRentalServiceImpl extends ServiceImpl<HouseRentalMapper, HouseRentalEntity> implements IHouseRentalService {
 
+	@Autowired
+	private IHouseTenantService houseTenantService;
+
+	/**
+	 * 自定义分页查询
+	 * @param page
+	 * @param houseRental
+	 * @return
+	 */
 	@Override
 	public IPage<HouseRentalVO> selectHouseRentalPage(IPage<HouseRentalVO> page, HouseRentalVO houseRental) {
 		return page.setRecords(baseMapper.selectHouseRentalPage(page, houseRental));
 	}
 
-
+	/**
+	 * 查询房屋出租情况
+	 * @param code
+	 * @return
+	 */
+	@Override
+	public List<HouseRentalVO> getHouseRentalListByCode(String code) {
+		List<HouseRentalVO> houseRentalVOS = baseMapper.getHouseRentalListByCode(code);
+		// 返回
+		return houseRentalVOS;
+	}
 }
diff --git a/src/main/java/org/springblade/modules/house/vo/HouseRentalVO.java b/src/main/java/org/springblade/modules/house/vo/HouseRentalVO.java
index 27eeda6..d0dd9e2 100644
--- a/src/main/java/org/springblade/modules/house/vo/HouseRentalVO.java
+++ b/src/main/java/org/springblade/modules/house/vo/HouseRentalVO.java
@@ -21,6 +21,9 @@
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * 出租屋 视图实体类
  *
@@ -32,4 +35,14 @@
 public class HouseRentalVO extends HouseRentalEntity {
 	private static final long serialVersionUID = 1L;
 
+	/**
+	 * 数量
+	 */
+	private Integer number;
+
+	/**
+	 * 租户集合信息
+	 */
+	private List<HouseTenantVO> houseTenantVOList = new ArrayList<>();
+
 }

--
Gitblit v1.9.3