Parcourir la source

修复数据权限逻辑错误

zhouhao il y a 6 ans
Parent
commit
87bdb6240c

+ 6 - 6
hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/simple/handler/ScopeByUserHandler.java

@@ -256,12 +256,7 @@ public class ScopeByUserHandler implements DataAccessHandler {
                 boolean children = config.isChildren();
                 Class controller = ClassUtils.getUserClass(context.getParamContext().getTarget().getClass());
                 Class entityClass = org.hswebframework.utils.ClassUtils.getGenericType(controller, 0);
-                if (RecordCreationEntity.class.isAssignableFrom(entityClass)) {
-                    controllerCache.targetIdGetter = createGetter(RecordCreationEntity.class, RecordCreationEntity::getCreatorId);
-                    controllerCache.queryConsumer = (query, scopeInfo) -> {
-                        query.in(getControlProperty(entityClass, RecordCreationEntity::getCreatorIdProperty), scopeInfo.termType, scopeInfo.scope);
-                    };
-                } else if (OrgAttachEntity.class.isAssignableFrom(entityClass) && config.getScopeType().contains("ORG")) {
+                if (OrgAttachEntity.class.isAssignableFrom(entityClass) && config.getScopeType().contains("ORG")) {
                     controllerCache.targetIdGetter = createGetter(OrgAttachEntity.class, OrgAttachEntity::getOrgId);
                     controllerCache.queryConsumer = (query, scopeInfo) -> {
                         query.and(getControlProperty(entityClass, OrgAttachEntity::getOrgIdProperty), children ? "org-child-in" : "in", scopeInfo.scope);
@@ -281,6 +276,11 @@ public class ScopeByUserHandler implements DataAccessHandler {
                     controllerCache.queryConsumer = (query, scopeInfo) -> {
                         query.and(getControlProperty(entityClass, DistrictAttachEntity::getDistrictIdProperty), children ? "dist-child-in" : "in", scopeInfo.scope);
                     };
+                } else if (RecordCreationEntity.class.isAssignableFrom(entityClass)) {
+                    controllerCache.targetIdGetter = createGetter(RecordCreationEntity.class, RecordCreationEntity::getCreatorId);
+                    controllerCache.queryConsumer = (query, scopeInfo) -> {
+                        query.and(getControlProperty(entityClass, RecordCreationEntity::getCreatorIdProperty), scopeInfo.termType, scopeInfo.scope);
+                    };
                 } else {
                     String userIdField = getUserField(entityClass);
                     controllerCache.targetIdGetter = entity -> {