From 0131ff02c03d857e61edb826abd204ca0a44e35c Mon Sep 17 00:00:00 2001 From: zhaojun1998 Date: Sat, 8 Feb 2020 17:43:02 +0800 Subject: [PATCH] =?UTF-8?q?:bug:=20=E4=BF=AE=E5=A4=8D=E5=A4=B4=E9=83=A8?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=92=8C=E5=AF=86=E7=A0=81=E6=96=87=E4=BB=B6?= =?UTF-8?q?,=20=E5=9C=A8=E5=BC=80=E5=90=AF=E7=BC=93=E5=AD=98=E7=9A=84?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E4=B8=8B,=20=E4=BB=85=E7=AC=AC=E4=B8=80?= =?UTF-8?q?=E6=AC=A1=E7=94=9F=E6=95=88=E7=9A=84=20BUG.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zhaojun/common/controller/FileController.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main/java/im/zhaojun/common/controller/FileController.java b/src/main/java/im/zhaojun/common/controller/FileController.java index df26968..c924148 100644 --- a/src/main/java/im/zhaojun/common/controller/FileController.java +++ b/src/main/java/im/zhaojun/common/controller/FileController.java @@ -23,6 +23,8 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; import java.util.List; /** @@ -118,11 +120,14 @@ public class FileController { private List getSortedPagingData(List fileItemList, Integer page) { - // 排序, 先按照文件类型比较, 文件夹在前, 文件在后, 然后根据 sortBy 字段排序, 默认为升序; - fileItemList.sort(new FileComparator()); - filterFileList(fileItemList); + ArrayList copy = new ArrayList<>(Arrays.asList(new FileItemDTO[fileItemList.size()])); + Collections.copy(copy, fileItemList); - int total = fileItemList.size(); + // 排序, 先按照文件类型比较, 文件夹在前, 文件在后, 然后根据 sortBy 字段排序, 默认为升序; + copy.sort(new FileComparator()); + filterFileList(copy); + + int total = copy.size(); int totalPage = (total + PAGE_SIZE - 1) / PAGE_SIZE; if (page > totalPage) { @@ -132,7 +137,7 @@ public class FileController { int start = (page - 1) * PAGE_SIZE; int end = page * PAGE_SIZE; end = Math.min(end, total); - return new ArrayList<>(fileItemList.subList(start, end)); + return new ArrayList<>(copy.subList(start, end)); }