#P1382
POST /api/v2/colleagues/billing
POST /api/v2/colleagues/billing
| بخش | توضیحات |
|---|---|
| آدرس مسیر | POST /api/v2/colleagues/billing |
| کنترلر / تابع | ColleaguesController → general_billingV2(Request $request) |
| میانافزارها (Middlewares) | domainAccess |
۱. تحلیل عملکرد
این Route برای بازیابی اطلاعات صورتحساب عمومی همکار (Colleague Billing)همکاران در نسخه دوم API طراحی شده است. تابع ابتدابر شناسهاساس مقدار ورودی در فیلد id را بررسی میکند تا نوع موجودیتشناسه را تشخیص میدهد (colleague یا personnel) و با توجه به آننوع، ماندهماندهٔ اعتباری سال جاری را محاسبهتولید و برمیگرداند.
۲. ورودیها (Inputs)
| فیلد | نوع داده | اجباری | توضیح |
|---|---|---|---|
| id | string | بله | - |
۳. خروجی موفق (Successful Response - HTTP 200)
دربرای صورتیهمکاران که نوع colleague باشد و شناسه معتبر باشد:(colleague):
{
"CreditLimit": 12000000,
"CreditBalance": 4500000
}
مقدارفیلد CreditLimit ازبرابر فیلدبا مقدار credit_amount مدل Colleague گرفته میشود.است. CreditBalance تفاوتاز بینتفاضل CreditLimit و مانده (Balance)حساب محاسبهبرگرداندهشده توسط تابع CronController::colleaguesGeneralBilling($id) است.محاسبه میشود.
۴. خروجی برای پرسنل (personnel)
{
"CreditLimit": false,
"CreditBalance": false
}
۵. وابستگیها (Dependencies)
App\Http\Controllers\Api\CronController::colleaguesGeneralBilling($id)App\Models\ColleagueMorilog\Jalali\Jalalianبرای محاسبهسالتاریخ شمسی جاریشمسی
۶. موارد خطا (Error Cases - HTTP 200)
| شرط | خروجی JSON |
|---|---|
| عدم یافتن همکار در جدول Colleague | { "message": "اطلاعات شرکت بدرستی ارسال نشده است." } |
۷. شیوهٔ تست (Testing)
درخواست باید به صورت JSON و با Header Content-Type: application/json ارسال شود. مثلاً:شود:
POST /api/v2/colleagues/billing
Headers:
Content-Type: application/json
Body:
{
"id": "1234"
}
۸. خلاصه پیادهسازی (Implementation Summary)
- دریافت مقدار
$request->id - تشخیص نوع شناسه بر اساس وجود کاراکتر
- - محاسبه سال جاری شمسی با
Jalalian::forge('now') - اگر نوع colleague:
- واکشی
مدلColleagueبر اساسبا id - فراخوانی
تابعcolleaguesGeneralBilling() - محاسبه CreditBalance = CreditLimit - Balance
- واکشی
- اگر نوع personnel → بازگرداندن خروجی ثابت false/false
🧩 مستند بالا کاملاً مطابق قالب HTML نهایی نسخهٔ ۱.۱ با قوانین چینش نهایی آماده درج در Confluence است.