From c7212fff413dce0a6571cefafd0af66ff0475b4d Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Mon, 10 Jul 2023 14:53:55 +0800 Subject: [PATCH] update --- .../impl/OrderBasicInfoServiceImpl.java | 39 ++++++++++++++----- 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index 36da6b3bf..faf0ccaef 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.google.common.collect.Maps; import com.google.common.collect.Sets; import com.huifu.adapay.core.exception.BaseAdaPayException; import com.huifu.adapay.model.Payment; +import com.huifu.adapay.model.PaymentReverse; import com.huifu.adapay.model.Refund; import com.jsowell.adapay.common.CreateAdaPaymentParam; import com.jsowell.common.constant.CacheConstants; @@ -1939,18 +1940,36 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { } // 创建汇付退款对象 在完成初始化设置情况下,调用方法,获取 Refund对象 - String id = record.getPaymentId(); - Map refundParams = Maps.newHashMap(); + String id = record.getPaymentId(); // + String snowflakeId = SnowflakeIdWorker.getSnowflakeId(); String amount = AdapayUtil.formatAmount(dto.getRefundAmount()); - refundParams.put("refund_amt", amount); - refundParams.put("refund_order_no", SnowflakeIdWorker.getSnowflakeId()); - refundParams.put("notify_url", ADAPAY_REFUND_CALLBACK_URL); - try { - Map response = Refund.create(id, refundParams); - logger.info("汇付支付创建退款对象:{}", JSON.toJSONString(response)); - } catch (BaseAdaPayException e) { - logger.error("汇付支付创建退款对象error", e); + String payMode = "delay"; + if (StringUtils.equals("", payMode)) { + // 延迟分账确认的调退款接口 + Map refundParams = Maps.newHashMap(); + refundParams.put("refund_amt", amount); + refundParams.put("refund_order_no", snowflakeId); + refundParams.put("notify_url", ADAPAY_REFUND_CALLBACK_URL); + try { + Map response = Refund.create(id, refundParams); + logger.info("汇付支付创建退款对象:{}", JSON.toJSONString(response)); + } catch (BaseAdaPayException e) { + logger.error("汇付支付创建退款对象error", e); + } + } else { + // 延迟分账未确认调撤销调撤销接口退款 + Map reverseParams = Maps.newHashMap(); + reverseParams.put("app_id", ADAPAY_APP_ID); + reverseParams.put("payment_id", id); + reverseParams.put("reverse_amt", amount); + reverseParams.put("order_no", snowflakeId); + try { + Map paymentReverse = PaymentReverse.create(reverseParams); + logger.info("汇付支付创建交易撤销对象:{}", JSON.toJSONString(paymentReverse)); + } catch (BaseAdaPayException e) { + logger.error("汇付支付创建交易撤销对象error", e); + } } }