From d8143b9121bbe941f116230eaa5524ab2cc12a66 Mon Sep 17 00:00:00 2001
From: huliguo <2023611923@qq.com>
Date: 星期四, 10 七月 2025 21:20:21 +0800
Subject: [PATCH] 新增

---
 src/main/java/com/linghu/service/impl/SectionalizationServiceImpl.java |   52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 52 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/linghu/service/impl/SectionalizationServiceImpl.java b/src/main/java/com/linghu/service/impl/SectionalizationServiceImpl.java
index e66d702..ac9035e 100644
--- a/src/main/java/com/linghu/service/impl/SectionalizationServiceImpl.java
+++ b/src/main/java/com/linghu/service/impl/SectionalizationServiceImpl.java
@@ -1,13 +1,21 @@
 package com.linghu.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.linghu.mapper.SectionalizationMapper;
 import com.linghu.mapper.UserMapper;
 import com.linghu.model.entity.Sectionalization;
 import com.linghu.model.entity.User;
+import com.linghu.model.vo.SectionalizationUserVO;
 import com.linghu.service.SectionalizationService;
 import com.linghu.service.UserService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
 * @author xy
@@ -18,6 +26,50 @@
 public class SectionalizationServiceImpl extends ServiceImpl<SectionalizationMapper, Sectionalization>
     implements SectionalizationService {
 
+    @Autowired
+    private UserMapper userMapper;
+    @Override
+    public List<SectionalizationUserVO> SectionalizationUser() {
+        // 1. 查询所有状态为"正常"的用户
+        List<User> userList = userMapper.selectList(
+                new LambdaQueryWrapper<User>()
+                        .eq(User::getStatus, "正常")
+        );
+
+        // 2. 提取所有分组ID并去重
+        List<Integer> sectionalizationIdList = userList.stream()
+                .map(User::getSectionalization_id)
+                .distinct()
+                .collect(Collectors.toList());
+
+        // 3. 查询这些分组的基本信息
+        List<Sectionalization> sectionalizationList = this.baseMapper.selectList(
+                new LambdaQueryWrapper<Sectionalization>()
+                        .in(Sectionalization::getSectionalization_id, sectionalizationIdList)
+        );
+
+        // 4. 创建分组ID到分组名称的映射
+        Map<Integer, String> sectionalizationNameMap = sectionalizationList.stream()
+                .collect(Collectors.toMap(
+                        Sectionalization::getSectionalization_id,
+                        Sectionalization::getSectionalization_name
+                ));
+
+        // 5. 按分组ID对用户进行分组
+        Map<Integer, List<User>> usersBySectionalization = userList.stream()
+                .collect(Collectors.groupingBy(User::getSectionalization_id));
+
+        // 6. 构建最终返回结果
+        return sectionalizationIdList.stream()
+                .map(id -> {
+                    SectionalizationUserVO vo = new SectionalizationUserVO();
+                    vo.setSectionalization_id(id);
+                    vo.setSectionalization_name(sectionalizationNameMap.get(id));
+                    vo.setSectionalization_users(usersBySectionalization.getOrDefault(id, Collections.emptyList()));
+                    return vo;
+                })
+                .collect(Collectors.toList());
+    }
 }
 
 

--
Gitblit v1.7.1