From c08de3102bb45e5782f5f7f434f82ff1bb3238d9 Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Wed, 17 Sep 2025 13:41:02 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=91=98=E6=9D=83=E9=99=90bu?= =?UTF-8?q?g=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xmgl/security/PermissionEvaluator.java | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/zhgd/xmgl/security/PermissionEvaluator.java b/src/main/java/com/zhgd/xmgl/security/PermissionEvaluator.java index 2d51f1d94..77f261254 100644 --- a/src/main/java/com/zhgd/xmgl/security/PermissionEvaluator.java +++ b/src/main/java/com/zhgd/xmgl/security/PermissionEvaluator.java @@ -55,6 +55,9 @@ public class PermissionEvaluator { */ public boolean hasCompanySnAccess(String sn) { UserInfo user = SecurityUtils.getUser(); + if (user.getAccountType().equals(SystemUserAccountTypeEnum.SYSTEM_ADMINISTRATOR.getValue())) { + return true; + } if (user.getAccountType().equals(SystemUserAccountTypeEnum.ENTERPRISE_ADMINISTRATOR_ACCOUNT.getValue())) { return companyService.hasCompanySnAccessBy1(user.getUserId(), sn); } else if (user.getAccountType().equals(SystemUserAccountTypeEnum.ENTERPRISE_DISTRICT_ACCOUNT.getValue())) { @@ -74,6 +77,10 @@ public class PermissionEvaluator { * @return */ public boolean hasCompanyIdAccess(String companyId) { + UserInfo user = SecurityUtils.getUser(); + if (user.getAccountType().equals(SystemUserAccountTypeEnum.SYSTEM_ADMINISTRATOR.getValue())) { + return true; + } Company company = companyService.getById(companyId); if (company == null) { return false; @@ -92,6 +99,9 @@ public class PermissionEvaluator { if (user == null) { return false; } + if (user.getAccountType().equals(SystemUserAccountTypeEnum.SYSTEM_ADMINISTRATOR.getValue())) { + return true; + } int c = companyService.count(new LambdaQueryWrapper() .eq(Company::getCompanySn, sn)); if (c > 0) { @@ -109,6 +119,9 @@ public class PermissionEvaluator { */ public boolean hasProjectSnAccess(String projectSn) { UserInfo owner = SecurityUtils.getUser(); + if (owner.getAccountType().equals(SystemUserAccountTypeEnum.SYSTEM_ADMINISTRATOR.getValue())) { + return true; + } if (owner.getAccountType().equals(SystemUserAccountTypeEnum.ENTERPRISE_ADMINISTRATOR_ACCOUNT.getValue())) { return companyService.hasProjectSnAccessBy1(owner.getUserId(), projectSn); } else if (owner.getAccountType().equals(SystemUserAccountTypeEnum.ENTERPRISE_DISTRICT_ACCOUNT.getValue())) { @@ -134,8 +147,11 @@ public class PermissionEvaluator { * @return */ public boolean hasUserAccess(String userId) { - SystemUser checkUser = systemUserService.getById(userId); UserInfo owner = SecurityUtils.getUser(); + if (owner.getAccountType().equals(SystemUserAccountTypeEnum.SYSTEM_ADMINISTRATOR.getValue())) { + return true; + } + SystemUser checkUser = systemUserService.getById(userId); Integer checkAccountType = checkUser.getAccountType(); Integer ownerAccountType = owner.getAccountType(); if (isCompanyType(checkAccountType)) { @@ -234,6 +250,10 @@ public class PermissionEvaluator { * @return 是否有权限 */ public boolean hasIdAccess(String entityClassName, String snFieldName, String id) { + UserInfo user = SecurityUtils.getUser(); + if (user.getAccountType().equals(SystemUserAccountTypeEnum.SYSTEM_ADMINISTRATOR.getValue())) { + return true; + } if (StringUtils.isBlank(entityClassName) || StringUtils.isBlank(snFieldName) || id == null) { return false; }