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)