diff --git a/opsli-base-support/opsli-core/src/main/java/org/opsli/core/base/service/impl/CrudServiceImpl.java b/opsli-base-support/opsli-core/src/main/java/org/opsli/core/base/service/impl/CrudServiceImpl.java index dc478425..042d00bf 100644 --- a/opsli-base-support/opsli-core/src/main/java/org/opsli/core/base/service/impl/CrudServiceImpl.java +++ b/opsli-base-support/opsli-core/src/main/java/org/opsli/core/base/service/impl/CrudServiceImpl.java @@ -34,6 +34,7 @@ import org.opsli.core.persistence.querybuilder.GenQueryBuilder; import org.opsli.core.persistence.querybuilder.QueryBuilder; import org.opsli.core.persistence.querybuilder.chain.QueryDataPermsHandler; import org.opsli.core.persistence.querybuilder.chain.QueryTenantHandler; +import org.opsli.core.persistence.querybuilder.conf.WebQueryConf; import org.springframework.transaction.annotation.Transactional; import javax.annotation.PostConstruct; @@ -212,23 +213,17 @@ public abstract class CrudServiceImpl, T extends BaseEnt @Override public List findList(QueryWrapper queryWrapper) { // 数据处理责任链 - queryWrapper = new QueryTenantHandler( - new QueryDataPermsHandler() - ).handler(entityClazz, queryWrapper); + QueryWrapper qWrapper = this.addHandler(entityClazz, queryWrapper); - return super.list(queryWrapper); + return super.list(qWrapper); } @Override public List findAllList() { - QueryBuilder queryBuilder = new GenQueryBuilder<>(); - QueryWrapper queryWrapper = queryBuilder.build(); // 数据处理责任链 - queryWrapper = new QueryTenantHandler( - new QueryDataPermsHandler() - ).handler(entityClazz, queryWrapper); + QueryWrapper qWrapper = this.addHandler(entityClazz); - return super.list(queryWrapper); + return super.list(qWrapper); } @Override @@ -300,6 +295,46 @@ public abstract class CrudServiceImpl, T extends BaseEnt return WrapperUtil.transformInstance(models, entityClazz); } + /** + * 增加处理器 + * @param qClass 处理对象Class + * @param 泛型 + * @return 查询对象包装器 + */ + protected QueryWrapper addHandler(Class qClass){ + QueryWrapper qQueryWrapper = new QueryWrapper<>(); + return addHandler(qClass, qQueryWrapper); + } + + /** + * 增加处理器 + * @param qClass 处理对象Class + * @param qQueryWrapper 查询对象包装器 + * @param 泛型 + * @return 查询对象包装器 + */ + protected QueryWrapper addHandler(Class qClass, QueryWrapper qQueryWrapper){ + // 数据处理责任链 + return new QueryTenantHandler( + new QueryDataPermsHandler() + ).handler(qClass, qQueryWrapper); + } + + /** + * 增加处理器 + * @param qClass 处理对象Class + * @param qQueryWrapper 查询对象包装器 + * @param 泛型 + * @return 查询对象包装器 + */ + protected QueryWrapper addHandler(Class qClass, + WebQueryConf conf, + QueryWrapper qQueryWrapper){ + // 数据处理责任链 + return new QueryTenantHandler( + new QueryDataPermsHandler() + ).handler(qClass, conf, qQueryWrapper); + } // ======================== 初始化 ======================== diff --git a/opsli-modulars/opsli-modulars-system/src/main/java/org/opsli/modulars/system/role/service/impl/RoleServiceImpl.java b/opsli-modulars/opsli-modulars-system/src/main/java/org/opsli/modulars/system/role/service/impl/RoleServiceImpl.java index 05cd2e1e..14c6b90b 100644 --- a/opsli-modulars/opsli-modulars-system/src/main/java/org/opsli/modulars/system/role/service/impl/RoleServiceImpl.java +++ b/opsli-modulars/opsli-modulars-system/src/main/java/org/opsli/modulars/system/role/service/impl/RoleServiceImpl.java @@ -17,21 +17,15 @@ package org.opsli.modulars.system.role.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; -import cn.hutool.core.util.ArrayUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.google.common.collect.Lists; import org.apache.commons.lang3.StringUtils; import org.opsli.api.wrapper.system.role.RoleModel; -import org.opsli.api.wrapper.system.user.UserModel; import org.opsli.common.constants.MyBatisConstants; import org.opsli.common.exception.ServiceException; import org.opsli.common.utils.FieldUtil; import org.opsli.core.base.service.impl.CrudServiceImpl; import org.opsli.core.msg.CoreMsg; -import org.opsli.core.persistence.querybuilder.GenQueryBuilder; -import org.opsli.core.persistence.querybuilder.QueryBuilder; -import org.opsli.core.persistence.querybuilder.chain.QueryDataPermsHandler; -import org.opsli.core.persistence.querybuilder.chain.QueryTenantHandler; import org.opsli.core.utils.UserUtil; import org.opsli.modulars.system.SystemMsg; import org.opsli.modulars.system.role.entity.SysRole; @@ -205,9 +199,7 @@ public class RoleServiceImpl extends CrudServiceImpl