From 3f4f9b7fa16a40de6c31cbc7823d59946f70a9cb Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Fri, 10 Nov 2023 16:26:00 +0800
Subject: [PATCH] 场所详情查询调整,商铺号空问题解决,门牌号类型修改

---
 src/main/java/org/springblade/modules/place/service/impl/PlaceExtServiceImpl.java         |   10 +-
 src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java            |   40 ++++++++++
 src/main/java/org/springblade/modules/place/controller/PlaceController.java               |   11 ++
 src/main/java/org/springblade/modules/grid/mapper/GridMapper.java                         |    7 +
 src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java      |   13 +++
 src/main/java/org/springblade/modules/house/controller/HouseRentalController.java         |   10 ++
 src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml                        |   28 +++++++
 src/main/java/org/springblade/modules/place/vo/PlacePoiLabelVO.java                       |   26 ++++++
 src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml  |    4 
 src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java                       |    7 +
 src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java              |   10 ++
 src/main/java/org/springblade/modules/place/service/IPlaceService.java                    |    6 +
 src/main/java/org/springblade/modules/grid/mapper/GridMapper.xml                          |    8 ++
 src/main/java/org/springblade/modules/house/entity/HouseRentalEntity.java                 |    4 
 src/main/java/org/springblade/modules/house/service/IHouseRentalService.java              |    7 +
 src/main/java/org/springblade/modules/place/vo/PlaceVO.java                               |   22 +++++
 src/main/java/org/springblade/modules/grid/service/IGridService.java                      |    7 +
 src/main/java/org/springblade/modules/doorplateAddress/entity/DoorplateAddressEntity.java |    2 
 18 files changed, 213 insertions(+), 9 deletions(-)

diff --git a/src/main/java/org/springblade/modules/doorplateAddress/entity/DoorplateAddressEntity.java b/src/main/java/org/springblade/modules/doorplateAddress/entity/DoorplateAddressEntity.java
index 4459d00..5c66a3b 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/entity/DoorplateAddressEntity.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/entity/DoorplateAddressEntity.java
@@ -231,7 +231,7 @@
 	 * 门牌号
 	 */
 	@ApiModelProperty(value = "门牌号")
-	private Integer doorplateNum;
+	private String doorplateNum;
 	/**
 	 * 门牌名称
 	 */
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 b55afde..3ff0bb8 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
+++ b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
@@ -181,7 +181,9 @@
 
     <!--根据街路巷编号查询街路巷门牌名称集合-->
     <select id="getDoorplateNameList" resultType="org.springblade.modules.doorplateAddress.vo.FuncNode">
-      select address_code as addressCode,concat(doorplate_num,sub_door_plate_no) as floor from jczz_doorplate_address
+      select address_code as addressCode,
+      IFNULL(CONCAT(doorplate_num,sub_door_plate_no), IF(doorplate_num IS NULL, sub_door_plate_no, doorplate_num)) as floor
+      from jczz_doorplate_address
       where 1=1
       and street_ru_code = #{code}
       and nei_code = #{name}
diff --git a/src/main/java/org/springblade/modules/grid/mapper/GridMapper.java b/src/main/java/org/springblade/modules/grid/mapper/GridMapper.java
index 2e37990..7f25fd6 100644
--- a/src/main/java/org/springblade/modules/grid/mapper/GridMapper.java
+++ b/src/main/java/org/springblade/modules/grid/mapper/GridMapper.java
@@ -40,5 +40,10 @@
 	 */
 	List<GridVO> selectGridPage(IPage page,@Param("grid") GridVO grid);
 
-
+	/**
+	 * 根据地址编号查询网格数据
+	 * @param houseCode
+	 * @return
+	 */
+    GridVO getGridDetailByHouseCode(@Param("houseCode") String houseCode);
 }
diff --git a/src/main/java/org/springblade/modules/grid/mapper/GridMapper.xml b/src/main/java/org/springblade/modules/grid/mapper/GridMapper.xml
index c9d4553..905d111 100644
--- a/src/main/java/org/springblade/modules/grid/mapper/GridMapper.xml
+++ b/src/main/java/org/springblade/modules/grid/mapper/GridMapper.xml
@@ -7,5 +7,13 @@
         select * from jczz_grid where is_deleted = 0
     </select>
 
+    <!--根据地址编号查询网格数据-->
+    <select id="getGridDetailByHouseCode" resultType="org.springblade.modules.grid.vo.GridVO">
+        select jg.* from jczz_grid jg
+        left join jczz_grid_range jgr on jg.id = jgr.grid_id
+        where jg.is_deleted = 0
+        and jgr.house_code = #{houseCode}
+    </select>
+
 
 </mapper>
