From 2a8081a726c124a797d651a2ea158a94d8cd6711 Mon Sep 17 00:00:00 2001 From: Lemon Date: Mon, 16 Jun 2025 16:29:30 +0800 Subject: [PATCH] =?UTF-8?q?update=20=20=E5=B0=8F=E7=A8=8B=E5=BA=8F?= =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E7=AB=99=E7=82=B9id=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=9E=AA=E5=8F=A3=E5=88=97=E8=A1=A8=E5=85=88=E6=8E=92=E5=BA=8F?= =?UTF-8?q?=E5=86=8D=E6=89=8B=E5=8A=A8=E5=88=86=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/PileConnectorInfoServiceImpl.java | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileConnectorInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileConnectorInfoServiceImpl.java index ccc90d453..20e75b2f0 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileConnectorInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileConnectorInfoServiceImpl.java @@ -435,8 +435,8 @@ public class PileConnectorInfoServiceImpl implements PileConnectorInfoService { if (CollectionUtils.isEmpty(pileSns) && CollectionUtils.isEmpty(connectorIds) && CollectionUtils.isEmpty(connectorCodeList)) { return new PageResponse(); } - // 分页 - PageHelper.startPage(pageNum, pageSize); + // 分页 (2025.06.16 改为 先查询数据,再总体手动分页) + // PageHelper.startPage(pageNum, pageSize); List pileConnectorInfoList = pileConnectorInfoMapper.getPileConnectorInfoList(pileSns, connectorIds, connectorCodeList); @@ -450,11 +450,24 @@ public class PileConnectorInfoServiceImpl implements PileConnectorInfoService { put(Integer.parseInt(PileConnectorDataBaseStatusEnum.OFF_NETWORK.getValue()), 5); // 离线 → 5 }}); pileConnectorInfoList.sort( - Comparator.comparingInt((PileConnectorInfoVO vo) -> priority.get(vo.getStatus())) - .thenComparing(PileConnectorInfoVO::getPileConnectorCode) // 状态相同则按枪口号排序 + Comparator.comparingInt((PileConnectorInfoVO vo) -> + priority.getOrDefault(vo.getStatus(), Integer.MAX_VALUE)) // 未定义状态排最后 + .thenComparing(PileConnectorInfoVO::getPileConnectorCode, + Comparator.nullsLast(Comparator.naturalOrder())) // 处理可能的null值 ); - PageInfo pageInfo = new PageInfo<>(pileConnectorInfoList); + // 4. 手动分页(取出当前页的数据) + int fromIndex = (pageNum - 1) * pageSize; + int toIndex = Math.min(fromIndex + pageSize, pileConnectorInfoList.size()); + List pagedList = pileConnectorInfoList.subList(fromIndex, toIndex); + + // PageInfo pageInfo = new PageInfo<>(pileConnectorInfoList); + + // 5. 构造 PageInfo(注意:PageInfo 需要总记录数) + PageInfo pageInfo = new PageInfo<>(pagedList); + pageInfo.setTotal(pileConnectorInfoList.size()); // 设置总记录数 + pageInfo.setPageNum(pageNum); // 设置当前页码 + pageInfo.setPageSize(pageSize); // 设置每页大小 // 查询枪口当前订单 for (PileConnectorInfoVO pileConnectorInfoVO : pageInfo.getList()) {