From c26f6500ea69383072980cce0feca716f8056b4b Mon Sep 17 00:00:00 2001
From: lin <sbla5888@163.com>
Date: Tue, 26 Mar 2024 10:13:01 +0800
Subject: [PATCH] 小区id查询用户优化

---
 src/main/java/org/springblade/modules/system/mapper/UserMapper.xml             |   17 ++++++++++-------
 src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java |    6 +++---
 src/main/java/org/springblade/modules/house/vo/HouseholdVO.java                |    2 ++
 src/main/java/org/springblade/modules/discuss/mapper/PublicDiscussMapper.xml   |    5 ++++-
 src/main/java/org/springblade/modules/discuss/vo/PublicDiscussVO.java          |    1 +
 src/main/java/org/springblade/modules/system/controller/UserController.java    |    8 ++------
 src/main/java/org/springblade/modules/system/mapper/UserMapper.java            |    2 +-
 src/main/java/org/springblade/modules/system/service/IUserService.java         |    2 +-
 8 files changed, 24 insertions(+), 19 deletions(-)

diff --git a/src/main/java/org/springblade/modules/discuss/mapper/PublicDiscussMapper.xml b/src/main/java/org/springblade/modules/discuss/mapper/PublicDiscussMapper.xml
index 4486642..b6a21a3 100644
--- a/src/main/java/org/springblade/modules/discuss/mapper/PublicDiscussMapper.xml
+++ b/src/main/java/org/springblade/modules/discuss/mapper/PublicDiscussMapper.xml
@@ -63,8 +63,10 @@
         jpd.appoint_user,
         jpd.user_ids,
         jpd.event_type,
-        jpd.signature_flag
+        jpd.signature_flag,
+        GROUP_CONCAT(bu.name) userName
         from jczz_public_discuss jpd
+        LEFT JOIN blade_user bu on jpd.user_ids like CONCAT('%',bu.id,'%')
         <where>
             <if test="publicDiscuss.id != null "> and id = #{publicDiscuss.id}</if>
             <if test="publicDiscuss.title != null  and publicDiscuss.title != ''"> and title = #{publicDiscuss.title}</if>
@@ -83,6 +85,7 @@
             <if test="publicDiscuss.userIds != null  and publicDiscuss.userIds != ''"> and user_ids = #{publicDiscuss.userIds}</if>
             <if test="publicDiscuss.eventType != null "> and event_type = #{publicDiscuss.eventType}</if>
         </where>
+        GROUP BY jpd.id
     </select>
 
     <select id="selectPublicDiscussList" parameterType="org.springblade.modules.discuss.dto.PublicDiscussDTO" resultMap="publicDiscussResultMap">
diff --git a/src/main/java/org/springblade/modules/discuss/vo/PublicDiscussVO.java b/src/main/java/org/springblade/modules/discuss/vo/PublicDiscussVO.java
index 47a45c0..553f7a1 100644
--- a/src/main/java/org/springblade/modules/discuss/vo/PublicDiscussVO.java
+++ b/src/main/java/org/springblade/modules/discuss/vo/PublicDiscussVO.java
@@ -37,5 +37,6 @@
 	private Integer topsCount;
 
 	private Long UserId;
+	private String userName;
 
 }
diff --git a/src/main/java/org/springblade/modules/house/vo/HouseholdVO.java b/src/main/java/org/springblade/modules/house/vo/HouseholdVO.java
index 789c908..87125df 100644
--- a/src/main/java/org/springblade/modules/house/vo/HouseholdVO.java
+++ b/src/main/java/org/springblade/modules/house/vo/HouseholdVO.java
@@ -189,5 +189,7 @@
 	// 社区编号
 	@ApiModelProperty(value = "社区编号", example = "")
 	private String communityCode;
+	@ApiModelProperty(value = "小区id", example = "")
+	private String districtIds;
 
 }
diff --git a/src/main/java/org/springblade/modules/system/controller/UserController.java b/src/main/java/org/springblade/modules/system/controller/UserController.java
index 7874546..450b9e8 100644
--- a/src/main/java/org/springblade/modules/system/controller/UserController.java
+++ b/src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -416,12 +416,8 @@
 	 */
 	@GetMapping("/getUserInfoByDistrictIds")
 	@ApiOperation(value = "通过小区id查询用户")
