diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/config/ListPagingUtil.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/config/ListPagingUtil.java index 69a5bd9..a33ae00 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/config/ListPagingUtil.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/config/ListPagingUtil.java @@ -1,5 +1,6 @@ package com.bonus.common.biz.config; +import java.util.Collections; import java.util.List; /** @@ -83,7 +84,7 @@ public class ListPagingUtil { 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(); //初始化 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); //截取list 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; } } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/controller/OrderController.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/controller/OrderController.java index 3072c44..1f418bb 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/controller/OrderController.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/controller/OrderController.java @@ -1,7 +1,10 @@ package com.bonus.material.order.controller; +import cn.hutool.core.convert.Convert; 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.ServletUtils; import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.core.web.page.TableDataInfo; @@ -87,9 +90,13 @@ public class OrderController extends BaseController { */ @ApiOperation(value = "获取订单详情") @GetMapping("/getOrderDetails") - public TableDataInfo getOrderDetails(OrderInfoDto orderInfoDto) throws Exception { - startPage(); - return getDataTable(orderService.getOrderDetails(orderInfoDto)); + public AjaxResult getOrderDetails(OrderInfoDto orderInfoDto) throws Exception { + /*startPage(); + return getDataTable(orderService.getOrderDetails(orderInfoDto));*/ + Integer pageIndex = Convert.toInt(ServletUtils.getParameter("pageNum"), 1); + Integer pageSize = Convert.toInt(ServletUtils.getParameter("pageSize"), 10); + List list = orderService.getOrderDetails(orderInfoDto); + return AjaxResult.success(ListPagingUtil.paging(pageIndex, pageSize, list)); } /**