diff --git a/backend/app/service/BusinessTripService.php b/backend/app/service/BusinessTripService.php index e5b260f..6cb13b5 100644 --- a/backend/app/service/BusinessTripService.php +++ b/backend/app/service/BusinessTripService.php @@ -684,8 +684,10 @@ class BusinessTripService { error_log("📝 approve() 开始: userId={$userId}, businessTripId={$businessTripId}, action={$action}"); - return $this->db->transaction(function () use ($userId, $businessTripId, $action, $comment) { - $businessTrip = BusinessTrip::with(['itineraries', 'approvalOrder'])->findOrFail($businessTripId); + try { + $result = $this->db->transaction(function () use ($userId, $businessTripId, $action, $comment) { + error_log("🔄 Transaction 开始"); + $businessTrip = BusinessTrip::with(['itineraries', 'approvalOrder'])->findOrFail($businessTripId); if (!$businessTrip->approval_order_id) { throw new \Exception('未找到审批单'); @@ -824,14 +826,27 @@ class BusinessTripService } } + error_log("💾 准备保存: order_status={$approvalOrder->status}, trip_status={$businessTrip->status}"); + $approvalOrder->save(); $businessTrip->save(); + error_log("✅ 保存完成: order_id={$approvalOrder->id}, trip_id={$businessTrip->id}"); + // 发送审批结果通知 $this->sendApprovalResultNotification($businessTrip, $action, $comment); + error_log("✅ Transaction 成功,返回结果"); + return $businessTrip->fresh(['itineraries', 'approvalOrder']); - }); + }); + + error_log("📝 approve() 完成: result_id=" . $result->id); + return $result; + } catch (\Exception $e) { + error_log("❌ approve() 异常: " . $e->getMessage() . " in " . $e->getFile() . ":" . $e->getLine()); + throw $e; + } } /**