-	public  R<IPage<HouseholdVO>> getUserInfoByDistrictIds(@RequestParam("districtIds") String districtIds
-		, @RequestParam(value = "building", required = false) String building
-		, @RequestParam(value = "unit", required = false) String unit
-		, @RequestParam(value = "name", required = false) String name
-		, Query query) {
-		IPage<HouseholdVO> pages = userService.getUserInfoByDistrictIds(districtIds, building, unit, name, Condition.getPage(query));
+	public  R<IPage<HouseholdVO>> getUserInfoByDistrictIds(Query query,HouseholdVO householdVO) {
+		IPage<HouseholdVO> pages = userService.getUserInfoByDistrictIds(householdVO, Condition.getPage(query));
 		return R.data(pages);
 	}
 
diff --git a/src/main/java/org/springblade/modules/system/mapper/UserMapper.java b/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
index 4ff5e8a..60499b6 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
@@ -122,7 +122,7 @@
 	 * @param list
 	 * @return
 	 */
-	List<HouseholdVO> getUserInfoByDistrictIds(@Param("list") List<String> list, String building, String unit, String name, IPage<HouseholdVO> page);
+	List<HouseholdVO> getUserInfoByDistrictIds(@Param("list") List<String> list, @Param("vo") HouseholdVO householdVO, IPage<HouseholdVO> page);
 
 	/**
 	 * 通过机构查询用户
diff --git a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
index bb6c334..52aaf2d 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -246,7 +246,7 @@
         bu.real_name,
         bu.avatar,
         bu.email,
-        bu.phone,
+        bu.phone phoneNumber,
         bu.birthday,
         jhe.building,
         jhe.unit
@@ -262,14 +262,17 @@
             </foreach>
             and bu.is_deleted = 0
             and jh.relationship !=18
-            <if test="param2 != null and param2 !=''">
-                and jhe.building like concat('%',#{param2},'%')
+            <if test="vo.building != null and vo.building !=''">
+                and jhe.building like concat('%',#{vo.building},'%')
             </if>
-            <if test="param3 != null and param3 !=''">
-                and jhe.unit like concat('%',#{param3},'%')
+            <if test="vo.unit != null and vo.unit !=''">
+                and jhe.unit like concat('%',#{vo.unit},'%')
             </if>
-            <if test="param4 != null and param4 !=''">
-                and jh.name like concat('%',#{param4},'%')
+            <if test="vo.name != null and vo.name !=''">
+                and jh.name like concat('%',#{vo.name},'%')
+            </if>
+            <if test="vo.phoneNumber != null and vo.phoneNumber !=''">
+                and jh.phone_number like concat('%',#{vo.phoneNumber},'%')
             </if>
         </where>
     </select>
diff --git a/src/main/java/org/springblade/modules/system/service/IUserService.java b/src/main/java/org/springblade/modules/system/service/IUserService.java
index a8153a0..b124a63 100644
--- a/src/main/java/org/springblade/modules/system/service/IUserService.java
+++ b/src/main/java/org/springblade/modules/system/service/IUserService.java
@@ -277,7 +277,7 @@
 	 * @param name
 	 * @return
 	 */
-	IPage<HouseholdVO> getUserInfoByDistrictIds(String districtIds,String building,String unit,String name,IPage<HouseholdVO> page);
+	IPage<HouseholdVO> getUserInfoByDistrictIds(HouseholdVO householdVO,IPage<HouseholdVO> page);
 
 	/**
 	 * 查询500M内的民警
diff --git a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
index da13de2..d246b0b 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
@@ -633,9 +633,9 @@
 	 * @return
 	 */
 	@Override
-	public IPage<HouseholdVO> getUserInfoByDistrictIds(String districtIds, String building, String unit, String name, IPage<HouseholdVO> page) {
-		List<String> list = JSON.parseArray(districtIds).toJavaList(String.class);
-		List<HouseholdVO> userInfoByDistrictIds = baseMapper.getUserInfoByDistrictIds(list, building, unit, name, page);
+	public IPage<HouseholdVO> getUserInfoByDistrictIds(HouseholdVO householdVO, IPage<HouseholdVO> page) {
+		List<String> list = JSON.parseArray(householdVO.getDistrictIds()).toJavaList(String.class);
+		List<HouseholdVO> userInfoByDistrictIds = baseMapper.getUserInfoByDistrictIds(list, householdVO, page);
 		return page.setRecords(userInfoByDistrictIds);
 	}
 

--
Gitblit v1.9.3