From 74b16e50da03ac619d45f61d33af43b69e83f45c Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Thu, 22 Feb 2024 15:11:30 +0800
Subject: [PATCH] 投票人员查询优化

---
 src/main/java/org/springblade/modules/discuss/mapper/UserTopicsMapper.xml             |    7 +++++--
 src/main/java/org/springblade/modules/discuss/vo/UserTopicsVO.java                    |    4 +++-
 src/main/java/org/springblade/modules/discuss/service/impl/UserTopicsServiceImpl.java |   11 ++++++++---
 3 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/src/main/java/org/springblade/modules/discuss/mapper/UserTopicsMapper.xml b/src/main/java/org/springblade/modules/discuss/mapper/UserTopicsMapper.xml
index 2dbe2cb..c07e1f1 100644
--- a/src/main/java/org/springblade/modules/discuss/mapper/UserTopicsMapper.xml
+++ b/src/main/java/org/springblade/modules/discuss/mapper/UserTopicsMapper.xml
@@ -54,8 +54,11 @@
                 and bu.phone like concat('%',#{userTopics.phone},'%')
             </if>
 
-            <if test="userTopics.aoiCode != null and userTopics.aoiCode != ''">
-                and jda.aoi_code =#{userTopics.aoiCode}
+            <if test="userTopics.aoiCodeList != null and userTopics.aoiCodeList.size() > 0">
+                and jda.aoi_code in
+                <foreach collection="userTopics.aoiCodeList" item="code" open="(" close=")" separator=",">
+                    #{code}
+                </foreach>
             </if>
 
             <if test="userTopics.userId != null ">and jut.user_id = #{userTopics.userId}</if>
diff --git a/src/main/java/org/springblade/modules/discuss/service/impl/UserTopicsServiceImpl.java b/src/main/java/org/springblade/modules/discuss/service/impl/UserTopicsServiceImpl.java
index 0d55d2f..cde7f24 100644
--- a/src/main/java/org/springblade/modules/discuss/service/impl/UserTopicsServiceImpl.java
+++ b/src/main/java/org/springblade/modules/discuss/service/impl/UserTopicsServiceImpl.java
@@ -45,6 +45,7 @@
 import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 用户议题报表 服务实现类
@@ -60,10 +61,14 @@
 	@Override
 	public IPage<UserTopicsVO> selectUserTopicsPage(IPage<UserTopicsVO> page, UserTopicsVO userTopics) {
 		if (StringUtils.isNotBlank(userTopics.getDistrictId())) {
+			List<String> longs = JSON.parseArray(userTopics.getDistrictId()).toJavaList(String.class);
 			IDistrictService bean = SpringUtils.getBean(IDistrictService.class);
-			DistrictEntity one = bean.getOne(Wrappers.<DistrictEntity>lambdaQuery().eq(DistrictEntity::getId, userTopics.getDistrictId()));
-			if (one != null) {
-				userTopics.setAoiCode(one.getAoiCode());
+			List<DistrictEntity> list = bean.list(Wrappers.<DistrictEntity>lambdaQuery().in(DistrictEntity::getId, longs));
+			List<String> collect = list.stream().map(item ->
+				item.getAoiCode()
+			).collect(Collectors.toList());
+			if (collect != null) {
+				userTopics.setAoiCodeList(collect);
 			}
 		}
 		return page.setRecords(baseMapper.selectUserTopicsPage(page, userTopics));
diff --git a/src/main/java/org/springblade/modules/discuss/vo/UserTopicsVO.java b/src/main/java/org/springblade/modules/discuss/vo/UserTopicsVO.java
index 1203e7e..245cd01 100644
--- a/src/main/java/org/springblade/modules/discuss/vo/UserTopicsVO.java
+++ b/src/main/java/org/springblade/modules/discuss/vo/UserTopicsVO.java
@@ -21,6 +21,8 @@
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.util.List;
+
 /**
  * 用户议题报表 视图实体类
  *
@@ -42,7 +44,7 @@
 
 	private String aoiName;
 
-	private String aoiCode;
+	private List<String> aoiCodeList;
 
 	private String districtId;
 }

--
Gitblit v1.9.3