From 1489505e863871cc23acc505d1b35fbbf1702449 Mon Sep 17 00:00:00 2001 From: Lemon Date: Fri, 10 Oct 2025 13:10:56 +0800 Subject: [PATCH] =?UTF-8?q?update=20=20=E9=87=8D=E8=AF=95=E8=BF=90?= =?UTF-8?q?=E8=90=A5=E5=95=86=E5=88=86=E8=B4=A6=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jsowell/service/SplitBillService.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/jsowell-admin/src/main/java/com/jsowell/service/SplitBillService.java b/jsowell-admin/src/main/java/com/jsowell/service/SplitBillService.java index ecd53c0af..d01aa2896 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/SplitBillService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/SplitBillService.java @@ -1,5 +1,7 @@ package com.jsowell.service; +import com.huifu.adapay.core.exception.BaseAdaPayException; +import com.jsowell.adapay.service.AdapayService; import com.jsowell.common.constant.Constants; import com.jsowell.pile.domain.OrderSplitRecord; import com.jsowell.pile.dto.DebugOrderDTO; @@ -22,20 +24,25 @@ public class SplitBillService { @Autowired private TempService tempService; + @Autowired + private AdapayService adapayService; /** * 重试运营商分账 * @param dto */ - public void retryMerchantSplit(QueryOrderSplitRecordDTO dto) { + public void retryMerchantSplit(QueryOrderSplitRecordDTO dto) throws BaseAdaPayException { // 首先根据 merchantId、startTime、endTime 查出日期区间内所有订单信息(包括 paymentId) List recordList = orderBasicInfoService.getSplitOrders(dto); + // 获取 paymentIdList + List paymentIdList = recordList.stream() + .map(OrderSplitRecord::getPaymentId) + .collect(Collectors.toList()); // 判断订单是否已经成功分账 -// adapayService.checkOrderSplitStatus(list); // 将未分账的订单进行筛选、汇总 - List paymenIdList = new ArrayList<>(); + List unSplitPaymentIdList = adapayService.getSplitInfoByPaymentIdList(paymentIdList); // 将 paymentIdList 与 recordList 进行匹配,筛选出 orderCodeList - Set paymentIdSet = new HashSet<>(paymenIdList); + Set paymentIdSet = new HashSet<>(unSplitPaymentIdList); List orderCodeList = recordList.stream() .filter(record -> paymentIdSet.contains(record.getPaymentId())) .map(OrderSplitRecord::getOrderCode)