fix(platform-orders): refresh order after activation to keep subscription_activation meta

This commit is contained in:
萝卜
2026-03-17 10:32:16 +08:00
parent c1d02bbc48
commit e24a3b031c
2 changed files with 144 additions and 0 deletions

View File

@@ -763,6 +763,10 @@ class PlatformOrderController extends Controller
try {
$subscription = $service->activateOrder($order->id, $admin->id);
// 重要activateOrder() 内会更新订单 metasubscription_activation 等)。
// 这里必须 refresh避免用旧 $order->meta 覆盖掉刚写入的 subscription_activation。
$order->refresh();
// 同步成功:清理失败记录(若存在)+ 写入审计记录
$meta = (array) ($order->meta ?? []);
data_forget($meta, 'subscription_activation_error');
@@ -872,6 +876,10 @@ class PlatformOrderController extends Controller
try {
$subscription = $service->activateOrder($order->id, $admin->id);
// 重要activateOrder() 内会更新订单 metasubscription_activation 等)。
// 这里必须 refresh避免用旧 $order->meta 覆盖掉刚写入的 subscription_activation。
$order->refresh();
$meta = (array) ($order->meta ?? []);
data_forget($meta, 'subscription_activation_error');