Преглед изворни кода

数据权限过滤修改,添加adm模块数据过滤

chenjun пре 1 година
родитељ
комит
7c9ea41e9b

+ 1 - 1
zjugis-framework/zjugis-spring-boot-starter-biz-data-permission/src/main/java/com/zjugis/framework/datapermission/core/db/DataPermissionDatabaseInterceptor.java

@@ -462,7 +462,7 @@ public class DataPermissionDatabaseInterceptor extends JsqlParserSupport impleme
         for (Table table : tables) {
             // 构建每个表的权限 Expression 条件
             Expression expression = buildDataPermissionExpression(table);
-            if (expression == null) {
+            if (expression == null || new NullValue().toString().equals(expression.toString())) {
                 continue;
             }
             // 合并到 dataPermissionExpression 中

+ 2 - 2
zjugis-framework/zjugis-spring-boot-starter-biz-data-permission/src/main/java/com/zjugis/framework/datapermission/core/rule/dept/DeptDataPermissionRule.java

@@ -156,7 +156,7 @@ public class DeptDataPermissionRule implements DataPermissionRule {
         }
         // 拼接条件
         return new InExpression(MyBatisUtils.buildColumn(tableName, tableAlias, columnName),
-                new ExpressionList(CollectionUtils.convertList(deptIds, LongValue::new)));
+                new ExpressionList(CollectionUtils.convertList(deptIds, StringValue::new)));
     }
 
     private Expression buildUserExpression(String tableName, Alias tableAlias, Boolean self, String userId) {
@@ -169,7 +169,7 @@ public class DeptDataPermissionRule implements DataPermissionRule {
             return null;
         }
         // 拼接条件
-        return new EqualsTo(MyBatisUtils.buildColumn(tableName, tableAlias, columnName), new LongValue(userId));
+        return new EqualsTo(MyBatisUtils.buildColumn(tableName, tableAlias, columnName), new StringValue(userId));
     }
 
     // ==================== 添加配置 ====================

+ 27 - 0
zjugis-module-adm/zjugis-module-adm-biz/src/main/java/com/zjugis/module/adm/framework/datapermission/config/DataPermissionConfiguration.java

@@ -0,0 +1,27 @@
+package com.zjugis.module.adm.framework.datapermission.config;
+
+import com.zjugis.framework.datapermission.core.rule.dept.DeptDataPermissionRuleCustomizer;
+import com.zjugis.module.adm.dal.dataobject.attendance.AttendanceSheetDO;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * adm 模块的数据权限 Configuration
+ *
+ * @Author 陈俊
+ * @Date 2023/11/14 14:24
+ * @Version 1.0
+ */
+@Configuration(proxyBeanMethods = false)
+public class DataPermissionConfiguration {
+
+    @Bean
+    public DeptDataPermissionRuleCustomizer sysDeptDataPermissionRuleCustomizer() {
+        return rule -> {
+            // dept
+            rule.addDeptColumn(AttendanceSheetDO.class);
+            // user
+            rule.addUserColumn(AttendanceSheetDO.class);
+        };
+    }
+}

+ 1 - 1
zjugis-module-adm/zjugis-module-adm-biz/src/main/resources/application-dev.yaml

@@ -148,7 +148,7 @@ spring:
 logging:
   level:
     # 配置自己写的 MyBatis Mapper 打印日志
-    com.zjugis.module.administration.dal.mysql: debug
+    com.zjugis.module.adm.dal.mysql: debug
 
 --- #################### 海康门禁相关配置 ####################
 hcnet: