From 6fc15b474edf407b5cba13271ff3dd280ca82851 Mon Sep 17 00:00:00 2001 From: masoodafar-web Date: Fri, 27 Feb 2026 06:50:07 +0330 Subject: [PATCH] =?UTF-8?q?docs:=20update=20PACKAGE-MIGRATION-GUIDE=20?= =?UTF-8?q?=E2=80=94=20Q24-Q30=20all=20done,=20F8-F11=20completed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 --- deployment/PACKAGE-MIGRATION-GUIDE.md | 68 ++++++++++++++++----------- 1 file changed, 41 insertions(+), 27 deletions(-) diff --git a/deployment/PACKAGE-MIGRATION-GUIDE.md b/deployment/PACKAGE-MIGRATION-GUIDE.md index 8dfbe17..7cca504 100644 --- a/deployment/PACKAGE-MIGRATION-GUIDE.md +++ b/deployment/PACKAGE-MIGRATION-GUIDE.md @@ -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 اضافه شد*