mirror of
https://github.com/hs-web/hsweb-framework.git
synced 2026-06-09 01:14:16 +08:00
修复数据权限逻辑错误
This commit is contained in:
@@ -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 -> {
|
||||
|
||||
Reference in New Issue
Block a user