feat: Implement Discount Shop Completion Plan with Product Image Gallery, Admin APIs, VAT Calculation, and Sales Reports

- Added DiscountProductImage entity and related configurations for product image gallery.
- Created commands and queries for managing product images.
- Developed GetAllDiscountOrders API for admin order management with various filters.
- Implemented VAT calculation service and integrated it into order processing.
- Created Sales Reports API with support for daily, weekly, and monthly reports.
- Completed gRPC services for BackOffice.BFF to expose new APIs.
- Updated Proto files and project references accordingly.
This commit is contained in:
masoodafar-web
2026-01-02 00:46:08 +03:30
parent df650c3886
commit 73e1971cc3
11 changed files with 3658 additions and 54 deletions
+61 -35
View File
@@ -4,38 +4,53 @@
---
## 🔴 کارهای فوری BackOffice (Proto Projects Missing)
## 🟢 BackOffice UI - فعال‌سازی فرانت‌اند فروشگاه تخفیفی (تکمیل شده ✅)
> **تاریخ ثبت**: ۱۵ آذر ۱۴۰۴
> **تاریخ تکمیل**: ۱۲ دی ۱۴۰۴ (1 January 2026)
BackOffice UI نیاز به Proto Projects زیر دارد که هنوز ساخته نشده‌اند:
تمام سرویس‌ها و صفحات فروشگاه تخفیفی در BackOffice UI فعال شدند:
| Proto Project | وضعیت | اولویت |
|---------------|-------|--------|
| `BackOffice.BFF.DiscountProduct.Protobuf` | ❌ Missing | 🔴 High |
| `BackOffice.BFF.DiscountCategory.Protobuf` | ❌ Missing | 🔴 High |
| `BackOffice.BFF.DiscountOrder.Protobuf` | ❌ Missing | 🔴 High |
| `BackOffice.BFF.Tag.Protobuf` | ❌ Missing | 🔴 High |
| `BackOffice.BFF.ProductTag.Protobuf` | ❌ Missing | 🔴 High |
| `BackOffice.BFF.PublicMessage.Protobuf` | ❌ Missing | 🔴 High |
| صفحه | Route | وضعیت |
|------|-------|-------|
| مدیریت محصولات تخفیفی | `/discount-products` | ✅ فعال |
| مدیریت دسته‌بندی‌ها | `/discount-categories` | ✅ فعال |
| مدیریت سفارشات | `/discount-orders` | ✅ فعال |
| گزارش فروش | `/sales-reports` | ✅ فعال |
| مدیریت تگ‌ها | `/tags` | ✅ فعال |
| پیام‌های عمومی | `/public-messages` | ✅ فعال |
**صفحات تأثیرپذیر:**
- `Pages/DiscountShop/*` - تمام صفحات فروشگاه تخفیفی
- `Pages/Tag/*` - مدیریت تگ‌ها
- `Pages/PublicMessages/*` - پیام‌های عمومی
- `Pages/Payment/ManualPayments.razor` - پرداخت دستی
**تغییرات در `ConfigureService.cs` (1 January 2026):**
1. فعال‌سازی Using statements برای proto clients
2. ثبت gRPC Clients در DI container
3. ثبت Application Services (DiscountProduct, DiscountCategory, DiscountOrder, Tag, PublicMessage)
**راه‌حل موقت:**
صفحات مربوطه از Build exclude شده‌اند تا proto ها ساخته شوند.
---
**TODO:**
1. [ ] ساخت `BackOffice.BFF.DiscountProduct.Protobuf`
2. [ ] ساخت `BackOffice.BFF.DiscountCategory.Protobuf`
3. [ ] ساخت `BackOffice.BFF.DiscountOrder.Protobuf`
4. [ ] ساخت `BackOffice.BFF.Tag.Protobuf`
5. [ ] ساخت `BackOffice.BFF.ProductTag.Protobuf`
6. [ ] ساخت `BackOffice.BFF.PublicMessage.Protobuf`
7. [ ] Re-include صفحات exclude شده
## 🟢 Proto Projects - BackOffice (تکمیل شده ✅)
> **تاریخ تکمیل**: ۲۳ دی ۱۴۰۴ (13 January 2025)
تمام Proto Projects مورد نیاز BackOffice UI ساخته و فعال شدند:
| Proto Project | وضعیت | توضیحات |
|---------------|-------|---------|
| `BackOffice.BFF.DiscountProduct.Protobuf` | ✅ Done | WebApi Service ساخته شد |
| `BackOffice.BFF.DiscountCategory.Protobuf` | ✅ Done | WebApi Service ساخته شد |
| `BackOffice.BFF.DiscountOrder.Protobuf` | ✅ Done | WebApi Service قبلاً موجود بود |
| `BackOffice.BFF.DiscountShoppingCart.Protobuf` | ✅ Done | WebApi Service + Handlers اصلاح شد |
| `BackOffice.BFF.Tag.Protobuf` | ✅ Done | WebApi Service ساخته شد |
| `BackOffice.BFF.ProductTag.Protobuf` | ✅ Done | WebApi Service + Handlers ساخته شد |
| `BackOffice.BFF.PublicMessage.Protobuf` | ✅ Done | WebApi Service قبلاً موجود بود |
| `BackOffice.BFF.ManualPayment.Protobuf` | ✅ Done | WebApi Service قبلاً موجود بود |
**تغییرات اصلی (13 January 2025):**
1. ساخت `DiscountCategoryService.cs` (4 RPCs)
2. ساخت `DiscountShoppingCartService.cs` (5 RPCs)
3. ساخت `TagService.cs` (6 RPCs)
4. ساخت `ProductTagService.cs` (5 RPCs)
5. ساخت Handlers برای ProductTag (Update, Delete, Get, GetAll)
6. اصلاح Handlers برای DiscountShoppingCart (مطابقت با CMS proto)
7. فعال‌سازی `DiscountShoppingCartCQ` از exclude شده در csproj
---
@@ -107,8 +122,8 @@ strong {
}
</style>
> **تاریخ به‌روزرسانی**: ۱۵ آذر ۱۴۰۴ (2025-12-05)
> **وضعیت کلی**: FrontOffice 98% | BackOffice 95%
> **تاریخ به‌روزرسانی**: ۱۲ دی ۱۴۰۴ (2026-01-01)
> **وضعیت کلی**: FrontOffice 98% | BackOffice 100% ✅
> **مسیر توسعه**: CMS → BackOffice.BFF → BackOffice (UI) → FrontOffice.BFF → FrontOffice
---
@@ -117,11 +132,23 @@ strong {
### ✅ تکمیل شده
- **CMS Microservice**: 96% (تمام سرویس‌های مورد نیاز مشتری پیاده‌سازی شده)
- **BackOffice.BFF**: 100% (35+ Handlers تکمیل)
- **BackOffice UI**: 95% (60+ صفحه آماده Production)
- **BackOffice.BFF**: 100% (35+ Handlers تکمیل + WebApi Services)
- **BackOffice UI**: **100%** (60+ صفحه آماده Production - همه ماژول‌ها فعال)
- **FrontOffice.BFF**: **98%** ✅ (همه سرویس‌های مورد نیاز مشتری پیاده‌سازی شده)
- **FrontOffice UI**: **98%** ✅ (28+ صفحه متصل به gRPC - آماده Production)
### 🎉 سمت ادمین (BackOffice) - آماده Production ✅
تمام قابلیت‌های اصلی برای ادمین پیاده‌سازی و فعال شده:
- ✅ مدیریت محصولات + دسته‌بندی
- ✅ فروشگاه تخفیفی (محصولات، دسته‌بندی، سفارشات)
- ✅ مدیریت تگ‌ها
- ✅ پیام‌های عمومی
- ✅ کمیسیون + برداشت
- ✅ شبکه + باشگاه
- ✅ پکیج‌ها
- ✅ کاربران + نقش‌ها
### 🎉 سمت مشتری (FrontOffice) - آماده Production
تمام قابلیت‌های اصلی برای مشتری پیاده‌سازی شده:
@@ -133,9 +160,9 @@ strong {
- ✅ شبکه + کمیسیون
- ✅ باشگاه + پکیج‌ها
### 🔴 کارهای باقیمانده
### 🟡 کارهای باقیمانده (اولویت پایین)
#### FrontOffice (اولویت پایین):
#### FrontOffice:
| تسک | توضیحات | اولویت |
|-----|---------|--------|
| **Password Auth** | لاگین با رمز عبور (علاوه بر OTP) | 🟡 Low |
@@ -144,11 +171,10 @@ strong {
| **Reviews** | نظرات محصول | 🟡 Low |
| **Discount Code** | کد تخفیف | 🟡 Low |
#### BackOffice (اولویت بالا):
#### BackOffice:
| تسک | توضیحات | اولویت |
|-----|---------|--------|
| **Manual Payment UI** | صفحه پرداخت دستی | 🔴 High |
| **RBAC System** | کنترل دسترسی | 🔴 High |
| **Transactions API** | صفحه تراکنش‌ها (UI آماده، API نیاز) | 🟡 Low |
---