diff --git a/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/mybatis/MybatisPlusConfiguration.java b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/mybatis/MybatisPlusConfiguration.java index be4e80d01..f9d242d06 100644 --- a/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/mybatis/MybatisPlusConfiguration.java +++ b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/mybatis/MybatisPlusConfiguration.java @@ -17,6 +17,7 @@ package com.pig4cloud.pigx.common.data.mybatis; +import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.TenantLineInnerInterceptor; @@ -88,6 +89,9 @@ public class MybatisPlusConfiguration implements WebMvcConfigurer { dataScopeInnerInterceptor.setDataScopeHandle(dataScopeHandle()); interceptor.addInnerInterceptor(dataScopeInnerInterceptor); // 分页支持 + PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(); + paginationInnerInterceptor.setDbType(DbType.MYSQL); + paginationInnerInterceptor.setMaxLimit(1000L); interceptor.addInnerInterceptor(new PaginationInnerInterceptor()); return interceptor; } diff --git a/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/resolver/SqlFilterArgumentResolver.java b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/resolver/SqlFilterArgumentResolver.java index 6eec6dc11..b9d50af81 100644 --- a/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/resolver/SqlFilterArgumentResolver.java +++ b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/resolver/SqlFilterArgumentResolver.java @@ -17,9 +17,11 @@ package com.pig4cloud.pigx.common.data.resolver; +import cn.hutool.core.comparator.CompareUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.metadata.OrderItem; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.pig4cloud.pigx.common.core.exception.CheckedException; import lombok.extern.slf4j.Slf4j; import org.springframework.core.MethodParameter; import org.springframework.web.bind.support.WebDataBinderFactory; @@ -79,6 +81,10 @@ public class SqlFilterArgumentResolver implements HandlerMethodArgumentResolver Page page = new Page(); if (StrUtil.isNotBlank(current)) { + // 如果current page 小于零 视为不合法数据 + if (CompareUtil.compare(Long.parseLong(current), 0L) < 0) { + throw new CheckedException("current page error"); + } page.setCurrent(Long.parseLong(current)); }