退款逻辑整理

This commit is contained in:
2023-07-27 17:05:50 +08:00
parent 2b343c36b7
commit a1cfc898be
3 changed files with 22 additions and 10 deletions

View File

@@ -846,7 +846,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
if (StringUtils.equals(transactionRecord.getPaymentInstitutions(), PaymentInstitutionsEnum.WECHAT_PAY.getValue())) {
this.weChatRefund(weChatRefundDTO);
} else if (StringUtils.equals(transactionRecord.getPaymentInstitutions(), PaymentInstitutionsEnum.ADAPAY.getValue())) {
this.refundForOrderWithAdapay(weChatRefundDTO);
this.refundOrderWithAdapay(weChatRefundDTO);
}
// 订单支付记录
OrderPayRecord orderPayRecord = payRecordList.get(0);
@@ -1436,7 +1436,8 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
/**
* 微信支付-订单退款处理逻辑
*/
private WechatPayRefundResponse refundOrderWithWechatPay(ApplyRefundDTO dto) {
@Override
public WechatPayRefundResponse refundOrderWithWechatPay(ApplyRefundDTO dto) {
// 查出来原来的支付信息
WxpayCallbackRecord record = wxpayCallbackRecordService.selectByOrderCode(dto.getOrderCode());
if (Objects.isNull(record)) {
@@ -1476,7 +1477,8 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
/**
* 微信支付-余额退款处理逻辑
*/
private WechatPayRefundResponse refundBalanceWithWechatPay(ApplyRefundDTO dto) {
@Override
public WechatPayRefundResponse refundBalanceWithWechatPay(ApplyRefundDTO dto) {
// 查会员余额
MemberVO memberVO = memberBasicInfoService.queryMemberInfoByMemberId(dto.getMemberId());
if (memberVO == null) {
@@ -1960,8 +1962,12 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
return "共查询到" + orderListVOS.size() + "条订单,修改成功" + i + "条订单数据";
}
/**
* 汇付支付-订单退款处理逻辑
* @param dto
*/
@Override
public void refundForOrderWithAdapay(ApplyRefundDTO dto) {
public void refundOrderWithAdapay(ApplyRefundDTO dto) {
logger.info("汇付支付订单:{}, 执行退款逻辑 param:{}", dto.getOrderCode(), JSON.toJSONString(dto));
// 查出来原来的支付信息
AdapayCallbackRecord record = adapayCallbackRecordService.selectByOrderCode(dto.getOrderCode());
@@ -1983,6 +1989,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
String snowflakeId = SnowflakeIdWorker.getSnowflakeId();
String amount = AdapayUtil.formatAmount(dto.getRefundAmount());
// TODO 拿orderCode查询清分状态
String payMode = "delay";
if (StringUtils.equals("", payMode)) {
// 延迟分账确认的调退款接口
@@ -2014,7 +2021,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
}
@Override
public void refundForBalanceWithAdapay(ApplyRefundDTO dto) {
public void refundBalanceWithAdapay(ApplyRefundDTO dto) {
// 查会员余额
MemberVO memberVO = memberBasicInfoService.queryMemberInfoByMemberId(dto.getMemberId());
if (memberVO == null) {
@@ -2264,7 +2271,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
weChatRefundDTO = new ApplyRefundDTO();
weChatRefundDTO.setOrderCode(refundOrder.getOrderCode());
weChatRefundDTO.setRefundAmount(new BigDecimal(refundOrder.getRefundAmount()));
this.refundForOrderWithAdapay(weChatRefundDTO);
this.refundOrderWithAdapay(weChatRefundDTO);
}
}