From 3b5b47c0a839c2245d045f93cff916db701dcb5d Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期五, 14 二月 2025 13:31:04 +0800 Subject: [PATCH] Merge branch 'master' of https://gitee.com/xiaochen991015/xizang --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java | 69 +++++++++++++++++++++++++++++----- 1 files changed, 59 insertions(+), 10 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index 5fc26a4..ed7ae34 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java @@ -6,8 +6,14 @@ import java.util.stream.Collectors; import javax.validation.Validator; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.basic.PageInfo; +import com.ruoyi.common.core.domain.entity.SysDept; +import com.ruoyi.system.mapper.*; +import com.ruoyi.system.model.TDept; +import com.ruoyi.system.model.TDeptToUser; import com.ruoyi.system.query.SysUserQuery; +import com.ruoyi.system.service.TDeptToUserService; import com.ruoyi.system.vo.SysUserVO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -27,11 +33,6 @@ import com.ruoyi.system.domain.SysPost; import com.ruoyi.system.domain.SysUserPost; import com.ruoyi.system.domain.SysUserRole; -import com.ruoyi.system.mapper.SysPostMapper; -import com.ruoyi.system.mapper.SysRoleMapper; -import com.ruoyi.system.mapper.SysUserMapper; -import com.ruoyi.system.mapper.SysUserPostMapper; -import com.ruoyi.system.mapper.SysUserRoleMapper; import com.ruoyi.system.service.ISysConfigService; import com.ruoyi.system.service.ISysUserService; @@ -59,9 +60,13 @@ @Autowired private SysUserPostMapper userPostMapper; + @Autowired + private TDeptToUserMapper deptToUserMapper; @Autowired private ISysConfigService configService; + @Autowired + private TDeptMapper deptMapper; @Autowired protected Validator validator; @@ -264,7 +269,7 @@ // 新增用户信息 int rows = userMapper.insertUser(user); // 新增用户岗位关联 -// insertUserPost(user); + insertUserDept(user); // 新增用户与角色管理 insertUserRoleId(user); return rows; @@ -297,10 +302,10 @@ userRoleMapper.deleteUserRoleByUserId(userId); // 新增用户与角色管理 insertUserRoleId(user); - // 删除用户与岗位关联 -// userPostMapper.deleteUserPostByUserId(userId); - // 新增用户与岗位管理 -// insertUserPost(user); + // 删除用户与部门关联 + deptToUserMapper.deleteUserDeptByUserId(userId); + // 新增用户与部门管理 + insertUserDept(user); return userMapper.updateUser(user); } @@ -401,6 +406,17 @@ } /** + * 新增用户角色信息 + * + * @param user 用户对象 + */ + public void insertUserDept(SysUser user) + { + this.insertUserDept(user.getUserId(), user.getDeptIds()); + } + + + /** * 新增用户岗位信息 * * @param user 用户对象 @@ -460,6 +476,26 @@ ur.setUserId(userId); ur.setRoleId(roleId); userRoleMapper.insertUserRole(ur); + } + } + /** + * 新增用户部门信息 + * + * @param userId 用户ID + * @param deptIds 部门id集合 + */ + public void insertUserDept(Long userId, List<String> deptIds) + { + if (Objects.nonNull(userId) && !CollectionUtils.isEmpty(deptIds)){ + List<TDeptToUser> deptToUserList = new ArrayList<>(); + for (String deptId : deptIds) { + // 新增用户与角色管理 + TDeptToUser deptToUser = new TDeptToUser(); + deptToUser.setUserId(userId); + deptToUser.setDeptId(deptId); + deptToUserList.add(deptToUser); + } + userRoleMapper.insertBatchUserDept(deptToUserList); } } @@ -628,6 +664,19 @@ public PageInfo<SysUserVO> pageList(SysUserQuery query) { PageInfo<SysUserVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); List<SysUserVO> list = userMapper.pageList(query,pageInfo); + if(CollectionUtils.isEmpty(list)){ + return pageInfo; + } + List<Long> userIds = list.stream().map(SysUserVO::getUserId).collect(Collectors.toList()); + // 查询所有部门 + List<TDept> depts = deptMapper.selectList(Wrappers.lambdaQuery(TDept.class)); + List<TDeptToUser> tDeptToUsers = deptToUserMapper.selectList(Wrappers.lambdaQuery(TDeptToUser.class) + .in(TDeptToUser::getUserId, userIds)); + for (SysUserVO sysUserVO : list) { + tDeptToUsers.stream().filter(tDeptToUser -> tDeptToUser.getUserId().equals(sysUserVO.getUserId())).forEach(tDeptToUser -> { + sysUserVO.setDeptList(depts.stream().filter(tDept -> tDept.getId().equals(tDeptToUser.getDeptId())).map(TDept::getDeptName).collect(Collectors.toList())); + }); + } pageInfo.setRecords(list); return pageInfo; } -- Gitblit v1.7.1