From 56364722d3ed70d48ec41f567a4e59e5ccbbb868 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 19 五月 2022 17:45:42 +0800
Subject: [PATCH] 增加权限管理

---
 src/main/resources/code/service/app/src/main/java/com/ks/app/controller/admin/AdminUserController.java |  122 +++++++++++++++++++++++++++++++++++++++-
 1 files changed, 119 insertions(+), 3 deletions(-)

diff --git a/src/main/resources/code/service/app/src/main/java/com/ks/app/controller/admin/AdminUserController.java b/src/main/resources/code/service/app/src/main/java/com/ks/app/controller/admin/AdminUserController.java
index c09996e..0759d24 100644
--- a/src/main/resources/code/service/app/src/main/java/com/ks/app/controller/admin/AdminUserController.java
+++ b/src/main/resources/code/service/app/src/main/java/com/ks/app/controller/admin/AdminUserController.java
@@ -1,24 +1,40 @@
 package com.ks.app.controller.admin;
 
-import com.ks.app.entity.AdminUser;
+import com.google.gson.*;
+import com.google.gson.reflect.TypeToken;
+import com.ks.app.entity.admin.AdminRole;
+import com.ks.app.entity.admin.AdminUser;
 import com.ks.app.service.inter.AdminUserService;
+import com.ks.app.service.inter.admin.AdminUserRolesService;
+import com.ks.app.vo.AcceptAdminData;
+import com.ks.app.vo.AdminUserVO;
+import net.sf.json.JSONObject;
 import org.springframework.stereotype.Controller;
 import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.yeshi.utils.JsonUtil;
 import org.yeshi.utils.StringUtil;
+import org.yeshi.utils.TimeUtil;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpSession;
 import javax.validation.constraints.NotEmpty;
+import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
 
 @Controller
-@RequestMapping("/admin/api/user")
+@RequestMapping("/admin/api/adminuser")
 public class AdminUserController {
 
     @Resource
     private AdminUserService adminUserService;
+
+    @Resource
+    private AdminUserRolesService adminUserRolesService;
 
     @ResponseBody
     @RequestMapping("login")
@@ -34,7 +50,7 @@
         }
 
         AdminUser adminUser = adminUserService.selectByAccount(account);
-        if (adminUser == null) {
+        if (adminUser == null || !adminUser.getAccount().equals(account)) {
             return JsonUtil.loadFalseResult("璐﹀彿涓嶅瓨鍦�");
         }
 
@@ -47,4 +63,104 @@
     }
 
 
+    @ResponseBody
+    @RequestMapping("list")
+    public String list(AcceptAdminData acceptAdminData, int page, int limit) {
+        List<AdminUser> list = adminUserService.list(page, limit);
+        long count = adminUserService.count();
+        Gson gson = new GsonBuilder().registerTypeAdapter(Date.class, new JsonSerializer<Date>() {
+            @Override
+            public JsonElement serialize(Date date, Type type, JsonSerializationContext jsonSerializationContext) {
+                return date == null ? new JsonPrimitive("") : new JsonPrimitive(TimeUtil.getGernalTime(date.getTime(), "yyyy.MM.dd HH:mm"));
+            }
+        }).registerTypeAdapter(AdminRole.class, new JsonSerializer<AdminRole>() {
+            @Override
+            public JsonElement serialize(AdminRole role, Type type, JsonSerializationContext jsonSerializationContext) {
+                return role == null ? new JsonPrimitive("") : new JsonPrimitive(role.getName());
+            }
+        }).create();
+
+        List<AdminUserVO> voList = new ArrayList<>();
+        //鏌ヨ瑙掕壊
+        for (AdminUser adminUser : list) {
+            adminUser.setPwd(null);
+            List<AdminRole> roleList = adminUserRolesService.listRoleByAdminId(adminUser.getAccount());
+            voList.add(AdminUserVO.create(adminUser, roleList));
+        }
+        JSONObject data = new JSONObject();
+        data.put("list", gson.toJson(voList));
+        data.put("count", count);
+        return JsonUtil.loadTrueResult(data);
+    }
+
+    @ResponseBody
+    @RequestMapping("getLoginAdminInfo")
+    public String getLoginAdminInfo(AcceptAdminData acceptAdminData) {
+
+        if (acceptAdminData.getAdminUser() == null) {
+            return JsonUtil.loadFalseResult("灏氭湭鐧诲綍");
+        }
+
+        return JsonUtil.loadTrueResult(AdminUserVO.create(acceptAdminData.getAdminUser()));
+    }
+
+    @ResponseBody
+    @RequestMapping("get")
+    public String get(AcceptAdminData acceptAdminData, String id) {
+        AdminUser adminUser = adminUserService.selectByAccount(id);
+        if (adminUser == null) {
+            return JsonUtil.loadFalseResult("id涓嶅瓨鍦�");
+        }
+        adminUser.setPwd(null);
+        List<AdminRole> roleList = adminUserRolesService.listRoleByAdminId(adminUser.getAccount());
+        AdminUserVO vo = AdminUserVO.create(adminUser, roleList);
+        Gson gson = new GsonBuilder().registerTypeAdapter(AdminRole.class, new JsonSerializer<AdminRole>() {
+            @Override
+            public JsonElement serialize(AdminRole role, Type type, JsonSerializationContext jsonSerializationContext) {
+                JSONObject json = new JSONObject();
+                json.put("key", role.name());
+                json.put("value", role.getName());
+                return role == null ? new JsonPrimitive("") : new JsonPrimitive(json.toString());
+            }
+        }).create();
+        return JsonUtil.loadTrueResult(gson.toJson(vo));
+    }
+
+    @ResponseBody
+    @RequestMapping("add")
+    public String add(@RequestBody AdminUserVO vo) {
+        AdminUser adminUser = vo.toEntity();
+        try {
+            adminUserService.add(adminUser);
+        } catch (Exception e) {
+            return JsonUtil.loadFalseResult(e.getMessage());
+        }
+        //鏇存柊鏉冮檺
+        adminUserRolesService.setRoles(adminUser.getAccount(), vo.getRoleList());
+        return JsonUtil.loadTrueResult("");
+    }
+
+
+    @ResponseBody
+    @RequestMapping("update")
+    public String update(@RequestBody AdminUserVO vo) {
+        AdminUser adminUser = vo.toEntity();
+        adminUserService.update(adminUser);
+        //鏇存柊鏉冮檺
+        adminUserRolesService.setRoles(adminUser.getAccount(), vo.getRoleList());
+        return JsonUtil.loadTrueResult("");
+    }
+
+
+    @ResponseBody
+    @RequestMapping("delete")
+    public String delete(String ids) {
+        Type type = new TypeToken<List<String>>() {
+        }.getType();
+        List<String> idList = new Gson().fromJson(ids, type);
+        adminUserService.delete(idList);
+        return JsonUtil.loadTrueResult("");
+    }
+
+
 }

--
Gitblit v1.8.0