ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java
@@ -778,18 +778,21 @@ List<MgtAuctionSalesroomVO> list = auctionSalesroomVOPageDTO.getList(); List<Long> auctionSalesroomIdList = list.stream().map(MgtAuctionSalesroomVO::getId) .collect(Collectors.toList()); // 所有拍卖场的拍卖商品 List<AuctionSalesroomGoods> auctionSalesroomGoods = auctionSalesroomGoodsMapper.selectList( Wrappers.<AuctionSalesroomGoods>lambdaQuery() .in(AuctionSalesroomGoods::getAuctionSalesroomId, auctionSalesroomIdList)); // 计算每个拍卖场所有拍品数量 Map<Long, Integer> map = auctionSalesroomGoods.stream() .collect(Collectors.groupingBy(AuctionSalesroomGoods::getAuctionSalesroomId, Collectors.summingInt(AuctionSalesroomGoods::getSalesroomStock))); for (MgtAuctionSalesroomVO mgtAuctionSalesroomVO : list) { Integer i = map.get(mgtAuctionSalesroomVO.getId()); if (StringUtils.isNotNull(i)) { mgtAuctionSalesroomVO.setAuctionGoodsNum(i); if (StringUtils.isNotEmpty(auctionSalesroomIdList)) { // 所有拍卖场的拍卖商品 List<AuctionSalesroomGoods> auctionSalesroomGoods = auctionSalesroomGoodsMapper.selectList( Wrappers.<AuctionSalesroomGoods>lambdaQuery() .in(AuctionSalesroomGoods::getAuctionSalesroomId, auctionSalesroomIdList)); // 计算每个拍卖场所有拍品数量 Map<Long, Integer> map = auctionSalesroomGoods.stream() .collect(Collectors.groupingBy(AuctionSalesroomGoods::getAuctionSalesroomId, Collectors.summingInt(AuctionSalesroomGoods::getSalesroomStock))); for (MgtAuctionSalesroomVO mgtAuctionSalesroomVO : list) { Integer i = map.get(mgtAuctionSalesroomVO.getId()); if (StringUtils.isNotNull(i)) { mgtAuctionSalesroomVO.setAuctionGoodsNum(i); } } } return auctionSalesroomVOPageDTO; ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/dto/MgtOrderQuery.java
@@ -6,7 +6,6 @@ import com.ruoyi.common.core.web.page.BasePage; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import javax.validation.constraints.NotNull; import lombok.Data; import lombok.EqualsAndHashCode; @@ -40,6 +39,5 @@ private OrderStatusEnum orderStatus; @ApiModelProperty(value = "订单类型 1=商城订单 2=拍卖订单") @NotNull(message = "订单类型不能为空") private OrderTypeEnum queryType; } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/vo/MgtOrderStaticsChartVO.java
@@ -20,10 +20,10 @@ private List<MgtAmountChartVO> mallOrderTotalAmountList; @ApiModelProperty(value = "拍卖订单总数", notes = "拍卖订单总数") private List<MgtCountChartVO> auctionOrderCount; private List<MgtCountChartVO> auctionOrderCountList; @ApiModelProperty(value = "拍卖订单总金额", notes = "拍卖订单总金额") private List<MgtAmountChartVO> auctionOrderTotalAmount; private List<MgtAmountChartVO> auctionOrderTotalAmountList; } 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; } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
@@ -884,9 +884,11 @@ } page = this.lambdaQuery() .in(StringUtils.isNotEmpty(memberIdSet), Order::getMemberId, memberIdSet) .ne(query.getQueryType().equals(OrderTypeEnum.MALL_ODER), Order::getOrderFrom, .ne(StringUtils.isNotNull(query.getQueryType()) && query.getQueryType() .equals(OrderTypeEnum.MALL_ODER), Order::getOrderFrom, OrderFromEnum.AUCTION_ORDERS) .eq(query.getQueryType().equals(OrderTypeEnum.AUCTION_ORDER), Order::getOrderFrom, .eq(StringUtils.isNotNull(query.getQueryType()) && query.getQueryType() .equals(OrderTypeEnum.AUCTION_ORDER), Order::getOrderFrom, OrderFromEnum.AUCTION_ORDERS) .like(StringUtils.isNotBlank(query.getOrderNo()), Order::getOrderNo, query.getOrderNo())