功能需求优化

This commit is contained in:
mashuai 2025-02-25 13:52:11 +08:00
parent ff2d52126e
commit 1c18b649f9
2 changed files with 48 additions and 4 deletions

View File

@ -1,5 +1,6 @@
package com.bonus.common.biz.config; package com.bonus.common.biz.config;
import java.util.Collections;
import java.util.List; import java.util.List;
/** /**
@ -83,7 +84,7 @@ public class ListPagingUtil {
this.setPageSize(pageSize); this.setPageSize(pageSize);
} }
public static ListPagingUtil paging(Integer currentPage, Integer pageSize, List<?> list) { /*public static ListPagingUtil paging(Integer currentPage, Integer pageSize, List<?> list) {
ListPagingUtil pagingUtil = new ListPagingUtil(); ListPagingUtil pagingUtil = new ListPagingUtil();
//初始化 //初始化
pagingUtil.pageStartInfo(currentPage, pageSize); pagingUtil.pageStartInfo(currentPage, pageSize);
@ -95,6 +96,42 @@ public class ListPagingUtil {
pagingUtil.setTotalPage(pagingUtil.getTotal() % pagingUtil.getPageSize() == 0 ? pagingUtil.getTotal()/pagingUtil.getPageSize() :pagingUtil.getTotal()/pagingUtil.getPageSize()+1); pagingUtil.setTotalPage(pagingUtil.getTotal() % pagingUtil.getPageSize() == 0 ? pagingUtil.getTotal()/pagingUtil.getPageSize() :pagingUtil.getTotal()/pagingUtil.getPageSize()+1);
//截取list //截取list
pagingUtil.setRows(list.subList(pagingUtil.getStar(), pagingUtil.getTotal()-pagingUtil.getStar()>pagingUtil.getPageSize()?pagingUtil.getStar()+pagingUtil.getPageSize():pagingUtil.getTotal())); pagingUtil.setRows(list.subList(pagingUtil.getStar(), pagingUtil.getTotal()-pagingUtil.getStar()>pagingUtil.getPageSize()?pagingUtil.getStar()+pagingUtil.getPageSize():pagingUtil.getTotal()));
return pagingUtil;
}*/
public static ListPagingUtil paging(Integer currentPage, Integer pageSize, List<?> list) {
ListPagingUtil pagingUtil = new ListPagingUtil();
// 初始化分页信息
pagingUtil.pageStartInfo(currentPage, pageSize);
// 计算起始索引
pagingUtil.setStar((pagingUtil.getCurrentPage() - 1) * pagingUtil.getPageSize());
// 设置总数
pagingUtil.setTotal(list.size());
// 设置总页数
int totalPage = pagingUtil.getTotal() / pagingUtil.getPageSize();
if (pagingUtil.getTotal() % pagingUtil.getPageSize() != 0) {
totalPage++; // 如果有余数则总页数 +1
}
pagingUtil.setTotalPage(totalPage);
// 确保起始索引不会大于列表大小
int fromIndex = pagingUtil.getStar();
if (fromIndex >= pagingUtil.getTotal()) {
// 当前页的起始索引超过了总数据返回空数据
pagingUtil.setRows(Collections.emptyList());
return pagingUtil;
}
// 计算结束索引确保不超过总数据大小
int toIndex = Math.min(fromIndex + pagingUtil.getPageSize(), pagingUtil.getTotal());
// 获取当前页的数据
pagingUtil.setRows(list.subList(fromIndex, toIndex));
return pagingUtil; return pagingUtil;
} }
} }

View File

@ -1,7 +1,10 @@
package com.bonus.material.order.controller; package com.bonus.material.order.controller;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.bonus.common.biz.config.ListPagingUtil;
import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.utils.DateUtils;
import com.bonus.common.core.utils.ServletUtils;
import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.controller.BaseController;
import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.common.core.web.page.TableDataInfo; import com.bonus.common.core.web.page.TableDataInfo;
@ -87,9 +90,13 @@ public class OrderController extends BaseController {
*/ */
@ApiOperation(value = "获取订单详情") @ApiOperation(value = "获取订单详情")
@GetMapping("/getOrderDetails") @GetMapping("/getOrderDetails")
public TableDataInfo getOrderDetails(OrderInfoDto orderInfoDto) throws Exception { public AjaxResult getOrderDetails(OrderInfoDto orderInfoDto) throws Exception {
startPage(); /*startPage();
return getDataTable(orderService.getOrderDetails(orderInfoDto)); return getDataTable(orderService.getOrderDetails(orderInfoDto));*/
Integer pageIndex = Convert.toInt(ServletUtils.getParameter("pageNum"), 1);
Integer pageSize = Convert.toInt(ServletUtils.getParameter("pageSize"), 10);
List<OrderInfoDto> list = orderService.getOrderDetails(orderInfoDto);
return AjaxResult.success(ListPagingUtil.paging(pageIndex, pageSize, list));
} }
/** /**