From 7bcd0d2d7510cb2ba67099cd768e1b2b6d047dc2 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Thu, 22 Feb 2024 17:16:27 +0800
Subject: [PATCH] 投票人员查询优化

---
 src/main/java/org/springblade/modules/system/mapper/UserMapper.xml                 |   32 +++++++++++++++-
 src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java     |    7 +++
 src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml             |    6 +++
 src/main/java/org/springblade/modules/system/controller/UserController.java        |    9 ++++
 src/main/java/org/springblade/modules/system/mapper/UserMapper.java                |   15 +++++++
 src/main/java/org/springblade/modules/system/service/IUserService.java             |    2 +
 src/main/java/org/springblade/modules/article/service/impl/ArticleServiceImpl.java |    1 
 7 files changed, 69 insertions(+), 3 deletions(-)

diff --git a/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml b/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml
index 3428813..64417a0 100644
--- a/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml
+++ b/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml
@@ -115,6 +115,12 @@
                 and (ja.article_range like concat('%',#{article.districtId},'%')
                 or ja.article_range is null)
             </if>
+
+            <if test="article.userId != null">
+                and (jpd.appoint_user like concat('%',#{article.userId},'%')
+                or ja.appoint_user is null)
+            </if>
+
             <if test="article.building != null and article.building != ''">
                 and (ja.building = #{article.building}
                 or ja.building is null)
diff --git a/src/main/java/org/springblade/modules/article/service/impl/ArticleServiceImpl.java b/src/main/java/org/springblade/modules/article/service/impl/ArticleServiceImpl.java
index 1a6b910..8ad395c 100644
--- a/src/main/java/org/springblade/modules/article/service/impl/ArticleServiceImpl.java
+++ b/src/main/java/org/springblade/modules/article/service/impl/ArticleServiceImpl.java
@@ -94,6 +94,7 @@
 		// 查询用户小区的id
 		String districId = baseMapper.getDistrictId(article.getHouseCode());
 		article.setDistrictId(districId);
+		article.setUserId(AuthUtil.getUserId());
 		List<ArticleVO> articleVOS = baseMapper.selectArticlePageByApp(page, article);
 		return page.setRecords(articleVOS);
 	}
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 efab292..881a73f 100644
--- a/src/main/java/org/springblade/modules/system/controller/UserController.java
+++ b/src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -407,6 +407,15 @@
 		return R.data(userService.getUserInfoByDistrictId(districtId, building));
 	}
 
+	/**
+	 * 通过小区id查询物业人员/网格人员
+	 */
+	@GetMapping("/getUserInfoByDistrictIds")
+	@ApiOperation(value = "查询物业人员By小区id", notes = "houseCode")
+	public R getUserInfoByDistrictIds(@RequestParam("districtIds") String districtIds) {
+		return R.data(userService.getUserInfoByDistrictIds(districtIds));
+	}
+
 
 	/**
 	 * 通过机构查询物业公司人员
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 e9b34b7..cf9b942 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
@@ -66,6 +66,7 @@
 
 	/**
 	 * 按条件查询用户信息
+	 *
 	 * @param user
 	 * @return
 	 */
@@ -73,6 +74,7 @@
 
 	/**
 	 * 通过小区Id搜索用户
+	 *
 	 * @param districtId
 	 * @return
 	 */
@@ -80,6 +82,7 @@
 
 	/**
 	 * 根据手机号查询对应账号和手机号的用户信息
+	 *
 	 * @param phoneNumber
 	 * @return
 	 */
@@ -87,6 +90,7 @@
 
 	/**
 	 * 用户详情接口
+	 *
 	 * @param userId
 	 * @return
 	 */
@@ -102,11 +106,20 @@
 
 	/**
 	 * 查询没有匹配的数据
+	 *
 	 * @return
 	 */
 	List<User> getNotBindUserDept();
 
 	List<User> getUserListByDeptIds(@Param("deptIds") String receiveDept);
 
-	List<User> getUserInfoByPropertyId(String deptId,String roleId);
+	List<User> getUserInfoByPropertyId(String deptId, String roleId);
+
+	/**
+	 *
+	 * 多个小区id查询用户
+	 * @param list
+	 * @return
+	 */
+	List<UserEntity> getUserInfoByDistrictIds(@Param("list") List<String> list);
 }
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 4433989..1aafc40 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -182,11 +182,11 @@
         LEFT JOIN jczz_house jhe ON jhe.house_code = jh.house_code
         LEFT JOIN jczz_district jd on jd.aoi_code=jhe.district_code
         <where>
-            <if test="districtId != nuu and districtId != ''">
+            <if test="districtId != null and districtId != ''">
                 and jd.id = #{districtId}
                 and bu.is_deleted = 0
             </if>
-            <if test="building != nuu and building != ''">
+            <if test="building != null and building != ''">
                 and jhe.building=#{building}
             </if>
 
@@ -229,6 +229,34 @@
             )
 
     </select>
+    <select id="getUserInfoByDistrictIds" resultType="org.flowable.idm.engine.impl.persistence.entity.UserEntity"
+            parameterType="java.util.List">
+
+        SELECT
+        bu.id,
+        bu.tenant_id,
+        bu.code,
+        bu.user_type,
+        bu.account,
+        bu.name,
+        bu.real_name,
+        bu.avatar,
+        bu.email,
+        bu.phone,
+        bu.birthday
+        FROM
+        blade_user bu
+        LEFT JOIN jczz_household jh ON bu.id = jh.associated_user_id
+        LEFT JOIN jczz_house jhe ON jhe.house_code = jh.house_code
+        LEFT JOIN jczz_district jd on jd.aoi_code=jhe.district_code
+        <where>
+            and jd.id = in
+            <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+            and bu.is_deleted = 0
+        </where>
+    </select>
 
 
 </mapper>
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 8106512..0755752 100644
--- a/src/main/java/org/springblade/modules/system/service/IUserService.java
+++ b/src/main/java/org/springblade/modules/system/service/IUserService.java
@@ -267,4 +267,6 @@
 	 * @param data
 	 */
 	void importPoliceUser(List<PoliceUserExcel> data);
+
+	List<UserEntity> getUserInfoByDistrictIds(String districtIds);
 }
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 d25cb7e..02d2ecd 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
@@ -17,6 +17,7 @@
 package org.springblade.modules.system.service.impl;
 
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -609,6 +610,12 @@
 		return baseMapper.getUserInfoByDistrictId(districtId, building);
 	}
 
+	@Override
+	public List<UserEntity> getUserInfoByDistrictIds(String districtIds) {
+		List<String> list = JSON.parseArray(districtIds).toJavaList(String.class);
+		return baseMapper.getUserInfoByDistrictIds(list);
+	}
+
 	/**
 	 * 处理漏绑定的user_dept
 	 */

--
Gitblit v1.9.3