diff --git a/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/interceptor/mybatis/MybatisInterceptor.java b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/interceptor/mybatis/MybatisInterceptor.java index 179e150..2c63db4 100644 --- a/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/interceptor/mybatis/MybatisInterceptor.java +++ b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/interceptor/mybatis/MybatisInterceptor.java @@ -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 sortedPreHandlers = preHandlerBeans.stream().sorted((item1, item2) -> { - int a; - int b; - 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(); - } - return a - b; - }).collect(Collectors.toList()); - preHandlersChain = sortedPreHandlers; + preHandlerBeans = preHandlerBeans.stream() + .sorted((item1, item2) -> { + MybatisHandlerOrder ann1 = item1.getClass().getAnnotation(MybatisHandlerOrder.class); + MybatisHandlerOrder ann2 = item2.getClass().getAnnotation(MybatisHandlerOrder.class); + int a = ann1 == null ? 0 : ann1.value(); + int b = ann2 == null ? 0 : ann2.value(); + return a - b; + }).collect(Collectors.toList()); - List sortedAfterHandlers = afterHandlerBeans.stream().sorted((item1, item2) -> { - int a; - int b; - 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(); - } - return a - b; - }).collect(Collectors.toList()); - afterHandlersChain = sortedAfterHandlers; + afterHandlersChain = afterHandlerBeans.stream() + .sorted((item1, item2) -> { + MybatisHandlerOrder ann1 = item1.getClass().getAnnotation(MybatisHandlerOrder.class); + MybatisHandlerOrder ann2 = item2.getClass().getAnnotation(MybatisHandlerOrder.class); + int a = ann1 == null ? 0 : ann1.value(); + int b = ann2 == null ? 0 : ann2.value(); + return a - b; + }).collect(Collectors.toList()); } @Override diff --git a/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/sql/dataSecurity/DataSecurityPreHandler.java b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/sql/dataSecurity/DataSecurityPreHandler.java index 01a5766..fc49c05 100644 --- a/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/sql/dataSecurity/DataSecurityPreHandler.java +++ b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/sql/dataSecurity/DataSecurityPreHandler.java @@ -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; diff --git a/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/sql/page/PageAfterHandler.java b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/sql/page/PageAfterHandler.java index 76d0776..dec4efd 100644 --- a/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/sql/page/PageAfterHandler.java +++ b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/sql/page/PageAfterHandler.java @@ -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 diff --git a/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/util/PageUtils.java b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/util/PageUtils.java new file mode 100644 index 0000000..1dacd03 --- /dev/null +++ b/ruoyi-plugins/ruoyi-mybatis-interceptor/src/main/java/com/ruoyi/mybatisinterceptor/util/PageUtils.java @@ -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 RuoyiTableData toTableInfo(List list) { + if (list instanceof TableInfo) { + TableInfo tableInfo = (TableInfo) 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(); + } + +}