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