优化代码
This commit is contained in:
parent
ccc71825c7
commit
c9f32be88e
|
@ -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());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
|
@ -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]);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user