#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) |
منطق عملکرد
- ایجاد نمونهای از
\App\Lib\BaseService
- فراخوانی تابع
lockItemProgress($request‑>data, false, $branch, $operatorId)
- ثبت نتیجه در جدول
temporary_reservations با ساختار:
data → درخواست ارسالی
operator → شناسه اپراتور
result → پاسخ دریافتی از BaseService
- timestamps →
now()
- بازگرداندن
lock_id و نتیجه در خروجی JSON
- در صورت استثناء: ارسال وضعیت 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") جهت ردیابی.