From 749570394745ae95ee65605eadb42800f42fa20a Mon Sep 17 00:00:00 2001 From: huliguo <2023611923@qq.com> Date: 星期五, 08 八月 2025 12:09:26 +0800 Subject: [PATCH] 规范 --- src/main/java/com/linghu/service/impl/SectionalizationServiceImpl.java | 75 +++++++++++++++++++++++++++++++++++++ 1 files changed, 75 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..f6e4352 100644 --- a/src/main/java/com/linghu/service/impl/SectionalizationServiceImpl.java +++ b/src/main/java/com/linghu/service/impl/SectionalizationServiceImpl.java @@ -1,13 +1,22 @@ 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.common.ResponseResult; 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 +27,72 @@ 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()); + } + + @Override + public ResponseResult<Object> addSectionalization(Sectionalization sectionalization) { + List<Sectionalization> list = this.list(new LambdaQueryWrapper<Sectionalization>().eq(Sectionalization::getSectionalization_name, sectionalization.getSectionalization_name())); + if (list != null && list.size() > 0) { + return ResponseResult.error("该分组已存在"); + } + this.save(sectionalization); + return ResponseResult.success(); + } + + @Override + public ResponseResult<Object> edit(Sectionalization sectionalization) { + List<Sectionalization> list = this.list(new LambdaQueryWrapper<Sectionalization>() + .ne(Sectionalization::getSectionalization_id, sectionalization.getSectionalization_id()) + .eq(Sectionalization::getSectionalization_name, sectionalization.getSectionalization_name())); + if (list != null && list.size() > 0) { + return ResponseResult.error("该分组已存在"); + } + this.updateById(sectionalization); + return ResponseResult.success(); + } } -- Gitblit v1.7.1