From c7e5cb1bcbb1eba3d66cf90d9fd524abf4c9c902 Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期一, 01 九月 2025 17:30:50 +0800 Subject: [PATCH] 新增注释 --- framework/src/main/java/cn/lili/modules/permission/serviceimpl/AdminUserServiceImpl.java | 39 +++++++++++++++++++++++++++++++++++++++ 1 files changed, 39 insertions(+), 0 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/permission/serviceimpl/AdminUserServiceImpl.java b/framework/src/main/java/cn/lili/modules/permission/serviceimpl/AdminUserServiceImpl.java index c6f8e56..b1b3b52 100644 --- a/framework/src/main/java/cn/lili/modules/permission/serviceimpl/AdminUserServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/permission/serviceimpl/AdminUserServiceImpl.java @@ -11,6 +11,7 @@ import cn.lili.common.security.token.Token; import cn.lili.common.utils.BeanUtil; import cn.lili.common.utils.StringUtils; +import cn.lili.modules.lmk.enums.general.AdminRoleEnum; import cn.lili.modules.permission.entity.dos.AdminUser; import cn.lili.modules.permission.entity.dos.Department; import cn.lili.modules.permission.entity.dos.Role; @@ -163,7 +164,45 @@ public AdminUser findByUsername(String username) { return getOne(new LambdaQueryWrapper<AdminUser>().eq(AdminUser::getUsername, username), false); } + @Override + public AdminUser findByUserById(String id){ + return getOne(new LambdaQueryWrapper<AdminUser>().eq(AdminUser::getId,id).eq(AdminUser::getDeleteFlag,Boolean.FALSE),false); + } + @Override + public boolean havePermissionRole(AdminRoleEnum adminRoleEnum) { + AuthUser currentUser = UserContext.getCurrentUser(); + boolean orderInfoPermission = false; + if (currentUser != null) { + if (currentUser.getIsSuper()){ + orderInfoPermission = true; + }else { + if (StringUtils.isNotBlank(currentUser.getId())){ + AdminUser adminUser = this.findByUserById(currentUser.getId()); + if (adminUser == null){ + //鏌ヨ鍒扮敤鎴蜂负绌� + return false; + } + String roleIdsStr = adminUser.getRoleIds(); + if (StringUtils.isBlank(roleIdsStr)){ + //鍒ゆ柇瑙掕壊id鏄惁涓簄ull + return false; + } + + String[] roleIds = roleIdsStr.split(","); + List<Role> list = roleService.findRoles(Arrays.asList(roleIds)); + for (Role item: list){ + if (adminRoleEnum.getValue().equals(item.getName())){ + orderInfoPermission = true; + break; + } + } + } + } + + } + return orderInfoPermission; + } @Override @SystemLogPoint(description = "淇敼绠$悊鍛�", customerLog = "'淇敼绠$悊鍛�:'+#adminUser.username") -- Gitblit v1.8.0