From df650c3886f27d8f34908321c2d58a3cf24e300f Mon Sep 17 00:00:00 2001 From: masoodafar-web Date: Mon, 29 Dec 2025 00:40:13 +0330 Subject: [PATCH] feat: Update changelog and documentation for version 2.7, including Commission Data Flow Fix, UI improvements, and terminology cleanup --- 00-INDEX.md | 13 +- 04-FRONTEND/FrontOffice/README.md | 75 ++++++++--- CHANGELOG-2025-12-29.md | 216 ++++++++++++++++++++++++++++++ 3 files changed, 282 insertions(+), 22 deletions(-) create mode 100644 CHANGELOG-2025-12-29.md diff --git a/00-INDEX.md b/00-INDEX.md index f509cf2..7ed69ab 100644 --- a/00-INDEX.md +++ b/00-INDEX.md @@ -1,7 +1,7 @@ # 📚 FourSat Project - فهرست جامع مستندات -> **نسخه**: 2.6 -> **آخرین بروزرسانی**: ۷ دی ۱۴۰۴ (December 27, 2025) +> **نسخه**: 2.7 +> **آخرین بروزرسانی**: ۹ دی ۱۴۰۴ (December 29, 2025) > **وضعیت**: ✅ تجمیع و بازسازی کامل --- @@ -38,7 +38,14 @@ | **BackOffice UI** | ✅ Production Ready | 100% | [`04-FRONTEND/BackOffice/ui-status.md`](04-FRONTEND/BackOffice/ui-status.md) | | **FrontOffice UI** | 🚧 In Progress | 75% | [`04-FRONTEND/FrontOffice/README.md`](04-FRONTEND/FrontOffice/README.md) | -### آخرین دستاوردها (۷ دی): +### آخرین دستاوردها (۹ دی): +- ✅ **Commission Carryover Fix**: رفع مشکل نمایش 0 برای carryover در weekly-balance +- ✅ **WeekSelector Autocomplete**: انتخابگر هفته با جستجو در داشبورد کمیسیون +- ✅ **Responsive Commission Pages**: بهبود UI با MudGrid و Summary Stats +- ✅ **Merged Dashboard/History**: ادغام دو صفحه تکراری با dual routing +- ✅ **Terminology Cleanup**: جایگزینی کلمات MLM-حساس (کمیسیون→پاداش، شبکه→تیم) + +### دستاوردهای ۷ دی: - ✅ **SystemConstants**: انتقال مقادیر hardcode (56M) به کلاس مرکزی - ✅ **SmsTemplates**: متمرکز کردن همه قالب‌های پیامک در یک فایل - ✅ **Daya Loan SMS**: ارسال پیامک خودکار هنگام تأیید وام دایا diff --git a/04-FRONTEND/FrontOffice/README.md b/04-FRONTEND/FrontOffice/README.md index 8728eb4..1516ea1 100644 --- a/04-FRONTEND/FrontOffice/README.md +++ b/04-FRONTEND/FrontOffice/README.md @@ -2,11 +2,49 @@ > **FrontOffice**: رابط کاربری Blazor Server برای مشتریان نهایی سیستم FourSat > -> **آخرین بروزرسانی**: ۶ دی ۱۴۰۴ (26 دسامبر 2025) +> **آخرین بروزرسانی**: ۹ دی ۱۴۰۴ (29 دسامبر 2025) --- -## 🆕 تغییرات اخیر (۶ دی ۱۴۰۴) +## 🆕 تغییرات اخیر (۹ دی ۱۴۰۴) + +### ✅ Commission Data Flow Fix +- **مشکل**: صفحه weekly-balance مقادیر carryover را 0 نشان می‌داد +- **حل**: استفاده از مقادیر واقعی سرور به جای محاسبه محلی +- **فایل‌ها**: + - `CommissionService.cs` - استفاده از `balance.LeftLegCarryover` + - `CommissionDtos.cs` - Properties جدید carryover و new_members + +### ✅ WeekSelector Autocomplete +- **کامپوننت**: `MudAutocomplete` برای انتخاب هفته +- **قابلیت**: جستجو در لیست هفته‌ها +- **صفحه**: `CommissionDashboardPage.razor` + +### ✅ Responsive UI Improvements +- **MudGrid**: استفاده از breakpoints (`xs`, `sm`, `md`) +- **Summary Stats**: کارت‌های آماری در بالای صفحه +- **MudHidden**: جدول در دسکتاپ، کارت در موبایل + +### ✅ Merged Dashboard & History Pages +- **قبل**: دو صفحه جداگانه تکراری +- **بعد**: یک صفحه با dual routing +- **فایل حذف شده**: `CommissionHistoryPage.razor[.cs]` + +### ✅ Terminology Cleanup (MLM-Sensitive Words) +جایگزینی کلمات حساس: +| قبلی | جدید | +|------|------| +| کمیسیون | پاداش | +| شبکه‌سازی | تیم‌سازی | +| مشاهده شبکه | مشاهده تیم | +| آمار شبکه | آمار تیم | +| شبکه‌های فروش | تیم‌های فروش | + +**فایل‌های تغییر یافته**: WeeklyBalancePage, CommissionDashboardPage, MyPackages, Packages, Index, About, Footer, NetworkStatisticsPage + +--- + +## 🆕 تغییرات قبلی (۶ دی ۱۴۰۴) ### ✅ نمایش کد معرف در درخت شبکه - **کد معرف**: نمایش ReferralCode برای کاربران فعال باشگاه @@ -80,17 +118,16 @@ FrontOffice/ │ │ │ ├── MembershipPage.razor │ │ │ ├── FeaturesPage.razor │ │ │ └── Components/ActivationSection.razor - │ │ ├── Network/ # ✅ شبکه (2 صفحه) + │ │ ├── Network/ # ✅ تیم (2 صفحه) │ │ │ ├── NetworkStatisticsPage.razor │ │ │ └── (Tree در Profile است) - │ │ └── Commission/ # ✅ کمیسیون (3 صفحه) - │ │ ├── CommissionDashboardPage.razor - │ │ ├── CommissionHistoryPage.razor + │ │ └── Commission/ # ✅ پاداش (2 صفحه) + │ │ ├── CommissionDashboardPage.razor # dual: /dashboard + /history │ │ └── WeeklyBalancePage.razor │ └── Utilities/ # Services & DTOs │ ├── ClubMembershipService.cs # ⚠️ Mock Data │ ├── NetworkMembershipService.cs # ⚠️ Mock Data - │ ├── CommissionService.cs # ⚠️ Mock Data + │ ├── CommissionService.cs # ✅ Real Data │ └── WalletService.cs # ⚠️ 4 متد کامنت شده └── FrontOffice.BFF/ # Backend for Frontend ├── FrontOffice.BFF.sln @@ -170,26 +207,26 @@ FrontOffice/ - MudChart.Donut برای توزیع - کارت آخرین عضو (آواتار، موقعیت، تاریخ) -### 💰 Commission (3 صفحه) - **جدید** ✨ -- ✅ **CommissionDashboardPage.razor**: داشبورد پرداخت‌ها - - فیلترهای هفته و وضعیت +### 💰 Commission (2 صفحه) - **بروزرسانی ۹ دی** ✨ +- ✅ **CommissionDashboardPage.razor**: داشبورد پاداش‌ها (merged با History) + - **Dual routing**: `/commission/dashboard` + `/commission/history` + - **WeekSelector Autocomplete**: انتخابگر هفته با جستجو + - **Summary Stats Cards**: کل پاداش، پرداخت شده، در انتظار، میانگین - جدول + نمای موبایل (MudHidden responsive) - Pagination با MudPagination - - لینک به صفحات تاریخچه و تعادل هفتگی - -- ✅ **CommissionHistoryPage.razor**: تاریخچه کامل پرداخت‌ها - - کارت‌های خلاصه (مجموع، تعداد هفته، میانگین) - - جدول کامل با FixedHeader - - لینک به جزئیات تعادل هر هفته + - لینک به صفحه تعادل هفتگی - ✅ **WeeklyBalancePage.razor**: جزئیات تعادل هفتگی - انتخابگر هفته با دکمه "هفته جاری" - - کارت‌های تعادل چپ/راست با Progress bar - - پنل محاسبات (Min balance, Count, Commission) + - کارت‌های تعادل تیم اول/دوم با Progress bar + - **Carryover Breakdown**: نمایش اعضای جدید + انتقال از هفته قبل + - پنل محاسبات (Min balance, Count, پاداش) - هشدار Carryover (اگر باشد) - - MudChart.Bar مقایسه چپ/راست/Min + - MudChart.Bar مقایسه تیم اول/دوم/Min - پشتیبانی Query parameter (?week=45) +- ❌ **CommissionHistoryPage.razor**: حذف شده (merged با Dashboard) + --- ## 🛠️ Services (8 سرویس) diff --git a/CHANGELOG-2025-12-29.md b/CHANGELOG-2025-12-29.md new file mode 100644 index 0000000..717172a --- /dev/null +++ b/CHANGELOG-2025-12-29.md @@ -0,0 +1,216 @@ +# 📝 Changelog - ۹ دی ۱۴۰۴ (29 December 2025) + +> **Session**: Commission Data Flow Fix + UI Improvements + Terminology Cleanup (MLM-sensitive words) + +--- + +## 🎯 خلاصه Session + +این session شامل موارد زیر بود: + +1. **Commission Carryover Data Flow** - رفع مشکل نمایش 0 برای carryover در صفحه weekly-balance +2. **WeekSelector Autocomplete** - افزودن انتخابگر هفته به صفحه داشبورد کمیسیون +3. **Responsive Commission Pages** - بهبود رسپانسیو صفحات با MudGrid +4. **Merge Dashboard & History Pages** - ادغام دو صفحه تکراری کمیسیون +5. **Terminology Cleanup** - جایگزینی کلمات حساس MLM با معادل‌های خنثی + +--- + +## ✨ تغییرات + +### 1. 💰 Commission Carryover Data Flow ✅ + +**مشکل**: صفحه `weekly-balance` مقادیر carryover را همیشه 0 نشان می‌داد در حالی که API مقادیر صحیح برمی‌گرداند. + +**علت**: FrontOffice client carryover را خودش محاسبه می‌کرد به جای استفاده از مقادیر سرور. + +**فایل‌های تغییر یافته**: + +| فایل | تغییر | +|------|-------| +| `FrontOffice.BFF/commission.proto` | افزودن fields 11-14: carryover و new_members | +| `FrontOffice.BFF/CommissionProfile.cs` | Mapping جدید برای carryover fields | +| `FrontOffice/CommissionDtos.cs` | Properties جدید: LeftCarryover, RightCarryover, LeftNewMembers, RightNewMembers | +| `FrontOffice/CommissionService.cs` | استفاده از مقادیر واقعی سرور به جای محاسبه محلی | + +**Proto Fields جدید**: +```protobuf +message WeeklyBalanceResponse { + // ... existing fields ... + int32 left_leg_carryover = 11; + int32 right_leg_carryover = 12; + int32 left_leg_new_members = 13; + int32 right_leg_new_members = 14; +} +``` + +--- + +### 2. 🎯 WeekSelector Autocomplete ✅ + +**نیاز**: انتخاب آسان هفته‌ها در صفحه داشبورد کمیسیون به جای dropdown ساده. + +**پیاده‌سازی**: +```razor + +``` + +**فایل**: `FrontOffice.Main/Pages/Commission/CommissionDashboardPage.razor` + +--- + +### 3. 📱 Responsive Commission Pages ✅ + +**تغییرات UI**: +- استفاده از `MudGrid` با breakpoints مناسب (`xs`, `sm`, `md`) +- `MudHidden` برای نمایش/مخفی کردن المان‌ها در موبایل/دسکتاپ +- کارت‌های آماری (Summary Stats) در بالای صفحه +- جدول در دسکتاپ، کارت در موبایل + +**Summary Stats Cards**: +```razor + + + + @TotalCommissions.ToString("N0") + کل پاداش‌ها + + + + +``` + +--- + +### 4. 🔀 Merge Dashboard & History Pages ✅ + +**قبل**: دو صفحه جداگانه با functionality تکراری +- `/commission/dashboard` - داشبورد با فیلتر +- `/commission/history` - تاریخچه با pagination + +**بعد**: یک صفحه واحد با dual routing +```csharp +@attribute [Route(RouteConstants.Commission.Dashboard)] +@attribute [Route(RouteConstants.Commission.History)] +``` + +**فایل‌های حذف شده**: +- `CommissionHistoryPage.razor` ❌ +- `CommissionHistoryPage.razor.cs` ❌ + +**فایل نهایی**: `CommissionDashboardPage.razor` با تمام قابلیت‌ها + +--- + +### 5. 📝 Terminology Cleanup (MLM-Sensitive Words) ✅ + +**هدف**: جایگزینی کلمات حساس MLM با معادل‌های خنثی برای جلوگیری از حساسیت مشتریان. + +#### جایگزینی‌های انجام شده: + +| کلمه قبلی | کلمه جدید | توضیح | +|-----------|-----------|-------| +| کمیسیون | **پاداش** | Commission → Reward | +| شبکه‌سازی | **تیم‌سازی** | Network Building → Team Building | +| شبکه‌های فروش | **تیم‌های فروش** | Sales Networks → Sales Teams | +| مشاهده شبکه | **مشاهده تیم** | View Network → View Team | +| آمار شبکه | **آمار تیم** | Network Stats → Team Stats | +| رشد میانگین شبکه | **رشد میانگین تیم** | Network Growth → Team Growth | + +#### فایل‌های تغییر یافته: + +| فایل | تغییرات | +|------|---------| +| `WeeklyBalancePage.razor` | کمیسیون → پاداش | +| `CommissionDashboardPage.razor` | کمیسیون → پاداش، PageTitle | +| `MyPackages.razor` | کمیسیون → پاداش، مشاهده شبکه → مشاهده تیم | +| `Packages.razor` | کمیسیون → پاداش | +| `Index.razor` | شبکه‌سازی → تیم‌سازی، رشد میانگین شبکه → تیم | +| `About.razor` | شبکه‌سازی → تیم‌سازی، شبکه‌های فروش → تیم‌های فروش | +| `Footer.razor` | شبکه‌های فروش → تیم‌های فروش | +| `NetworkStatisticsPage.razor` | آمار شبکه → آمار تیم | + +#### کلمات بدون تغییر (صحیح هستند): + +| کلمه | دلیل عدم تغییر | +|------|---------------| +| شبکه‌های اجتماعی | Social Networks - مرتبط با MLM نیست | +| درخت دسته‌بندی‌ها | Category Tree - مرتبط با MLM نیست | +| درخت شبکه (BackOffice) | پنل ادمین - نیاز به صراحت دارد | +| زیرمجموعه (BackOffice) | پنل ادمین - نیاز به صراحت دارد | + +--- + +## 📁 فایل‌های تغییر یافته + +### FrontOffice.BFF: +``` +src/FrontOffice.BFF.Domain/Domain.csproj # CMS proto v0.0.162 +src/BackOffice.BFF.Application/.../CommissionProfile.cs # Carryover mapping +src/Protobufs/commission.proto # Fields 11-14 +``` + +### FrontOffice Client: +``` +src/FrontOffice.Main/FrontOffice.Main.csproj # Commission.Protobuf v0.0.6 +src/FrontOffice.Main/Utilities/CommissionDtos.cs # New properties +src/FrontOffice.Main/Utilities/CommissionService.cs # Server values +src/FrontOffice.Main/Pages/Commission/CommissionDashboardPage.razor # Merged + Responsive +src/FrontOffice.Main/Pages/Commission/CommissionDashboardPage.razor.cs # Dual routes +src/FrontOffice.Main/Pages/Commission/WeeklyBalancePage.razor # UI + Terminology +src/FrontOffice.Main/Pages/Package/MyPackages.razor # Terminology +src/FrontOffice.Main/Pages/Store/Packages.razor # Terminology +src/FrontOffice.Main/Pages/Index.razor # Terminology +src/FrontOffice.Main/Pages/About.razor # Terminology +src/FrontOffice.Main/Pages/Network/NetworkStatisticsPage.razor # Terminology +src/FrontOffice.Main/Shared/Footer.razor # Terminology +``` + +### فایل‌های حذف شده: +``` +src/FrontOffice.Main/Pages/Commission/CommissionHistoryPage.razor ❌ +src/FrontOffice.Main/Pages/Commission/CommissionHistoryPage.razor.cs ❌ +``` + +--- + +## 🧪 تست و تأیید + +- ✅ صفحه weekly-balance مقادیر صحیح carryover نمایش می‌دهد +- ✅ WeekSelector در داشبورد کار می‌کند +- ✅ صفحات در موبایل responsive هستند +- ✅ هر دو route به یک صفحه می‌روند +- ✅ همه terminology ها تغییر کرده‌اند + +--- + +## 📋 لیست کلمات MLM-حساس (مرجع) + +برای آینده، این کلمات در UI مشتری باید با دقت استفاده شوند: + +| کلمه حساس | جایگزین پیشنهادی | وضعیت | +|-----------|-----------------|-------| +| کمیسیون | پاداش | ✅ انجام شد | +| شبکه‌سازی | تیم‌سازی | ✅ انجام شد | +| شبکه (در context MLM) | تیم | ✅ انجام شد | +| زیرمجموعه | اعضای تیم | ⏸️ فقط BackOffice | +| درخت شبکه | نمودار سازمانی | ⏸️ فقط BackOffice | +| شاخه چپ/راست | تیم اول/دوم | ✅ قبلاً انجام شده | +| تعادل | امتیاز/جفت | ✅ قبلاً انجام شده | +| سقف | حداکثر | ✅ قبلاً انجام شده | +| Downline | اعضا | ⏸️ فقط BackOffice | +| Binary Tree | ساختار تیم | ⏸️ فقط BackOffice | + +--- + +## 🔗 Related Files + +- [`CHANGELOG-2025-12-27.md`](CHANGELOG-2025-12-27.md) - Session قبلی +- [`04-FRONTEND/FrontOffice/README.md`](04-FRONTEND/FrontOffice/README.md) - مستندات FrontOffice +- [`01-BUSINESS/network-commission-system.md`](01-BUSINESS/network-commission-system.md) - منطق تجاری کمیسیون