代码提交

master
yqy 3 years ago
parent 3b16f8a531
commit a408749066

@ -66,7 +66,11 @@ public class OrganizeServiceImpl implements OrganizeService {
@Transactional(rollbackFor = Exception.class)
public Long saveOrganize(List<Organize> organizeList) {
Long saveUserId = null;
Set<Long> 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> organizeUser) {
// 组长添加组员,查询组长的组信息
Long currentUserId = SecurityUtils.getCurrentUserId();
Set<Long> 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<UserDto> userDtoList = userService.findByManager(roles);
//查询所有组员
List<Long> userList = new ArrayList<>();
List<OrganizeUser> organizeUserAll = organizeUserRepository.findAll();
for (OrganizeUser organizeUser : organizeUserAll) {
userList.add(organizeUser.getUserId());
}
// 去除重复的用户,实体类集合去重(不需要去重ID后再次查库)
//userDtoList.removeIf(ele -> ele.getId() == userId);
if (userList.size() > 0) {
Iterator<UserDto> it = userDtoList.iterator();
while (it.hasNext()) {
Long id = it.next().getId();
for (Long userId : userList) {
if (userId == id) {
it.remove();
}
}
}
}
List<Long> organizeUserIds = organizeUserAll.stream().map(OrganizeUser::getUserId).collect(Collectors.toList());
//去重
List<UserDto> 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<Long> findOrganizeUserIds(){
Set<Long> hashSet = new HashSet<>();
List<OrganizeUser> organizeUserAll = organizeUserRepository.findAll();
organizeUserAll.forEach(ou -> hashSet.add(ou.getUserId()));
return hashSet;
}
}

@ -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;

Loading…
Cancel
Save