From a4087490666acec15be7aa712f5569aae1333217 Mon Sep 17 00:00:00 2001 From: yqy Date: Mon, 7 Mar 2022 09:26:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/OrganizeServiceImpl.java | 44 +++++++++++-------- .../java/com/baiye/task/FileAnalysisTask.java | 1 - 2 files changed, 25 insertions(+), 20 deletions(-) diff --git a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/OrganizeServiceImpl.java b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/OrganizeServiceImpl.java index 44b9b6d1..439bd4df 100644 --- a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/OrganizeServiceImpl.java +++ b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/OrganizeServiceImpl.java @@ -66,7 +66,11 @@ public class OrganizeServiceImpl implements OrganizeService { @Transactional(rollbackFor = Exception.class) public Long saveOrganize(List organizeList) { Long saveUserId = null; + Set organizeUserIds = findOrganizeUserIds(); for (Organize organize : organizeList) { + if (organizeUserIds.contains(organize.getUserId())){ + throw new BadRequestException("用户已经分配到组"); + } organize.setCreateBy(SecurityUtils.getCurrentUserId()); Organize saveOrganize = organizeRepository.save(organize); //添加分机号 @@ -150,6 +154,7 @@ public class OrganizeServiceImpl implements OrganizeService { public void addMember(ValidList organizeUser) { // 组长添加组员,查询组长的组信息 Long currentUserId = SecurityUtils.getCurrentUserId(); + Set organizeUserIds = findOrganizeUserIds(); OrganizeUser organizeUserByUserId = organizeUserRepository.findByUserId(currentUserId); if (organizeUserByUserId == null){ throw new BadRequestException("用户未分配到组,请创建小组"); @@ -158,6 +163,9 @@ public class OrganizeServiceImpl implements OrganizeService { Organize organize = organizeRepository.findById(organizeId).orElseGet(Organize::new); // 添加组长下的组员信息 for (OrganizeUser addOrganizeUser : organizeUser) { + if (organizeUserIds.contains(addOrganizeUser.getUserId())){ + throw new BadRequestException("用户已经分配到组"); + } addOrganizeUser.setOrganizeId(organizeId); addOrganizeUser.setIsLeader(false); addOrganizeUser.setCreateBy(currentUserId); @@ -503,30 +511,16 @@ public class OrganizeServiceImpl implements OrganizeService { //查询角色下所有用户 List userDtoList = userService.findByManager(roles); //查询所有组员 - List userList = new ArrayList<>(); List organizeUserAll = organizeUserRepository.findAll(); - for (OrganizeUser organizeUser : organizeUserAll) { - userList.add(organizeUser.getUserId()); - } - // 去除重复的用户,实体类集合去重(不需要去重ID后再次查库) - //userDtoList.removeIf(ele -> ele.getId() == userId); - if (userList.size() > 0) { - Iterator it = userDtoList.iterator(); - while (it.hasNext()) { - Long id = it.next().getId(); - for (Long userId : userList) { - if (userId == id) { - it.remove(); - } - } - } - } + List organizeUserIds = organizeUserAll.stream().map(OrganizeUser::getUserId).collect(Collectors.toList()); + //去重 + List userDtos = userDtoList.stream().filter(users -> !organizeUserIds.contains(users.getId())).collect(Collectors.toList()); // 小组分配资源时,显示组长自己的信息,组长给自己分配资源 if (organizeQueryCriteria.getIsShowLeader() == 1) { UserDto leaderUser = userService.findById(SecurityUtils.getCurrentUserId()); - userDtoList.add(leaderUser); + userDtos.add(leaderUser); } - return userDtoList; + return userDtos; } /** @@ -643,4 +637,16 @@ public class OrganizeServiceImpl implements OrganizeService { return list; } + + /** + * 查询所有分配到组的用户 + * @return + */ + public Set findOrganizeUserIds(){ + Set hashSet = new HashSet<>(); + List organizeUserAll = organizeUserRepository.findAll(); + organizeUserAll.forEach(ou -> hashSet.add(ou.getUserId())); + return hashSet; + } + } diff --git a/services/ad-platform-source/src/main/java/com/baiye/task/FileAnalysisTask.java b/services/ad-platform-source/src/main/java/com/baiye/task/FileAnalysisTask.java index 179f9029..1108caa2 100644 --- a/services/ad-platform-source/src/main/java/com/baiye/task/FileAnalysisTask.java +++ b/services/ad-platform-source/src/main/java/com/baiye/task/FileAnalysisTask.java @@ -1,6 +1,5 @@ package com.baiye.task; -import cn.hutool.core.date.DateUtil; import com.alibaba.excel.EasyExcelFactory; import com.baiye.module.constant.FileConstant; import com.baiye.module.dao.ClueJpa;