diff --git a/src/main/java/org/springblade/modules/grid/service/IGridService.java b/src/main/java/org/springblade/modules/grid/service/IGridService.java
index 9458c6b..be16052 100644
--- a/src/main/java/org/springblade/modules/grid/service/IGridService.java
+++ b/src/main/java/org/springblade/modules/grid/service/IGridService.java
@@ -48,4 +48,11 @@
 	 * @param isCovered
 	 */
     void importGrid(List<GridExcel> data, Boolean isCovered);
+
+	/**
+	 * 根据地址编号查询网格数据
+	 * @param houseCode
+	 * @return
+	 */
+	GridVO getGridDetailByHouseCode(String houseCode);
 }
diff --git a/src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java b/src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java
index 184bb9a..77eaeff 100644
--- a/src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java
+++ b/src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java
@@ -68,4 +68,14 @@
 		// 批量导入
 		saveBatch(list);
 	}
+
+	/**
+	 * 根据地址编号查询网格数据
+	 * @param houseCode
+	 * @return
+	 */
+	@Override
+	public GridVO getGridDetailByHouseCode(String houseCode) {
+		return baseMapper.getGridDetailByHouseCode(houseCode);
+	}
 }
diff --git a/src/main/java/org/springblade/modules/house/controller/HouseRentalController.java b/src/main/java/org/springblade/modules/house/controller/HouseRentalController.java
index e8196b0..68d0f54 100644
--- a/src/main/java/org/springblade/modules/house/controller/HouseRentalController.java
+++ b/src/main/java/org/springblade/modules/house/controller/HouseRentalController.java
@@ -129,6 +129,16 @@
 	}
 
 	/**
+	 * 出租屋 确认
+	 * @param houseRental
+	 * @return
+	 */
+	@PostMapping("/confirmHouseRental")
+	public R confirmHouseRental(@RequestBody HouseRentalVO houseRental) {
+		return R.status(houseRentalService.confirmHouseRental(houseRental));
+	}
+
+	/**
 	 * 出租屋 新增或修改
 	 */
 	@PostMapping("/submit")
diff --git a/src/main/java/org/springblade/modules/house/entity/HouseRentalEntity.java b/src/main/java/org/springblade/modules/house/entity/HouseRentalEntity.java
index d588352..4388591 100644
--- a/src/main/java/org/springblade/modules/house/entity/HouseRentalEntity.java
+++ b/src/main/java/org/springblade/modules/house/entity/HouseRentalEntity.java
@@ -97,9 +97,9 @@
 	@ApiModelProperty(value = "租房用途 1:仓库 2:办公 3:商用  4:居住")
 	private Integer rentalUse;
 	/**
-	 * 审核状态 0: 待审核 1: 审核通过 2: 审核不通过
+	 * 审核状态 0: 待确认 1: 已确认
 	 */
-	@ApiModelProperty(value = "审核状态 0: 待审核 1: 审核通过 2: 审核不通过")
+	@ApiModelProperty(value = "审核状态 0: 待确认 1: 已确认")
 	private Integer auditStatus;
 	/**
 	 * 合同附件URL
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 52006b9..71996a1 100644
--- a/src/main/java/org/springblade/modules/house/service/IHouseRentalService.java
+++ b/src/main/java/org/springblade/modules/house/service/IHouseRentalService.java
@@ -76,4 +76,11 @@
 	 * @return
 	 */
 	Object getStatistics(HouseRentalTenantVO houseRental);
+
+	/**
+	 * 出租屋 确认
+	 * @param houseRental
+	 * @return
+	 */
+	Boolean confirmHouseRental(HouseRentalVO houseRental);
 }
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 b2494d1..ec3fd73 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
@@ -201,4 +201,17 @@
 		// 返回
 		return statistics;
 	}
+
+	/**
+	 * 出租屋 确认
+	 * @param houseRental
+	 * @return
+	 */
+	@Override
+	public Boolean confirmHouseRental(HouseRentalVO houseRental) {
+		// 修改状态
+		houseRental.setUpdateTime(new Date());
+		// 修改
+		return updateById(houseRental);
+	}
 }
