Browse Source

用户功能完善

chao 3 years ago
parent
commit
f84000b692

+ 1 - 1
src/main/java/com/caimei365/manager/dao/SysUserDao.java

@@ -32,7 +32,7 @@ public interface SysUserDao {
     /**
      * 获取用户角色Id列表
      */
-    List<Integer> getRoleIdsByUserId(Integer userId);
+    List<String> getRoleIdsByUserId(Integer userId);
     /**
      * 获取用户角色Id列表
      */

+ 27 - 10
src/main/java/com/caimei365/manager/service/impl/SysUserServiceImpl.java

@@ -91,6 +91,21 @@ public class SysUserServiceImpl implements SysUserService {
     @Override
     public ResponseJson<SysUser> getUser(Integer id) {
         SysUser sysUser = sysUserDao.getUser(id);
+        if (null != sysUser) {
+            // 根据用户ID获取角色Ids
+            List<String> roleIdList = sysUserDao.getRoleIdsByUserId(id);
+            StringBuilder roleIds = new StringBuilder();
+            for (int i = 0; i < roleIdList.size(); i++) {
+                if (StringUtils.hasLength(roleIdList.get(i))){
+                    if (i == 0) {
+                        roleIds.append(roleIdList.get(i));
+                    } else {
+                        roleIds.append(",").append(roleIdList.get(i));
+                    }
+                }
+            }
+            sysUser.setRoleIds(roleIds.toString());
+        }
         return ResponseJson.success(sysUser);
     }
 
@@ -193,19 +208,21 @@ public class SysUserServiceImpl implements SysUserService {
     @Override
     public ResponseJson<SysRole> getRoleInfo(Integer id) {
         SysRole sysRole = getRole(id);
-        // 根据角色ID获取菜单Ids
-        List<String> menuIdList = sysUserDao.getMenuIdsByRoleId(id);
-        StringBuilder menuIds = new StringBuilder();
-        for (int i = 0; i < menuIdList.size(); i++) {
-            if (StringUtils.hasLength(menuIdList.get(i))){
-                if (i == 0) {
-                    menuIds.append(menuIdList.get(i));
-                } else {
-                    menuIds.append(",").append(menuIdList.get(i));
+        if (null != sysRole) {
+            // 根据角色ID获取菜单Ids
+            List<String> menuIdList = sysUserDao.getMenuIdsByRoleId(id);
+            StringBuilder menuIds = new StringBuilder();
+            for (int i = 0; i < menuIdList.size(); i++) {
+                if (StringUtils.hasLength(menuIdList.get(i))){
+                    if (i == 0) {
+                        menuIds.append(menuIdList.get(i));
+                    } else {
+                        menuIds.append(",").append(menuIdList.get(i));
+                    }
                 }
             }
+            sysRole.setMenuIds(menuIds.toString());
         }
-        sysRole.setMenuIds(menuIds.toString());
         return ResponseJson.success(sysRole);
     }
 

+ 3 - 3
src/main/resources/mapper/SysUserDao.xml

@@ -9,7 +9,7 @@
             LEFT JOIN sys_role_user ru ON r.id = ru.role_id
         WHERE ru.user_id = #{userId}
     </select>
-    <select id="getRoleIdsByUserId" resultType="java.lang.Integer">
+    <select id="getRoleIdsByUserId" resultType="java.lang.String">
         SELECT DISTINCT r.id FROM sys_role r
             LEFT JOIN sys_role_user ru ON r.id = ru.role_id
         WHERE ru.user_id = #{userId}
@@ -20,7 +20,7 @@
         WHERE u.username=#{username}
     </select>
     <select id="getUserList" resultType="com.caimei365.manager.entity.SysUser">
-        SELECT u.id, u.username, u.password, u.avatar, u.fullName, u.phone, u.create_time AS createTime ,u.update_time AS updateTime, del_flag AS delFlag
+        SELECT u.id, u.username, u.avatar, u.fullName, u.phone, u.create_time AS createTime ,u.update_time AS updateTime, del_flag AS delFlag
         FROM sys_user u
         WHERE u.del_flag = 0
         <if test="username != null and username != ''">
@@ -31,7 +31,7 @@
         </if>
     </select>
     <select id="getUser" resultType="com.caimei365.manager.entity.SysUser">
-        SELECT u.id, u.username, u.password, u.avatar, u.fullName, u.phone, u.create_time AS createTime ,u.update_time AS updateTime, del_flag AS delFlag
+        SELECT u.id, u.username, u.avatar, u.fullName, u.phone, u.create_time AS createTime ,u.update_time AS updateTime, del_flag AS delFlag
         FROM sys_user u
         WHERE u.id = #{id}
     </select>