mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 11:05:18 +08:00
查询订单退款信息
This commit is contained in:
@@ -252,6 +252,18 @@ public class SpringBootTestController {
|
||||
@Autowired
|
||||
private NotificationService notificationService;
|
||||
|
||||
@Test
|
||||
public void getOrderRefundInfoListTest() {
|
||||
String orderCode = "C44565166677";
|
||||
OrderBasicInfo orderBasicInfo = new OrderBasicInfo();
|
||||
orderBasicInfo.setOrderCode(orderCode);
|
||||
orderBasicInfo.setMerchantId("33");
|
||||
orderBasicInfo.setPayMode("4");
|
||||
// 查询退款明细
|
||||
List<OrderDetailInfoVO.OrderRefundInfo> orderRefundInfoList = orderBasicInfoService.getOrderRefundInfoList(orderBasicInfo);
|
||||
System.out.println(JSON.toJSONString(orderRefundInfoList));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getSnowflakeIdTest() {
|
||||
for (int i = 0; i < 100; i++) {
|
||||
|
||||
@@ -37,6 +37,8 @@ public interface OrderPayRecordService{
|
||||
|
||||
List<PaymentInfo> parseDeductionRecord(String deductionRecord);
|
||||
|
||||
List<String> parsePaymentIdByDeductionRecord(String deductionRecord);
|
||||
|
||||
// 更新订单退款金额
|
||||
void updateRefundAmount(String orderCode, String paymentId, BigDecimal refundAmt);
|
||||
}
|
||||
|
||||
@@ -204,6 +204,16 @@ public class OrderPayRecordServiceImpl implements OrderPayRecordService {
|
||||
return resultList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> parsePaymentIdByDeductionRecord(String deductionRecord) {
|
||||
List<String> resultList = Lists.newArrayList();
|
||||
List<PaymentInfo> paymentInfos = parseDeductionRecord(deductionRecord);
|
||||
if (CollectionUtils.isNotEmpty(paymentInfos)) {
|
||||
resultList = paymentInfos.stream().map(PaymentInfo::getPaymentId).collect(Collectors.toList());
|
||||
}
|
||||
return resultList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateRefundAmount(String orderCode, String paymentId, BigDecimal refundAmt) {
|
||||
List<OrderPayRecord> orderPayRecordList = getOrderPayRecordList(orderCode);
|
||||
|
||||
@@ -609,31 +609,52 @@ public class DelayMerchantProgramLogic extends AbstractProgramLogic {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询订单在线支付的退款信息
|
||||
*/
|
||||
@Override
|
||||
public List<OrderDetailInfoVO.OrderRefundInfo> getOrderRefundInfoList(OrderBasicInfo orderBasicInfo) {
|
||||
List<OrderDetailInfoVO.OrderRefundInfo> 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<OrderPayRecord> orderPayRecordList = orderPayRecordService.getOrderPayRecordList(orderBasicInfo.getOrderCode());
|
||||
if (CollectionUtils.isEmpty(orderPayRecordList)) {
|
||||
return resultList;
|
||||
}
|
||||
List<String> 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<String> idList = orderPayRecordService.parsePaymentIdByDeductionRecord(orderPayRecord.getDeductionRecord());
|
||||
paymentIdList.addAll(idList);
|
||||
}
|
||||
}
|
||||
|
||||
// 获取appId
|
||||
String wechatAppId = pileMerchantInfoService.queryAppIdByMerchantId(orderBasicInfo.getMerchantId());
|
||||
|
||||
// 通过支付id查询退款记录
|
||||
String paymentId = adapayCallbackRecord.getPaymentId();
|
||||
List<PaymentReverseResponse> paymentReverseResponses = null;
|
||||
try {
|
||||
paymentReverseResponses = adapayService.queryPaymentReverse(paymentId, wechatAppId);
|
||||
} catch (BaseAdaPayException e) {
|
||||
logger.error("查询支付撤销对象发生异常", e);
|
||||
List<PaymentReverseResponse> paymentReverseResponseList = Lists.newArrayList();
|
||||
for (String paymentId : paymentIdList) {
|
||||
try {
|
||||
List<PaymentReverseResponse> paymentReverseResponses = adapayService.queryPaymentReverse(paymentId, wechatAppId);
|
||||
if (CollectionUtils.isNotEmpty(paymentReverseResponses)) {
|
||||
paymentReverseResponseList.addAll(paymentReverseResponses);
|
||||
}
|
||||
} catch (BaseAdaPayException e) {
|
||||
logger.error("查询支付撤销对象发生异常", e);
|
||||
}
|
||||
}
|
||||
|
||||
OrderDetailInfoVO.OrderRefundInfo refundInfo;
|
||||
if (CollectionUtils.isNotEmpty(paymentReverseResponses)) {
|
||||
for (PaymentReverseResponse reverseResponse : paymentReverseResponses) {
|
||||
if (CollectionUtils.isNotEmpty(paymentReverseResponseList)) {
|
||||
for (PaymentReverseResponse reverseResponse : paymentReverseResponseList) {
|
||||
refundInfo = new OrderDetailInfoVO.OrderRefundInfo();
|
||||
refundInfo.setReverseId(reverseResponse.getId());
|
||||
refundInfo.setPaymentId(reverseResponse.getPayment_id());
|
||||
|
||||
Reference in New Issue
Block a user