diff --git a/src/main/java/org/springblade/modules/place/controller/PlaceController.java b/src/main/java/org/springblade/modules/place/controller/PlaceController.java
index 28aafd0..333aefe 100644
--- a/src/main/java/org/springblade/modules/place/controller/PlaceController.java
+++ b/src/main/java/org/springblade/modules/place/controller/PlaceController.java
@@ -147,4 +147,15 @@
 		return R.data(placeService.historyPlaceLabelHandle(place));
 	}
 
+
+	/**
+	 * 场所表 自定义详情查询
+	 * @param place
+	 * @return
+	 */
+	@GetMapping("/getDetail")
+	public R<PlaceVO> getDetail(PlaceEntity place) {
+		return R.data(placeService.getDetail(place));
+	}
+
 }
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java
index 992a4b9..7757b93 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java
@@ -72,4 +72,11 @@
 	 * @param place
 	 */
 	int updatePlaceEntity(@Param("place") PlaceVO place);
+
+	/**
+	 *  查询场所详情数据
+	 * @param place
+	 * @return
+	 */
+	PlaceVO getDetail(@Param("place") PlaceEntity place);
 }
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
index 38637a0..f5e9121 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
@@ -2,6 +2,15 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.springblade.modules.place.mapper.PlaceMapper">
 
+    <!--详情map-->
+    <resultMap id="detailMap" type="org.springblade.modules.place.vo.PlaceVO" autoMapping="true">
+        <id property="id" column="id"/>
+        <collection property="placePoiLabelVOList" javaType="java.util.List" ofType="org.springblade.modules.place.vo.PlacePoiLabelVO"
+        autoMapping="true">
+            <id property="id" column="plid"/>
+        </collection>
+    </resultMap>
+
     <!--自定义分页查询-->
     <select id="selectPlacePage" resultType="org.springblade.modules.place.vo.PlaceVO">
         select jp.*,bu.real_name as username,bu.phone as phone from jczz_place jp
@@ -60,4 +69,23 @@
         update jczz_place set principal_user_id = #{place.principalUserId}
         WHERE house_code = #{place.houseCode}
     </update>
+
+    <!--查询场所详情数据-->
+    <select id="getDetail" resultMap="detailMap">
+        select
+        jp.*,
+        bu.real_name as username,bu.phone as phone,
+        jppl.id as plid,jppl.*,jcl.category_name as labelName
+        from jczz_place jp
+        left join blade_user bu on bu.id = jp.principal_user_id and bu.is_deleted = 0
+        left join jczz_place_poi_label jppl on jppl.place_id = jp.id
+        left join jczz_category_label jcl on jcl.category_no = jppl.poi_code
+        where jp.is_deleted = 0
+        <if test="place.houseCode!=null and place.houseCode!=''">
+            and jp.house_code = #{place.houseCode}
+        </if>
+        <if test="place.id!=null">
+            and jp.id = #{place.id}
+        </if>
+    </select>
 </mapper>
diff --git a/src/main/java/org/springblade/modules/place/service/IPlaceService.java b/src/main/java/org/springblade/modules/place/service/IPlaceService.java
index 052ee3a..efb1b15 100644
--- a/src/main/java/org/springblade/modules/place/service/IPlaceService.java
+++ b/src/main/java/org/springblade/modules/place/service/IPlaceService.java
@@ -70,4 +70,10 @@
 	 */
     Object historyPlaceLabelHandle(PlaceVO place);
 
+	/**
+	 * 场所表 自定义详情查询
+	 * @param place
+	 * @return
+	 */
+	PlaceVO getDetail(PlaceEntity place);
 }
diff --git a/src/main/java/org/springblade/modules/place/service/impl/PlaceExtServiceImpl.java b/src/main/java/org/springblade/modules/place/service/impl/PlaceExtServiceImpl.java
index d274889..06f3636 100644
--- a/src/main/java/org/springblade/modules/place/service/impl/PlaceExtServiceImpl.java
+++ b/src/main/java/org/springblade/modules/place/service/impl/PlaceExtServiceImpl.java
@@ -144,10 +144,12 @@
 	@Override
 	public PlaceExtVO getDetail(PlaceExtVO placeExt) {
 		PlaceExtVO detail = baseMapper.getDetail(placeExt);
-		// 查询从业人员信息
-		QueryWrapper<PlacePractitionerEntity> queryWrapper = new QueryWrapper<>();
-		queryWrapper.eq("place_id",placeExt.getPlaceId());
-		detail.setPlacePractitioner(placePractitionerService.list(queryWrapper));
+		if (null!=detail) {
+			// 查询从业人员信息
+			QueryWrapper<PlacePractitionerEntity> queryWrapper = new QueryWrapper<>();
+			queryWrapper.eq("place_id", placeExt.getPlaceId());
+			detail.setPlacePractitioner(placePractitionerService.list(queryWrapper));
+		}
 		// 返回
 		return detail;
 	}
