From de049b5791ecade1fa2f38d91fcacbb13d9541e8 Mon Sep 17 00:00:00 2001 From: GYJ <1157756119@qq.com> Date: Tue, 9 Jul 2024 09:29:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SummaryServiceImpl.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/SummaryServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/SummaryServiceImpl.java index 8ad531a6..2cbaaa54 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/SummaryServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/SummaryServiceImpl.java @@ -489,6 +489,25 @@ public class SummaryServiceImpl implements SummaryService { ShopTableSaleInfoVo shopTableSaleInfoVo = tbOrderInfoRepository.queryShopTableSaleInfo(shopId.toString(), shopTableCode, start, end); list.add(shopTableSaleInfoVo); } + + if (!list.isEmpty()) { + list.sort((a, b) -> { + // 先比较 orderAmount + BigDecimal aAmount = a.getOrderAmount() == null ? BigDecimal.ZERO : new BigDecimal(a.getOrderAmount().toString()); + BigDecimal bAmount = b.getOrderAmount() == null ? BigDecimal.ZERO : new BigDecimal(b.getOrderAmount().toString()); + int compareAmount = aAmount.compareTo(bAmount); + if (compareAmount != 0) { + return compareAmount; + } + + // 如果 orderAmount 相等,再比较 orderCount + Integer aCount = a.getOrderCount() == null ? 0 : Integer.parseInt(a.getOrderCount().toString()); + Integer bCount = b.getOrderCount() == null ? 0 : Integer.parseInt(b.getOrderCount().toString()); + + return aCount - bCount; + }); + } + return list; }