he2802 2 年之前
父節點
當前提交
895f2ed08a

+ 1 - 1
zhongzheng-common/src/main/java/com/zhongzheng/common/core/domain/entity/TopSysUser.java

@@ -148,7 +148,7 @@ public class TopSysUser implements Serializable
 
     /** 角色组 */
     @TableField(exist = false)
-    private Long[] roleIds;
+    private List<Long> roleIds;
 
     /** 角色名称 */
     @TableField(exist = false)

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/user/domain/TopSysUserPost.java

@@ -21,7 +21,7 @@ public class TopSysUserPost implements Serializable {
 private static final long serialVersionUID=1L;
 
     /** 用户ID */
-    @TableId(value = "user_id")
+    @TableField(value = "user_id")
     private Long userId;
     /** 岗位ID */
     @TableField(value = "post_id")

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/user/domain/TopSysUserRole.java

@@ -24,7 +24,7 @@ public class TopSysUserRole implements Serializable {
 private static final long serialVersionUID=1L;
 
     /** 用户ID */
-    @TableId(value = "user_id")
+    @TableField(value = "user_id")
     private Long userId;
     /** 角色ID */
     @TableField(value = "role_id")

+ 23 - 14
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/user/service/impl/TopSysUserServiceImpl.java

@@ -5,22 +5,26 @@ import cn.hutool.core.lang.Validator;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.Page;
 import com.zhongzheng.common.annotation.DataScope;
 import com.zhongzheng.common.constant.UserConstants;
+import com.zhongzheng.common.core.domain.entity.SysRole;
 import com.zhongzheng.common.core.domain.entity.TopSysUser;
 import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.modules.course.bo.CourseBusinessQueryBo;
 import com.zhongzheng.modules.top.user.bo.TopSysUserAddBo;
 import com.zhongzheng.modules.top.user.bo.TopSysUserEditBo;
 import com.zhongzheng.modules.top.user.bo.TopSysUserQueryBo;
+import com.zhongzheng.modules.top.user.domain.TopSysRole;
 import com.zhongzheng.modules.top.user.domain.TopSysUserPost;
 import com.zhongzheng.modules.top.user.domain.TopSysUserRole;
 import com.zhongzheng.modules.top.user.mapper.TopSysUserMapper;
 import com.zhongzheng.modules.top.user.mapper.TopSysUserPostMapper;
 import com.zhongzheng.modules.top.user.mapper.TopSysUserRoleMapper;
+import com.zhongzheng.modules.top.user.service.ITopSysRoleService;
 import com.zhongzheng.modules.top.user.service.ITopSysUserService;
 import com.zhongzheng.modules.top.user.vo.TopSysUserVo;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -47,6 +51,9 @@ public class TopSysUserServiceImpl extends ServiceImpl<TopSysUserMapper, TopSysU
 
     @Autowired
     private TopSysUserPostMapper topSysUserPostMapper;
+
+    @Autowired
+    private ITopSysRoleService iTopSysRoleService;
     
 
     @Override
@@ -165,21 +172,23 @@ public class TopSysUserServiceImpl extends ServiceImpl<TopSysUserMapper, TopSysU
     @DataScope(deptAlias = "d", userAlias = "u")
     public List<TopSysUser> selectUserList(TopSysUser user) {
         List<TopSysUser> sysUsers = baseMapper.selectUserList(user);
-    /*    for (TopSysUser sysUser : sysUsers) {
-            List<Long> testList = new ArrayList();
-            for (SysRole role : sysUser.getRoles()) {
-                testList.add(role.getRoleId());
-            }
-            //初始化需要得到的数组
-            Long[] array = new Long[testList.size()];
-
-            //使用for循环得到数组
-            for(int i = 0; i < testList.size();i++){
-                array[i] = testList.get(i);
+        for (TopSysUser sysUser : sysUsers) {
+
+            List<TopSysUserRole> topSysUserRoles = topSysUserRoleMapper.selectList(new LambdaQueryWrapper<TopSysUserRole>().eq(TopSysUserRole::getUserId, sysUser.getUserId()));
+            if (CollectionUtils.isNotEmpty(topSysUserRoles)){
+                List<Long> collect = topSysUserRoles.stream().map(TopSysUserRole::getRoleId).collect(Collectors.toList());
+                sysUser.setRoleIds(collect);
+                List<TopSysRole> sysRoles = iTopSysRoleService.listByIds(collect);
+                if (CollectionUtils.isNotEmpty(sysRoles)){
+                    List<SysRole> collect1 = sysRoles.stream().map(x -> BeanUtil.toBean(x, SysRole.class)).collect(Collectors.toList());
+                    sysUser.setRoles(collect1);
+                }
+            }else {
+                sysUser.setRoleIds(new ArrayList<>());
+                sysUser.setRoles(new ArrayList<>());
             }
 
-            sysUser.setRoleIds(array);
-        }*/
+        }
         return sysUsers;
     }
 
@@ -322,7 +331,7 @@ public class TopSysUserServiceImpl extends ServiceImpl<TopSysUserMapper, TopSysU
      * @param user 用户对象
      */
     public void insertUserRole(TopSysUser user) {
-        Long[] roles = user.getRoleIds();
+        List<Long> roles = user.getRoleIds();
         if (Validator.isNotNull(roles)) {
             // 删除用户与角色关联
             topSysUserRoleMapper.delete(new LambdaQueryWrapper<TopSysUserRole>().eq(TopSysUserRole::getUserId,user.getUserId()));