|
@@ -1,5 +1,6 @@
|
|
package com.boman.system.service.impl;
|
|
package com.boman.system.service.impl;
|
|
|
|
|
|
|
|
+import com.alibaba.nacos.client.naming.utils.CollectionUtils;
|
|
import com.boman.common.core.exception.CustomException;
|
|
import com.boman.common.core.exception.CustomException;
|
|
import com.boman.common.core.utils.SecurityUtils;
|
|
import com.boman.common.core.utils.SecurityUtils;
|
|
import com.boman.common.core.utils.StringUtils;
|
|
import com.boman.common.core.utils.StringUtils;
|
|
@@ -13,13 +14,12 @@ import com.boman.system.domain.vo.TreeSelect;
|
|
import com.boman.system.mapper.*;
|
|
import com.boman.system.mapper.*;
|
|
import com.boman.system.service.IBomanGroupService;
|
|
import com.boman.system.service.IBomanGroupService;
|
|
import com.google.common.collect.Lists;
|
|
import com.google.common.collect.Lists;
|
|
|
|
+import org.apache.poi.ss.formula.functions.T;
|
|
|
|
+import org.checkerframework.checker.units.qual.A;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
|
-import java.util.Arrays;
|
|
|
|
-import java.util.Iterator;
|
|
|
|
-import java.util.List;
|
|
|
|
|
|
+import java.util.*;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -123,34 +123,60 @@ public class BomanGroupServiceImpl implements IBomanGroupService {
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
- /**给组添加用户
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 给组添加用户
|
|
|
|
+ *
|
|
* @param groupId
|
|
* @param groupId
|
|
* @param userIds
|
|
* @param userIds
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
public AjaxResult insertUserGroup(Long groupId, Long[] userIds) {
|
|
public AjaxResult insertUserGroup(Long groupId, Long[] userIds) {
|
|
- //查询改组所有用户
|
|
|
|
|
|
+ //查询该组所有用户
|
|
List<Long> list = groupUserMapper.selectGroupUserList(groupId);
|
|
List<Long> list = groupUserMapper.selectGroupUserList(groupId);
|
|
|
|
+ List<BomanGroupUser> bomanGroupUserList = new ArrayList<>();
|
|
List<Long> longs = Arrays.asList(userIds);
|
|
List<Long> longs = Arrays.asList(userIds);
|
|
- list.removeIf(longs::contains
|
|
|
|
- );
|
|
|
|
- if (list.size() > 0){
|
|
|
|
- List<BomanGroupUser> bomanGroupUserList = new ArrayList<>();
|
|
|
|
- for (Long userId : list) {
|
|
|
|
|
|
+ if (list.size() > 0) {
|
|
|
|
+ //需要删除的
|
|
|
|
+ List<Object> objectDelete = Arrays.asList(CollectionUtils.subtract(list, longs).toArray());
|
|
|
|
+ if (objectDelete.size() > 0){
|
|
|
|
+ List<Long> objectDeleteIds = new ArrayList<>();
|
|
|
|
+ for (Object o : objectDelete) {
|
|
|
|
+ objectDeleteIds.add(Long.valueOf(o.toString()));
|
|
|
|
+ }
|
|
|
|
+ groupUserMapper.deleteGroupUser(groupId,objectDeleteIds.stream().mapToLong(Long::valueOf).toArray());
|
|
|
|
+ }
|
|
|
|
+ //是否有新增的
|
|
|
|
+ List<Object> objects = Arrays.asList(CollectionUtils.subtract(longs, list).toArray());
|
|
|
|
+ if (objects.size() > 0) {
|
|
|
|
+ for (Object userId : objects) {
|
|
|
|
+ BomanGroupUser bomanGroupUser = new BomanGroupUser();
|
|
|
|
+ bomanGroupUser.setUserId(Long.valueOf(userId.toString()));
|
|
|
|
+ bomanGroupUser.setGroupId(groupId);
|
|
|
|
+ bomanGroupUser.setCreateBy(SecurityUtils.getUsername());
|
|
|
|
+ SysUser user = sysUserMapper.selectUserById(Long.valueOf(userId.toString()));
|
|
|
|
+ if (user != null) {
|
|
|
|
+ bomanGroupUser.setUserName(user.getUserName());
|
|
|
|
+ bomanGroupUserList.add(bomanGroupUser);
|
|
|
|
+ } else {
|
|
|
|
+ return AjaxResult.error("该用户不存在");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ groupUserMapper.insertUserGroup(bomanGroupUserList);
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ for (Long userId : longs) {
|
|
BomanGroupUser bomanGroupUser = new BomanGroupUser();
|
|
BomanGroupUser bomanGroupUser = new BomanGroupUser();
|
|
bomanGroupUser.setUserId(userId);
|
|
bomanGroupUser.setUserId(userId);
|
|
bomanGroupUser.setGroupId(groupId);
|
|
bomanGroupUser.setGroupId(groupId);
|
|
bomanGroupUser.setCreateBy(SecurityUtils.getUsername());
|
|
bomanGroupUser.setCreateBy(SecurityUtils.getUsername());
|
|
SysUser user = sysUserMapper.selectUserById(userId);
|
|
SysUser user = sysUserMapper.selectUserById(userId);
|
|
- if (user != null){
|
|
|
|
|
|
+ if (user != null) {
|
|
bomanGroupUser.setUserName(user.getUserName());
|
|
bomanGroupUser.setUserName(user.getUserName());
|
|
bomanGroupUserList.add(bomanGroupUser);
|
|
bomanGroupUserList.add(bomanGroupUser);
|
|
- }else {
|
|
|
|
- return AjaxResult.error("该用户不存在");
|
|
|
|
|
|
+ groupUserMapper.insertUserGroup(bomanGroupUserList);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- groupUserMapper.insertUserGroup(bomanGroupUserList);
|
|
|
|
}
|
|
}
|
|
return AjaxResult.success();
|
|
return AjaxResult.success();
|
|
}
|
|
}
|
|
@@ -158,18 +184,20 @@ public class BomanGroupServiceImpl implements IBomanGroupService {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 给组删除用户
|
|
* 给组删除用户
|
|
|
|
+ *
|
|
* @param groupId
|
|
* @param groupId
|
|
* @param userIds
|
|
* @param userIds
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public AjaxResult deleteGroupUser(Long groupId, Long[] userIds) {
|
|
|
|
- groupUserMapper.deleteGroupUser(groupId,userIds);
|
|
|
|
|
|
+ public AjaxResult deleteGroupUser(Long groupId, long[] userIds) {
|
|
|
|
+ groupUserMapper.deleteGroupUser(groupId, userIds);
|
|
return AjaxResult.success();
|
|
return AjaxResult.success();
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
* 根据组织编号获取对应组织所有用户
|
|
* 根据组织编号获取对应组织所有用户
|
|
|
|
+ *
|
|
* @param groupId
|
|
* @param groupId
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
@@ -178,7 +206,7 @@ public class BomanGroupServiceImpl implements IBomanGroupService {
|
|
//所有组对应的用户id
|
|
//所有组对应的用户id
|
|
List<Long> userIds = groupUserMapper.selectGroupUserList(groupId);
|
|
List<Long> userIds = groupUserMapper.selectGroupUserList(groupId);
|
|
List<SysUser> sysUsers = new ArrayList<>();
|
|
List<SysUser> sysUsers = new ArrayList<>();
|
|
- if (userIds.size() > 0){
|
|
|
|
|
|
+ if (userIds.size() > 0) {
|
|
sysUsers = sysUserMapper.selectUserByUserIds(userIds);
|
|
sysUsers = sysUserMapper.selectUserByUserIds(userIds);
|
|
}
|
|
}
|
|
return sysUsers;
|
|
return sysUsers;
|