|
@@ -1320,11 +1320,23 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
return Map.of("success", false, "message", "订单不存在: " + orderIdOrNo);
|
|
return Map.of("success", false, "message", "订单不存在: " + orderIdOrNo);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- // 如果提供了 outOrderNo,先回填到本地订单
|
|
|
|
|
|
|
+ // 如果本地丢失 payScoreOrderId,尝试从 Redis 自动恢复
|
|
|
|
|
+ if ((order.getPayScoreOrderId() == null || order.getPayScoreOrderId().isEmpty())
|
|
|
|
|
+ && (payScoreOrderId == null || payScoreOrderId.isEmpty())) {
|
|
|
|
|
+ String recovered = payScoreService.tryRecoverPayScoreOrderId(order.getUserId(), order.getDeviceId());
|
|
|
|
|
+ if (recovered != null) {
|
|
|
|
|
+ payScoreOrderId = recovered;
|
|
|
|
|
+ log.info("[支付分修复] 自动恢复 payScoreOrderId - orderId: {}, recovered: {}", order.getId(), recovered);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 如果提供了 outOrderNo(手动或自动恢复),先回填到本地订单
|
|
|
if (payScoreOrderId != null && !payScoreOrderId.isEmpty()) {
|
|
if (payScoreOrderId != null && !payScoreOrderId.isEmpty()) {
|
|
|
if (order.getPayScoreOrderId() == null || order.getPayScoreOrderId().isEmpty()) {
|
|
if (order.getPayScoreOrderId() == null || order.getPayScoreOrderId().isEmpty()) {
|
|
|
order.setPayScoreOrderId(payScoreOrderId);
|
|
order.setPayScoreOrderId(payScoreOrderId);
|
|
|
order.setPayScoreState(PayScoreState.DOING.getCode());
|
|
order.setPayScoreState(PayScoreState.DOING.getCode());
|
|
|
|
|
+ order.setPayChannel(PaymentChannel.WECHAT_PAYSCORE.getCode());
|
|
|
|
|
+ order.setPayType("微信支付分");
|
|
|
this.updateById(order);
|
|
this.updateById(order);
|
|
|
log.info("[支付分修复] 回填 payScoreOrderId - orderId: {}, orderNo: {}, payScoreOrderId: {}",
|
|
log.info("[支付分修复] 回填 payScoreOrderId - orderId: {}, orderNo: {}, payScoreOrderId: {}",
|
|
|
order.getId(), order.getOrderNo(), payScoreOrderId);
|
|
order.getId(), order.getOrderNo(), payScoreOrderId);
|
|
@@ -1339,7 +1351,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
|
|
|
|
|
if (order.getPayScoreOrderId() == null || order.getPayScoreOrderId().isEmpty()) {
|
|
if (order.getPayScoreOrderId() == null || order.getPayScoreOrderId().isEmpty()) {
|
|
|
return Map.of("success", false, "message",
|
|
return Map.of("success", false, "message",
|
|
|
- "订单未创建支付分服务订单,请在微信商户后台找到 outOrderNo 后输入");
|
|
|
|
|
|
|
+ "未找到支付分商户单号,请从微信商户后台查找后手动输入");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if (PayScoreState.isFinished(order.getPayScoreState())) {
|
|
if (PayScoreState.isFinished(order.getPayScoreState())) {
|