Skip to main content
#P1456

Route: POST /api/v2/online/{type}/lock

Route Info

Method Endpoint Controller Middleware Purpose
POST /api/v2/online/{type}/lock OnlineController@lockItemProgress authWithJwt قفل‌گذاری‌ موقت در سیستم موتور رزرو (Flight/Train)

منطق عملکرد

  1. ایجاد نمونه‌ای از \App\Lib\BaseService
  2. فراخوانی تابع lockItemProgress($request‑>data, false, $branch, $operatorId)
  3. ثبت نتیجه در جدول temporary_reservations با ساختار:
    • data → درخواست ارسالی
    • operator → شناسه اپراتور
    • result → پاسخ دریافتی از BaseService
    • timestamps → now()
  4. بازگرداندن lock_id و نتیجه در خروجی JSON
  5. در صورت استثناء: ارسال وضعیت false با کد خطای 1002 و اطلاعات پشتیبانی

نمونه پاسخ موفق

{
 "status": true,
 "time": 1732050123,
 "lock_id": 9321,
 "data": {
   "status": true,
   "token": "a342ff‑lock‑hash‑string",
   "expire": 180
 }
}

ورودی‌ها

پارامتر نوع ضروری توضیح
type string بله نوع سرویس (flight | train)
data object بله اطلاعات کامل آیتم مورد قفل
branch integer بله شناسه شعبه
operator object بله اپراتور فعلی (از JWT)

پاسخ در صورت خطا

{
 "status": false,
 "time": 1732050123,
 "error": {
   "code": 1002,
   "message": "Seats not available",
   "trace": [...]
 },
 "support": {
   "phone": "021‑91016838 in 121",
   "email": "ict@airplus.app",
   "panel": "helpdesk.airplus.app"
 }
}

وابستگی‌ها

  • BaseService::lockItemProgress()
  • DB Facade روی temporary_reservations

نکات توسعه

  • در نسخه‌های بعدی TTL لاک باید برگردانده شود.
  • ثبت لاگ SystemLog(type="LockOnlineItem") جهت ردیابی.