Docs: Phase 8b-8d — BO CRUD expansion + FO Customer RPCs + Proto cleanup
- PACKAGE-TRANSFORMATION-TASKS.md: Add phases 8b, 8c, 8d with full details Updated overview diagram, commit hashes, status to 0-8d complete - OVERVIEW-03-CHANGELOG.md: Add Phase 8b (BO CRUD) + Phase 8a+8c (FO) Updated summary table to 99% (240/241 complete)
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# 📜 تاریخچه کارهای انجامشده
|
||||
|
||||
> **همه فعالیتهای پروژه به صورت بولت با توضیح یکخطی و درصد تکمیل**
|
||||
> **آخرین بروزرسانی:** اسفند ۱۴۰۴ (بروزرسانی: تحول پکیجبیس فاز ۰-۶ + per-package commission + deprecation cleanup)
|
||||
> **آخرین بروزرسانی:** اسفند ۱۴۰۴ (بروزرسانی: فاز ۸b-۸d — BO CRUD + FO Customer RPCs + Proto cleanup | NuGet v0.0.186)
|
||||
|
||||
---
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
| حوزه | تعداد آیتم | تکمیلشده | درصد کل |
|
||||
|------|-----------|----------|---------|
|
||||
| **BackOffice** | 61 | 60 | **98%** |
|
||||
| **FrontOffice** | 40 | 38 | **95%** |
|
||||
| **CMS Core** | 72 | 70 | **97%** |
|
||||
| **Package-Based System** | 30 | 28 | **93%** |
|
||||
| **BackOffice** | 61 | 61 | **100%** |
|
||||
| **FrontOffice** | 40 | 40 | **100%** |
|
||||
| **CMS Core** | 72 | 72 | **100%** |
|
||||
| **Package-Based System** | 30 | 30 | **100%** |
|
||||
| **Deployment** | 22 | 21 | **95%** |
|
||||
| **Migration** | 16 | 16 | **100%** |
|
||||
| **مجموع** | **241** | **233** | **97%** |
|
||||
| **مجموع** | **241** | **240** | **99%** |
|
||||
|
||||
---
|
||||
|
||||
@@ -67,6 +67,13 @@
|
||||
- ✅ فیلتر کاربر در صفحه ClubMembers — UserAutoComplete در تولبار جستجو
|
||||
- ✅ نمایش نام کاربر در WalletManagementPage — TemplateColumn با UserName + ID
|
||||
|
||||
### Phase 8b: CRUD پکیج کامل (اسفند ۱۴۰۴)
|
||||
- ✅ CreateDialog: اضافه ۱۲ فیلد جدید — SortOrder, ActivationFee, DiscountMultiplier, MagicWallet*, MaxBalancesPerLeg, MaxNetworkLevel, IsActive, IsBasePackage, SupportsDirectPurchase, SupportsDayaPurchase
|
||||
- ✅ UpdateDialog: همان ۱۲ فیلد جدید — ایجاد فرم کامل ادمین
|
||||
- ✅ PackageMainPage Grid: ۴ ستون جدید — قیمت (N0), ترتیب, وضعیت (فعال/غیرفعال chip), نوع (پایه/عادی chip)
|
||||
- ✅ فیکس `HasPurchasedGoldenPackage` → `HasPurchasedPackage` — UserNetworkInfo.razor
|
||||
- ✅ NuGet bump 0.0.184 → 0.0.186 + local feed source
|
||||
|
||||
---
|
||||
|
||||
## ۲. FrontOffice — فازها (95% کامل)
|
||||
@@ -98,6 +105,13 @@
|
||||
- ✅ دکمه پرداخت شارژ کیفپول اعتباری — ChargeDiscountWallet.razor فعال شد (حذف «بزودی»)
|
||||
- ✅ دکمه پرداخت شارژ کیفپول جادویی — MagicWallet.razor فعال شد (حذف «بزودی»)
|
||||
- ✅ دکمههای پرداخت مستقیم خرید پکیج — Index.razor هر دو شاخه فعال شدند (حذف «بزودی»)
|
||||
|
||||
### Phase 8a+8c: Checkout + Package Pages (اسفند ۱۴۰۴)
|
||||
- ✅ Checkout wire-up — مهاجرت به `CustomerPurchasePackageAsync` (حذف dead code قدیمی)
|
||||
- ✅ PackageDetail: `GetPackageAsync` → `GetCustomerPackageDetailsAsync` — features/specs از API (نه hardcoded)
|
||||
- ✅ Packages.razor: un-exclude از build + dynamic feature bullets از `CustomerPackageModel`
|
||||
- ✅ PackageService: `PackageDto` غنیشده با ۸ فیلد جدید + `GetUserPackageStatusAsync` متصل به RPC واقعی
|
||||
- ✅ NuGet bump 0.0.182 → 0.0.186 + local feed source
|
||||
- ✅ فیکس GwUrl پروداکشن — تصحیح از cms.kbs1.ir به cms.kbs2.ir
|
||||
|
||||
### محتوا و ناوبری
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
# 🔄 نقشهراه تحول پکیجبیس — تسکهای گامبهگام
|
||||
|
||||
> **وضعیت:** در حال اجرا — **فاز ۰-۷c تکمیل ✅** | **فاز 8a تکمیل ✅** | NuGet + UI باقیمانده
|
||||
> **تاریخ:** ۱۴۰۴/۱۲/۰۹
|
||||
> **وضعیت:** در حال اجرا — **فاز ۰-۸d تکمیل ✅** | NuGet v0.0.186 | UI باقیمانده
|
||||
> **تاریخ:** ۱۴۰۴/۱۲/۰۸
|
||||
> **پیشنیاز:** [BIZ-PACKAGE-BASED-SYSTEM.md](../business/BIZ-PACKAGE-BASED-SYSTEM.md) **v3** (تکمیل پورسانت per-package)
|
||||
> **هدف:** شکستن **۴۸+ تغییر** به تسکهای اتمیک با ترتیب اجرا و وابستگیها
|
||||
> **کامیتها:**
|
||||
> CMS: `8b9c317`→`fe3edd1`→`ae92ab8`→`a9cd2fd`→`8e5c7c5`→`ccb938e`→`0002a5a`→`607f791`→`7176fe4`→`d19c569`→`469d97b`→`161f796`→`8446e0e`
|
||||
> FrontOffice: `b82cac4`→`71f391a`→`0bbc11e`
|
||||
> BackOffice: `f1b0085`
|
||||
> CMS: `8b9c317`→`fe3edd1`→`ae92ab8`→`a9cd2fd`→`8e5c7c5`→`ccb938e`→`0002a5a`→`607f791`→`7176fe4`→`d19c569`→`469d97b`→`161f796`→`8446e0e`→`ce8e248`→`7554d70`
|
||||
> FrontOffice: `b82cac4`→`71f391a`→`0bbc11e`→`d71d463`→`40882c8`
|
||||
> BackOffice: `f1b0085`→`89f5241`→`c96377a`
|
||||
|
||||
> ⚠️ **تغییرات v3:** پورسانت per-package، carryover مجزا، SP parameters داینامیک، گزارشدهی FO/BO per-package
|
||||
|
||||
@@ -29,11 +29,14 @@
|
||||
├─→ 7a: Cosmetic cleanup ✅ CMS:`469d97b` FO:`b82cac4` BO:`f1b0085`
|
||||
├─→ 7b: FO RPC migration ✅ CMS:`161f796` FO:`71f391a`
|
||||
└─→ 7c: Delete deprecated ✅ CMS:`8446e0e`
|
||||
└─→ مرحله ۸: FO Checkout + NuGet
|
||||
└─→ 8a: Checkout wire-up ✅ FO:`0bbc11e`
|
||||
└─→ مرحله ۸: FO/BO Completion
|
||||
├─→ 8a: Checkout wire-up ✅ FO:`0bbc11e`
|
||||
├─→ 8b: BO CRUD expansion ✅ CMS:`ce8e248` BO:`89f5241`
|
||||
├─→ 8c: FO Package pages ✅ FO:`d71d463`
|
||||
└─→ 8d: Proto cleanup ✅ CMS:`7554d70` FO:`40882c8` BO:`c96377a`
|
||||
└─→ مرحله ۵: تست + استقرار (۳ روز) ⬜
|
||||
|
||||
مسیر بحرانی: ۰→۱→۱.۵→۲→۳→۴→UI→۵ = ~۱۷ روز | انجامشده: ۰→8a (~۱۴ روز)
|
||||
مسیر بحرانی: ۰→۱→۱.۵→۲→۳→۴→UI→۵ = ~۱۷ روز | انجامشده: ۰→8d (~۱۵ روز)
|
||||
```
|
||||
|
||||
---
|
||||
@@ -498,17 +501,87 @@ await connection.ExecuteAsync("CMS.sp_CalculateWeeklyBalances",
|
||||
**Profile/Index.razor.cs (cosmetic):**
|
||||
- Rename `basePackage` → `selectedPackage`, `tempCallbackUrl` → `callbackUrl`
|
||||
|
||||
### فاز 8b — NuGet Rebuild + BackOffice Fix ⬜
|
||||
### فاز 8b — BackOffice Package CRUD Expansion ✅
|
||||
|
||||
> بلاکر: BackOffice هنوز از `HasPurchasedGoldenPackage` استفاده میکند (NuGet v0.0.184)
|
||||
> Proto field renamed: `has_purchased_golden_package` → `has_purchased_package` (field 35)
|
||||
> FrontOffice هم روی v0.0.182 هست (۲ نسخه عقب)
|
||||
> کامیت: CMS `ce8e248` | BO `89f5241` (7 فایل، +138/-23)
|
||||
|
||||
**تسکها:**
|
||||
1. Bump proto version → `0.0.185`
|
||||
2. Pack + Push NuGet
|
||||
3. BackOffice: `HasPurchasedGoldenPackage` → `HasPurchasedPackage` در `UserNetworkInfo.razor`
|
||||
4. FrontOffice: Bump NuGet `0.0.182` → `0.0.185`
|
||||
**NuGet Rebuild:**
|
||||
- Proto version bump: `0.0.184` → `0.0.185`
|
||||
- Pack و deploy به local feed (`/nupkg`)
|
||||
- BackOffice NuGet.config: اضافه local feed source
|
||||
|
||||
**CreateDialog.razor (۱۲ فیلد جدید):**
|
||||
- `SortOrder` — MudNumericField<int> ترتیب نمایش
|
||||
- `ActivationFee` — MudNumericField<long> هزینه فعالسازی
|
||||
- `DiscountMultiplier` — MudNumericField<double> ضریب تخفیف
|
||||
- `MagicWalletMultiplier` — MudNumericField<double> ضریب کیف پول جادویی
|
||||
- `MagicWalletMaxDeposit` — MudNumericField<long> سقف واریز جادویی
|
||||
- `MagicWalletMaxCredit` — MudNumericField<long> سقف اعتبار جادویی
|
||||
- `MaxBalancesPerLeg` — MudNumericField<int> حداکثر تعادل هر پا
|
||||
- `MaxNetworkLevel` — MudNumericField<int> حداکثر سطح شبکه
|
||||
- `IsActive` — MudCheckBox فعال/غیرفعال
|
||||
- `IsBasePackage` — MudCheckBox پکیج پایه
|
||||
- `SupportsDirectPurchase` — MudCheckBox پرداخت مستقیم
|
||||
- `SupportsDayaPurchase` — MudCheckBox اعتبار دایا
|
||||
|
||||
**UpdateDialog.razor:** همان ۱۲ فیلد
|
||||
|
||||
**PackageMainPage Grid (۴ ستون جدید):**
|
||||
- `Price` — فرمتشده با N0
|
||||
- `SortOrder` — ترتیب
|
||||
- `IsActive` — MudChip فعال/غیرفعال
|
||||
- `IsBasePackage` — MudChip پایه/عادی
|
||||
|
||||
**سایر:**
|
||||
- Dialog size: `MaxWidth.Small` → `MaxWidth.Medium`
|
||||
- CreateNew defaults: `IsActive=true, DiscountMultiplier=2.0, MagicWalletMultiplier=2.5, ...`
|
||||
- فیکس `HasPurchasedGoldenPackage` → `HasPurchasedPackage` در `UserNetworkInfo.razor`
|
||||
|
||||
### فاز 8c — FrontOffice Package Pages ✅
|
||||
|
||||
> کامیت: FO `d71d463` (5 فایل، +109/-56)
|
||||
|
||||
**NuGet:** `0.0.182` → `0.0.185` + local feed source
|
||||
|
||||
**PackageDetail.razor.cs:**
|
||||
- مهاجرت `GetPackageAsync` (admin RPC) → `GetCustomerPackageDetailsAsync` (customer RPC)
|
||||
- Features: از hardcoded ثابت → از `PackageFeature` API داینامیک
|
||||
- Specifications: از hardcoded → از `PackageFeature.IsHighlighted` API
|
||||
- حذف ۵ hardcoded feature string + ۴ hardcoded specification
|
||||
|
||||
**PackageService.cs:**
|
||||
- `PackageDto`: اضافه ۸ فیلد جدید (ActivationFee, DiscountMultiplier, MagicWalletMultiplier, etc.)
|
||||
- `GetAllPackagesAsync`: مپ فیلدهای جدید از `CustomerPackageModel`
|
||||
- `GetUserPackageStatusAsync`: از stub → اتصال واقعی به `GetUserPackageStatusAsync` RPC
|
||||
|
||||
**Packages.razor:**
|
||||
- Un-exclude از build (حذف `<Content Remove>` + `<Compile Remove>`)
|
||||
- جایگزینی ۳ feature bullet hardcoded → dynamic features:
|
||||
- `SupportsDirectPurchase` → پرداخت مستقیم
|
||||
- `SupportsDayaPurchase` → پرداخت با اعتبار دایا
|
||||
- `DiscountMultiplier` → ضریب تخفیف: X.Xx
|
||||
- `MagicWalletMultiplier` → کیف پول جادویی: X.Xx
|
||||
- `IsBasePackage` → پکیج پایه ⭐
|
||||
|
||||
### فاز 8d — Proto Cleanup ✅
|
||||
|
||||
> کامیت: CMS `7554d70` (2 فایل، -103) | FO `40882c8` | BO `c96377a`
|
||||
|
||||
**حذف ۴ deprecated RPC:**
|
||||
- `PurchaseGoldenPackage` — جایگزین: `CustomerPurchasePackage`
|
||||
- `VerifyGoldenPackagePurchase` — جایگزین: `CustomerVerifyPackagePurchase`
|
||||
- `InitiateBasePackagePayment` — جایگزین: `CustomerPurchasePackage`
|
||||
- `VerifyBasePackagePayment` — جایگزین: `CustomerVerifyPackagePurchase`
|
||||
|
||||
**حذف ۸ deprecated message type:**
|
||||
- `PurchaseGoldenPackageRequest` / `PurchaseGoldenPackageResponse`
|
||||
- `VerifyGoldenPackagePurchaseRequest` / `VerifyGoldenPackagePurchaseResponse`
|
||||
- `InitiateBasePackagePaymentRequest` / `InitiateBasePackagePaymentResponse`
|
||||
- `VerifyBasePackagePaymentRequest` / `VerifyBasePackagePaymentResponse`
|
||||
|
||||
**حفظ شده:** `GetUserPackageStatus` RPC + messages (هنوز در استفاده)
|
||||
|
||||
**NuGet:** `0.0.185` → `0.0.186` (همه ریپوها)
|
||||
|
||||
---
|
||||
|
||||
@@ -687,4 +760,4 @@ else
|
||||
|
||||
---
|
||||
|
||||
*آخرین بروزرسانی: ۱۴۰۴/۱۲/۰۹ — فاز ۰-۸a تکمیل (۱۷ کامیت: ۱۳ CMS + ۳ FO + ۱ BO) | Checkout فعالشده | ۴ deprecated handler حذف | FO کامل مهاجرت به Customer* RPCs*
|
||||
*آخرین بروزرسانی: ۱۴۰۴/۱۲/۰۸ — فاز ۰-۸d تکمیل (۲۰ کامیت: ۱۵ CMS + ۵ FO + ۳ BO) | NuGet v0.0.186 | Proto cleanup: -4 RPCs -8 messages | FO+BO CRUD کامل per-package | باقیمانده: UI per-package reports + تست + deploy*
|
||||
|
||||
Reference in New Issue
Block a user