docs: update PACKAGE-MIGRATION-GUIDE — Q24-Q30 all done, F8-F11 completed
- Mark Q24, Q26, Q27, Q28 as ✅ with commit refs
- Mark F8-F11 as completed (were marked as future/pending)
- Add 3 new CMS commits (a1024a3, fdbb91d, 10d2ca2)
- Add FO commit (474d364) and BO commit (6939780)
- Add Migration step 2.5b: Q27_HistoryTables_And_RenameWalletHistory
- Update stats: 48 commits, 227+ files, 30 business decisions
- Update CMS commit table header to 20 commits
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
# 📦 راهنمای مهاجرت سیستم پکیجبیس — خلاصه تغییرات و پلن استقرار
|
||||
|
||||
> **وضعیت:** آماده تست و استقرار
|
||||
> **تاریخ:** ۸ اسفند ۱۴۰۴ (27 Feb 2026)
|
||||
> **وضعیت:** آماده تست و استقرار — **Q1-Q30 تکمیلشده ✅**
|
||||
> **تاریخ:** ۸ اسفند ۱۴۰۴ (27 Feb 2026) — آپدیت ۹ اسفند
|
||||
> **نسخه NuGet:** v0.0.188
|
||||
> **تعداد کامیتها:** ۴۳ کامیت در ۴ ریپازیتوری (+ ۴ کامیت مرتبط)
|
||||
> **مدت پیادهسازی:** ۴ روز (۲۴–۲۷ فوریه ۲۰۲۶)
|
||||
> **تعداد کامیتها:** ۴۸ کامیت در ۴ ریپازیتوری (۲۰ CMS + ۸ FO + ۶ BO + ۱۴ docs)
|
||||
> **مدت پیادهسازی:** ۵ روز (۲۴–۲۸ فوریه ۲۰۲۶)
|
||||
> **ریپوها:** CMS (`gitea`/`kub-stage`) · FrontOffice (`kub-stage`) · BackOffice (`kub-stage`) · totalDoc (`foursatDocs`/`main`)
|
||||
|
||||
---
|
||||
@@ -43,14 +43,16 @@
|
||||
|
||||
| شاخص | مقدار |
|
||||
|-------|-------|
|
||||
| فایلهای تغییریافته | **۱۴۱ فایل** |
|
||||
| خطوط اضافهشده | **+۱۰,۸۳۵** |
|
||||
| خطوط حذفشده | **−۲,۱۹۴** |
|
||||
| تصمیمات بیزینسی پیادهشده | **۲۳ تصمیم** (Q1–Q23) |
|
||||
| فایلهای تغییریافته | **۲۲۷+ فایل** |
|
||||
| خطوط اضافهشده | **+۱۷,۰۰۰+** |
|
||||
| خطوط حذفشده | **−۲,۶۶۰+** |
|
||||
| تصمیمات بیزینسی پیادهشده | **۳۰ تصمیم** (Q1–Q30) |
|
||||
| باگهای فیکسشده | **۶ باگ بحرانی** |
|
||||
| مقادیر hardcoded حذفشده | **۱۵+ مورد** |
|
||||
| Handlerهای deprecated حذفشده | **۴ handler** (۱۲ فایل) |
|
||||
| RPCهای deprecated حذفشده | **۴ RPC** + ۸ message type |
|
||||
| فایلهای rename شده | **۳۴ فایل** + ۱۱ دایرکتوری (UserWalletChangeLog → UserWalletHistory) |
|
||||
| History Tables جدید | **۳ جدول** (PackageHistories, ClubMembershipCycleHistories, UserWalletHistories) |
|
||||
|
||||
---
|
||||
|
||||
@@ -197,16 +199,16 @@
|
||||
|
||||
| ریپو | کامیت | فایل | اضافه | حذف | شرح اصلی |
|
||||
|-------|-------|------|-------|-----|-----------|
|
||||
| **CMS** | ۱۷ | ۹۳ | +۷,۳۳۱ | −۱,۸۵۵ | Domain + Business Logic + Commission + Proto + Cleanup |
|
||||
| **FrontOffice** | ۸ | ۲۲ | +۴۷۵ | −۱۳۶ | Dynamic UI + Customer RPCs + Per-package Reports |
|
||||
| **BackOffice** | ۶ | ۱۸ | +۴۹۷ | −۳۱ | Package CRUD + Feature Matrix + Per-package Reports |
|
||||
| **totalDoc** | ۱۲ | ۸ | +۲,۵۳۲ | −۱۷۲ | مستندات بیزینسی + تکنیکال |
|
||||
| **CMS** | ۲۰ | ۱۷۹+ | +۱۳,۵۸۶ | −۲,۳۲۷ | Domain + Business + Commission + Proto + History + Rename + Interceptor |
|
||||
| **FrontOffice** | ۸ | ۲۹ | +۵۵۰ | −۱۳۶ | Dynamic UI + Customer RPCs + Per-package Reports + UI Guidance |
|
||||
| **BackOffice** | ۶ | ۲۴ | +۵۸۰ | −۳۱ | Package CRUD + Feature Matrix + Per-package Reports + UI Guidance |
|
||||
| **totalDoc** | ۱۴ | ۱۳ | +۲,۷۰۰ | −۱۹۴ | مستندات بیزینسی + تکنیکال + Phase 9 |
|
||||
|
||||
---
|
||||
|
||||
## 4. جزئیات تغییرات هر ریپو
|
||||
|
||||
### 4.1 CMS — ۱۷ کامیت
|
||||
### 4.1 CMS — ۲۰ کامیت
|
||||
|
||||
| فاز | کامیت | شرح |
|
||||
|-----|--------|------|
|
||||
@@ -228,6 +230,9 @@
|
||||
| **Phase 8e** | `aaaf7fc` | Per-package filtering در Commission queries |
|
||||
| **Phase 8f** | `dcd1135` | PackageFeature CRUD support |
|
||||
| **Audit** | `1ac2366` | Compliance audit — Feature DIFF + حذف fallbackهای hardcoded |
|
||||
| **Phase 9a** | `a1024a3` | Q24: آستانه موجودی `≤1M` ریال + Q26: SP Worker auto-deploy (IHostedService + checksum) |
|
||||
| **Phase 9b** | `fdbb91d` | Q27: PackageHistory + ClubMembershipCycleHistory entities + enums + EF configs |
|
||||
| **Phase 9d** | `10d2ca2` | Rename UserWalletChangeLog→UserWalletHistory (86 فایل) + IHasHistory + Interceptor + Migration |
|
||||
|
||||
### 4.2 FrontOffice — ۸ کامیت
|
||||
|
||||
@@ -241,6 +246,7 @@
|
||||
| **Phase 8e** | `a956cb9` | Per-package filtering در Commission pages |
|
||||
| **Phase 8f** | `3bffc13` | T4.2+T4.3+F3: پرداخت شرطی + خرید مجدد + PV |
|
||||
| **Audit** | `816dcb7` | حذف ۵۶M hardcoded — قیمتگذاری داینامیک |
|
||||
| **Phase 9c** | `474d364` | Q28: UI Guidance alerts (G1-G7) — ۷ صفحه MudAlert آموزشی |
|
||||
|
||||
### 4.3 BackOffice — ۶ کامیت
|
||||
|
||||
@@ -252,6 +258,7 @@
|
||||
| **Phase 8e** | `8be98ae` | Per-package commission filtering + PackageSelect component |
|
||||
| **Phase 8f** | `e020354` | ChangeParentDialog + PackageFeature checkbox matrix |
|
||||
| **Audit** | `e6cf90e` | ManualPaymentDialog — حذف ۵۶M + Amount editable |
|
||||
| **Phase 9c** | `6939780` | Q28: UI Guidance alerts (G8-G13) — ۶ صفحه MudAlert |
|
||||
|
||||
---
|
||||
|
||||
@@ -390,6 +397,14 @@
|
||||
2.5 Seed پکیج نقرهای (اگر توسط EF Seed انجام نشده)
|
||||
└── INSERT پکیج نقرهای + PackageFeatures
|
||||
|
||||
2.5b اجرای Migration دوم: Q27_HistoryTables_And_RenameWalletHistory
|
||||
└── این migration شامل:
|
||||
• RenameTable: UserWalletChangeLogs → UserWalletHistories (حفظ دادهها!)
|
||||
• RenameIndex × 2 + sp_rename PK + FK × 2
|
||||
• CreateTable: PackageHistories (فیلدهای Old*/New*)
|
||||
• CreateTable: ClubMembershipCycleHistories (فیلدهای Old*/New*)
|
||||
⚠️ دادههای قبلی UserWalletChangeLogs حفظ میشوند (RenameTable نه DropTable)
|
||||
|
||||
2.6 Deploy CMS به Kubernetes
|
||||
└── kubectl set image deployment/cms cms=cms:package-based
|
||||
└── kubectl rollout status deployment/cms
|
||||
@@ -629,13 +644,12 @@ kubectl set image deployment/backoffice bo=bo:rollback-point
|
||||
| F5 | SystemConfiguration per-package | 🟡 | تنظیمات global vs per-package |
|
||||
| F6 | MagicWalletChargePage hardcoded | 🟡 | ×۲.۵ و سقف در ۶ جا FO |
|
||||
| F7 | Validators async per-package | 🟢 | سقف 1B → مقدار واقعی |
|
||||
| F8 | آستانه موجودی ورود به Magic (Q24) | 🔴 | `Balance == 0` → `Balance <= 1M ریال` |
|
||||
| F9 | SP Worker — مدیریت خودکار SP (Q26) | 🔴 | IHostedService + checksum + auto-deploy |
|
||||
| F10 | History Tables — یکسانسازی + خودکار (Q27) | 🟡 | نامگذاری + IHasHistory + interceptor |
|
||||
| F11 | UI Guidance — آموزش و هشدار (Q28) | 🟡 | مودال + متن inline در FO/BO |
|
||||
| ~~F8~~ | ~~آستانه موجودی ورود به Magic (Q24)~~ | ✅ انجامشده | CMS:`a1024a3` — `Balance <= 1_000_000` |
|
||||
| ~~F9~~ | ~~SP Worker — مدیریت خودکار SP (Q26)~~ | ✅ انجامشده | CMS:`a1024a3` — `StoredProcedureDeploymentService` |
|
||||
| ~~F10~~ | ~~History Tables — یکسانسازی + خودکار (Q27)~~ | ✅ انجامشده | CMS:`fdbb91d`+`10d2ca2` — IHasHistory + Interceptor + RenameTable migration |
|
||||
| ~~F11~~ | ~~UI Guidance — آموزش و هشدار (Q28)~~ | ✅ انجامشده | FO:`474d364` BO:`6939780` — ۱۳ صفحه MudAlert |
|
||||
|
||||
> **F8 و F9 ریسک عملیاتی دارند** و باید قبل از production پیاده شوند.
|
||||
> **F10 و F11** میتوانند در فاز بعدی انجام شوند. سایر موارد (F1-F7) با fallback فعلی مشکلی ندارند.
|
||||
> ✅ **F8-F11 همه پیادهسازی شدند.** سایر موارد (F1-F7) با fallback فعلی مشکلی ندارند و میتوانند در فاز بعدی انجام شوند.
|
||||
|
||||
---
|
||||
|
||||
@@ -669,18 +683,18 @@ kubectl set image deployment/backoffice bo=bo:rollback-point
|
||||
| Q22 | تشخیص هفته از LastActivationDate | ✅ `607f791` |
|
||||
| Q23 | Carryover strictly per-package | ✅ `607f791` |
|
||||
|
||||
### تصمیمات جدید v6 (Q24–Q30) — در انتظار پیادهسازی:
|
||||
### تصمیمات v6 (Q24–Q30) — ✅ تکمیلشده:
|
||||
|
||||
| # | تصمیم | وضعیت | اولویت |
|
||||
|---|-------|-------|--------|
|
||||
| Q24 | آستانه موجودی ≤ ۱۰۰,۰۰۰ تومان (ورود Magic + خرید مجدد) | ⬜ | 🔴 P0 |
|
||||
| # | تصمیم | وضعیت | کامیت |
|
||||
|---|-------|-------|-------|
|
||||
| Q24 | آستانه موجودی ≤ ۱,۰۰۰,۰۰۰ ریال (ورود Magic + خرید مجدد) | ✅ | CMS:`a1024a3` |
|
||||
| Q25 | DayaLoans فقط پکیج پایه — تایید (بدون تغییر کد) | ✅ تایید | — |
|
||||
| Q26 | SP Worker — auto-deploy با checksum | ⬜ | 🔴 P0 |
|
||||
| Q27 | History Tables — نامگذاری یکسان + IHasHistory + interceptor | ⬜ | 🟡 P1 |
|
||||
| Q28 | UI Guidance — مودال + متن آموزشی/هشداری در FO/BO | ⬜ | 🟡 P1 |
|
||||
| Q26 | SP Worker — auto-deploy با checksum (IHostedService) | ✅ | CMS:`a1024a3` |
|
||||
| Q27 | History Tables — PackageHistory + CycleHistory + IHasHistory + Interceptor + Rename UserWalletChangeLog→UserWalletHistory | ✅ | CMS:`fdbb91d`+`10d2ca2` |
|
||||
| Q28 | UI Guidance — ۱۳ صفحه MudAlert آموزشی/هشداری در FO/BO | ✅ | FO:`474d364` BO:`6939780` |
|
||||
| Q29 | شرط EXIT Magic — تایید: آخرین پکیج فعال (بدون تغییر کد) | ✅ تایید | — |
|
||||
| Q30 | Carryover — تایید: توضیح مستند شد (بدون تغییر کد) | ✅ تایید | — |
|
||||
|
||||
---
|
||||
|
||||
*آخرین بروزرسانی: ۸ اسفند ۱۴۰۴ — v6: Q24-Q30 اضافه شد (آستانه موجودی + SP Worker + History + UI Guidance)*
|
||||
*آخرین بروزرسانی: ۹ اسفند ۱۴۰۴ — v6.1: Q24-Q30 همه تکمیلشده ✅ | ۴۸ کامیت (۲۰ CMS + ۸ FO + ۶ BO + ۱۴ docs) | History Interceptor + Rename + Migration اضافه شد*
|
||||
|
||||
Reference in New Issue
Block a user