订单详情页新增退款信息

This commit is contained in:
2023-08-17 16:10:31 +08:00
parent ba69c3ab96
commit 4766740427
7 changed files with 100 additions and 14 deletions

View File

@@ -1,6 +1,7 @@
package com.jsowell.pile.service;
import com.huifu.adapay.core.exception.BaseAdaPayException;
import com.jsowell.adapay.response.PaymentReverseResponse;
import com.jsowell.adapay.vo.OrderSettleResult;
import com.jsowell.common.core.domain.ykc.RealTimeMonitorData;
import com.jsowell.common.core.domain.ykc.TransactionRecordsData;
@@ -336,7 +337,9 @@ public interface IOrderBasicInfoService {
*/
void payOrderSuccessCallback(PayOrderSuccessCallbackDTO dto);
/**
List<PaymentReverseResponse> queryOrderAdapayRefund(OrderBasicInfo orderBasicInfo);
/**
* 重试订单退款
* @param orderCode 订单编号
*/

View File

@@ -2766,6 +2766,33 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
}
}
/**
* 查询订单推款记录
* @param orderBasicInfo
* @return
*/
@Override
public List<PaymentReverseResponse> queryOrderAdapayRefund(OrderBasicInfo orderBasicInfo) {
List<PaymentReverseResponse> resultList = Lists.newArrayList();
// 查到原汇付支付id
AdapayCallbackRecord adapayCallbackRecord = adapayCallbackRecordService.selectByOrderCode(orderBasicInfo.getOrderCode());
if (adapayCallbackRecord == null) {
return resultList;
}
// 获取appId
String wechatAppId = pileMerchantInfoService.queryAppIdByMerchantId(orderBasicInfo.getMerchantId());
// 通过支付id查询退款记录
String paymentId = adapayCallbackRecord.getPaymentId();
try {
resultList = adapayMemberService.queryPaymentReverse(paymentId, wechatAppId);
} catch (BaseAdaPayException e) {
logger.error("查询支付撤销对象发生异常", e);
}
return resultList;
}
/**
* 重试订单退款
* @param orderCode 订单编号
@@ -2788,6 +2815,9 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
throw new BusinessException("", "订单不是微信支付");
}
String memberId = orderBasicInfo.getMemberId();
BigDecimal refundAmount = orderBasicInfo.getRefundAmount();
// 查到原汇付支付id
AdapayCallbackRecord adapayCallbackRecord = adapayCallbackRecordService.selectByOrderCode(orderCode);
if (adapayCallbackRecord == null) {
@@ -2799,9 +2829,8 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
// 通过支付id查询退款记录
String paymentId = adapayCallbackRecord.getPaymentId();
String memberId = orderBasicInfo.getMemberId();
BigDecimal refundAmount = orderBasicInfo.getRefundAmount();
List<PaymentReverseResponse> paymentReverses = adapayMemberService.queryPaymentReverse(paymentId, wechatAppId);
List<PaymentReverseResponse> paymentReverses = queryOrderAdapayRefund(orderBasicInfo);
if (CollectionUtils.isEmpty(paymentReverses)) {
// 如果没有退款过,重新执行一遍退款
PaymentReverseResponse response = adapayMemberService.createPaymentReverseRequest(

View File

@@ -29,7 +29,7 @@ public class OrderDetailInfoVO {
// 支付信息
private List<PayRecord> payRecordList;
private List<OrderRefundInfo> orderRefundInfoList;
// 枪口监控信息
private List<PileMonitorData> realTimeMonitorDataList;
@@ -87,4 +87,13 @@ public class OrderDetailInfoVO {
private String SOC; // soc
private String chargingTime; // 充电时长(分钟)
}
@Data
public static class OrderRefundInfo{
private String paymentId; // 支付交易对象id
private String reverseId; // 支付撤销对象id
private String reverseAmt; // 退款金额
private String createdTime; // 退款创建时间
private String succeedTime; // 退款成功时间
}
}