From 93004b6af39ba122c8cc74ed729ac7f44532b6e2 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期四, 27 六月 2024 09:06:10 +0800
Subject: [PATCH] bug修改

---
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/MgtBusinessDataService.java |   32 ++++++++++++++++----------------
 1 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/MgtBusinessDataService.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/MgtBusinessDataService.java
index 75fef99..d728c8d 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/MgtBusinessDataService.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/MgtBusinessDataService.java
@@ -201,23 +201,23 @@
         CompletableFuture<List<MgtAmountChartVO>> auctionOrderTotalAmountFuture = CompletableFuture.supplyAsync(
                 () -> getMgtAmountChartVOS(datesBetween, orderList, OrderTypeEnum.AUCTION_ORDER),
                 executorService);
-        // 等待所有任务完成
-        CompletableFuture<Void> futureAll = CompletableFuture.allOf(mallOrderCountFuture,
-                mallOrderTotalAmountFuture, auctionOrderCountFuture, auctionOrderTotalAmountFuture);
+        // 使用 join 方法阻塞当前线程,直到所有任务完成
+        CompletableFuture.allOf(mallOrderCountFuture,
+                        mallOrderTotalAmountFuture, auctionOrderCountFuture, auctionOrderTotalAmountFuture)
+                .join();
         MgtOrderStaticsChartVO mgtOrderStaticsChartVO = new MgtOrderStaticsChartVO();
-        futureAll.thenRun(() -> {
-            try {
-                mgtOrderStaticsChartVO.setMallOrderCountList(mallOrderCountFuture.get());
-                mgtOrderStaticsChartVO.setMallOrderTotalAmountList(
-                        mallOrderTotalAmountFuture.get());
-                mgtOrderStaticsChartVO.setAuctionOrderCount(auctionOrderCountFuture.get());
-                mgtOrderStaticsChartVO.setAuctionOrderTotalAmount(
-                        auctionOrderTotalAmountFuture.get());
-            } catch (InterruptedException | ExecutionException e) {
-                throw new RuntimeException(e);
-            }
-            executorService.shutdown(); // 关闭线程池
-        });
+        try {
+            // 设置结果
+            mgtOrderStaticsChartVO.setMallOrderCountList(mallOrderCountFuture.get());
+            mgtOrderStaticsChartVO.setMallOrderTotalAmountList(mallOrderTotalAmountFuture.get());
+            mgtOrderStaticsChartVO.setAuctionOrderCountList(auctionOrderCountFuture.get());
+            mgtOrderStaticsChartVO.setAuctionOrderTotalAmountList(
+                    auctionOrderTotalAmountFuture.get());
+        } catch (InterruptedException | ExecutionException e) {
+            throw new RuntimeException(e);
+        } finally {
+            executorService.shutdown(); // 确保关闭线程池
+        }
         return mgtOrderStaticsChartVO;
     }
 

--
Gitblit v1.7.1