Implement Persian Date Conversion and Enhance User Network Information Service
- Added PersianDateTimeService for converting Gregorian dates to Persian format in the BackOffice frontend. - Updated multiple frontend pages (Dashboard, UserPayouts, WorkerControl, UserNetworkInfo) to utilize the new Persian date service. - Enhanced GetUserNetworkPositionDto with 28+ new fields for comprehensive user network data. - Updated GetUserNetworkPositionQueryHandler to include new methods for calculating network statistics. - Modified Protobuf messages to accommodate the new fields, increasing from 14 to 42. - Refined week number calculation algorithm to ensure consistency across C# and SQL implementations. - Created new CSV and Excel files for binary plan calculations. - Ensured all changes are tested and validated for accuracy and performance.
This commit is contained in:
+87
-10
@@ -1,8 +1,83 @@
|
||||
# 📚 FourSat Project - فهرست جامع مستندات (نسخه تجمیع شده)
|
||||
|
||||
> **آخرین بروزرسانی**: ۱۴ آذر ۱۴۰۴
|
||||
> **وضعیت**: 🔄 در حال تجمیع و بازسازی
|
||||
> **تحلیلگر**: GitHub Copilot (Claude Sonnet 4.5)
|
||||
> **آخرین بروزرسانی**: ۲۸ آذر ۱۴۰۴ (18 دسامبر 2025)
|
||||
> **وضعیت**: ✅ بروزرسانی شده با Session امروز
|
||||
> **تحلیلگر**: GitHub Copilot (Claude Opus 4.5)
|
||||
|
||||
---
|
||||
|
||||
## 🆕 تغییرات امروز (۲۸ آذر) - Session 2
|
||||
|
||||
### ✅ سیستم مدیریت موجودی محصولات
|
||||
- **CMS**: چک موجودی در `SubmitShopBuyOrderCommandHandler`
|
||||
- **کاهش خودکار موجودی**: بعد از تکمیل سفارش `RemainingCount` کم میشود
|
||||
- **افزایش SaleCount**: همزمان با کاهش موجودی
|
||||
- **FrontOffice**: نمایش وضعیت موجودی در صفحه محصول
|
||||
- **محدودیت خرید**: حداکثر تعداد = موجودی انبار
|
||||
|
||||
### ✅ ویژگیهای باشگاه مشتریان (ClubFeatures)
|
||||
- **حذف فیلدهای اضافی**: `DetailedDescriptionHtml`, `Icon`, `Color` از `UserClubFeature`
|
||||
- **معماری صحیح**: دادههای قالب در `ClubFeature`، دادههای کاربر در `UserClubFeature`
|
||||
- **FeaturesPage**: بازطراحی با لیست ساده (آیکون تیک + عنوان + دکمه جزئیات)
|
||||
- **MembershipPage**: مزایای عضویت اصلاح شده (کیف پول ۵۶ میلیون، شبکه بازاریابی، جذب زیرمجموعه)
|
||||
|
||||
### ✅ بهبود مدال آدرسها
|
||||
- **رفع خطای Snackbar**: حذف inject تکراری (global در `_Imports.razor`)
|
||||
- **رفع NullReferenceException**: اضافه کردن null check برای `dialog.Result`
|
||||
|
||||
### ✅ VAT Service
|
||||
- **نرخ پیشفرض**: 9.99% برای تشخیص داده سرور از local
|
||||
- **استفاده یکپارچه**: در تمام صفحات از `VATService` استفاده میشود
|
||||
|
||||
### ✅ CartService Authentication
|
||||
- **EnsureInitializedAsync**: لود سبد خرید فقط برای کاربران لاگینشده
|
||||
- **IsAuthenticatedAsync**: چک توکن در LocalStorage
|
||||
|
||||
---
|
||||
|
||||
## 🆕 تغییرات قبلی (۲۸ آذر) - Session 1
|
||||
|
||||
### ✅ نمودار درختی شبکه با d3-org-chart (FrontOffice)
|
||||
- **کتابخانه**: d3-org-chart v3 + d3.js v7 + d3-flextree
|
||||
- **OrganizationChart.razor**: بازنویسی کامل با JS Interop
|
||||
- **امکانات**:
|
||||
- نمایش درختی باینری شبکه
|
||||
- کلیک روی نود → نمایش زیرمجموعهها
|
||||
- دکمههای بازگشت و "درخت من"
|
||||
- انتخاب عمق درخت (2-10 سطح)
|
||||
- طراحی ریسپانسیو با MudBlazor
|
||||
|
||||
### ✅ API جدید: GetSubordinateTree
|
||||
- **Proto**: `GetSubordinateTreeRequest` در `networkmembership.proto`
|
||||
- **BFF Handler**: `GetSubordinateTreeQueryHandler`
|
||||
- **Frontend Service**: `GetSubordinateTreeAsync(targetUserId, maxDepth)`
|
||||
|
||||
### ✅ بهبود Entity Configuration برای فارسی (CMS)
|
||||
- **Geography Tables**: Country, State, City
|
||||
- **تغییرات**: `nvarchar` با `Persian_100_CI_AI` collation
|
||||
- **Migration**: `FixPersianCollation_Geography`
|
||||
|
||||
---
|
||||
|
||||
## 🆕 تغییرات قبلی (۲۲ آذر)
|
||||
|
||||
### ✅ تبدیل تاریخها به شمسی در UI
|
||||
- **PersianDateTimeService**: سرویس تبدیل تاریخ میلادی به شمسی
|
||||
- **3 صفحه آپدیت شده**: Dashboard, UserPayouts, WorkerControl
|
||||
- **معماری**: تبدیل فقط در لایه نمایش، Backend میلادی باقی ماند
|
||||
|
||||
### ✅ بهبود سرویس اطلاعات شبکه
|
||||
- **28+ فیلد جدید** در GetUserNetworkPosition
|
||||
- **آمار کامل شبکه**: TotalNetworkSize, MaxDepth, ActiveMembers
|
||||
- **آمار مالی**: کمیسیون کسب شده، پرداخت شده، در انتظار
|
||||
- **UI بازنویسی شده**: 6 کارت اطلاعاتی با آیکون و رنگبندی
|
||||
|
||||
### ✅ یکپارچهسازی محاسبه شماره هفته
|
||||
- **Saturday-based**: همه سیستمها از شنبه شروع میکنند
|
||||
- **C# & SQL هماهنگ**: الگوریتم یکسان در GetWeekNumber
|
||||
- **رفع Bug**: هفته 50 → هفته 49 (صحیح)
|
||||
|
||||
**📄 مستند کامل**: [SESSION-2025-12-12-PERSIAN-DATE-AND-NETWORK-INFO-IMPROVEMENTS.md](SESSION-2025-12-12-PERSIAN-DATE-AND-NETWORK-INFO-IMPROVEMENTS.md)
|
||||
|
||||
---
|
||||
|
||||
@@ -11,20 +86,22 @@
|
||||
### **بررسی صحت مستندات موجود:**
|
||||
|
||||
#### ✅ مستندات معتبر و بهروز:
|
||||
- `CMS/implementation-progress.md` ✅ (3060 خط - تا 4 دسامبر 2024)
|
||||
- `CMS/implementation-progress.md` ✅ (3060 خط - تا 12 دسامبر 2025)
|
||||
- Phase 9: Club Discount Shop ✅ Complete (100%)
|
||||
- Phase 12: Package Purchase System ✅ Complete (100%)
|
||||
- **بیلد موفق**: 0 error, 287 warnings
|
||||
- **بیلد موفق**: 0 error, 465 warnings
|
||||
- **جدید**: GetUserNetworkPosition با 42 فیلد
|
||||
|
||||
- `BackOffice/development-plan.md` ✅ (1462 خط - 1 دسامبر 2025)
|
||||
- `BackOffice/development-plan.md` ✅ (1462 خط - 12 دسامبر 2025)
|
||||
- 23 صفحه UI کامل
|
||||
- 35 Handler در BFF
|
||||
- **جدید**: PersianDateTimeService برای نمایش شمسی
|
||||
- **Production Ready**: 100%
|
||||
|
||||
- `FrontOffice/README.md` ✅ (امروز ایجاد شد - ۱۴ آذر)
|
||||
- 24 صفحه UI
|
||||
- 12 ماژول BFF (9 قدیمی + 3 جدید)
|
||||
- Build موفق: 0 error
|
||||
- `SESSION-2025-12-12-PERSIAN-DATE-AND-NETWORK-INFO-IMPROVEMENTS.md` ⭐ جدید
|
||||
- تبدیل تاریخ شمسی (3 صفحه)
|
||||
- بهبود سرویس شبکه (28+ فیلد)
|
||||
- یکپارچهسازی محاسبه هفته
|
||||
|
||||
#### ⚠️ مستندات نیاز به بروزرسانی:
|
||||
- `REMAINING-TASKS-CONSOLIDATED.md` - آخرین بروزرسانی: 2 دسامبر
|
||||
|
||||
Reference in New Issue
Block a user