调整一下

This commit is contained in:
Dftre 2024-09-10 23:15:47 +08:00
parent 5d3fc49ef8
commit a2954029fb
4 changed files with 58 additions and 48 deletions

View File

@ -1,12 +1,8 @@
package com.ruoyi.mybatisinterceptor.interceptor.mybatis;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import com.ruoyi.mybatisinterceptor.annotation.MybatisHandlerOrder;
import com.ruoyi.mybatisinterceptor.sql.MybatisAfterHandler;
import com.ruoyi.mybatisinterceptor.sql.MybatisPreHandler;
import org.apache.ibatis.cache.CacheKey;
import org.apache.ibatis.executor.Executor;
import org.apache.ibatis.mapping.BoundSql;
@ -20,6 +16,9 @@ import org.apache.ibatis.session.RowBounds;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.ruoyi.mybatisinterceptor.annotation.MybatisHandlerOrder;
import com.ruoyi.mybatisinterceptor.sql.MybatisAfterHandler;
import com.ruoyi.mybatisinterceptor.sql.MybatisPreHandler;
import jakarta.annotation.PostConstruct;
@ -46,43 +45,23 @@ public class MybatisInterceptor implements Interceptor {
@PostConstruct
public void init() {
List<MybatisPreHandler> sortedPreHandlers = preHandlerBeans.stream().sorted((item1, item2) -> {
int a;
int b;
preHandlerBeans = preHandlerBeans.stream()
.sorted((item1, item2) -> {
MybatisHandlerOrder ann1 = item1.getClass().getAnnotation(MybatisHandlerOrder.class);
MybatisHandlerOrder ann2 = item2.getClass().getAnnotation(MybatisHandlerOrder.class);
if (ann1 == null) {
a = 0;
} else {
a = ann1.value();
}
if (ann2 == null) {
b = 0;
} else {
b = ann2.value();
}
int a = ann1 == null ? 0 : ann1.value();
int b = ann2 == null ? 0 : ann2.value();
return a - b;
}).collect(Collectors.toList());
preHandlersChain = sortedPreHandlers;
List<MybatisAfterHandler> sortedAfterHandlers = afterHandlerBeans.stream().sorted((item1, item2) -> {
int a;
int b;
afterHandlersChain = afterHandlerBeans.stream()
.sorted((item1, item2) -> {
MybatisHandlerOrder ann1 = item1.getClass().getAnnotation(MybatisHandlerOrder.class);
MybatisHandlerOrder ann2 = item2.getClass().getAnnotation(MybatisHandlerOrder.class);
if (ann1 == null) {
a = 0;
} else {
a = ann1.value();
}
if (ann2 == null) {
b = 0;
} else {
b = ann2.value();
}
int a = ann1 == null ? 0 : ann1.value();
int b = ann2 == null ? 0 : ann2.value();
return a - b;
}).collect(Collectors.toList());
afterHandlersChain = sortedAfterHandlers;
}
@Override

View File

@ -3,11 +3,6 @@ package com.ruoyi.mybatisinterceptor.sql.dataSecurity;
import java.lang.reflect.Field;
import java.util.List;
import com.ruoyi.mybatisinterceptor.annotation.MybatisHandlerOrder;
import com.ruoyi.mybatisinterceptor.context.dataSecurity.SqlContextHolder;
import com.ruoyi.mybatisinterceptor.model.JoinTableModel;
import com.ruoyi.mybatisinterceptor.model.WhereModel;
import com.ruoyi.mybatisinterceptor.sql.MybatisPreHandler;
import org.apache.ibatis.cache.CacheKey;
import org.apache.ibatis.executor.Executor;
import org.apache.ibatis.mapping.BoundSql;
@ -16,8 +11,15 @@ import org.apache.ibatis.session.ResultHandler;
import org.apache.ibatis.session.RowBounds;
import org.springframework.stereotype.Component;
import org.springframework.util.ReflectionUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.sql.SqlUtil;
import com.ruoyi.mybatisinterceptor.annotation.MybatisHandlerOrder;
import com.ruoyi.mybatisinterceptor.context.dataSecurity.SqlContextHolder;
import com.ruoyi.mybatisinterceptor.model.JoinTableModel;
import com.ruoyi.mybatisinterceptor.model.WhereModel;
import com.ruoyi.mybatisinterceptor.sql.MybatisPreHandler;
import net.sf.jsqlparser.JSQLParserException;
import net.sf.jsqlparser.expression.Alias;
import net.sf.jsqlparser.expression.Expression;

View File

@ -2,13 +2,12 @@ package com.ruoyi.mybatisinterceptor.sql.page;
import java.util.List;
import org.springframework.stereotype.Component;
import com.ruoyi.mybatisinterceptor.annotation.MybatisHandlerOrder;
import com.ruoyi.mybatisinterceptor.context.page.PageContextHolder;
import com.ruoyi.mybatisinterceptor.context.page.model.TableInfo;
import com.ruoyi.mybatisinterceptor.sql.MybatisAfterHandler;
import org.springframework.stereotype.Component;
@MybatisHandlerOrder(1)
@Component

View File

@ -0,0 +1,30 @@
package com.ruoyi.mybatisinterceptor.util;
import java.util.List;
import com.ruoyi.mybatisinterceptor.context.page.PageContextHolder;
import com.ruoyi.mybatisinterceptor.context.page.model.RuoyiTableData;
import com.ruoyi.mybatisinterceptor.context.page.model.TableInfo;
public class PageUtils {
public static <E> RuoyiTableData toTableInfo(List<E> list) {
if (list instanceof TableInfo) {
TableInfo<E> tableInfo = (TableInfo<E>) list;
RuoyiTableData ruoyiTableData = new RuoyiTableData();
ruoyiTableData.setData(list);
ruoyiTableData.setTotal(tableInfo.getTotal());
return ruoyiTableData;
}
RuoyiTableData ruoyiTableData = new RuoyiTableData();
ruoyiTableData.setData(list);
ruoyiTableData.setTotal(-1L);
return ruoyiTableData;
}
public static void ruoyiStartPage() {
PageContextHolder.startPage();
PageContextHolder.setPageInfo();
}
}