docs: Phase 10 — DataMigration + EF Staging + PackagePurchaseDialog + UI Fixes

Updated 8 docs:
- CHANGELOG: Phase 10a-d (DataMigration tool, EF staging migrations, PackagePurchaseDialog, 4 UI fixes)
- PAYMENT-FINANCE: Rial→Toman conversion chain documented, PackagePurchaseDialog status
- TECH-02: Added PackagePurchaseDialog to folder structure + status table
- TECH-04: DataMigration tool features (smart retry, FK handling, fallback tables), EF staging
- PACKAGE-TASKS: Phase 10 graph, NuGet v0.0.189, T4.1+T4.2 marked 
- BIZ-PACKAGE: v6→v7, commits updated, T4.1+T4.2 marked 
- INDEX: Updated last-update + R3 description
- ROADMAP: Progress bars updated, DONE section + NOW section refreshed
This commit is contained in:
masoodafar-web
2026-02-27 20:56:00 +03:30
parent de69bf862c
commit 39590d2cbe
8 changed files with 136 additions and 35 deletions
+6 -6
View File
@@ -1,10 +1,10 @@
# 📦 سیستم مبتنی بر پکیج (Package-Based System)
> **وضعیت:** پیاده‌سازی کد تکمیل — **فاز ۰-۹ ✅** | تست + استقرار باقی‌مانده
> **وضعیت:** پیاده‌سازی کد تکمیل — **فاز ۰-۱۰ ✅** | تست نهایی باقی‌مانده
> **تاریخ بروزرسانی:** ۸ اسفند ۱۴۰۴
> **نسخه:** v6 (آستانه موجودی + SP Worker + History Tables + UI Guidance)
> **تاثیرگذاری:** زیاد — **۹۵+** تغییر در ۶ لایه (۵۱ اصلی + ۴۴ سایدافکت)
> **کامیت‌ها:** `8b9c317` (Phase 0) → `ae92ab8` (Phase 1) → `a9cd2fd` (Phase 1.5) → `8e5c7c5` (Phase 2) → `ccb938e` (Phase 3) → `0002a5a` (Phase 4) → `a1024a3` (Q24+Q26) → `fdbb91d` (Q27) → `10d2ca2` (Rename+Interceptor+Migration)
> **نسخه:** v7 (DataMigration + EF Staging + PackagePurchaseDialog + UI Fixes)
> **تاثیرگذاری:** زیاد — **۱۰۰+** تغییر در ۶ لایه (۵۱ اصلی + ۴۴ سایدافکت + ۵ استقرار)
> **کامیت‌ها:** `8b9c317` (Phase 0) → `ae92ab8` (Phase 1) → `a9cd2fd` (Phase 1.5) → `8e5c7c5` (Phase 2) → `ccb938e` (Phase 3) → `0002a5a` (Phase 4) → `a1024a3` (Q24+Q26) → `fdbb91d` (Q27) → `10d2ca2` (Rename+Interceptor+Migration) → `a3681a8` (PackagePurchaseDialog) → `3c1a8ff` (UI Fixes)
---
@@ -1431,8 +1431,8 @@ SELECT 'Balances', COUNT(*) FROM "CMS"."NetworkWeeklyBalances" WHERE "PackageId"
| تسک | شرح | v3? |
|-----|----- |-----|
| **T4.1** | FrontOffice: کاشی‌های پکیج (داینامیک) | |
| **T4.2** | FrontOffice: مدال پرداخت (دایا+مستقیم / فقط مستقیم) | |
| **T4.1** | FrontOffice: کاشی‌های پکیج (داینامیک) — ✅ `PackagePurchaseDialog.razor` | |
| **T4.2** | FrontOffice: مدال پرداخت (دایا+مستقیم / فقط مستقیم) — ✅ Step 2 in dialog | |
| **T4.3** | FrontOffice: MyPackages — re-purchase | |
| **T4.4** | FrontOffice: ActivationSection + Contract — داینامیک | |
| **T4.5** | BackOffice: CRUD پکیج — فیلدهای جدید (۱۱ فیلد) | 🔄 |
+9 -1
View File
@@ -1,7 +1,7 @@
# 💰 سیستم مالی، پرداخت و درگاه‌ها
> **منابع ادغام‌شده:** `payment-gateway.md`, `payment-architecture-pyms.md`, `daya-loan-integration.md`, `manual-payment-system.md`, `discount-shop-business.md`
> **آخرین بروزرسانی:** اسفند ۱۴۰۴ (بروزرسانی: فیکس WalletChangeLog + validation کیف‌پول اعتباری + نام‌گذاری جدید کیف‌پول‌ها)
> **آخرین بروزرسانی:** اسفند ۱۴۰۴ (بروزرسانی: فیکس Toman/Rial + PackagePurchaseDialog + اعمال migrations بر staging)
---
@@ -63,6 +63,12 @@ flowchart TD
| `Sandbox` | `true` (staging) / `false` (production) |
| `Currency` | IRR (ریال → تبدیل به تومان در UI) |
> **✅ توضیح تبدیل Rial → Toman:**
> - **DB:** `Package.Price` به **ریال** ذخیره می‌شود (`/// قیمت پکیج (ریال)`)
> - **CMS → ZarinPal:** مستقیم ریال ارسال می‌شود (`Amount = package.Price` → `amountInRials = (long)request.Amount`)
> - **FrontOffice UI:** `PackageDto.FormattedPrice` = `Price / 10` + «تومان» (فیکس شد در `3c1a8ff`)
> - **باگ قبلی:** FO مقدار خام ریال را با برچسب «تومان» نمایش می‌داد (مثلاً ۵۶۰،۰۰۰،۰۰۰ تومان بجای ۵۶،۰۰۰،۰۰۰ تومان)
> **تنظیمات محیطی:**
> - `appsettings.json` + `appsettings.Staging.json`: `UseSandbox: true` (تست)
> - `appsettings.Production.json`: `UseSandbox: false` (واقعی)
@@ -244,6 +250,8 @@ service PaymentService {
| Pool هفتگی | ✅ کامل | SP + Hangfire |
| WalletChangeLog | ✅ فیکس شده | لاگ تغییرات کیف‌پول در ۳ هندلر اضافه شد |
| Validation کیف‌پول اعتباری | ✅ فیکس شده | ارور اگر موجودی کافی نباشد |
| Toman/Rial تبدیل نمایش | ✅ فیکس شده | `Price / 10` در FO — درگاه ریال می‌گیرد، UI تومان نمایش می‌دهد |
| PackagePurchaseDialog | ✅ کامل | دیالوگ داینامیک کاشی‌ای با انتخاب روش پرداخت |
| پرداخت دستی | ⬜ طراحی | نیاز به تصمیم مدیریت |
| Refund | ⬜ طراحی | فقط در PYMS تعریف‌شده |
| کیف‌پول جادویی (Magic) | ✅ کامل | فاز 1-6 پیاده‌سازی شده — Production فعال |