diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/programlogic/NotDelayMerchantProgramLogic.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/programlogic/NotDelayMerchantProgramLogic.java index e1855617b..28c440855 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/programlogic/NotDelayMerchantProgramLogic.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/programlogic/NotDelayMerchantProgramLogic.java @@ -486,26 +486,50 @@ public class NotDelayMerchantProgramLogic extends AbstractProgramLogic { List resultList = Lists.newArrayList(); // 查到原汇付支付id - AdapayCallbackRecord adapayCallbackRecord = adapayCallbackRecordService.selectByOrderCode(orderBasicInfo.getOrderCode()); - if (adapayCallbackRecord == null) { + // AdapayCallbackRecord adapayCallbackRecord = adapayCallbackRecordService.selectByOrderCode(orderBasicInfo.getOrderCode()); + // if (adapayCallbackRecord == null) { + // return resultList; + // } + + List orderPayRecordList = orderPayRecordService.getOrderPayRecordList(orderBasicInfo.getOrderCode()); + if (CollectionUtils.isEmpty(orderPayRecordList)) { return resultList; } + List paymentIdList = Lists.newArrayList(); + for (OrderPayRecord orderPayRecord : orderPayRecordList) { + String payMode = orderPayRecord.getPayMode(); + if (StringUtils.equals(payMode, OrderPayRecordEnum.WECHATPAY_PAYMENT.getValue()) + || StringUtils.equals(payMode, OrderPayRecordEnum.ALIPAY_PAYMENT.getValue())) { + List idList = orderPayRecordService.parsePaymentIdByDeductionRecord(orderPayRecord.getDeductionRecord()); + paymentIdList.addAll(idList); + } + } // 获取appId String wechatAppId = pileMerchantInfoService.queryAppIdByMerchantId(orderBasicInfo.getMerchantId()); // 通过支付id查询退款记录 - String paymentId = adapayCallbackRecord.getPaymentId(); - List refundInfos = null; - try { - refundInfos = adapayService.queryPaymentRefund(paymentId, wechatAppId); - } catch (BaseAdaPayException e) { - logger.error("查询支付撤销对象发生异常", e); + List refundInfoList = Lists.newArrayList(); + for (String paymentId : paymentIdList) { + try { + List refundInfos = adapayService.queryPaymentRefund(paymentId, wechatAppId); + if (CollectionUtils.isNotEmpty(refundInfos)) { + refundInfoList.addAll(refundInfos); + } + } catch (BaseAdaPayException e) { + logger.error("查询支付退款对象发生异常", e); + } } + // String paymentId = adapayCallbackRecord.getPaymentId(); + // try { + // refundInfoList = adapayService.queryPaymentRefund(paymentId, wechatAppId); + // } catch (BaseAdaPayException e) { + // logger.error("查询支付退款对象发生异常", e); + // } OrderDetailInfoVO.OrderRefundInfo refundInfo; - if (CollectionUtils.isNotEmpty(refundInfos)) { - for (RefundInfo refund : refundInfos) { + if (CollectionUtils.isNotEmpty(refundInfoList)) { + for (RefundInfo refund : refundInfoList) { refundInfo = new OrderDetailInfoVO.OrderRefundInfo(); refundInfo.setReverseId(refund.getRefund_id()); refundInfo.setPaymentId(refund.getPayment_id());