diff --git a/bonus-modules/bonus-smart-canteen/pom.xml b/bonus-modules/bonus-smart-canteen/pom.xml index 51dee90d..2640d7db 100644 --- a/bonus-modules/bonus-smart-canteen/pom.xml +++ b/bonus-modules/bonus-smart-canteen/pom.xml @@ -9,7 +9,7 @@ 4.0.0 - bonus-smart-canteen + bonus-smart-canteen-v2 bonus-modules-smart-canteen智慧食堂 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 11cd05b2..e0ce3a65 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 @@ -87,22 +87,45 @@ public class LeNiuDataPermissionHandler { private String getSqlByAliasAndPermissionType(Long userId, String roleCode, DataPermissionTypeEnum permissionType, String alias) { StringBuilder sb = new StringBuilder(); - 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)"); - } - - 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") - .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("'") - .append(" AND it3.user_id = ").append(userId) - .append(" AND ").append(alias).append(".area_id = it1.area_id)"); + if (roleCode.startsWith(RoleCodeV2Enum.ROLE_ADMIN.key())) { + return ""; + } else { + 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_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") + .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("'") + .append(" AND it3.user_id = ").append(userId).append(" AND ") + .append(alias).append(".area_id = it1.area_id)"); + } else if (ObjectUtil.equal(DataPermissionTypeEnum.PERMISSION_CANTEEN, permissionType)) { + sb.append(" EXISTS ( ").append(" SELECT null FROM sys_role_canteen 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("'") + .append(" AND it3.user_id = ").append(userId).append(" AND ") + .append(alias).append(".canteen_id = it1.data_id)"); + } else if (ObjectUtil.equal(DataPermissionTypeEnum.PERMISSION_SUPERMARKET, permissionType)) { + sb.append(" EXISTS ( ").append(" SELECT null FROM sys_role_canteen 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("'") + .append(" AND it3.user_id = ").append(userId).append(" AND ") + .append(alias).append(".supermarket_id = it1.data_id)"); + } else if (ObjectUtil.equal(DataPermissionTypeEnum.PERMISSION_WAREHOUSE, permissionType)) { + sb.append(" EXISTS ( ").append(" SELECT null FROM sys_role_warehouse 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("'") + .append(" AND it3.user_id = ").append(userId).append(" AND ") + .append(alias).append(".warehouse_id = it1.warehouse_id)"); + } } // if (roleCode.startsWith(RoleCodeV2Enum.ROLE_ADMIN.key())) {