فهرست منبع

fix: 完结支付分订单时若微信返回DONE,同步更新order.status和payStatus

completePayScoreOrder 在微信 /complete 接口返回 state=DONE 时,
只记录了日志但未更新订单的 payStatus 和 status,导致已完成订单
在列表中仍显示"待支付"。现在当 state=DONE 时同步设置:
- payStatus = PAID
- status = COMPLETED
- payTime = 当前时间
- 清除 failReason

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
skyline 2 هفته پیش
والد
کامیت
e28879e941
1فایلهای تغییر یافته به همراه5 افزوده شده و 0 حذف شده
  1. 5 0
      haha-service/src/main/java/com/haha/service/payment/payscore/impl/PayScoreServiceImpl.java

+ 5 - 0
haha-service/src/main/java/com/haha/service/payment/payscore/impl/PayScoreServiceImpl.java

@@ -176,6 +176,11 @@ public class PayScoreServiceImpl implements PayScoreService {
             order.setTotalAmount(totalAmount);
 
             if (PayScoreState.DONE.getCode().equals(state)) {
+                // 完结并扣款成功,同步更新订单状态为已完成
+                order.setPayStatus(PayStatus.PAID.getCode());
+                order.setStatus(OrderStatus.COMPLETED.getCode());
+                order.setPayTime(LocalDateTime.now());
+                order.setPayScoreFailReason(null);
                 log.info("[支付分服务] 完结并扣款成功 - orderId: {}, state: {}", orderId, state);
             } else if (PayScoreState.isPaying(state)) {
                 log.warn("[支付分服务] 完结成功但用户待支付 - orderId: {}, state: {}", orderId, state);