|
|
@ -66,7 +66,11 @@ public class OrganizeServiceImpl implements OrganizeService {
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
|
public Long saveOrganize(List<Organize> organizeList) {
|
|
|
|
public Long saveOrganize(List<Organize> organizeList) {
|
|
|
|
Long saveUserId = null;
|
|
|
|
Long saveUserId = null;
|
|
|
|
|
|
|
|
Set<Long> organizeUserIds = findOrganizeUserIds();
|
|
|
|
for (Organize organize : organizeList) {
|
|
|
|
for (Organize organize : organizeList) {
|
|
|
|
|
|
|
|
if (organizeUserIds.contains(organize.getUserId())){
|
|
|
|
|
|
|
|
throw new BadRequestException("用户已经分配到组");
|
|
|
|
|
|
|
|
}
|
|
|
|
organize.setCreateBy(SecurityUtils.getCurrentUserId());
|
|
|
|
organize.setCreateBy(SecurityUtils.getCurrentUserId());
|
|
|
|
Organize saveOrganize = organizeRepository.save(organize);
|
|
|
|
Organize saveOrganize = organizeRepository.save(organize);
|
|
|
|
//添加分机号
|
|
|
|
//添加分机号
|
|
|
@ -150,6 +154,7 @@ public class OrganizeServiceImpl implements OrganizeService {
|
|
|
|
public void addMember(ValidList<OrganizeUser> organizeUser) {
|
|
|
|
public void addMember(ValidList<OrganizeUser> organizeUser) {
|
|
|
|
// 组长添加组员,查询组长的组信息
|
|
|
|
// 组长添加组员,查询组长的组信息
|
|
|
|
Long currentUserId = SecurityUtils.getCurrentUserId();
|
|
|
|
Long currentUserId = SecurityUtils.getCurrentUserId();
|
|
|
|
|
|
|
|
Set<Long> organizeUserIds = findOrganizeUserIds();
|
|
|
|
OrganizeUser organizeUserByUserId = organizeUserRepository.findByUserId(currentUserId);
|
|
|
|
OrganizeUser organizeUserByUserId = organizeUserRepository.findByUserId(currentUserId);
|
|
|
|
if (organizeUserByUserId == null){
|
|
|
|
if (organizeUserByUserId == null){
|
|
|
|
throw new BadRequestException("用户未分配到组,请创建小组");
|
|
|
|
throw new BadRequestException("用户未分配到组,请创建小组");
|
|
|
@ -158,6 +163,9 @@ public class OrganizeServiceImpl implements OrganizeService {
|
|
|
|
Organize organize = organizeRepository.findById(organizeId).orElseGet(Organize::new);
|
|
|
|
Organize organize = organizeRepository.findById(organizeId).orElseGet(Organize::new);
|
|
|
|
// 添加组长下的组员信息
|
|
|
|
// 添加组长下的组员信息
|
|
|
|
for (OrganizeUser addOrganizeUser : organizeUser) {
|
|
|
|
for (OrganizeUser addOrganizeUser : organizeUser) {
|
|
|
|
|
|
|
|
if (organizeUserIds.contains(addOrganizeUser.getUserId())){
|
|
|
|
|
|
|
|
throw new BadRequestException("用户已经分配到组");
|
|
|
|
|
|
|
|
}
|
|
|
|
addOrganizeUser.setOrganizeId(organizeId);
|
|
|
|
addOrganizeUser.setOrganizeId(organizeId);
|
|
|
|
addOrganizeUser.setIsLeader(false);
|
|
|
|
addOrganizeUser.setIsLeader(false);
|
|
|
|
addOrganizeUser.setCreateBy(currentUserId);
|
|
|
|
addOrganizeUser.setCreateBy(currentUserId);
|
|
|
@ -503,30 +511,16 @@ public class OrganizeServiceImpl implements OrganizeService {
|
|
|
|
//查询角色下所有用户
|
|
|
|
//查询角色下所有用户
|
|
|
|
List<UserDto> userDtoList = userService.findByManager(roles);
|
|
|
|
List<UserDto> userDtoList = userService.findByManager(roles);
|
|
|
|
//查询所有组员
|
|
|
|
//查询所有组员
|
|
|
|
List<Long> userList = new ArrayList<>();
|
|
|
|
|
|
|
|
List<OrganizeUser> organizeUserAll = organizeUserRepository.findAll();
|
|
|
|
List<OrganizeUser> organizeUserAll = organizeUserRepository.findAll();
|
|
|
|
for (OrganizeUser organizeUser : organizeUserAll) {
|
|
|
|
List<Long> organizeUserIds = organizeUserAll.stream().map(OrganizeUser::getUserId).collect(Collectors.toList());
|
|
|
|
userList.add(organizeUser.getUserId());
|
|
|
|
//去重
|
|
|
|
}
|
|
|
|
List<UserDto> userDtos = userDtoList.stream().filter(users -> !organizeUserIds.contains(users.getId())).collect(Collectors.toList());
|
|
|
|
// 去除重复的用户,实体类集合去重(不需要去重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();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// 小组分配资源时,显示组长自己的信息,组长给自己分配资源
|
|
|
|
// 小组分配资源时,显示组长自己的信息,组长给自己分配资源
|
|
|
|
if (organizeQueryCriteria.getIsShowLeader() == 1) {
|
|
|
|
if (organizeQueryCriteria.getIsShowLeader() == 1) {
|
|
|
|
UserDto leaderUser = userService.findById(SecurityUtils.getCurrentUserId());
|
|
|
|
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 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;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|