fix fish variz name, dalilrad, sms, bale

This commit is contained in:
javad committed 2026-10-11 15:19:58 +03:30
1 parent 90931a5a64
commit 35a1ec1794
30 files changed
+674 -39

No files matched your search

+9 -1
View File
@@ -20,7 +20,15 @@
## متن و سابقه
تگ‌های متن: `{amount_rial}` (ریال)، `{customer_name}`، `{customer_mobile}`، `{received_at}` (تاریخ و ساعت شمسی)، `{paid_date}` (تاریخ واریز شمسی)، `{receipt_number}`، `{revision_version}`، `{receipt_link}` و `{manager_name}`. نام خالی مشتری با «نام ثبت نشده» جایگزین می‌شود. قالب‌بندی اضافی یا دسترسی به ویژگی‌های شیء در تگ‌ها پذیرفته نمی‌شود.
تگ‌های متن: `{amount_rial}` (ریال)، `{customer_name}`، `{customer_mobile}`، `{received_at}` (تاریخ و ساعت شمسی)، `{paid_date}` (تاریخ واریز شمسی)، `{receipt_number}`، `{revision_version}`، `{receipt_link}` و `{manager_name}`. تگ `{customer_name}` شامل نام مشتری و نام واریزکننده ثبت‌شده روی نسخه فیش است؛ اگر این دو نام یکسان باشند، فقط یک بار نوشته می‌شود. اگر نام مشتری خالی باشد، نام واریزکننده نمایش داده می‌شود. در قالب سفارشی بدون این تگ نیز هویت مشتری/واریزکننده به متن اضافه می‌شود. نام‌ها با قواعد یکسان‌سازی فارسی مقایسه می‌شوند. قالب‌بندی اضافی یا دسترسی به ویژگی‌های شیء در تگ‌ها پذیرفته نمی‌شود.
## نام واریزکننده و رد فیش
فیلد «نام واریزکننده» در تمام مسیرهای ثبت و اصلاح فیش اجباری است. نام پروفایل مشتری (و در نبود آن، نام حساب کاربری) پیش‌فرض فرم است و قابل تغییر می‌ماند؛ ثبت این نام، پروفایل مشتری را تغییر نمی‌دهد. هر نسخه نام مستقل دارد. migration `payments.0008_paymentreceiptrevision_depositor_name` برای نسخه‌های قدیمی مقدار خالی می‌گذارد، چون نام واقعی واریزکننده قابل بازسازی نیست؛ پنل این وضعیت را مشخص می‌کند و هنگام اصلاح، ثبت نام الزامی است.
پس از رد فیش توسط تأییدکننده مجاز، یک پیامک مشتری با رویداد `PAYMENT_RECEIPT_REJECTED` در صف موجود ثبت می‌شود. پیش از ثبت، صفحه بررسی هشدار می‌دهد که دلیل رد برای مشتری ارسال می‌شود و تأیید کارشناس را با نمایش متن دلیل می‌گیرد. درخواست HTTP بدون تأیید پذیرفته نمی‌شود. پیامک شامل دلیل کامل و لینک کوتاه مشاهده و اصلاح فیش است؛ کلید یکتای چرخه بررسی جلوی ساخت پیامک تکراری را می‌گیرد. ثبت تصمیم و صف در یک تراکنش انجام می‌شود و ارسال شبکه‌ای در Worker است.
migrationهای `notifications.0019` و `notifications.0020` رویداد و قالب عمومی قابل ویرایش آن را اضافه می‌کنند. تگ `{rejection_reason}` متن دلیل است؛ اگر قالب سفارشی آن را حذف کند، دلیل همچنان به انتهای پیام اضافه می‌شود. پس از انتشار، migrationها را اجرا و Worker موجود را بازراه‌اندازی کنید.
بله فایل خصوصی را مستقیماً همراه متن دریافت می‌کند؛ آدرس عمومی تصویر ایجاد نمی‌شود. لینک پیش‌فرض متن به جزئیات محافظت‌شده کارشناسان است. PNG/JPEG به‌صورت تصویر و دیگر فرمت‌های مجاز فیش به‌صورت فایل تصویری ارسال می‌شوند.