diff --git a/src/main/java/com/order/erp/service/order/impl/OrderProfitAnalysisServiceImpl.java b/src/main/java/com/order/erp/service/order/impl/OrderProfitAnalysisServiceImpl.java index 90e7445..f01cc86 100644 --- a/src/main/java/com/order/erp/service/order/impl/OrderProfitAnalysisServiceImpl.java +++ b/src/main/java/com/order/erp/service/order/impl/OrderProfitAnalysisServiceImpl.java @@ -234,11 +234,21 @@ public class OrderProfitAnalysisServiceImpl extends ServiceImpl<OrderProfitAnaly List<OrderProfitAnalysisDO> orderProfits = list(new LambdaQueryWrapper<OrderProfitAnalysisDO>() .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN) .in(OrderProfitAnalysisDO::getOrderId, orderBaseInfoDOList.stream().map(OrderBaseInfoDO::getId).collect(Collectors.toSet()))); + // 去重:按 orderId 保留第一个 + List<OrderProfitAnalysisDO> uniqueOrderProfits = new ArrayList<>( + orderProfits.stream() + .collect(Collectors.toMap( + OrderProfitAnalysisDO::getOrderId, + Function.identity(), + (existing, replacement) -> existing + )) + .values() + ); - if (CollectionUtils.isEmpty(orderProfits)) { + if (CollectionUtils.isEmpty(uniqueOrderProfits)) { throw new BusinessException("选中的订单信息不存在"); } - return wrapperProfitResult(profitAnalysisVo, orderProfits); + return wrapperProfitResult(profitAnalysisVo, uniqueOrderProfits); } @Override