优化代码

This commit is contained in:
阿沐 2022-10-25 11:35:24 +08:00
parent ccc71825c7
commit c9f32be88e
2 changed files with 26 additions and 25 deletions

View File

@ -23,20 +23,21 @@ import java.util.List;
* *
* @author 阿沐 babamu@126.com * @author 阿沐 babamu@126.com
*/ */
public class BaseServiceImpl<M extends BaseMapper<T>, T> extends ServiceImpl<M, T> implements BaseService<T> { public class BaseServiceImpl<M extends BaseMapper<T>, T> extends ServiceImpl<M, T> implements BaseService<T> {
/** /**
* 获取分页对象 * 获取分页对象
* @param query 分页参数 *
* @param query 分页参数
*/ */
protected IPage<T> getPage(Query query) { protected IPage<T> getPage(Query query) {
Page<T> page = new Page<>(query.getPage(), query.getLimit()); Page<T> page = new Page<>(query.getPage(), query.getLimit());
// 排序 // 排序
if(StringUtils.isNotBlank(query.getOrder())){ if (StringUtils.isNotBlank(query.getOrder())) {
if(query.isAsc()) { if (query.isAsc()) {
return page.addOrder(OrderItem.asc(query.getOrder())); return page.addOrder(OrderItem.asc(query.getOrder()));
}else { } else {
return page.addOrder(OrderItem.desc(query.getOrder())); return page.addOrder(OrderItem.desc(query.getOrder()));
} }
} }
@ -45,26 +46,37 @@ public class BaseServiceImpl<M extends BaseMapper<T>, T> extends ServiceImpl<M,
} }
/** /**
* MyBatis-Plus 数据权限
*/
protected void dataScopeWrapper(LambdaQueryWrapper<T> queryWrapper) {
DataScope dataScope = getDataScope(null, null);
if (dataScope != null) {
queryWrapper.apply(dataScope.getSqlFilter());
}
}
/**
* 原生SQL 数据权限 * 原生SQL 数据权限
*
* @param tableAlias 表别名多表关联时需要填写表别名 * @param tableAlias 表别名多表关联时需要填写表别名
* @param orgIdAlias 机构ID别名null表示org_id * @param orgIdAlias 机构ID别名null表示org_id
* @return 返回数据权限 * @return 返回数据权限
*/ */
protected DataScope getDataScope(String tableAlias, String orgIdAlias) { protected DataScope getDataScope(String tableAlias, String orgIdAlias) {
UserDetail user = SecurityUser.getUser(); UserDetail user = SecurityUser.getUser();
// 如果是超级管理员则不进行数据过滤 // 如果是超级管理员则不进行数据过滤
if(user.getSuperAdmin().equals(Constant.SUPER_ADMIN)) { if (user.getSuperAdmin().equals(Constant.SUPER_ADMIN)) {
return null; return null;
} }
// 如果为null则设置成空字符串 // 如果为null则设置成空字符串
if(tableAlias == null){ if (tableAlias == null) {
tableAlias = ""; tableAlias = "";
} }
// 获取表的别名 // 获取表的别名
if(StringUtils.isNotBlank(tableAlias)){ if (StringUtils.isNotBlank(tableAlias)) {
tableAlias += "."; tableAlias += ".";
} }
StringBuilder sqlFilter = new StringBuilder(); StringBuilder sqlFilter = new StringBuilder();
@ -73,12 +85,12 @@ public class BaseServiceImpl<M extends BaseMapper<T>, T> extends ServiceImpl<M,
// 数据权限范围 // 数据权限范围
List<Long> dataScopeList = user.getDataScopeList(); List<Long> dataScopeList = user.getDataScopeList();
// 全部数据权限 // 全部数据权限
if (dataScopeList == null){ if (dataScopeList == null) {
return null; return null;
} }
// 数据过滤 // 数据过滤
if(dataScopeList.size() > 0){ if (dataScopeList.size() > 0) {
if(StringUtils.isBlank(orgIdAlias)){ if (StringUtils.isBlank(orgIdAlias)) {
orgIdAlias = "org_id"; orgIdAlias = "org_id";
} }
sqlFilter.append(tableAlias).append(orgIdAlias); sqlFilter.append(tableAlias).append(orgIdAlias);
@ -95,15 +107,4 @@ public class BaseServiceImpl<M extends BaseMapper<T>, T> extends ServiceImpl<M,
return new DataScope(sqlFilter.toString()); return new DataScope(sqlFilter.toString());
} }
/**
* MyBatis-Plus 数据权限
*/
protected void dataScopeWrapper(LambdaQueryWrapper<T> queryWrapper) {
DataScope dataScope = getDataScope(null, null);
if (dataScope != null){
queryWrapper.apply(dataScope.getSqlFilter());
}
}
} }

View File

@ -72,7 +72,7 @@ public class SecurityConfig {
} }
@Bean @Bean
SecurityFilterChain filterChain(HttpSecurity http) throws Exception { SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
// 忽略授权的地址列表 // 忽略授权的地址列表
List<String> permitList = permitResource.getPermitList(); List<String> permitList = permitResource.getPermitList();
String[] permits = permitList.toArray(new String[0]); String[] permits = permitList.toArray(new String[0]);