From 99529aa0024664f4d6c9eb6861a390761b130b5b Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Wed, 26 Mar 2025 14:47:16 +0800 Subject: [PATCH] bug 5414 --- .../core/account/v3/mapper/AccInfoMapper.java | 12 ++++++------ .../account/v3/mapper/AccOperationRecordMapper.java | 2 +- .../core/account/v3/mapper/AccTradeMapper.java | 4 ++-- .../core/auth/config/LeNiuDataPermissionHandler.java | 11 +++++++++-- .../core/auth/enums/DataPermissionTypeEnum.java | 3 ++- 5 files changed, 20 insertions(+), 12 deletions(-) diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/v3/mapper/AccInfoMapper.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/v3/mapper/AccInfoMapper.java index 377c0a63..2adcbc90 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/v3/mapper/AccInfoMapper.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/v3/mapper/AccInfoMapper.java @@ -32,19 +32,19 @@ import java.util.List; public interface AccInfoMapper extends BaseMapper { @LeNiuDataPermission( alias = "t2", - permissionType = DataPermissionTypeEnum.PERMISSION_ORG + permissionType = DataPermissionTypeEnum.PERMISSION_DEPT ) List queryListAccInfo(@Param("infoParam") AccInfoPageDTO content); @LeNiuDataPermission( alias = "t2", - permissionType = DataPermissionTypeEnum.PERMISSION_ORG + permissionType = DataPermissionTypeEnum.PERMISSION_DEPT ) AccInfoPageVO queryPageAccInfoSum(@Param("infoParam") AccInfoPageDTO content); @LeNiuDataPermission( alias = "t2", - permissionType = DataPermissionTypeEnum.PERMISSION_ORG + permissionType = DataPermissionTypeEnum.PERMISSION_DEPT ) List queryPageAccInfoForBatch(@Param("infoParam") AccInfoPageDTO accPageParam); @@ -63,8 +63,8 @@ public interface AccInfoMapper extends BaseMapper { List listAccInfoVOByCustIdList(@Param("custIdList") List custIdList); @LeNiuDataPermission( - alias = "ci", - permissionType = DataPermissionTypeEnum.PERMISSION_ORG + alias = "t2", + permissionType = DataPermissionTypeEnum.PERMISSION_DEPT ) Page queryFrozenAccPage(Page page, @Param("infoParam") AccExistFrozenPageDTO pageDTO); @@ -96,7 +96,7 @@ public interface AccInfoMapper extends BaseMapper { @LeNiuDataPermission( alias = "t2", - permissionType = DataPermissionTypeEnum.PERMISSION_ORG + permissionType = DataPermissionTypeEnum.PERMISSION_DEPT ) Page queryPageAccInfoForAppWork(Page page, @Param("infoParam") AppWorkAccInfoPageDTO pageDTO); diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/v3/mapper/AccOperationRecordMapper.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/v3/mapper/AccOperationRecordMapper.java index bf1a947d..6a3e9cce 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/v3/mapper/AccOperationRecordMapper.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/v3/mapper/AccOperationRecordMapper.java @@ -22,7 +22,7 @@ public interface AccOperationRecordMapper extends BaseMapper @LeNiuDataPermission( alias = "t2", - permissionType = DataPermissionTypeEnum.PERMISSION_ORG + permissionType = DataPermissionTypeEnum.PERMISSION_DEPT ) List listForExport(@Param("content") AccOperationRecordPageDTO content); } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/v3/mapper/AccTradeMapper.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/v3/mapper/AccTradeMapper.java index 7892e23e..e1985c8d 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/v3/mapper/AccTradeMapper.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/v3/mapper/AccTradeMapper.java @@ -61,7 +61,7 @@ public interface AccTradeMapper extends BaseMapper { @LeNiuDataPermission( alias = "ci", - permissionType = DataPermissionTypeEnum.PERMISSION_ORG + permissionType = DataPermissionTypeEnum.PERMISSION_DEPT ) List listAccSubRechargeCollectPageForCust(@Param("param") AccSubRechargeCollectDTO content); @@ -69,7 +69,7 @@ public interface AccTradeMapper extends BaseMapper { @LeNiuDataPermission( alias = "g", - permissionType = DataPermissionTypeEnum.PERMISSION_ORG + permissionType = DataPermissionTypeEnum.PERMISSION_DEPT ) List listAccSubRechargeCollectPageCustOrg(@Param("param") AccSubRechargeCollectDTO content); diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/auth/config/LeNiuDataPermissionHandler.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/auth/config/LeNiuDataPermissionHandler.java index f993e727..37e4761b 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/auth/config/LeNiuDataPermissionHandler.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/auth/config/LeNiuDataPermissionHandler.java @@ -91,13 +91,20 @@ public class LeNiuDataPermissionHandler { if (roleCode.startsWith(RoleCodeV2Enum.ROLE_ADMIN.key()) || GlobalConstants.SUPER_ADMIN_ROLE_KEY.equals(roleCode)) { return ""; } else { - if (ObjectUtil.equal(DataPermissionTypeEnum.PERMISSION_ORG, permissionType)) { + if (ObjectUtil.equal(DataPermissionTypeEnum.PERMISSION_ORG, permissionType)) { + sb.append(" EXISTS ( ").append(" SELECT null FROM sys_role_dept it1") + .append(" LEFT JOIN sys_role it2 ON it2.role_id = it1.role_id") + .append(" LEFT JOIN sys_user_role it3 ON it1.role_id = it3.role_id") + .append(" WHERE it2.del_flag = 0 AND it2.role_key = '").append(roleCode) + .append("' AND it3.user_id = ").append(userId).append(" AND ") + .append(alias).append(".org_id = it1.dept_id)"); + } else if (ObjectUtil.equal(DataPermissionTypeEnum.PERMISSION_DEPT, permissionType)) { sb.append(" EXISTS ( ").append(" SELECT null FROM sys_role_dept it1") .append(" LEFT JOIN sys_role it2 ON it2.role_id = it1.role_id") .append(" LEFT JOIN sys_user_role it3 ON it1.role_id = it3.role_id") .append(" WHERE it2.del_flag = 0 AND it2.role_key = '").append(roleCode) .append("' AND it3.user_id = ").append(userId).append(" AND ") - .append(alias).append(".org_id = it1.dept_id)"); + .append(alias).append(".dept_id = it1.dept_id)"); } else if (ObjectUtil.equal(DataPermissionTypeEnum.PERMISSION_AREA, permissionType)) { sb.append(" EXISTS ( ").append(" SELECT null FROM sys_role_area it1") .append(" LEFT JOIN sys_role it2 ON it2.role_id = it1.role_id") diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/auth/enums/DataPermissionTypeEnum.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/auth/enums/DataPermissionTypeEnum.java index 2801ba37..74cd6f0d 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/auth/enums/DataPermissionTypeEnum.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/auth/enums/DataPermissionTypeEnum.java @@ -7,7 +7,8 @@ public enum DataPermissionTypeEnum { PERMISSION_CANTEEN_STALL(4), PERMISSION_WAREHOUSE(5), PERMISSION_SUPERMARKET(6), - PERMISSION_AREA(7); + PERMISSION_AREA(7), + PERMISSION_DEPT(8),; private final Integer key;