修复数据权限逻辑错误

This commit is contained in:
zhouhao
2019-01-17 11:02:09 +08:00
parent dbbe08eb38
commit 87bdb6240c

View File

@@ -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 -> {