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