From 2232adc51ce3871e5a309a32c11ffcb7e53548c8 Mon Sep 17 00:00:00 2001 From: lanyuanxiaoyao Date: Fri, 29 Aug 2025 17:08:00 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=8E=92=E5=BA=8F=E6=B2=A1=E6=9C=89=E5=BA=94=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../template/service/SimpleServiceSupport.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/lanyuanxiaoyao/service/template/service/SimpleServiceSupport.java b/src/main/java/com/lanyuanxiaoyao/service/template/service/SimpleServiceSupport.java index fd01959..16a2f7a 100644 --- a/src/main/java/com/lanyuanxiaoyao/service/template/service/SimpleServiceSupport.java +++ b/src/main/java/com/lanyuanxiaoyao/service/template/service/SimpleServiceSupport.java @@ -482,11 +482,18 @@ public abstract class SimpleServiceSupport implemen public Page list(Query listQuery) { var pageRequest = PageRequest.of(DEFAULT_PAGE_INDEX - 1, DEFAULT_PAGE_SIZE, Sort.by(SimpleEntity.Fields.createdTime).descending()); if (ObjectHelper.isNotNull(listQuery.getPage())) { - pageRequest = PageRequest.of( - ObjectHelper.defaultIfNull(listQuery.getPage().getIndex(), DEFAULT_PAGE_INDEX) - 1, - ObjectHelper.defaultIfNull(listQuery.getPage().getSize(), DEFAULT_PAGE_SIZE), - Sort.by(SimpleEntity.Fields.createdTime).descending() - ); + var index = Math.max(ObjectHelper.defaultIfNull(listQuery.getPage().getIndex(), DEFAULT_PAGE_INDEX) - 1, 0); + var size = Math.max(ObjectHelper.defaultIfNull(listQuery.getPage().getSize(), DEFAULT_PAGE_SIZE), 1); + if (ObjectHelper.isNotEmpty(listQuery.getSort())) { + pageRequest = PageRequest.of(index, size, Sort.by( + listQuery.getSort() + .stream() + .map(sort -> new Sort.Order(Sort.Direction.fromString(sort.getDirection().name()), sort.getColumn())) + .toList() + )); + } else { + pageRequest = PageRequest.of(index, size); + } } return repository.findAll( (root, query, builder) -> {