feat: Update CURRENT-SPRINT.md with progress and task completion details
- Added last updated date and refined project status for Backend and Frontend. - Updated completion percentages for FrontOffice UI and BFF. - Documented completed tasks for BackOffice in the current sprint. - Added new high-priority tasks related to commission calculation fixes. - Resolved blockers and minor issues, providing a clearer progress summary. docs: Create commission-calculation-fix.md for weekly commission calculation analysis - Documented critical issues affecting commission calculations. - Provided a detailed plan for fixing the commission calculation logic. - Included code analysis, affected files, and step-by-step tasks for implementation. - Outlined the expected timeline and important notes regarding changes.
This commit is contained in:
+240
-162
@@ -76,7 +76,7 @@ strong {
|
||||
}
|
||||
</style>
|
||||
|
||||
> **تاریخ بهروزرسانی**: 1403/09/14 (2024-12-04)
|
||||
> **تاریخ بهروزرسانی**: 1403/10/06 (2024-12-26)
|
||||
> **وضعیت کلی**: 99% تکمیل شده
|
||||
> **مسیر توسعه**: CMS → BackOffice.BFF → BackOffice (UI) → FrontOffice.BFF → FrontOffice
|
||||
|
||||
@@ -87,21 +87,21 @@ strong {
|
||||
### ✅ تکمیل شده
|
||||
- **CMS Microservice**: 95% (12 از 12 Phase کامل، 9 TODO handlers باقیمانده)
|
||||
- **BackOffice.BFF**: 85% (47 Handler تکمیل، 8 TODO handlers، 19 Discount Shop handlers باقیمانده)
|
||||
- **BackOffice UI**: 85% (56 صفحه آماده Production - قابل تحویل به Admin)
|
||||
- **FrontOffice.BFF**: 20% (فقط برخی Queries پایه)
|
||||
- **FrontOffice UI**: 10% (چند صفحه اولیه)
|
||||
- **BackOffice UI**: 95% (60 صفحه آماده Production - قابل تحویل به Admin)
|
||||
- **FrontOffice.BFF**: 80% ✅ (Proto Projects + Handlers متصل به CMS)
|
||||
- **FrontOffice UI**: 60% ✅ (Mock Services → gRPC تبدیل شده)
|
||||
|
||||
### 🔴 اولویتهای اصلی (باید انجام شوند)
|
||||
1. ~~تکمیل Payment Gateway Integration (CMS Phase 10)~~ ✅ Backend Complete (85%)
|
||||
1. ~~تکمیل Payment Gateway Integration (CMS Phase 10)~~ ✅ Backend Complete (90%)
|
||||
- ✅ DayaPaymentService پیادهسازی کامل
|
||||
- ✅ GetWithdrawalReports Query (CMS + BackOffice.BFF)
|
||||
- ⏸️ CMS gRPC Service + BackOffice UI باقیمانده
|
||||
- ✅ GetWithdrawalReports Query (CMS + BackOffice.BFF + gRPC Service)
|
||||
- ⏸️ BackOffice UI (Withdrawal Management + Reports تقریباً کامل؛ تستهای Daya و خروجی PDF باقیمانده)
|
||||
2. ~~Club Discount Shop System (CMS Phase 9)~~ ✅ Complete
|
||||
3. ~~Product Bulk Operations~~ ✅ Backend Complete (100%)
|
||||
4. ~~Order Management~~ ✅ Proto/gRPC/Mapster Complete (9 TODO handlers باقیمانده)
|
||||
5. ~~Public Messages System~~ ✅ Proto/gRPC Complete (5 TODO handlers باقیمانده)
|
||||
4. ~~Order Management~~ ✅ Backend + BackOffice.BFF Complete (UI improvements باقیمانده)
|
||||
5. ~~Public Messages System~~ ✅ CMS + BackOffice.BFF + BackOffice UI Complete
|
||||
6. **Package Purchase System** ✅ Proto/gRPC Complete (4 TODO handlers باقیمانده)
|
||||
7. **Discount Shop - BackOffice Integration** 🔴 **اولویت اول** (0% - 19 handlers لازم)
|
||||
7. **Discount Shop - BackOffice Integration** ✅ تکمیل شده (19 handlers + BackOffice UI متصل)
|
||||
|
||||
### 📦 **قابل تحویل به Admin**:
|
||||
- ✅ **BackOffice با 56 صفحه کاملاً کاربردی**
|
||||
@@ -111,8 +111,8 @@ strong {
|
||||
- Discount Shop, Tags, Product Bulk Ops, Withdrawal Reports
|
||||
- ⚠️ **نیاز به تکمیل**:
|
||||
- 9 TODO handlers در CMS
|
||||
- 27 TODO handlers در BackOffice.BFF
|
||||
- UI برای Discount Shop, Public Messages, Reports
|
||||
- ~~27 TODO handlers در BackOffice.BFF~~ ✅ handlers BackOffice.BFF تکمیل شدهاند
|
||||
- UI برای گزارشهای پیشرفته (Reports) و برخی بهبودهای FrontOffice
|
||||
|
||||
---
|
||||
|
||||
@@ -127,31 +127,38 @@ strong {
|
||||
└── ✅ Withdrawal & Settlement
|
||||
|
||||
مرحله 2: تکمیل Payment Gateway + CRUD اضافی (در حال انجام)
|
||||
├── ✅ Payment Gateway Backend (85%)
|
||||
├── ✅ Payment Gateway Backend (100%)
|
||||
│ ├── ✅ DayaPaymentService Implementation
|
||||
│ ├── ✅ GetWithdrawalReports (CMS + BFF)
|
||||
│ ├── [ ] CMS gRPC Service
|
||||
│ └── [ ] BackOffice UI (Reports + Withdrawal Management)
|
||||
├── [ ] Product Bulk Operations - نیم روز
|
||||
├── [ ] Order Management - نیم روز
|
||||
└── [ ] Public Messages System - نیم روز
|
||||
│ ├── ✅ GetWithdrawalReports (CMS + BFF + gRPC)
|
||||
│ ├── [✅] CMS gRPC Service (GetWithdrawalReports)
|
||||
│ └── [🟡] BackOffice UI (Reports و Withdrawal Management انجام شده، PDF و تستهای Daya باقیمانده)
|
||||
├── [✅] Product Bulk Operations - نیم روز
|
||||
├── [✅] Order Management - نیم روز (بهبود UI: Timeline، نمودارها، Cancel/Status/Discount در BackOffice UI)
|
||||
└── [ ] Public Messages System - نیم روز (تنها بهبودهای UX/UI)
|
||||
|
||||
مرحله 3: BackOffice UI تکمیلی
|
||||
├── [ ] Financial Reports Page - 1.5 روز
|
||||
├── [ ] Withdrawal Management Page - 2 روز
|
||||
└── [ ] Product Bulk Operations UI - نیم روز
|
||||
├── [🟡] Financial Reports Page - 1.5 روز (WithdrawalReports + SalesReports پیادهسازی شده؛ خروجی PDF باقیمانده)
|
||||
├── [🟡] Withdrawal Management Page - 2 روز (صفحه عملیاتی شده؛ جستجو بر اساس UserId/IbanNumber باقیمانده)
|
||||
└── [🟡] Product Bulk Operations UI - نیم روز (Bulk actions در ProductsMainPage.razor انجام شده؛ صفحه BulkEdit مجزا باقیمانده)
|
||||
|
||||
مرحله 4: FrontOffice (اولویت اصلی بعدی)
|
||||
├── FrontOffice.BFF APIs - 2 هفته
|
||||
│ ├── Browse Discount Shop Products
|
||||
│ ├── Shopping Cart Management
|
||||
│ ├── Order Placement & Payment
|
||||
│ └── Order Tracking
|
||||
└── FrontOffice UI Pages - 3 هفته
|
||||
├── Product Catalog
|
||||
├── Shopping Cart
|
||||
├── Checkout Flow
|
||||
└── Order History
|
||||
مرحله 4: FrontOffice (اولویت اصلی بعدی) ✅ 70% Complete
|
||||
├── FrontOffice.BFF APIs - ✅ 80% Complete
|
||||
│ ├── ✅ Browse Discount Shop Products (Proto ready)
|
||||
│ ├── ✅ Club Membership APIs
|
||||
│ ├── ✅ Network APIs
|
||||
│ ├── ✅ Commission APIs
|
||||
│ ├── ✅ Wallet APIs (6 handlers)
|
||||
│ ├── [ ] Shopping Cart Management
|
||||
│ └── [ ] Order Placement
|
||||
└── FrontOffice UI Pages - ✅ 60% Complete
|
||||
├── ✅ Product Catalog (متصل به gRPC)
|
||||
├── ✅ Shopping Cart
|
||||
├── ✅ Checkout Flow
|
||||
├── ✅ Order History
|
||||
├── ✅ Club & Commission Pages (متصل به gRPC)
|
||||
├── ✅ Network Pages (متصل به gRPC)
|
||||
├── ✅ Wallet Pages (متصل به gRPC)
|
||||
└── [ ] Package Purchase (4 صفحه)
|
||||
```
|
||||
|
||||
---
|
||||
@@ -182,7 +189,7 @@ strong {
|
||||
---
|
||||
|
||||
### 1.1 Payment Gateway Integration (Phase 10) ⭐ **فوری**
|
||||
**وضعیت**: 85% تکمیل (گزارشهای مالی افزوده شد)
|
||||
**وضعیت**: 90% تکمیل (Backend + گزارشهای مالی + صفحات اصلی UI)
|
||||
**زمان تخمینی**: 4-5 روز کاری باقیمانده
|
||||
|
||||
#### ✅ تکمیل شده:
|
||||
@@ -202,33 +209,33 @@ strong {
|
||||
- دستهبندی روزانه/هفتگی/ماهانه با پشتیبانی تقویم شمسی
|
||||
- خلاصه آماری (تعداد، مبلغ، نرخ موفقیت)
|
||||
|
||||
#### ❌ باقیمانده:
|
||||
**الف. CMS gRPC Service (1 روز)**
|
||||
#### 🟡 بخشهای باقیمانده:
|
||||
**الف. CMS gRPC Service (1 روز) - ✅ انجام شده**
|
||||
```
|
||||
- [ ] ایجاد CommissionService یا بهروزرسانی موجود
|
||||
- [ ] پیادهسازی GetWithdrawalReports RPC handler
|
||||
- [ ] Mapping از Domain به Proto
|
||||
- [ ] تست gRPC endpoint
|
||||
- [✅] ایجاد CommissionService یا بهروزرسانی موجود
|
||||
- [✅] پیادهسازی GetWithdrawalReports RPC handler
|
||||
- [✅] Mapping از Domain به Proto
|
||||
- [✅] تست gRPC endpoint
|
||||
```
|
||||
|
||||
**ب. BackOffice UI - Withdrawal Management (2 روز)**
|
||||
```
|
||||
- [ ] صفحه لیست درخواستهای برداشت
|
||||
- [ ] دکمههای تأیید/رد با Confirmation Dialog
|
||||
- [ ] نمایش BankReferenceId و TrackingCode
|
||||
- [ ] نمایش وضعیت PaymentFailed و دلیل خطا
|
||||
- [ ] فیلترینگ بر اساس Status
|
||||
- [ ] جستجو بر اساس UserId/IbanNumber
|
||||
- ✅ صفحه لیست درخواستهای برداشت
|
||||
- ✅ دکمههای تأیید/رد با Confirmation Dialog (متصل به ApproveWithdrawal / RejectWithdrawal / ProcessWithdrawal)
|
||||
- ✅ نمایش BankReferenceId و TrackingCode
|
||||
- ✅ نمایش وضعیت PaymentFailed و دلیل خطا
|
||||
- ✅ فیلترینگ بر اساس Status (CommissionPayoutStatus)
|
||||
- ✅ جستجو بر اساس UserId/IbanNumber
|
||||
```
|
||||
|
||||
**ج. BackOffice UI - Financial Reports (1.5 روز)**
|
||||
```
|
||||
- [ ] صفحه گزارشهای مالی با فیلترها (تاریخ، نوع دوره، وضعیت، کاربر)
|
||||
- [ ] نمایش گزارشهای دورهای (روزانه/هفتگی/ماهانه)
|
||||
- [ ] Chart.js visualization (نمودار میلهای/خطی)
|
||||
- [ ] نمایش خلاصه آماری (کارتهای اطلاعاتی)
|
||||
- [ ] خروجی Excel (EPPlus)
|
||||
- [ ] خروجی PDF (QuestPDF)
|
||||
- [✅] صفحه گزارشهای مالی با فیلترها (تاریخ، نوع دوره، وضعیت، کاربر)
|
||||
- [✅] نمایش گزارشهای دورهای (روزانه/هفتگی/ماهانه)
|
||||
- [✅] نمودارها (MudBlazor Charts بهجای Chart.js)
|
||||
- [✅] نمایش خلاصه آماری (کارتهای اطلاعاتی در WithdrawalReports/SalesReports)
|
||||
- [✅] خروجی Excel/CSV (Export به فایل از طریق UI)
|
||||
- [🟡] خروجی PDF (در حال حاضر خروجی متنی ساختارمند از طریق jsSaveAsFile؛ ادغام QuestPDF در نسخه بعدی)
|
||||
```
|
||||
|
||||
**د. تست یکپارچه (نیم روز)**
|
||||
@@ -241,7 +248,7 @@ strong {
|
||||
---
|
||||
|
||||
### 1.2 CRUD های اضافی ⭐ **بالا**
|
||||
**وضعیت**: 67% (Tag Management و Product Bulk Operations کامل شده)
|
||||
**وضعیت**: 80% (Tag Management و Product Bulk Operations کامل شده، Order Management در BFF تکمیل)
|
||||
**زمان تخمینی**: 1 روز باقیمانده
|
||||
|
||||
#### الف. Tag Management ✅ **کامل شده** (4 دسامبر 2024)
|
||||
@@ -268,13 +275,13 @@ BackOffice.BFF: ✅
|
||||
- [✅] gRPC Clients: Tags, ProductTags registered
|
||||
- [✅] Typo Fixes: ProductGallerys→ProductGalleries, PruductCategory→ProductCategory
|
||||
|
||||
BackOffice UI: ⏸️
|
||||
- [ ] صفحه مدیریت Tags
|
||||
- [ ] Dialog ایجاد/ویرایش Tag
|
||||
- [ ] صفحه Assign Tags به محصولات
|
||||
BackOffice UI: ✅
|
||||
- [✅] صفحه مدیریت Tags (لیست + جستجو بر اساس نام/عنوان، فیلتر وضعیت، pagination)
|
||||
- [✅] Dialog ایجاد/ویرایش Tag (Name, Title, Description, IsActive, SortOrder)
|
||||
- [✅] صفحه/دیالوگ Assign Tags به محصولات (از طریق ProductsMainPage → AssignTagsDialog، شامل نمایش تگهای فعلی هر محصول و امکان حذف آنها)
|
||||
```
|
||||
|
||||
**مستندات**: Backend کامل، UI باقیمانده
|
||||
**مستندات**: Backend + BackOffice.BFF + UI کامل برای Tag Management
|
||||
|
||||
#### ب. Product Bulk Operations ✅ **کامل شده** (4 دسامبر 2024)
|
||||
```
|
||||
@@ -301,10 +308,10 @@ BackOffice.BFF: ✅
|
||||
- [✅] DTOs با rename برای جلوگیری از conflict با proto
|
||||
- [✅] gRPC client integration
|
||||
|
||||
BackOffice UI: ⏸️
|
||||
- [ ] صفحه Bulk Edit Products
|
||||
- [ ] DataGrid با انتخاب چندتایی
|
||||
- [ ] فرم Bulk Update
|
||||
BackOffice UI: ✅
|
||||
- [✅] DataGrid با انتخاب چندتایی و Bulk Actions (ToggleStatus/Delete) در ProductsMainPage.razor
|
||||
- [✅] صفحه Bulk Edit Products (Pages/Products/BulkEdit.razor) با DataGrid و Multiple Selection
|
||||
- [✅] فرم Bulk Update برای ویرایش همزمان قیمت، تخفیف، موجودی (StockUpdateType: Set/Add/Subtract) و وضعیت (Toggle Status) چند محصول، متصل به BulkUpdateProductPrices / BulkUpdateProductStock / ToggleProductStatus
|
||||
```
|
||||
|
||||
#### ج. Order Management ✅ **کامل شده** (4 دسامبر 2024)
|
||||
@@ -317,14 +324,14 @@ CMS Application Layer: ✅
|
||||
- [✅] CalculateOrderPVQuery + Handler + Validator (TODO با محاسبه PV برای MLM)
|
||||
- [✅] Response DTOs با error handling
|
||||
|
||||
BackOffice.BFF: ⏸️
|
||||
- [ ] 4 Handlers (TODO)
|
||||
BackOffice.BFF: ✅
|
||||
- [✅] 5 Handlers (CancelOrder, UpdateOrderStatus, GetOrdersByDateRange, ApplyDiscountToOrder, CalculateOrderPV)
|
||||
|
||||
BackOffice UI: ⏸️
|
||||
- [ ] دکمه Cancel Order با Confirmation
|
||||
- [ ] Dropdown تغییر Status
|
||||
- [ ] فیلتر Date Range
|
||||
- [ ] Dialog اعمال تخفیف
|
||||
BackOffice UI: ✅
|
||||
- [✅] دکمه Cancel Order با Dialog دلیل لغو و انتخاب بازگشت وجه (CancelOrderDialog → CancelOrder)
|
||||
- [✅] Dialog تغییر Status ارسال (ChangeOrderStatusDialog → UpdateOrderStatus) در UserOrderMainPage.razor
|
||||
- [✅] فیلترهای پیشرفته (شناسه سفارش/کاربر/تراکنش، فیلترهای ترکیبی)
|
||||
- [✅] Dialog اعمال تخفیف (ApplyDiscountDialog → ApplyDiscountToOrder)
|
||||
```
|
||||
|
||||
**سطوح دسترسی**:
|
||||
@@ -372,26 +379,18 @@ CMS:
|
||||
```
|
||||
CMS:
|
||||
- [✅] Proto: public_messages.proto موجود
|
||||
- [ ] Entity: PublicMessage (Title, Content, Type, StartDate, EndDate, IsActive)
|
||||
- [ ] Enum: MessageType (Info, Warning, Error, Success)
|
||||
- [✅] Entity: PublicMessage (Title, Content, Type, StartDate, EndDate, IsActive)
|
||||
- [✅] Enum: MessageType (Info, Warning, Error, Success)
|
||||
#### ❌ باقیمانده:
|
||||
```
|
||||
BackOffice.BFF:
|
||||
- [ ] 8 Handlers (TODO format):
|
||||
- CreatePublicMessage
|
||||
- UpdatePublicMessage
|
||||
- DeletePublicMessage
|
||||
- PublishMessage
|
||||
- ArchiveMessage
|
||||
- GetAllMessages
|
||||
- GetActiveMessages
|
||||
- GetPublicMessage
|
||||
- [✅] 8 Handlers (Create/Update/Delete/Publish/Archive/GetAll/GetActive/GetById)
|
||||
|
||||
BackOffice UI:
|
||||
- [ ] صفحه لیست اعلانات (DataGrid)
|
||||
- [ ] Dialog ایجاد/ویرایش اعلان
|
||||
- [ ] دکمه Publish/Archive
|
||||
- [ ] پیشنمایش اعلان
|
||||
- [✅] صفحه لیست اعلانات (DataGrid)
|
||||
- [✅] Dialog ایجاد/ویرایش اعلان
|
||||
- [✅] دکمه Publish/Archive
|
||||
- [✅] پیشنمایش اعلان
|
||||
```
|
||||
|
||||
**سطوح دسترسی**:
|
||||
@@ -1133,16 +1132,20 @@ ApplicationContractContext:
|
||||
* RefreshPermissions()
|
||||
```
|
||||
|
||||
**د. Public Messages Management** (1 روز)
|
||||
**د. Public Messages Management** (1 روز) ✅ (پیادهسازی شده با ساختار نهایی)
|
||||
```
|
||||
- [ ] Pages/Messages/MessagesList.razor
|
||||
* DataGrid: Title, Type, StartDate, EndDate, IsActive
|
||||
* دکمههای Create, Edit, Delete, Publish
|
||||
- [ ] Components/MessageDialog.razor
|
||||
* فرم: Title, Content (TinyMCE), Type, Dates
|
||||
* پیشنمایش
|
||||
- [ ] Components/MessagePreview.razor
|
||||
* Alert با رنگ بر اساس Type
|
||||
- [✅] Pages/PublicMessages/PublicMessagesMainPage.razor
|
||||
* DataGrid: Title, Type, Status, StartDate, EndDate, IsActive
|
||||
* دکمههای Create, Edit, Delete, Publish/Archive
|
||||
* فیلترها بر اساس نوع پیام، وضعیت و بازه زمانی
|
||||
- [✅] Components/MessageFormDialog.razor
|
||||
* فرم: Title, Content (Rich Text)، Type، تاریخهای Start/End، وضعیت، گزینه انتشار
|
||||
* پیشنمایش و Validation کامل
|
||||
- [✅] Components/MessageViewDialog.razor
|
||||
* نمایش پیام بهصورت Alert/کارت با رنگ بر اساس Type
|
||||
* نمایش تصویر، لینک، آمار بازدید و تاریخها
|
||||
- [✅] Components/MessageTemplatesDialog.razor
|
||||
* مدیریت قالبهای آماده پیام (ایجاد/حذف/استفاده) با ذخیرهسازی در LocalStorage
|
||||
```
|
||||
|
||||
**ه. Manual Payment Management** (1 روز)
|
||||
@@ -1157,21 +1160,27 @@ ApplicationContractContext:
|
||||
* دکمههای Approve/Reject
|
||||
```
|
||||
|
||||
**و. Tag Management** (1 روز)
|
||||
**و. Tag Management** (1 روز) ✅ (با نامگذاری و ساختار جدید)
|
||||
```
|
||||
- [ ] Pages/Products/Tags.razor
|
||||
* DataGrid: Name, ProductCount
|
||||
- [✅] Pages/Tag/TagManagementPage.razor
|
||||
* DataGrid: Name, Title, IsActive, ProductCount
|
||||
* دکمههای Create, Edit, Delete
|
||||
- [ ] Components/TagDialog.razor
|
||||
- [ ] Components/AssignTagsDialog.razor
|
||||
* فیلتر بر اساس نام/عنوان و وضعیت
|
||||
- [✅] Components/TagEditDialog.razor
|
||||
* فرم ایجاد/ویرایش Tag: Name, Title, Description, IsActive, SortOrder
|
||||
- [✅] Components/AssignTagsDialog.razor
|
||||
* اختصاص تگ به محصولات از طریق ProductsMainPage
|
||||
* نمایش تگهای فعلی هر محصول و امکان حذف آنها
|
||||
```
|
||||
|
||||
**ز. Product Bulk Edit** (1 روز)
|
||||
**ز. Product Bulk Edit** (1 روز) ✅
|
||||
```
|
||||
- [ ] Pages/Products/BulkEdit.razor
|
||||
* DataGrid با Multiple Selection
|
||||
* فرم: Update Price, Update Stock, Toggle Status
|
||||
* دکمه Apply
|
||||
- [✅] Pages/Products/BulkEdit.razor
|
||||
* DataGrid با Multiple Selection برای لیست محصولات (با فیلترهای مشابه ProductsMainPage)
|
||||
* فرم: Update Price (اجباری برای BulkUpdateProductPrices) + فیلدهای اختیاری تخفیف و تخفیف باشگاه
|
||||
* فرم: Update Stock با انتخاب StockUpdateType (Set/Add/Subtract) و مقدار Quantity
|
||||
* فرم: Toggle Status (فعال/غیرفعال) برای محصولات انتخابشده
|
||||
* دکمه Apply با Dialog تأیید و خلاصه تغییرات، اتصال مستقیم به gRPC (BulkUpdateProductPrices, BulkUpdateProductStock, ToggleProductStatus) در BackOffice.BFF
|
||||
```
|
||||
|
||||
**ح. Role Management** (2 روز) - **SuperAdmin only**
|
||||
@@ -1202,63 +1211,90 @@ ApplicationContractContext:
|
||||
|
||||
## 🔵 بخش 4: FrontOffice.BFF - کارهای باقیمانده
|
||||
|
||||
**وضعیت**: 20% (فقط برخی Queries پایه موجود)
|
||||
**زمان تخمینی**: 2 هفته
|
||||
**وضعیت**: 80% ✅ (Proto Projects + Handlers متصل به CMS)
|
||||
**زمان تخمینی**: 3 روز باقیمانده
|
||||
|
||||
### تسکهای اصلی:
|
||||
### ✅ تکمیل شده (2024-12-26):
|
||||
|
||||
**الف. Authentication APIs** (3 روز)
|
||||
**Proto Projects (7 پروژه جدید):**
|
||||
```
|
||||
- [ ] RegisterCommand + Handler
|
||||
- [ ] LoginQuery + Handler
|
||||
- [ ] VerifyOtpCommand + Handler
|
||||
- [ ] RefreshTokenCommand + Handler
|
||||
- [ ] LogoutCommand + Handler
|
||||
- [ ] GetMyProfileQuery + Handler
|
||||
- [ ] UpdateMyProfileCommand + Handler
|
||||
✅ FrontOffice.BFF.Commission.Protobuf
|
||||
✅ FrontOffice.BFF.ClubMembership.Protobuf
|
||||
✅ FrontOffice.BFF.NetworkMembership.Protobuf
|
||||
✅ FrontOffice.BFF.DiscountShop.Protobuf
|
||||
✅ FrontOffice.BFF.Package.Protobuf (جدید)
|
||||
✅ FrontOffice.BFF.User.Protobuf (موجود)
|
||||
✅ FrontOffice.BFF.UserWallet.Protobuf (موجود)
|
||||
```
|
||||
|
||||
**ب. Order APIs** (3 روز)
|
||||
**Handlers تکمیل شده:**
|
||||
```
|
||||
- [ ] GetMyOrdersQuery + Handler
|
||||
- [ ] GetMyOrderQuery + Handler
|
||||
✅ GetMyClubMembershipQuery + Handler
|
||||
✅ ActivateMyClubMembershipCommand + Handler
|
||||
✅ GetMyCommissionPayoutsQuery + Handler
|
||||
✅ GetMyWeeklyBalancesQuery + Handler
|
||||
✅ GetMyNetworkTreeQuery + Handler
|
||||
✅ GetMyNetworkStatisticsQuery + Handler
|
||||
✅ GetMyNetworkPositionQuery + Handler (جدید با ResponseDto)
|
||||
✅ Wallet Handlers (6 عدد - متصل به CMS)
|
||||
```
|
||||
|
||||
### تسکهای باقیمانده:
|
||||
|
||||
**الف. Authentication APIs** (1 روز) - موجود نیاز به بررسی
|
||||
```
|
||||
- [✅] RegisterCommand + Handler
|
||||
- [✅] LoginQuery + Handler
|
||||
- [ ] VerifyOtpCommand + Handler (بررسی)
|
||||
- [✅] RefreshTokenCommand + Handler
|
||||
- [ ] LogoutCommand + Handler (بررسی)
|
||||
- [✅] GetMyProfileQuery + Handler
|
||||
- [✅] UpdateMyProfileCommand + Handler
|
||||
```
|
||||
|
||||
**ب. Order APIs** (1 روز)
|
||||
```
|
||||
- [✅] GetMyOrdersQuery + Handler
|
||||
- [✅] GetMyOrderQuery + Handler
|
||||
- [ ] CreateOrderCommand + Handler
|
||||
- [ ] CancelMyOrderCommand + Handler
|
||||
- [ ] GetOrderTrackingQuery + Handler
|
||||
```
|
||||
|
||||
**ج. Profile APIs** (2 روز)
|
||||
**ج. Profile APIs** (0.5 روز)
|
||||
```
|
||||
- [ ] GetMyAddressesQuery + Handler
|
||||
- [ ] CreateMyAddressCommand + Handler
|
||||
- [ ] UpdateMyAddressCommand + Handler
|
||||
- [ ] DeleteMyAddressCommand + Handler
|
||||
- [✅] GetMyAddressesQuery + Handler
|
||||
- [✅] CreateMyAddressCommand + Handler
|
||||
- [✅] UpdateMyAddressCommand + Handler
|
||||
- [✅] DeleteMyAddressCommand + Handler
|
||||
- [ ] SetDefaultAddressCommand + Handler
|
||||
```
|
||||
|
||||
**د. Club & Commission (Customer)** (2 روز)
|
||||
**د. Club & Commission (Customer)** ✅ تکمیل شده
|
||||
```
|
||||
- [ ] GetMyClubMembershipQuery + Handler
|
||||
- [ ] ActivateMyClubMembershipCommand + Handler
|
||||
- [ ] GetMyCommissionPayoutsQuery + Handler
|
||||
- [ ] RequestMyWithdrawalCommand + Handler
|
||||
- [✅] GetMyClubMembershipQuery + Handler
|
||||
- [✅] ActivateMyClubMembershipCommand + Handler
|
||||
- [✅] GetMyCommissionPayoutsQuery + Handler
|
||||
- [✅] RequestMyWithdrawalCommand + Handler
|
||||
```
|
||||
|
||||
**ه. Network (Customer)** (2 روز)
|
||||
**ه. Network (Customer)** ✅ تکمیل شده
|
||||
```
|
||||
- [ ] GetMyNetworkTreeQuery + Handler
|
||||
- [ ] GetMyNetworkPositionQuery + Handler
|
||||
- [ ] GetMyNetworkStatisticsQuery + Handler
|
||||
- [✅] GetMyNetworkTreeQuery + Handler
|
||||
- [✅] GetMyNetworkPositionQuery + Handler
|
||||
- [✅] GetMyNetworkStatisticsQuery + Handler
|
||||
```
|
||||
|
||||
**و. Wallet (Customer)** (2 روز)
|
||||
**و. Wallet (Customer)** ✅ تکمیل شده
|
||||
```
|
||||
- [ ] GetMyWalletQuery + Handler (با DiscountBalance)
|
||||
- [ ] GetMyTransactionsQuery + Handler
|
||||
- [ ] GetMyDiscountTransactionsQuery + Handler
|
||||
- [✅] GetMyWalletQuery + Handler (با DiscountBalance)
|
||||
- [✅] GetMyTransactionsQuery + Handler
|
||||
- [✅] RequestWithdrawalCommand + Handler
|
||||
- [✅] GetMyWithdrawalsQuery + Handler
|
||||
- [✅] GetWithdrawalSettingsQuery + Handler
|
||||
```
|
||||
|
||||
**ز. Cart (Customer)** (2 روز)
|
||||
**ز. Cart (Customer)** (0.5 روز)
|
||||
```
|
||||
- [ ] GetMyCartQuery + Handler
|
||||
- [ ] AddToMyCartCommand + Handler
|
||||
@@ -1274,53 +1310,95 @@ ApplicationContractContext:
|
||||
|
||||
## 🟣 بخش 5: FrontOffice UI - کارهای باقیمانده
|
||||
|
||||
**وضعیت**: 10% (چند صفحه پایه)
|
||||
**زمان تخمینی**: 3 هفته
|
||||
**وضعیت**: 60% ✅ (Mock Services → gRPC تبدیل شده)
|
||||
**زمان تخمینی**: 2 هفته
|
||||
|
||||
### تسکهای اصلی:
|
||||
### ✅ تکمیل شده (2024-12-26):
|
||||
|
||||
**الف. Authentication Pages** (3 روز)
|
||||
**Services متصل به BFF gRPC:**
|
||||
```
|
||||
- [ ] Pages/Auth/Register.razor
|
||||
- [ ] Pages/Auth/Login.razor
|
||||
- [ ] Pages/Auth/VerifyOtp.razor
|
||||
✅ ClubMembershipService → ClubMembershipContract.ClubMembershipContractClient
|
||||
✅ NetworkMembershipService → NetworkMembershipContract.NetworkMembershipContractClient
|
||||
✅ CommissionService → CommissionContract.CommissionContractClient
|
||||
✅ WalletService → UserWalletContract.UserWalletContractClient (6 متد)
|
||||
```
|
||||
|
||||
**Proto References اضافه شده:**
|
||||
```
|
||||
✅ FrontOffice.BFF.ClubMembership.Protobuf
|
||||
✅ FrontOffice.BFF.Commission.Protobuf
|
||||
✅ FrontOffice.BFF.NetworkMembership.Protobuf
|
||||
✅ FrontOffice.BFF.DiscountShop.Protobuf
|
||||
✅ FrontOffice.BFF.UserWallet.Protobuf (ProjectReference)
|
||||
```
|
||||
|
||||
### تسکهای باقیمانده:
|
||||
|
||||
**الف. Authentication Pages** (2 روز) - موجود نیاز به بررسی
|
||||
```
|
||||
- [✅] Pages/Auth/Register.razor
|
||||
- [✅] Pages/Auth/Login.razor
|
||||
- [ ] Pages/Auth/VerifyOtp.razor (بررسی)
|
||||
- [ ] Pages/Auth/ForgotPassword.razor
|
||||
```
|
||||
|
||||
**ب. Profile Pages** (4 روز)
|
||||
**ب. Profile Pages** (2 روز)
|
||||
```
|
||||
- [ ] Pages/Profile/Index.razor
|
||||
- [ ] Pages/Profile/EditProfile.razor
|
||||
- [ ] Pages/Profile/Addresses.razor
|
||||
- [✅] Pages/Profile/Index.razor
|
||||
- [✅] Pages/Profile/EditProfile.razor
|
||||
- [✅] Pages/Profile/Addresses.razor
|
||||
- [ ] Pages/Profile/ChangePassword.razor
|
||||
```
|
||||
|
||||
**ج. Order Pages** (5 روز)
|
||||
**ج. Order Pages** (3 روز)
|
||||
```
|
||||
- [ ] Pages/Orders/MyOrders.razor
|
||||
- [ ] Pages/Orders/OrderDetails.razor
|
||||
- [✅] Pages/Orders/MyOrders.razor
|
||||
- [✅] Pages/Orders/OrderDetails.razor
|
||||
- [ ] Pages/Orders/Tracking.razor
|
||||
```
|
||||
|
||||
**د. Cart & Checkout** (5 روز)
|
||||
**د. Cart & Checkout** (3 روز)
|
||||
```
|
||||
- [ ] Pages/Cart/Index.razor (با نمایش VAT)
|
||||
- [ ] Pages/Checkout/Shipping.razor
|
||||
- [ ] Pages/Checkout/Payment.razor
|
||||
- [ ] Pages/Checkout/Confirmation.razor
|
||||
- [✅] Pages/Cart/Index.razor (با نمایش VAT)
|
||||
- [✅] Pages/Checkout/Shipping.razor
|
||||
- [✅] Pages/Checkout/Payment.razor
|
||||
- [✅] Pages/Checkout/Confirmation.razor
|
||||
- [⏳] DiscountCode validation (نیاز به ValidateDiscountCode RPC در CMS)
|
||||
```
|
||||
|
||||
**ه. Club & Commission** (4 روز)
|
||||
**ه. Club & Commission** ✅ تکمیل شده (متصل به gRPC)
|
||||
```
|
||||
- [ ] Pages/Club/Membership.razor
|
||||
- [ ] Pages/Commission/MyCommissions.razor
|
||||
- [ ] Pages/Commission/Withdrawal.razor
|
||||
- [✅] Pages/Club/Membership.razor
|
||||
- [✅] Pages/Commission/MyCommissions.razor
|
||||
- [✅] Pages/Commission/Withdrawal.razor
|
||||
```
|
||||
|
||||
**و. Network Pages** (2 روز)
|
||||
**و. Network Pages** ✅ تکمیل شده (متصل به gRPC)
|
||||
```
|
||||
- [ ] Pages/Network/Tree.razor
|
||||
- [ ] Pages/Network/Position.razor
|
||||
- [✅] Pages/Network/Tree.razor
|
||||
- [✅] Pages/Network/Position.razor
|
||||
```
|
||||
|
||||
**ز. Wallet Pages** ✅ تکمیل شده (متصل به gRPC)
|
||||
```
|
||||
- [✅] Pages/Wallet/Index.razor
|
||||
- [✅] Pages/Wallet/Transactions.razor
|
||||
- [✅] Pages/Wallet/Withdrawal.razor
|
||||
```
|
||||
|
||||
**ح. Package Purchase** (2 روز)
|
||||
```
|
||||
- [ ] Pages/Packages/Index.razor
|
||||
- [ ] Pages/Packages/PurchasePackage.razor
|
||||
- [ ] Pages/Packages/MyPackages.razor
|
||||
- [ ] Pages/Packages/PackageDetails.razor
|
||||
```
|
||||
|
||||
### ⏳ نیاز به توسعه CMS:
|
||||
```
|
||||
- PackageDetail Reviews → نیاز به Review/Comment entity در CMS
|
||||
- Checkout Discount Validation → نیاز به ValidateDiscountCode RPC در CMS
|
||||
- Contact Form → نیاز به ContactMessage entity در CMS
|
||||
```
|
||||
|
||||
**مستندات**: `FrontOffice/README.md`
|
||||
|
||||
Reference in New Issue
Block a user