diff --git a/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java b/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
index 6114a48..4197cd7 100644
--- a/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
+++ b/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
@@ -22,6 +22,9 @@
 import org.springblade.common.node.TreeNode;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity;
+import org.springblade.modules.doorplateAddress.service.IDoorplateAddressService;
+import org.springblade.modules.grid.service.IGridService;
 import org.springblade.modules.place.entity.PlaceEntity;
 import org.springblade.modules.place.entity.PlaceExtEntity;
 import org.springblade.modules.place.entity.PlacePoiLabel;
@@ -57,6 +60,12 @@
 
 	@Autowired
 	private IPlaceExtService placeExtService;
+
+	@Autowired
+	private IDoorplateAddressService doorplateAddressService;
+
+	@Autowired
+	private IGridService gridService;
 
 	@Override
 	public IPage<PlaceVO> selectPlacePage(IPage<PlaceVO> page, PlaceVO place) {
@@ -208,4 +217,35 @@
 		}
 		return null;
 	}
+
+	/**
+	 * 场所表 自定义详情查询
+	 * @param place
+	 * @return
+	 */
+	@Override
+	public PlaceVO getDetail(PlaceEntity place) {
+		// 查询场所信息
+		PlaceVO placeVO = baseMapper.getDetail(place);
+		if (null!= placeVO) {
+			if (null != placeVO.getHouseCode() && !placeVO.getHouseCode().equals("")){
+				place.setHouseCode(placeVO.getHouseCode());
+			}
+			// 查询门牌地址信息
+			if (null != place.getHouseCode() && !place.getHouseCode().equals("")) {
+				QueryWrapper<DoorplateAddressEntity> wrapper = new QueryWrapper<>();
+				wrapper.eq("address_code", place.getHouseCode());
+				List<DoorplateAddressEntity> list = doorplateAddressService.list(wrapper);
+				if (list.size() > 0) {
+					placeVO.setDoorplateAddressEntity(list.get(0));
+				}
+				// 查询网格数据
+				placeVO.setGrid(gridService.getGridDetailByHouseCode(place.getHouseCode()));
+			}else {
+				// 通过定位点落面分析网格位置,反向推出社区派出所相关数据
+			}
+		}
+		// 返回
+		return placeVO;
+	}
 }
diff --git a/src/main/java/org/springblade/modules/place/vo/PlacePoiLabelVO.java b/src/main/java/org/springblade/modules/place/vo/PlacePoiLabelVO.java
new file mode 100644
index 0000000..9e78322
--- /dev/null
+++ b/src/main/java/org/springblade/modules/place/vo/PlacePoiLabelVO.java
@@ -0,0 +1,26 @@
+package org.springblade.modules.place.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springblade.modules.place.entity.PlacePoiLabel;
+
+import java.io.Serializable;
+
+/**
+ * 场所标签中间表
+ */
+@Data
+public class PlacePoiLabelVO extends PlacePoiLabel {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 标签名称
+	 */
+	private String labelName;
+
+}
diff --git a/src/main/java/org/springblade/modules/place/vo/PlaceVO.java b/src/main/java/org/springblade/modules/place/vo/PlaceVO.java
index bd74706..e227e1f 100644
--- a/src/main/java/org/springblade/modules/place/vo/PlaceVO.java
+++ b/src/main/java/org/springblade/modules/place/vo/PlaceVO.java
@@ -16,10 +16,17 @@
  */
 package org.springblade.modules.place.vo;
 
+import org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity;
+import org.springblade.modules.doorplateAddress.vo.DoorplateAddressVO;
+import org.springblade.modules.grid.vo.GridVO;
 import org.springblade.modules.place.entity.PlaceEntity;
 import org.springblade.core.tool.node.INode;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
+import org.springblade.modules.place.entity.PlacePoiLabel;
+
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * 场所表 视图实体类
@@ -49,5 +56,20 @@
 	 */
 	private Integer isPerfect;
 
+	/**
+	 * 门牌地址信息
+	 */
+	private DoorplateAddressEntity doorplateAddressEntity;
+
+	/**
+	 * 网格数据
+	 */
+	private GridVO grid;
+
+	/**
+	 * 场所标签关联表
+	 */
+	private List<PlacePoiLabelVO> placePoiLabelVOList = new ArrayList<>();
+
 
 }

--
Gitblit v1.9.3