用户退款回调问题修复
This commit is contained in:
parent
492422acf1
commit
7a6c7c7aae
@ -93,7 +93,17 @@ public class EbikeRefundServiceImpl extends ServiceImpl<EbikeRefundMapper, Ebike
|
||||
if (refundNotification == null) {
|
||||
return false;
|
||||
}
|
||||
EbikeRefund ebikeRefund = getByRefundOrderId(refundNotification.getOutRefundNo());
|
||||
String refundOrderId = refundNotification.getOutRefundNo();
|
||||
EbikeRefund ebikeRefund = getByRefundOrderId(refundOrderId);
|
||||
if (ebikeRefund == null) {
|
||||
log.error("未找到对应的退款记录,refundOrderId: {}", refundOrderId);
|
||||
return false;
|
||||
}
|
||||
if (ebikeRefund.getRefundStatus() == RefundStatus.APPLYING) {
|
||||
log.info("退款已处理成功。refundOrderId: {}", refundOrderId);
|
||||
return true;
|
||||
}
|
||||
log.info("退款回调订单Id:{}, 退款回调订单状态:{}", refundOrderId, refundNotification.getRefundStatus().ordinal());
|
||||
ebikeRefund.setRefundStatus(refundNotification.getRefundStatus().ordinal());
|
||||
if (Status.SUCCESS.equals(refundNotification.getRefundStatus())) {
|
||||
String refundTime = refundNotification.getSuccessTime();
|
||||
@ -102,9 +112,7 @@ public class EbikeRefundServiceImpl extends ServiceImpl<EbikeRefundMapper, Ebike
|
||||
BigDecimal refundAmount = calculateRefundCallbackAmount(refundNotification);
|
||||
ebikeRefund.setRefund(refundAmount);
|
||||
}
|
||||
Long refundOrderId = Long.valueOf(refundNotification.getOutTradeNo());
|
||||
log.info("退款回调订单Id:{}, 退款回调订单状态:{}", refundOrderId, refundNotification.getRefundStatus().ordinal());
|
||||
Long orderId = queryOrderId(refundOrderId);
|
||||
Long orderId = ebikeRefund.getOrderId();
|
||||
// 更新订单退款状态
|
||||
switch (refundNotification.getRefundStatus()) {
|
||||
case PROCESSING, CLOSED -> ebikeOrderService.refund(orderId);
|
||||
@ -160,19 +168,18 @@ public class EbikeRefundServiceImpl extends ServiceImpl<EbikeRefundMapper, Ebike
|
||||
*
|
||||
* @param refundOrderId 根据退款回调退款订单号查询订单号
|
||||
*/
|
||||
private Long queryOrderId(Long refundOrderId) {
|
||||
private Long queryOrderId(String refundOrderId) {
|
||||
if (refundOrderId == null) {
|
||||
log.warn("退款订单ID为空,无法查询主订单ID");
|
||||
return null;
|
||||
}
|
||||
//查询退款中且状态为2的订单
|
||||
QueryWrapper queryWrapper = QueryWrapper.create()
|
||||
.where(EBIKE_REFUND.REFUND_ORDER_ID.eq(refundOrderId))
|
||||
.where(EBIKE_REFUND.REFUND_STATUS.eq(RefundStatus.PROCESSED));
|
||||
.where(EBIKE_REFUND.REFUND_ORDER_ID.eq(refundOrderId));
|
||||
EbikeRefund ebikeRefund = this.mapper.selectOneByQuery(queryWrapper);
|
||||
|
||||
if (ebikeRefund == null) {
|
||||
log.warn("未找到状态为'退款中'的退款记录,退款单ID: {}", refundOrderId);
|
||||
log.warn("未找到退款订单号为的退款记录,退款单ID: {}", refundOrderId);
|
||||
return null;
|
||||
}
|
||||
return ebikeRefund.getOrderId();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user