1. 优化数据权限问题

This commit is contained in:
chenbowen
2025-12-23 11:44:37 +08:00
parent 9c0c4cca33
commit 79452c02f6

View File

@@ -28,6 +28,11 @@ import java.util.*;
@Slf4j
public class BusinessDataPermissionEntityScanner {
/**
* 临时排除的包前缀(物流模块 DO不参与数据权限扫描
*/
private static final Set<String> EXCLUDED_PACKAGE_PREFIXES = Set.of("com.zt.plat.module.backendlogistics.dal.dataobject","com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO");
private final Set<String> basePackages;
private final ClassLoader classLoader;
@@ -70,6 +75,9 @@ public class BusinessDataPermissionEntityScanner {
if (!StringUtils.hasText(className)) {
continue;
}
if (isExcludedPackage(className)) {
continue;
}
try {
Class<?> clazz = ClassUtils.forName(className, classLoader);
if (clazz == BusinessBaseDO.class || !BusinessBaseDO.class.isAssignableFrom(clazz)) {
@@ -92,6 +100,15 @@ public class BusinessDataPermissionEntityScanner {
return new ArrayList<>(metadataMap.values());
}
private boolean isExcludedPackage(String className) {
for (String prefix : EXCLUDED_PACKAGE_PREFIXES) {
if (className.startsWith(prefix)) {
return true;
}
}
return false;
}
private EntityMetadata buildMetadata(Class<? extends BusinessBaseDO> entityClass) {
String tableName = resolveTableName(entityClass);
if (!StringUtils.hasText(tableName)) {