|
|
@@ -2,6 +2,7 @@ package org.dromara.system.service.impl;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
+import cn.hutool.core.collection.CollectionUtil;
|
|
|
import cn.hutool.core.convert.Convert;
|
|
|
import cn.hutool.core.util.ArrayUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
@@ -38,7 +39,10 @@ import org.dromara.system.domain.SysUser;
|
|
|
import org.dromara.system.domain.SysUserRole;
|
|
|
import org.dromara.system.domain.bo.SysUserBo;
|
|
|
import org.dromara.system.domain.bo.UserDeptBo;
|
|
|
-import org.dromara.system.domain.vo.*;
|
|
|
+import org.dromara.system.domain.vo.SysPostVo;
|
|
|
+import org.dromara.system.domain.vo.SysRoleVo;
|
|
|
+import org.dromara.system.domain.vo.SysUserExportVo;
|
|
|
+import org.dromara.system.domain.vo.SysUserVo;
|
|
|
import org.dromara.system.mapper.*;
|
|
|
import org.dromara.system.mq.KafkaNormalProducer;
|
|
|
import org.dromara.system.service.ISysUserService;
|
|
|
@@ -709,8 +713,10 @@ public class SysUserServiceImpl implements ISysUserService {
|
|
|
return baseMapper.selectVoOne(new LambdaQueryWrapper<SysUser>()
|
|
|
.eq(SysUser::getOtherId, otherId));
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 根据账号查询用户信息
|
|
|
+ *
|
|
|
* @param userName 账号
|
|
|
* @return 用户信息
|
|
|
*/
|
|
|
@@ -718,25 +724,32 @@ public class SysUserServiceImpl implements ISysUserService {
|
|
|
@Override
|
|
|
public SysUserVo selectUserVoByUserName(String userName) {
|
|
|
return baseMapper.selectVoOne(new LambdaQueryWrapper<SysUser>()
|
|
|
- .eq(SysUser::getUserName, userName));
|
|
|
+ .eq(SysUser::getUserName, userName));
|
|
|
}
|
|
|
|
|
|
private void insertUserDept(SysUserBo bo, List<UserDeptBo> userDeptBoList) {
|
|
|
//将已有的人员部门关系设置成非主部门
|
|
|
userDeptService.updateMainDeptByUserId(bo.getUserId());
|
|
|
- if(ObjectUtil.isEmpty(userDeptBoList)){
|
|
|
- UserDeptBo userDeptBo = new UserDeptBo();
|
|
|
- userDeptBo.setDeptId(bo.getDeptId());
|
|
|
- userDeptBo.setPostId(bo.getPostId());
|
|
|
- userDeptBo.setUserId(bo.getUserId());
|
|
|
- userDeptBo.setMainDept("Y");
|
|
|
-
|
|
|
- userDeptService.setUserDeptPost(userDeptBo);
|
|
|
- } else {
|
|
|
- userDeptBoList.forEach(userDeptBo -> {
|
|
|
- userDeptBo.setUserId(bo.getUserId());
|
|
|
- userDeptService.setUserDeptPost(userDeptBo);
|
|
|
- });
|
|
|
+ //设置当前部门为主部门
|
|
|
+ UserDeptBo justUserDeptBo = new UserDeptBo();
|
|
|
+ justUserDeptBo.setUserId(bo.getUserId());
|
|
|
+ justUserDeptBo.setDeptId(bo.getDeptId());
|
|
|
+ justUserDeptBo.setPostId(bo.getPostId());
|
|
|
+ justUserDeptBo.setMainDept("Y");
|
|
|
+ userDeptService.setUserDeptPost(justUserDeptBo);
|
|
|
+ //如果有多部门,设置多部门
|
|
|
+ if (CollectionUtil.isNotEmpty(userDeptBoList)) {
|
|
|
+ //排除主部门
|
|
|
+ List<UserDeptBo> userDeptList = userDeptBoList.stream()
|
|
|
+ .filter(p -> ObjectUtil.notEqual(bo.getDeptId(), p.getDeptId())).toList();
|
|
|
+ if (CollectionUtil.isNotEmpty(userDeptList)) {
|
|
|
+ userDeptList.forEach(userDeptBo -> {
|
|
|
+ userDeptBo.setUserId(bo.getUserId());
|
|
|
+ userDeptBo.setMainDept("N");
|
|
|
+
|
|
|
+ userDeptService.setUserDeptPost(userDeptBo);
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|