分页 排序 拆分

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.util.StrUtil;
import com.czg.core.page.PageDomain;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryWrapper;
import jakarta.servlet.http.HttpServletRequest;
@@ -62,11 +61,8 @@ public class PageUtil {
}
/**
* 构造分页QueryWrapper
* <p>
* 从param体获取 (url请求 ?拼接的参数)
* page 默认1
* size 默认10
* 构造排序QueryWrapper
* 从param体获取
* <p>
* orderField 排序字段列 驼峰命名 多个用逗号分隔
* order排序规则 asc,desc 多个条件逗号分割
@@ -75,24 +71,10 @@ public class PageUtil {
*/
public QueryWrapper buildPageQueryWrapper() {
QueryWrapper queryWrapper = QueryWrapper.create();
PageDomain pageDomain = buildPageAndSortRequest();
if (StrUtil.isNotEmpty(pageDomain.getOrderBy())) {
String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy());
queryWrapper.orderBy(orderBy);
String orderBy = ServletUtil.getRequest().getParameter(ORDER_BY);
if (StrUtil.isNotEmpty(orderBy)) {
queryWrapper.orderBy(SqlUtil.escapeOrderBySql(orderBy));
}
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 packageName = "order";
String tableName = "tb_cashier_cart";
String tableName = "tb_order_detail";
String author = "ww";
//配置数据源
@@ -56,6 +56,7 @@ public class Main {
GlobalConfig dtoConfig = createDtoGlobalConfig(currentWorkingDirectory + "/cash-common/cash-common-service",
basePackage + packageName, "tb", tableName);
Generator dtoGenerator = new Generator(dataSource, dtoConfig);
dtoConfig.setAuthor(author);
dtoGenerator.generate();
}