Skip to main content
#P1499

POST /check/operation/update

Route Info

Method Endpoint Controller Middleware Purpose
POST /api/v2/check/operation/update V2CreditDebitController@operationUpdateCheck authWithJwt به‌روزرسانی اطلاعات عملیات چک (operation record) شامل نوع، تاریخ و توضیحات، و بروز رسانی کش مالی.

منطق عملکرد تابع

تابع operationUpdateCheck برای تغییر جزئیات یک عملیات ثبت‌شده روی چک استفاده می‌شود، مانند اصلاح نوع عملیات (type)، تاریخ اجرا، توضیحات یا وضعیت آن.

ابتدا رکورد عملیات از جدول check_operations واکشی و اعتبارسنجی می‌شود. سپس تغییرات ذخیره شده و هرگونه وابستگی مبلغ یا وضعیت چک هماهنگ می‌گردد. پس از آن کش Redis مرتبط با گزارش چک و مالی شعبه ریفرش می‌شود.

ورودی‌ها

نام پارامتر نوع منبع الزامی توضیح
operation_id integer Body بله شناسه عملیات چک که باید بروزرسانی شود.
type string Body خیر نوع جدید عملیات (مانند assignment، cash، clearing).
date string (YYYY-MM-DD) Body خیر تاریخ جدید عملیات.
description string Body خیر توضیحات عملیات.
branch integer JWT/Header بله شناسه شعبه مالی مرتبط.
operator object JWT بله اطلاعات کاربری اجراکننده تغییر.

خروجی (Response)

{
  "status": true,
  "time": 1732287600,
  "result": {
    "operation_id": 305,
    "updated_fields": ["type", "description"],
    "cache": "financial:branch:5:refreshed",
    "message": "جزئیات عملیات چک با موفقیت بروزرسانی شد"
  }
}

نکات امنیتی

  • مجوز نقش: financial.check.operation.update ضروری است.
  • رکورد عملیات باید به شعبه کاربر تعلق داشته باشد.
  • تمام تغییرات در جدول ممیزی audit_logs ذخیره می‌شود.

نکات عملکردی

  • عملیات بروزرسانی در تراکنش پایگاه داده انجام می‌شود.
  • بازسازی کش محدود به این چک و شعبه انجام می‌گیرد.
  • TTL کش‌های جدید: 300 ثانیه.

وابستگی‌ها

  • use Illuminate\Support\Facades\DB;
  • use Illuminate\Support\Facades\Redis;
  • use Carbon\Carbon;
  • use App\Models\CheckOperation;
  • use App\Helpers\Functions;

کدهای خطا

کد شرح خطا منبع
400 ورودی‌ها ناقص یا نامعتبر. Validator
403 دسترسی غیرمجاز برای بروزرسانی عملیات چک. authWithJwt
404 شناسه عملیات یافت نشد. DB
500 خطا در به‌روزرسانی یا بازسازی کش. Exception Handler

پیشنهادهای امنیتی

  • اعمال تأیید دومرحله‌ای برای تغییرات حساس.
  • ثبت IP و User-Agent اپراتور در لاگ ممیزی.
  • اعمال محدودیت تعداد تغییر در بازه زمانی مشخص.

پیشنهادهای بهبود

  • افزودن پشتیبانی از نسخه‌بندی تغییرات عملیات چک.
  • امکان بروزرسانی گروهی عملیات‌های مشابه.
  • ارسال اعلان خودکار به ذینفعان در تغییر وضعیت عملیات.

ممیزی و لاگ‌ها

  • نوع لاگ: OperationUpdateCheck.
  • فیلدها: operation_id, branch, operator_id, updated_fields, timestamp.
  • مدت نگهداری: ۹۰ روز.

جمع‌بندی

تابع operationUpdateCheck ابزار اصلی برای اصلاح داده‌های عملیات ثبت‌شده روی چک است و با اعتبارسنجی، حفظ وابستگی‌ها و بازسازی کش‌ها داده‌ها را پایدار و به‌روز نگه می‌دارد.