From e34fb3bad0d312d827728c9aeb81357cbb543e9e Mon Sep 17 00:00:00 2001 From: none Date: Sun, 26 Feb 2023 22:08:04 +0800 Subject: [PATCH] =?UTF-8?q?user=5Frole=20&&=20role=5Fpermission=E4=B8=AD?= =?UTF-8?q?=E9=97=B4=E8=A1=A8=E7=9A=84=E6=9C=8D=E5=8A=A1=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/xyz/playedu/api/bus/BackendBus.java | 17 +++---- .../playedu/api/service/AdminRoleService.java | 3 ++ .../playedu/api/service/AdminUserService.java | 2 + .../impl/AdminRolePermissionServiceImpl.java | 49 ------------------- .../service/impl/AdminRoleServiceImpl.java | 32 ++++++++++-- .../impl/AdminUserRoleServiceImpl.java | 38 -------------- .../service/impl/AdminUserServiceImpl.java | 21 ++++++-- .../AdminRolePermissionServiceImpl.java | 20 ++++++++ .../internal/AdminUserRoleServiceImpl.java | 20 ++++++++ .../AdminRolePermissionService.java | 12 +---- .../{ => internal}/AdminUserRoleService.java | 7 +-- 11 files changed, 97 insertions(+), 124 deletions(-) delete mode 100644 src/main/java/xyz/playedu/api/service/impl/AdminRolePermissionServiceImpl.java delete mode 100644 src/main/java/xyz/playedu/api/service/impl/AdminUserRoleServiceImpl.java create mode 100644 src/main/java/xyz/playedu/api/service/impl/internal/AdminRolePermissionServiceImpl.java create mode 100644 src/main/java/xyz/playedu/api/service/impl/internal/AdminUserRoleServiceImpl.java rename src/main/java/xyz/playedu/api/service/{ => internal}/AdminRolePermissionService.java (51%) rename src/main/java/xyz/playedu/api/service/{ => internal}/AdminUserRoleService.java (69%) diff --git a/src/main/java/xyz/playedu/api/bus/BackendBus.java b/src/main/java/xyz/playedu/api/bus/BackendBus.java index 9501624..e5470cd 100644 --- a/src/main/java/xyz/playedu/api/bus/BackendBus.java +++ b/src/main/java/xyz/playedu/api/bus/BackendBus.java @@ -5,29 +5,24 @@ import org.springframework.stereotype.Component; import xyz.playedu.api.constant.BackendConstant; import xyz.playedu.api.domain.AdminRole; import xyz.playedu.api.service.AdminPermissionService; -import xyz.playedu.api.service.AdminRolePermissionService; import xyz.playedu.api.service.AdminRoleService; -import xyz.playedu.api.service.AdminUserRoleService; +import xyz.playedu.api.service.AdminUserService; -import java.util.ArrayList; import java.util.HashMap; import java.util.List; @Component public class BackendBus { - @Autowired - private AdminUserRoleService adminUserRoleService; - - @Autowired - private AdminRolePermissionService rolePermissionService; - @Autowired private AdminPermissionService permissionService; @Autowired private AdminRoleService adminRoleService; + @Autowired + private AdminUserService adminUserService; + public static boolean inUnAuthWhitelist(String uri) { for (int i = 0; i < BackendConstant.UN_AUTH_URI_WHITELIST.length; i++) { if (uri.equals(BackendConstant.UN_AUTH_URI_WHITELIST[i])) { @@ -42,7 +37,7 @@ public class BackendBus { AdminRole superRole = adminRoleService.getBySlug(BackendConstant.SUPER_ADMIN_ROLE); HashMap permissions = new HashMap<>(); - List roleIds = adminUserRoleService.getRoleIdsByUserId(userId); + List roleIds = adminUserService.getRoleIdsByUserId(userId); if (roleIds.size() == 0) { return permissions; } @@ -52,7 +47,7 @@ public class BackendBus { if (roleIds.contains(superRole.getId())) {//包含超级管理角色的话返回全部权限 permissionIds = permissionService.allIds(); } else {//根据相应的roleIds读取权限 - permissionIds = rolePermissionService.getPermissionIdsByRoleIds(roleIds); + permissionIds = adminRoleService.getPermissionIdsByRoleIds(roleIds); if (permissionIds.size() == 0) { return permissions; } diff --git a/src/main/java/xyz/playedu/api/service/AdminRoleService.java b/src/main/java/xyz/playedu/api/service/AdminRoleService.java index f7d8bde..0a35595 100644 --- a/src/main/java/xyz/playedu/api/service/AdminRoleService.java +++ b/src/main/java/xyz/playedu/api/service/AdminRoleService.java @@ -29,4 +29,7 @@ public interface AdminRoleService extends IService { List getPermissionIdsByRoleId(Integer roleId); + List getPermissionIdsByRoleIds(List roleIds); + + void removeRelatePermissionByRoleId(Integer roleId); } diff --git a/src/main/java/xyz/playedu/api/service/AdminUserService.java b/src/main/java/xyz/playedu/api/service/AdminUserService.java index c6e4413..4b5eb11 100644 --- a/src/main/java/xyz/playedu/api/service/AdminUserService.java +++ b/src/main/java/xyz/playedu/api/service/AdminUserService.java @@ -36,4 +36,6 @@ public interface AdminUserService extends IService { void updateWithRoleIds(AdminUser user, String name, String email, String password, Integer isBanLogin, Integer[] roleIds) throws ServiceException; void removeWithRoleIds(Integer userId); + + void removeRelateRolesByUserId(Integer userId); } diff --git a/src/main/java/xyz/playedu/api/service/impl/AdminRolePermissionServiceImpl.java b/src/main/java/xyz/playedu/api/service/impl/AdminRolePermissionServiceImpl.java deleted file mode 100644 index 5f69935..0000000 --- a/src/main/java/xyz/playedu/api/service/impl/AdminRolePermissionServiceImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package xyz.playedu.api.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import lombok.extern.slf4j.Slf4j; -import xyz.playedu.api.domain.AdminRole; -import xyz.playedu.api.domain.AdminRolePermission; -import xyz.playedu.api.service.AdminRolePermissionService; -import xyz.playedu.api.mapper.AdminRolePermissionMapper; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.List; - -/** - * @author tengteng - * @description 针对表【admin_role_permission】的数据库操作Service实现 - * @createDate 2023-02-21 16:07:01 - */ -@Service -public class AdminRolePermissionServiceImpl extends ServiceImpl implements AdminRolePermissionService { - @Override - public void removeByRoleId(Integer roleId) { - remove(query().getWrapper().eq("role_id", roleId)); - } - - @Override - public List getPermissionIdsByRoleIds(List roleIds) { - List rolePermissions = list(query().getWrapper().in("role_id", roleIds)); - List ids = new ArrayList<>(); - for (AdminRolePermission rolePermission : rolePermissions) { - ids.add(rolePermission.getPermId()); - } - return ids; - } - - @Override - public List 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 07be802..e20279e 100644 --- a/src/main/java/xyz/playedu/api/service/impl/AdminRoleServiceImpl.java +++ b/src/main/java/xyz/playedu/api/service/impl/AdminRoleServiceImpl.java @@ -1,12 +1,13 @@ package xyz.playedu.api.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import xyz.playedu.api.domain.AdminRole; import xyz.playedu.api.domain.AdminRolePermission; import xyz.playedu.api.exception.NotFoundException; -import xyz.playedu.api.service.AdminRolePermissionService; +import xyz.playedu.api.service.internal.AdminRolePermissionService; import xyz.playedu.api.service.AdminRoleService; import xyz.playedu.api.mapper.AdminRoleMapper; import org.springframework.stereotype.Service; @@ -66,7 +67,7 @@ public class AdminRoleServiceImpl extends ServiceImpl getPermissionIdsByRoleId(Integer roleId) { - return rolePermissionService.getPermissionIdsByRoleId(roleId); + QueryWrapper wrapper = rolePermissionService.query().getWrapper().eq("role_id", roleId); + List rolePermissions = rolePermissionService.list(wrapper); + List ids = new ArrayList<>(); + for (AdminRolePermission rolePermission : rolePermissions) { + ids.add(rolePermission.getPermId()); + } + return ids; + } + + @Override + public List getPermissionIdsByRoleIds(List roleIds) { + QueryWrapper wrapper = rolePermissionService.query().getWrapper().in("role_id", roleIds); + List rolePermissions = rolePermissionService.list(wrapper); + List ids = new ArrayList<>(); + for (AdminRolePermission rolePermission : rolePermissions) { + ids.add(rolePermission.getPermId()); + } + return ids; + } + + @Override + public void removeRelatePermissionByRoleId(Integer roleId) { + QueryWrapper wrapper = rolePermissionService.query().getWrapper().eq("role_id", roleId); + rolePermissionService.remove(wrapper); } } diff --git a/src/main/java/xyz/playedu/api/service/impl/AdminUserRoleServiceImpl.java b/src/main/java/xyz/playedu/api/service/impl/AdminUserRoleServiceImpl.java deleted file mode 100644 index 914831a..0000000 --- a/src/main/java/xyz/playedu/api/service/impl/AdminUserRoleServiceImpl.java +++ /dev/null @@ -1,38 +0,0 @@ -package xyz.playedu.api.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import xyz.playedu.api.domain.AdminUserRole; -import xyz.playedu.api.service.AdminUserRoleService; -import xyz.playedu.api.mapper.AdminUserRoleMapper; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.List; - -/** - * @author tengteng - * @description 针对表【admin_user_role】的数据库操作Service实现 - * @createDate 2023-02-21 16:25:43 - */ -@Service -public class AdminUserRoleServiceImpl extends ServiceImpl implements AdminUserRoleService { - - @Override - public void removeByUserId(Integer userId) { - remove(query().getWrapper().eq("admin_id", userId)); - } - - @Override - public List getRoleIdsByUserId(Integer userId) { - List userRoles = list(query().getWrapper().eq("admin_id", userId)); - List ids = new ArrayList<>(); - for (AdminUserRole userRole : userRoles) { - ids.add(userRole.getRoleId()); - } - return ids; - } -} - - - - diff --git a/src/main/java/xyz/playedu/api/service/impl/AdminUserServiceImpl.java b/src/main/java/xyz/playedu/api/service/impl/AdminUserServiceImpl.java index e6bc50e..69dba01 100644 --- a/src/main/java/xyz/playedu/api/service/impl/AdminUserServiceImpl.java +++ b/src/main/java/xyz/playedu/api/service/impl/AdminUserServiceImpl.java @@ -10,11 +10,10 @@ import xyz.playedu.api.domain.AdminUser; import xyz.playedu.api.domain.AdminUserRole; import xyz.playedu.api.exception.NotFoundException; import xyz.playedu.api.exception.ServiceException; -import xyz.playedu.api.service.AdminUserRoleService; +import xyz.playedu.api.service.internal.AdminUserRoleService; import xyz.playedu.api.service.AdminUserService; import xyz.playedu.api.mapper.AdminUserMapper; import org.springframework.stereotype.Service; -import xyz.playedu.api.types.JsonResponse; import xyz.playedu.api.types.paginate.AdminUserPaginateFilter; import xyz.playedu.api.types.paginate.PaginationResult; import xyz.playedu.api.util.HelperUtil; @@ -111,13 +110,19 @@ public class AdminUserServiceImpl extends ServiceImpl getRoleIdsByUserId(Integer userId) { - return userRoleService.getRoleIdsByUserId(userId); + QueryWrapper wrapper = userRoleService.query().getWrapper().eq("admin_id", userId); + List userRoles = userRoleService.list(wrapper); + List ids = new ArrayList<>(); + for (AdminUserRole userRole : userRoles) { + ids.add(userRole.getRoleId()); + } + return ids; } @Override @@ -153,9 +158,15 @@ public class AdminUserServiceImpl extends ServiceImpl wrapper = userRoleService.query().getWrapper().eq("admin_id", userId); + userRoleService.remove(wrapper); + } } diff --git a/src/main/java/xyz/playedu/api/service/impl/internal/AdminRolePermissionServiceImpl.java b/src/main/java/xyz/playedu/api/service/impl/internal/AdminRolePermissionServiceImpl.java new file mode 100644 index 0000000..d9a4c5e --- /dev/null +++ b/src/main/java/xyz/playedu/api/service/impl/internal/AdminRolePermissionServiceImpl.java @@ -0,0 +1,20 @@ +package xyz.playedu.api.service.impl.internal; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import xyz.playedu.api.domain.AdminRolePermission; +import xyz.playedu.api.service.internal.AdminRolePermissionService; +import xyz.playedu.api.mapper.AdminRolePermissionMapper; +import org.springframework.stereotype.Service; + +/** + * @author tengteng + * @description 针对表【admin_role_permission】的数据库操作Service实现 + * @createDate 2023-02-21 16:07:01 + */ +@Service +public class AdminRolePermissionServiceImpl extends ServiceImpl implements AdminRolePermissionService { +} + + + + diff --git a/src/main/java/xyz/playedu/api/service/impl/internal/AdminUserRoleServiceImpl.java b/src/main/java/xyz/playedu/api/service/impl/internal/AdminUserRoleServiceImpl.java new file mode 100644 index 0000000..bfcae16 --- /dev/null +++ b/src/main/java/xyz/playedu/api/service/impl/internal/AdminUserRoleServiceImpl.java @@ -0,0 +1,20 @@ +package xyz.playedu.api.service.impl.internal; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import xyz.playedu.api.domain.AdminUserRole; +import xyz.playedu.api.service.internal.AdminUserRoleService; +import xyz.playedu.api.mapper.AdminUserRoleMapper; +import org.springframework.stereotype.Service; + +/** + * @author tengteng + * @description 针对表【admin_user_role】的数据库操作Service实现 + * @createDate 2023-02-21 16:25:43 + */ +@Service +public class AdminUserRoleServiceImpl extends ServiceImpl implements AdminUserRoleService { +} + + + + diff --git a/src/main/java/xyz/playedu/api/service/AdminRolePermissionService.java b/src/main/java/xyz/playedu/api/service/internal/AdminRolePermissionService.java similarity index 51% rename from src/main/java/xyz/playedu/api/service/AdminRolePermissionService.java rename to src/main/java/xyz/playedu/api/service/internal/AdminRolePermissionService.java index 758a133..a9cc49b 100644 --- a/src/main/java/xyz/playedu/api/service/AdminRolePermissionService.java +++ b/src/main/java/xyz/playedu/api/service/internal/AdminRolePermissionService.java @@ -1,12 +1,8 @@ -package xyz.playedu.api.service; +package xyz.playedu.api.service.internal; -import org.springframework.stereotype.Service; import xyz.playedu.api.domain.AdminRolePermission; import com.baomidou.mybatisplus.extension.service.IService; -import java.util.HashMap; -import java.util.List; - /** * @author tengteng * @description 针对表【admin_role_permission】的数据库操作Service @@ -14,10 +10,4 @@ import java.util.List; */ public interface AdminRolePermissionService extends IService { - - void removeByRoleId(Integer roleId); - - List getPermissionIdsByRoleIds(List roleIds); - - List getPermissionIdsByRoleId(Integer roleId); } diff --git a/src/main/java/xyz/playedu/api/service/AdminUserRoleService.java b/src/main/java/xyz/playedu/api/service/internal/AdminUserRoleService.java similarity index 69% rename from src/main/java/xyz/playedu/api/service/AdminUserRoleService.java rename to src/main/java/xyz/playedu/api/service/internal/AdminUserRoleService.java index f1a2a65..45fe5fc 100644 --- a/src/main/java/xyz/playedu/api/service/AdminUserRoleService.java +++ b/src/main/java/xyz/playedu/api/service/internal/AdminUserRoleService.java @@ -1,4 +1,4 @@ -package xyz.playedu.api.service; +package xyz.playedu.api.service.internal; import xyz.playedu.api.domain.AdminUserRole; import com.baomidou.mybatisplus.extension.service.IService; @@ -11,9 +11,4 @@ import java.util.List; * @createDate 2023-02-21 16:25:43 */ public interface AdminUserRoleService extends IService { - - void removeByUserId(Integer userId); - - List getRoleIdsByUserId(Integer userId); - }