فهرست منبع

用户列表,添加用户,获取用户详情

david 2 سال پیش
والد
کامیت
75fb82ad14

BIN
out/artifacts/roma_api_jar/roma-api.jar


+ 9 - 0
src/main/java/com/roma/romaapi/controller/ApiController.java

@@ -307,4 +307,13 @@ public class ApiController {
 
         return CustomResponse.formatResponse(ret);
     }
+
+    // 用户管理-通过用户id获取用户详情
+    @RequestMapping("/api/userDetailById")
+    public Map userDetailById(HttpServletRequest request, @RequestBody String data) {
+        Map maps = commonUtil.analysisRequestParams(request, data); // 参数
+        Map ret = apiService.getUserInfoById(maps);
+
+        return CustomResponse.formatResponse(ret);
+    }
 }

+ 46 - 16
src/main/java/com/roma/romaapi/dao/ApiDao.java

@@ -55,6 +55,22 @@ public class ApiDao {
         }
     }
 
+    // 通过用户id,获取禁用和启用用户详情
+    public Map<String, Object> enableAndNoEnableUserInfoByIdQueryForMap(String userID) {
+        try {
+            Map<String, Object> paramMap = new HashMap<>();
+            paramMap.put("admin_id", userID);
+            Map<String, Object> resMap2 = namedParameterJdbcTemplate.queryForMap(
+                    "SELECT * FROM `admin_user` where id = :admin_id ", paramMap);
+            return  resMap2;
+        } catch (EmptyResultDataAccessException e) {
+            Map<String, Object> resultMap = new HashMap<>();
+            resultMap.put("sysErrorCode", "500");
+
+            return resultMap;
+        }
+    }
+
     public void addPermissions(Map bindValue) {
 //        insert into tableName(colunm1,colunm2,...) value(value1,value2,...);
         String sql = "INSERT INTO `roma_permissions` " +
@@ -89,6 +105,16 @@ public class ApiDao {
         return resMap2;
     }
 
+    // 通过角色id,获取角色下全部的权限信息
+    public List<Map<String, Object>> getAllRoleByUserId(String id){
+        String sql = " SELECT * FROM `roma_role_user` WHERE user_id=:id ";
+        Map<String, Object> bindValue = new HashMap<>();
+        bindValue.put("id", id);
+        List<Map<String, Object>> resMap2 = namedParameterJdbcTemplate.queryForList(sql, bindValue);
+
+        return resMap2;
+    }
+
     // 添加角色
     public Integer addRole(Map<String, Object> bindValue) {
         String insertSql = " INSERT INTO `roma_roles` (`role_name`,`role_description`,`is_enable`,`created_at`)  " +
@@ -249,27 +275,31 @@ public class ApiDao {
 
     // 添加用户
     public Integer saveUser(Map bindValue, String userRole) {
-//        addPagePamars.put("userRole", userRole);
         String sql = " INSERT INTO `admin_user` (`admin_name`,`admin_password`,`created_at`,`admin_avatar`," +
                 "`is_enable`,`admin_email`,`admin_phone`)" +
                 " VALUES (:adminName,:adminPassword,:createdAt,:apiUploadPic,:isEnable,:adminEmail,:adminPhone)  ";
         KeyHolder keyHolder = new GeneratedKeyHolder();
         Integer row = namedParameterJdbcTemplate.update(sql, new MapSqlParameterSource(bindValue), keyHolder);
         int k = keyHolder.getKey().intValue();
-
-        // 添加用户之后,增加用户和角色的关联
-//// 如果有权限,则添加完角色后,再添加角色和权限的关联表数据
-//        LinkedHashSet<String> unPermission = new LinkedHashSet<String>();
-//        for(String s : allPermission.split(",")) {
-//            unPermission.add(s);
-//        }
-//        // 循环去重后的数据
-//        String values = "";
-//        for(String val: unPermission) {
-//            values += " ("+roleId+","+val+"),";
-//        }
-//        values = commonUtil.trimFirstAndLastChar(values, ",");
-
-        return k;
+        if (userRole.length()>0) {
+            // 如果添加用户,选择了角色
+            LinkedHashSet<String> uniqueRole = new LinkedHashSet<String>();
+            for(String s : userRole.split(",")) {
+                uniqueRole.add(s);
+            }
+            // 循环去重后的数据
+            String values = "";
+            for(String val: uniqueRole) {
+                values += " ("+k+","+val+"),";
+            }
+            Map addRoleUserMap = new HashMap<>();
+            values = commonUtil.trimFirstAndLastChar(values, ",");
+            String insertSql = " INSERT INTO `roma_role_user` (`user_id`, `role_id`) VALUES  " + values;
+            Integer addRoleUserRow = namedParameterJdbcTemplate.update(insertSql, addRoleUserMap);
+
+            return addRoleUserRow;
+        } else {
+            return k;
+        }
     }
 }

+ 30 - 1
src/main/java/com/roma/romaapi/service/ApiService.java

@@ -93,6 +93,36 @@ public class ApiService {
         return map;
     }
 
+    // 通过用户id,获取用户信息
+    public Map<String, Object> getUserInfoById(Map params) {
+        Map<String, Object> map = new HashMap<>();
+        String userId = params.get("id").toString();
+        if (userId.length() > 0) {
+            // 获取用户信息
+            Map<String, Object> userInfo = apiDao.enableAndNoEnableUserInfoByIdQueryForMap(userId);
+            map.put("admin_name", userInfo.get("admin_name"));
+            map.put("api_upload_pic", userInfo.get("admin_avatar"));
+            map.put("is_enable", userInfo.get("is_enable"));
+            map.put("admin_email", userInfo.get("admin_email"));
+            map.put("admin_phone", userInfo.get("admin_phone"));
+            // 获取此用户所有角色
+            List<Map<String, Object>> userAllRole = apiDao.getAllRoleByUserId(userId);
+            String userAllRoleString = "";
+            if (userAllRole.size() > 0) {
+                for (int i = 0; i < userAllRole.size(); i++) {
+                    Map nowRole = userAllRole.get(i);
+                    String permissionId = nowRole.get("role_id").toString();
+                    userAllRoleString += permissionId + ",";
+                }
+                userAllRoleString = commonUtil.trimFirstAndLastChar(userAllRoleString, ",");
+            }
+
+            map.put("user_role", userAllRoleString);
+        }
+
+        return map;
+    }
+
     // 退出登录
     public Map<String, Object> logout(String headerToken) {
         Boolean logout = commonUtil.logoutDeleteRedisToken(headerToken);
@@ -597,7 +627,6 @@ public class ApiService {
         addPagePamars.put("adminEmail", adminEmail);
         addPagePamars.put("adminPhone", adminPhone);
         addPagePamars.put("apiUploadPic", apiUploadPic);
-        addPagePamars.put("userRole", userRole);
         addPagePamars.put("createdAt", createdAt);
         // 添加
         Integer pageId = apiDao.saveUser(addPagePamars, userRole);