From de0279f25018aea193584bf328351b7df3f6f2f0 Mon Sep 17 00:00:00 2001 From: none Date: Fri, 24 Feb 2023 23:25:14 +0800 Subject: [PATCH] =?UTF-8?q?fixed:=20role=E7=9A=84edit=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=BF=94=E5=9B=9EpermissionIds?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/controller/backend/AdminRoleController.java | 11 +++++++++-- .../api/service/AdminRolePermissionService.java | 2 ++ .../xyz/playedu/api/service/AdminRoleService.java | 6 +++++- .../service/impl/AdminRolePermissionServiceImpl.java | 10 ++++++++++ .../api/service/impl/AdminRoleServiceImpl.java | 8 ++++++-- 5 files changed, 32 insertions(+), 5 deletions(-) diff --git a/src/main/java/xyz/playedu/api/controller/backend/AdminRoleController.java b/src/main/java/xyz/playedu/api/controller/backend/AdminRoleController.java index 64c9d28..3e2bdf0 100644 --- a/src/main/java/xyz/playedu/api/controller/backend/AdminRoleController.java +++ b/src/main/java/xyz/playedu/api/controller/backend/AdminRoleController.java @@ -1,7 +1,6 @@ package xyz.playedu.api.controller.backend; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import xyz.playedu.api.constant.BPermissionConstant; @@ -43,8 +42,10 @@ public class AdminRoleController { @GetMapping("/create") public JsonResponse create() { List permissions = permissionService.listOrderBySortAsc(); + HashMap data = new HashMap<>(); data.put("permissions", permissions); + return JsonResponse.data(data); } @@ -59,7 +60,13 @@ public class AdminRoleController { @GetMapping("/{id}") public JsonResponse edit(@PathVariable(name = "id") Integer id) throws NotFoundException { AdminRole role = roleService.findOrFail(id); - return JsonResponse.data(role); + List permissionIds = roleService.getPermissionIdsByRoleId(role.getId()); + + HashMap data = new HashMap<>(); + data.put("role", role); + data.put("permission_ids", permissionIds); + + return JsonResponse.data(data); } @BackendPermissionMiddleware(slug = BPermissionConstant.ADMIN_ROLE) diff --git a/src/main/java/xyz/playedu/api/service/AdminRolePermissionService.java b/src/main/java/xyz/playedu/api/service/AdminRolePermissionService.java index 7da3fea..758a133 100644 --- a/src/main/java/xyz/playedu/api/service/AdminRolePermissionService.java +++ b/src/main/java/xyz/playedu/api/service/AdminRolePermissionService.java @@ -18,4 +18,6 @@ public interface AdminRolePermissionService extends IService getPermissionIdsByRoleIds(List roleIds); + + List getPermissionIdsByRoleId(Integer roleId); } diff --git a/src/main/java/xyz/playedu/api/service/AdminRoleService.java b/src/main/java/xyz/playedu/api/service/AdminRoleService.java index 39f1402..f7d8bde 100644 --- a/src/main/java/xyz/playedu/api/service/AdminRoleService.java +++ b/src/main/java/xyz/playedu/api/service/AdminRoleService.java @@ -4,6 +4,8 @@ import xyz.playedu.api.domain.AdminRole; import com.baomidou.mybatisplus.extension.service.IService; import xyz.playedu.api.exception.NotFoundException; +import java.util.List; + /** * @author tengteng * @description 针对表【admin_roles】的数据库操作Service @@ -13,7 +15,7 @@ public interface AdminRoleService extends IService { AdminRole getBySlug(String slug); - AdminRole createWithPermissionIds(String name, Integer[] permissionIds); + void createWithPermissionIds(String name, Integer[] permissionIds); void relatePermissions(AdminRole role, Integer[] permissionIds); @@ -25,4 +27,6 @@ public interface AdminRoleService extends IService { void removeWithPermissions(AdminRole role); + List getPermissionIdsByRoleId(Integer roleId); + } diff --git a/src/main/java/xyz/playedu/api/service/impl/AdminRolePermissionServiceImpl.java b/src/main/java/xyz/playedu/api/service/impl/AdminRolePermissionServiceImpl.java index e47da3e..5f69935 100644 --- a/src/main/java/xyz/playedu/api/service/impl/AdminRolePermissionServiceImpl.java +++ b/src/main/java/xyz/playedu/api/service/impl/AdminRolePermissionServiceImpl.java @@ -32,6 +32,16 @@ public class AdminRolePermissionServiceImpl extends ServiceImpl getPermissionIdsByRoleId(Integer roleId) { + List rolePermissions = list(query().getWrapper().eq("role_id", roleId)); + List ids = new ArrayList<>(); + for (AdminRolePermission rolePermission : rolePermissions) { + ids.add(rolePermission.getPermId()); + } + return ids; + } } diff --git a/src/main/java/xyz/playedu/api/service/impl/AdminRoleServiceImpl.java b/src/main/java/xyz/playedu/api/service/impl/AdminRoleServiceImpl.java index 38c0724..07be802 100644 --- a/src/main/java/xyz/playedu/api/service/impl/AdminRoleServiceImpl.java +++ b/src/main/java/xyz/playedu/api/service/impl/AdminRoleServiceImpl.java @@ -34,7 +34,7 @@ public class AdminRoleServiceImpl extends ServiceImpl getPermissionIdsByRoleId(Integer roleId) { + return rolePermissionService.getPermissionIdsByRoleId(roleId); + } }