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())) {