汇付退款逻辑

This commit is contained in:
2023-06-12 14:40:33 +08:00
parent 02490b9318
commit cfb2f3ca44

View File

@@ -1,6 +1,7 @@
package com.jsowell.pile.service.impl;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.github.pagehelper.PageHelper;
@@ -145,6 +146,9 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
@Autowired
private ISettleOrderReportService settleOrderReportService;
@Autowired
private AdapayMemberInfoService adapayMemberInfoService;
/**
* 条件查询订单基本信息
*
@@ -1838,9 +1842,28 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
// 创建汇付退款对象 在完成初始化设置情况下,调用方法,获取 Refund对象
String id = record.getPaymentId();
Map<String, Object> refundParams = Maps.newHashMap();
refundParams.put("refund_amt", AdapayUtil.formatAmount(dto.getRefundAmount()));
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);
// 分账对象信息
OrderBasicInfo orderBasicInfo = getOrderInfoByOrderCode(dto.getOrderCode());
if (orderBasicInfo != null) {
AdapayMemberInfo adapayMemberInfo = adapayMemberInfoService.selectByStationId(orderBasicInfo.getStationId());
if (adapayMemberInfo != null) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("member_id", adapayMemberInfo.getMemberId());
jsonObject.put("amount", amount);
jsonObject.put("fee_flag", Constants.Y);
// 分账对象信息列表最多仅支持7个分账方json 数组形式
JSONArray jsonArray = new JSONArray();
jsonArray.add(jsonObject);
// 分账对象信息
refundParams.put("div_members", jsonArray.toString());
}
}
try {
Map<String, Object> response = Refund.create(id, refundParams);
logger.info("汇付支付创建退款对象:{}", JSON.toJSONString(response));