From 371a7ed611e5e76af30af59e7247be6192f63f06 Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期二, 14 一月 2025 20:54:01 +0800 Subject: [PATCH] 12.18 --- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java | 32 ++++++++++++++++++++++---------- 1 files changed, 22 insertions(+), 10 deletions(-) diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java index 3344af0..f0caa11 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java @@ -165,21 +165,33 @@ }); } } - //手动处理分页 + // 手动处理分页 PageInfo<GoodsVO> pageInfo = new PageInfo<>(); pageInfo.setSize(search.getPageSize()); pageInfo.setTotal(list.size()); - Integer pageSize = search.getPageSize(); - Integer pageNum = (search.getPageCurr() - 1) * pageSize; - if(list.size() >= (pageNum + 1) * pageSize){ - list = list.subList(pageNum, pageNum + pageSize); - }else if(pageNum < list.size() && list.size() < (pageNum + 1) * pageSize){ - list = list.subList(pageNum, list.size()); - }else{ - list = new ArrayList<>(); + int pageSize = search.getPageSize(); + int pageCurr = search.getPageCurr(); + + // 计算起始索引 + int pageNum = (pageCurr - 1) * pageSize; + + // 检查 pageNum 是否合法 + if (pageNum < 0 || pageNum >= list.size()) { + // 如果 pageNum 不合法,返回空列表 + pageInfo.setRecords(new ArrayList<>()); + return pageInfo; } - return pageInfo.setRecords(list); + + // 计算结束索引 + int endIndex = Math.min(pageNum + pageSize, list.size()); + + // 获取分页数据 + List<GoodsVO> pageList = list.subList(pageNum, endIndex); + + // 设置分页结果 + pageInfo.setRecords(pageList); + return pageInfo; } @Override -- Gitblit v1.7.1