docs: update all documentation for Package-Based Transformation Phase 0-4

- OVERVIEW-03-CHANGELOG: Add complete Package-Based section (Phase 0-4) with
  commit references, add summary table row, update timeline
- OVERVIEW-05-ROADMAP: Add Package-Based progress bar (83%), update DONE/NOW
  sections with Phase 0-4 complete and Phase 5-6 pending
- OVERVIEW-02-INDEX: Add 4 new roadmap files to index, update file counts
- BIZ-PACKAGE-BASED-SYSTEM: Status → 'در حال پیاده‌سازی — فاز 0-4 تکمیل'
  with all 7 commit hashes
- PACKAGE-TRANSFORMATION-TASKS: Mark Phase 0/1/2 as complete with commit refs,
  update overview diagram with completion markers
This commit is contained in:
masoodafar-web
2026-02-26 00:32:33 +03:30
parent 977ef69e26
commit 37330a3e45
5 changed files with 118 additions and 28 deletions
+78 -4
View File
@@ -1,7 +1,7 @@
# 📜 تاریخچه کارهای انجام‌شده
> **همه فعالیت‌های پروژه به صورت بولت با توضیح یک‌خطی و درصد تکمیل**
> **آخرین بروزرسانی:** اسفند ۱۴۰۴ (بروزرسانی: فعال‌سازی درگاه + مرج پروداکشن + بهبود UI ادمین)
> **آخرین بروزرسانی:** اسفند ۱۴۰۴ (بروزرسانی: تحول پکیج‌بیس فاز ۰-۴ + فعال‌سازی درگاه + مرج پروداکشن)
---
@@ -11,10 +11,11 @@
|------|-----------|----------|---------|
| **BackOffice** | 61 | 60 | **98%** |
| **FrontOffice** | 40 | 38 | **95%** |
| **CMS Core** | 58 | 56 | **97%** |
| **CMS Core** | 72 | 70 | **97%** |
| **Package-Based System** | 30 | 25 | **83%** |
| **Deployment** | 22 | 21 | **95%** |
| **Migration** | 16 | 16 | **100%** |
| **مجموع** | **197** | **191** | **97%** |
| **مجموع** | **241** | **230** | **95%** |
---
@@ -217,7 +218,79 @@
---
## ۷. Timeline (جدول زمانی)
## ۷. تحول سیستم پکیج‌بیس (Package-Based Transformation) — 83%
> 📦 تبدیل سیستم تک‌پکیجی hardcoded به معماری چند‌پکیجی داینامیک
> مرجع: [BIZ-PACKAGE-BASED-SYSTEM.md](../business/BIZ-PACKAGE-BASED-SYSTEM.md) | [PACKAGE-TRANSFORMATION-TASKS.md](../roadmap/PACKAGE-TRANSFORMATION-TASKS.md)
### Phase 0 — فیکس باگ‌های فوری ✅ (`8b9c317`, `fe3edd1`)
- ✅ B1: DiscountBalance شارژ نمی‌شد در VerifyGoldenPackagePurchase — اضافه `DiscountBalance += Amount × 2` + WalletChangeLog
- ✅ B2: UserPackagePurchase ساخته نمی‌شد در VerifyGoldenPackagePurchase — ساخت record بعد verify
- ✅ B3: UserPackagePurchase ساخته نمی‌شد در VerifyPackagePurchase — ساخت record
- ✅ B4: UserPackagePurchase ساخته نمی‌شد در VerifyBasePackagePayment — ساخت record
- ✅ B6: EXIT Magic Mode — ریست PackagePurchaseMethod + بستن چرخه فعلی
### Phase 1 — زیرساخت Domain ✅ (`ae92ab8`)
- ✅ T1.1: Package Entity — ۱۱ فیلد جدید (SortOrder, IsActive, IsBasePackage, DiscountMultiplier, MagicWalletMultiplier, ...)
- ✅ T1.2: PackageFeature Entity — رابطه M:N بین Package و ClubFeature
- ✅ T1.3: ClubMembership — ۴ فیلد First/Last Activation + PackageId
- ✅ T1.4-T1.6: اضافه PackageId به ClubMembershipCycle, WeeklyCommissionPool, UserCommissionPayout, NetworkWeeklyBalance, UserWalletChangeLog
- ✅ T1.7: علامت‌گذاری ۹ SystemConstants به‌عنوان [Obsolete]
- ✅ T1.8: EF Configurations — Index, Precision, FK relations
### Phase 1.5 — Migration + Data Seed ✅ (`a9cd2fd`)
- ✅ EF Migration `AddPackageBasedSystem` — ستون‌ها + جداول + ایندکس‌ها
- ✅ Golden Package Seed (Id=1) — Price=56M, ActivationFee=25.2M, DiscountMultiplier=2.0, MagicWalletMultiplier=2.5
- ✅ Data Backfill — تمام رکوردهای موجود → PackageId=1
- ✅ فیکس nullable DateTime/long در ClubMembership
- ✅ فیکس Shadow FK PackageId1
### Phase 2 — منطق کسب‌وکار ✅ (`8e5c7c5`)
- ✅ T2.1: ActivateClubMembership — ActivationFee از Package entity
- ✅ T2.2: AcceptClubMembershipContract — Package features از DB
- ✅ T2.3: CalculateWeeklyBalances — MaxBalancesPerLeg per-package
- ✅ T2.4: ProcessUserPayouts — PackageId tracking
- ✅ T2.5: DayaLoans — Package.Price بجای hardcoded
- ✅ T2.6: ManualPayment — Package.Price بجای hardcoded
- ✅ T2.7: InitiateBasePackage/VerifyBasePackage — Package-based
- ✅ T2.8: ChargeMagicWallet/VerifyMagicWalletCharge — MagicWalletMultiplier per-package
- ✅ T2.9: OrmCommissionCalculationStrategy — MaxBalancesPerLeg/MaxNetworkLevel per-package
- ✅ T2.10: ConfigurationService/UserOrderService/UserWalletService — Package reads
-**نتیجه:** صفر مصرف SystemConstants deprecated باقی مانده
### Phase 3 — بازسازی لایه Package ✅ (`ccb938e`)
- ✅ Proto: ۱۱ فیلد جدید در ۵ message (CreateNewPackageRequest, UpdatePackageRequest, GetPackageResponse, ...)
- ✅ GetUserPackageStatus — پیاده‌سازی (قبلاً NotImplementedException بود!)
- ✅ CustomerVerifyPackagePurchase — شارژ کیف‌پول اضافه شد (قبلاً missing بود!)
- ✅ VerifyGoldenPackagePurchase — `package.DiscountMultiplier` بجای hardcoded ×2
- ✅ GetAllPackageByFilter — فیلتر IsDeleted
- ✅ GetCustomerPackages — فیلتر IsDeleted + IncludeInactive + SortOrder
- ✅ GetCustomerPackageDetails — PackageFeatures از DB
- ✅ GetCustomerPurchaseHistory — Include Transaction
- ✅ UpdatePackageCommand — ۱۲ فیلد جدید
### Phase 4 — تکمیل CRUD + Legacy Fixes ✅ (`0002a5a`)
- ✅ CreateNewPackageCommand — ۱۲ فیلد جدید با default‌های مناسب
- ✅ GetPackageResponseDto — ۱۲ فیلد جدید (Mapster auto-map)
- ✅ GetAllPackageByFilterResponseModel — ۱۲ فیلد جدید
- ✅ PurchaseGoldenPackage — حذف Title string match شکننده (`"طلایی"/"golden"`) → `IsDeleted/IsActive/SupportsDirectPurchase`
- ✅ VerifyPackagePurchase — حذف hardcoded `order.Amount × 2``package.DiscountMultiplier` از DB
### Phase 5 — پورسانت per-package ⬜ (در انتظار)
- ⬜ SP پارامترهای داینامیک (@MaxBalancesPerLeg, @MaxNetworkLevel)
- ⬜ Loop Service — حلقه روی پکیج‌های فعال
- ⬜ Carryover مجزا per-package
### Phase 6 — UI ⬜ (در انتظار)
- ⬜ FrontOffice: کاشی‌های داینامیک پکیج
- ⬜ FrontOffice: MyPackages + re-purchase
- ⬜ FrontOffice: Commission Dashboard per-package
- ⬜ BackOffice: Package CRUD UI
- ⬜ BackOffice: فیلتر پکیج در گزارش‌ها
---
## ۸. Timeline (جدول زمانی)
| زمان | رویداد | درصد پروژه |
|------|--------|-----------|
@@ -232,3 +305,4 @@
| اسفند ۱۴۰۳ (هفته ۴) | مستندات + نهایی‌سازی | 95% |
| اسفند ۱۴۰۴ (هفته ۱-۲) | 🪄 کیف‌پول جادویی (فاز 1-6) + اصلاح VAT 10% | 96% |
| اسفند ۱۴۰۴ (هفته ۳) | 🚀 فعال‌سازی درگاه + بهبود UI ادمین + مرج پروداکشن | 97% |
| اسفند ۱۴۰۴ (هفته ۴) | 📦 تحول پکیج‌بیس فاز ۰-۴ (Domain + Migration + Business Logic + Package Layer + CRUD) | 95% |