分页 排序 拆分

This commit is contained in:
2025-02-13 13:53:54 +08:00
parent 6b5f332e8e
commit 10ce44003f
3 changed files with 7 additions and 52 deletions

View File

@@ -1,28 +0,0 @@
package com.czg.core.page;
import lombok.Data;
/**
* 分页数据
*
* @author cashier
*/
@Data
public class PageDomain {
/**
* 当前记录起始索引
*/
private Integer page;
/**
* 每页显示记录数
*/
private Integer size;
/**
* 组合后的排序规则例如user_name asc,user_age desc (前端来处理排序字段驼峰转下划线)
*/
private String orderBy;
}

View File

@@ -2,7 +2,6 @@ package com.czg.utils;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.czg.core.page.PageDomain;
import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.core.query.QueryWrapper;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
@@ -62,11 +61,8 @@ public class PageUtil {
} }
/** /**
* 构造分页QueryWrapper * 构造排序QueryWrapper
* <p> * 从param体获取
* 从param体获取 (url请求 ?拼接的参数)
* page 默认1
* size 默认10
* <p> * <p>
* orderField 排序字段列 驼峰命名 多个用逗号分隔 * orderField 排序字段列 驼峰命名 多个用逗号分隔
* order排序规则 asc,desc 多个条件逗号分割 * order排序规则 asc,desc 多个条件逗号分割
@@ -75,24 +71,10 @@ public class PageUtil {
*/ */
public QueryWrapper buildPageQueryWrapper() { public QueryWrapper buildPageQueryWrapper() {
QueryWrapper queryWrapper = QueryWrapper.create(); QueryWrapper queryWrapper = QueryWrapper.create();
PageDomain pageDomain = buildPageAndSortRequest(); String orderBy = ServletUtil.getRequest().getParameter(ORDER_BY);
if (StrUtil.isNotEmpty(pageDomain.getOrderBy())) { if (StrUtil.isNotEmpty(orderBy)) {
String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy()); queryWrapper.orderBy(SqlUtil.escapeOrderBySql(orderBy));
queryWrapper.orderBy(orderBy);
} }
return queryWrapper; return queryWrapper;
} }
/**
* 封装分页对象
*/
private PageDomain buildPageAndSortRequest() {
PageDomain pageDomain = new PageDomain();
HttpServletRequest request = ServletUtil.getRequest();
pageDomain.setPage(Convert.toInt(request.getParameter(PAGE), DEFAULT_PAGE));
pageDomain.setSize(Convert.toInt(request.getParameter(SIZE), DEFAULT_SIZE));
pageDomain.setOrderBy(request.getParameter(ORDER_BY));
return pageDomain;
}
} }

View File

@@ -28,7 +28,7 @@ public class Main {
// String servicePackageName = "product"; // String servicePackageName = "product";
String packageName = "order"; String packageName = "order";
String tableName = "tb_cashier_cart"; String tableName = "tb_order_detail";
String author = "ww"; String author = "ww";
//配置数据源 //配置数据源
@@ -56,6 +56,7 @@ public class Main {
GlobalConfig dtoConfig = createDtoGlobalConfig(currentWorkingDirectory + "/cash-common/cash-common-service", GlobalConfig dtoConfig = createDtoGlobalConfig(currentWorkingDirectory + "/cash-common/cash-common-service",
basePackage + packageName, "tb", tableName); basePackage + packageName, "tb", tableName);
Generator dtoGenerator = new Generator(dataSource, dtoConfig); Generator dtoGenerator = new Generator(dataSource, dtoConfig);
dtoConfig.setAuthor(author);
dtoGenerator.generate(); dtoGenerator.generate();
} }