From 5fa6e6f8410ef9d057174bcff2a3c5038c54a551 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期日, 27 四月 2025 18:41:20 +0800 Subject: [PATCH] bug修改 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java | 99 +++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 79 insertions(+), 20 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..ba35a11 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 @@ -1,21 +1,8 @@ package com.ruoyi.system.service.impl; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; -import javax.validation.Validator; - -import com.ruoyi.common.basic.PageInfo; -import com.ruoyi.system.query.SysUserQuery; -import com.ruoyi.system.vo.SysUserVO; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.annotation.DataScope; +import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.domain.entity.SysRole; import com.ruoyi.common.core.domain.entity.SysUser; @@ -32,8 +19,27 @@ import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.system.mapper.SysUserPostMapper; import com.ruoyi.system.mapper.SysUserRoleMapper; +import com.ruoyi.system.mapper.TDeptMapper; +import com.ruoyi.system.mapper.TDeptToUserMapper; +import com.ruoyi.system.model.TDept; +import com.ruoyi.system.model.TDeptToUser; +import com.ruoyi.system.query.SysUserQuery; import com.ruoyi.system.service.ISysConfigService; import com.ruoyi.system.service.ISysUserService; +import com.ruoyi.system.service.TDeptToUserService; +import com.ruoyi.system.vo.SysUserVO; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; + +import javax.validation.Validator; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; /** * 用户 业务层处理 @@ -59,9 +65,15 @@ @Autowired private SysUserPostMapper userPostMapper; + @Autowired + private TDeptToUserService deptToUserService; + @Autowired + private TDeptToUserMapper deptToUserMapper; @Autowired private ISysConfigService configService; + @Autowired + private TDeptMapper deptMapper; @Autowired protected Validator validator; @@ -264,7 +276,7 @@ // 新增用户信息 int rows = userMapper.insertUser(user); // 新增用户岗位关联 -// insertUserPost(user); + insertUserDept(user); // 新增用户与角色管理 insertUserRoleId(user); return rows; @@ -297,10 +309,10 @@ userRoleMapper.deleteUserRoleByUserId(userId); // 新增用户与角色管理 insertUserRoleId(user); - // 删除用户与岗位关联 -// userPostMapper.deleteUserPostByUserId(userId); - // 新增用户与岗位管理 -// insertUserPost(user); + // 删除用户与部门关联 + deptToUserMapper.deleteUserDeptByUserId(userId); + // 新增用户与部门管理 + insertUserDept(user); return userMapper.updateUser(user); } @@ -401,6 +413,17 @@ } /** + * 新增用户角色信息 + * + * @param user 用户对象 + */ + public void insertUserDept(SysUser user) + { + this.insertUserDept(user.getUserId(), user.getDeptIds()); + } + + + /** * 新增用户岗位信息 * * @param user 用户对象 @@ -460,6 +483,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); + } + deptToUserService.saveBatch(deptToUserList); } } @@ -627,7 +670,23 @@ @Override public PageInfo<SysUserVO> pageList(SysUserQuery query) { PageInfo<SysUserVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); + String businessDeptId = SecurityUtils.getBusinessDeptId(); + query.setBusinessDeptId(businessDeptId); 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 = deptToUserService.list(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())); + sysUserVO.setDeptIds(depts.stream().map(TDept::getId).filter(id -> id.equals(tDeptToUser.getDeptId())).collect(Collectors.toList())); + }); + } pageInfo.setRecords(list); return pageInfo; } -- Gitblit v1.7.1