From 762eba0553917215d158eac8575ac0437c3216a7 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期四, 07 八月 2025 16:47:07 +0800
Subject: [PATCH] 订单敏感信息,以及导出权限控制

---
 framework/src/main/java/cn/lili/modules/permission/serviceimpl/AdminUserServiceImpl.java |   29 +++++++++++++++++++++++++++++
 1 files changed, 29 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..e774c00 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,35 @@
     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());
+                    String[] roleIds = adminUser.getRoleIds().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