feat: Fix multiple pages in BackOffice and enable product features

This commit is contained in:
masoodafar-web
2025-12-24 01:06:55 +03:30
parent ec923dc22e
commit 51c5edc0ae
11 changed files with 933 additions and 507 deletions
+74 -3
View File
@@ -1,16 +1,87 @@
# کارهای باقیمانده - BackOffice
> آخرین بروزرسانی: December 6, 2025
> آخرین بروزرسانی: December 20, 2025
## وضعیت کلی
**Build Status**: ✅ SUCCESS (0 Errors)
**Enabled Modules**: 9 ماژول کامل
**Enabled Modules**: 10+ ماژول کامل
**Remaining Tasks**: فقط Backend Implementation
---
## ✅ کارهای انجام شده امروز
## ✅ کارهای انجام شده - Session December 20, 2025
### 1. صفحه `/network/balances` - ✅ FIXED
**مشکل**: ValidationException هنگام لود صفحه
**راه‌حل**: اضافه کردن Mapster mapping برای `GetUserWeeklyBalancesRequest``GetUserWeeklyBalancesQuery`
**فایل تغییر یافته**:
- `BackOffice.BFF/WebApi/Common/Mappings/CommissionProfile.cs`
```csharp
config.NewConfig<GetUserWeeklyBalancesRequest, GetUserWeeklyBalancesQuery>()
.Map(dest => dest.PaginationState, src => src.PaginationState);
```
### 2. صفحه `/club/members` - ✅ FIXED
**مشکل**: داده‌ها لود نمی‌شدند (Mapster mapping نداشت)
**راه‌حل**: ایجاد ClubMembershipProfile در CMS و BFF
**فایل‌های جدید**:
- `CMS/WebApi/Common/Mappings/ClubMembershipProfile.cs` (NEW)
- `BackOffice.BFF/WebApi/Common/Mappings/ClubMembershipProfile.cs` (REWRITTEN)
**Mappings اضافه شده**:
- `GetAllClubMembershipsRequest``GetAllClubMembershipsQuery`
- `GetAllClubMembershipsResponseDto``GetAllClubMembershipsResponse`
### 3. صفحه `/club/statistics` - ✅ FIXED
**مشکل**: خطای `Status(StatusCode="Unimplemented")`
**راه‌حل**: پیاده‌سازی متد gRPC در BFF و اضافه کردن mappings
**فایل‌های تغییر یافته**:
- `BackOffice.BFF/WebApi/Services/ClubMembershipService.cs` - اضافه شدن `GetClubStatistics` override
- `CMS/WebApi/Common/Mappings/ClubMembershipProfile.cs` - اضافه شدن mappings
- `BackOffice.BFF/WebApi/Common/Mappings/ClubMembershipProfile.cs` - اضافه شدن mappings
**Mappings اضافه شده**:
- `GetClubStatisticsRequest``GetClubStatisticsQuery`
- `GetClubStatisticsResponseDto``GetClubStatisticsResponse`
- PackageDistribution و MonthlyTrend mappings
### 4. صفحه Products - ✅ ALL FEATURES ENABLED
**مشکل**: همه قابلیت‌ها disabled بودند و "در حال توسعه" نشان می‌دادند
**راه‌حل**: Uncomment کردن کدهای دیالوگ‌ها
**فایل تغییر یافته**:
- `BackOffice/Pages/Products/ProductsMainPage.razor.cs`
**قابلیت‌های فعال شده**:
-`CreateNew()` - ایجاد محصول جدید
-`Update()` - ویرایش محصول
-`OpenGallery()` - گالری تصاویر
-`OpenTagAssignment()` - اختصاص تگ
### 5. فیلد "تعداد موجودی" در Products - ✅ ADDED
**مشکل**: فیلد RemainingCount در فرم‌ها و لیست نبود
**راه‌حل**: اضافه کردن فیلد به همه لایه‌ها
**فایل‌های تغییر یافته**:
- `BackOffice/Pages/Products/Components/CreateDialog.razor` - اضافه شدن فیلد موجودی
- `BackOffice/Pages/Products/Components/UpdateDialog.razor` - اضافه شدن فیلد موجودی
- `BackOffice/Pages/Products/ProductsMainPage.razor` - اضافه شدن ستون موجودی با رنگ‌بندی
- `BackOffice.BFF.Application/ProductsCQ/Commands/CreateNewProducts/CreateNewProductsCommand.cs` - اضافه شدن `RemainingCount`
- `BackOffice.BFF.Application/ProductsCQ/Commands/UpdateProducts/UpdateProductsCommand.cs` - اضافه شدن `RemainingCount`
**نمایش موجودی در لیست**:
- 🔴 **ناموجود** - اگر موجودی `0` یا کمتر (Chip قرمز)
- 🟡 **عدد** - اگر موجودی کمتر از `10` (Chip زرد - هشدار)
- 🟢 **عدد** - اگر موجودی `10` یا بیشتر (Chip سبز)
---
## ✅ کارهای انجام شده قبلی
### 1. BulkEdit Module - COMPLETED ✅
- ✅ حذف dependency به CMSMicroservice