diff --git a/business/BUSINESS-01-CLUB-COMMISSION.md b/business/BUSINESS-01-CLUB-COMMISSION.md index eaec764..223bbb9 100644 --- a/business/BUSINESS-01-CLUB-COMMISSION.md +++ b/business/BUSINESS-01-CLUB-COMMISSION.md @@ -1,7 +1,7 @@ # 🏆 سیستم باشگاه، کمیسیون و درخت شبکه‌ای > **منابع ادغام‌شده:** `club-commission-system-complete.md`, `balance-calculation-rules.md`, `club-membership-contract-system.md` -> **آخرین بروزرسانی:** اسفند ۱۴۰۴ (بروزرسانی: Magic Wallet + کمیسیون) +> **آخرین بروزرسانی:** اسفند ۱۴۰۴ (بروزرسانی: Magic Wallet کامل + بهبود مدیریت اعضا) --- diff --git a/business/BUSINESS-02-PAYMENT-FINANCE.md b/business/BUSINESS-02-PAYMENT-FINANCE.md index b8f6a6b..cbfd905 100644 --- a/business/BUSINESS-02-PAYMENT-FINANCE.md +++ b/business/BUSINESS-02-PAYMENT-FINANCE.md @@ -1,7 +1,7 @@ # 💰 سیستم مالی، پرداخت و درگاه‌ها > **منابع ادغام‌شده:** `payment-gateway.md`, `payment-architecture-pyms.md`, `daya-loan-integration.md`, `manual-payment-system.md`, `discount-shop-business.md` -> **آخرین بروزرسانی:** اسفند ۱۴۰۴ (بروزرسانی: Magic Wallet + VAT 10%) +> **آخرین بروزرسانی:** اسفند ۱۴۰۴ (بروزرسانی: فعال‌سازی درگاه ZarinPal + تنظیمات محیطی) --- @@ -34,10 +34,10 @@ flowchart TD ## ۲. درگاه ZarinPal (IPG) -> **⚠️ محل استفاده:** ZarinPal فقط در چهار جا استفاده می‌شود: +> **✅ محل استفاده:** ZarinPal در چهار جا فعال است: > 1. **فروشگاه اعتباری** — باقیمانده بعد از کسر DiscountBalance (اگر > 0) -> 2. **شارژ کیف‌پول** — واریز مستقیم از پروفایل کاربر -> 3. **خرید پکیج** — (فعلاً غیرفعال: "درگاه پرداخت متصل نیست") +> 2. **شارژ کیف‌پول اعتباری** — واریز مستقیم از پروفایل کاربر +> 3. **خرید پکیج** — پرداخت مستقیم با کارت بانکی (هر دو شاخه فعال) > 4. **شارژ کیف‌پول جادویی** — واریز با ضریب ×2.5 (فقط در حالت Magic) > > ❌ **فروشگاه عادی (Regular Store) از ZarinPal استفاده نمی‌کند** — فقط کسر از Balance کیف‌پول @@ -58,11 +58,16 @@ flowchart TD | پارامتر | مقدار | |----------|-------| -| `MerchantId` | از appsettings | +| `MerchantId` | `4225d555-5fa9-4df0-9b61-1ce152cbbba8` | | `CallbackUrl` | `/payment/callback` | -| `Sandbox` | true (staging) / false (production) | +| `Sandbox` | `true` (staging) / `false` (production) | | `Currency` | IRR (ریال → تبدیل به تومان در UI) | +> **تنظیمات محیطی:** +> - `appsettings.json` + `appsettings.Staging.json`: `UseSandbox: true` (تست) +> - `appsettings.Production.json`: `UseSandbox: false` (واقعی) +> - Production URL: `cms.kbs1.ir` | FrontOffice GwUrl: `cms.kbs2.ir` + --- ## ۳. سیستم وام دایا (DayaLoan) @@ -212,10 +217,10 @@ service PaymentService { | ماژول | وضعیت | یادداشت | |-------|--------|---------| -| ZarinPal IPG | ✅ کامل | Production ready | +| ZarinPal IPG | ✅ کامل | **Production فعال** — MerchantId: `4225d555...` | | وام دایا | ✅ کامل | Mock mode فعال در staging | | پرداخت ترکیبی | ✅ کامل | Discount + IPG | | Pool هفتگی | ✅ کامل | SP + Hangfire | | پرداخت دستی | ⬜ طراحی | نیاز به تصمیم مدیریت | | Refund | ⬜ طراحی | فقط در PYMS تعریف‌شده | -| کیف‌پول جادویی (Magic) | ✅ کامل | فاز 1-5 پیاده‌سازی شده | +| کیف‌پول جادویی (Magic) | ✅ کامل | فاز 1-6 پیاده‌سازی شده — Production فعال | diff --git a/overview/OVERVIEW-02-INDEX.md b/overview/OVERVIEW-02-INDEX.md index eafa3f5..e5f5f6d 100644 --- a/overview/OVERVIEW-02-INDEX.md +++ b/overview/OVERVIEW-02-INDEX.md @@ -4,7 +4,7 @@ > **تاریخ تجمیع:** اسفند ۱۴۰۴ > **تعداد فایل‌های مبدأ:** ۵۳ فایل (~۳۲,۰۰۰ خط) > **تعداد فایل‌های نهایی:** ۱۷ فایل (۱۵ اصلی + ۲ roadmap) -> **آخرین بروزرسانی:** اسفند ۱۴۰۴ (Magic Wallet + VAT fix) +> **آخرین بروزرسانی:** اسفند ۱۴۰۴ (فعال‌سازی درگاه + مرج Production + بهبود UI) --- diff --git a/overview/OVERVIEW-03-CHANGELOG.md b/overview/OVERVIEW-03-CHANGELOG.md index cf07519..4a22fe2 100644 --- a/overview/OVERVIEW-03-CHANGELOG.md +++ b/overview/OVERVIEW-03-CHANGELOG.md @@ -1,7 +1,7 @@ # 📜 تاریخچه کارهای انجام‌شده > **همه فعالیت‌های پروژه به صورت بولت با توضیح یک‌خطی و درصد تکمیل** -> **آخرین بروزرسانی:** اسفند ۱۴۰۴ (بروزرسانی: Magic Wallet + VAT 10%) +> **آخرین بروزرسانی:** اسفند ۱۴۰۴ (بروزرسانی: فعال‌سازی درگاه + مرج پروداکشن + بهبود UI ادمین) --- @@ -9,12 +9,12 @@ | حوزه | تعداد آیتم | تکمیل‌شده | درصد کل | |------|-----------|----------|---------| -| **BackOffice** | 58 | 57 | **98%** | -| **FrontOffice** | 38 | 35 | **92%** | -| **CMS Core** | 55 | 52 | **95%** | -| **Deployment** | 20 | 18 | **90%** | -| **Migration** | 15 | 15 | **100%** | -| **مجموع** | **186** | **177** | **95%** | +| **BackOffice** | 61 | 60 | **98%** | +| **FrontOffice** | 40 | 38 | **95%** | +| **CMS Core** | 58 | 56 | **97%** | +| **Deployment** | 22 | 21 | **95%** | +| **Migration** | 16 | 16 | **100%** | +| **مجموع** | **197** | **191** | **97%** | --- @@ -61,9 +61,14 @@ - ✅ Hangfire InventorySync — ایجاد رکوردهای گمشده - ⬜ Dark Mode — طراحی نشده (Phase آینده) +### Phase 18: بهبود UI ادمین (اسفند ۱۴۰۴) +- ✅ UserAutoComplete در ActivateClubDialog — جایگزین MudNumericField برای انتخاب کاربر +- ✅ فیلتر کاربر در صفحه ClubMembers — UserAutoComplete در تولبار جستجو +- ✅ نمایش نام کاربر در WalletManagementPage — TemplateColumn با UserName + ID + --- -## ۲. FrontOffice — فازها (91% کامل) +## ۲. FrontOffice — فازها (95% کامل) ### UI Modernization Phase 1-3 - ✅ ارتقا به MudBlazor v8 — همه کامپوننت‌ها @@ -88,6 +93,12 @@ - ✅ صفحه Chatika — چت AI - ✅ کیف‌پول جادویی — MagicWallet.razor + فرم شارژ + پروگرس‌بار سقف +### فعال‌سازی درگاه پرداخت (اسفند ۱۴۰۴) +- ✅ دکمه پرداخت شارژ کیف‌پول اعتباری — ChargeDiscountWallet.razor فعال شد (حذف «بزودی») +- ✅ دکمه پرداخت شارژ کیف‌پول جادویی — MagicWallet.razor فعال شد (حذف «بزودی») +- ✅ دکمه‌های پرداخت مستقیم خرید پکیج — Index.razor هر دو شاخه فعال شدند (حذف «بزودی») +- ✅ فیکس GwUrl پروداکشن — تصحیح از cms.kbs1.ir به cms.kbs2.ir + ### محتوا و ناوبری - ✅ بلاگ — لیست + جزئیات + pagination - ✅ صفحات سایت — About, Contact, FAQ, Terms, Privacy, Licenses @@ -99,7 +110,7 @@ --- -## ۳. CMS Core (93% کامل) +## ۳. CMS Core (97% کامل) ### ساختار و معماری - ✅ CQRS با MediatR — Commands + Queries + Handlers @@ -130,17 +141,26 @@ - ✅ Club Features — activate/deactivate - ✅ DayaLoan Integration — Hangfire + Polly -### 🪄 کیف‌پول جادویی (Magic Wallet) — فاز 1-5 +### 🪄 کیف‌پول جادویی (Magic Wallet) — فاز 1-6 ✅ - ✅ فاز ۱: WalletMode enum + UserWallet fields + ClubMembershipCycle entity + TransactionType (14,15) - ✅ فاز ۲: Trigger ورود/خروج Magic در SubmitShopBuyOrder + ActivateClubMembership Cycle - ✅ فاز ۳: ChargeMagicWallet + VerifyMagicWalletCharge + HTTP callback + gRPC RPCs - ✅ فاز ۴: فیلتر Magic از کمیسیون (C# + SP) + تاریخ Cycle - ✅ فاز ۵: MagicWallet.razor UI + WalletService + تایل داشبورد -- ⬜ فاز ۶: محدودیت دایا بعد از دور اول +- ✅ فاز ۶: محدودیت دایا بعد از دور اول + محدودیت فعالسازی در حالت Magic ### VAT - ✅ اصلاح VAT از 9% به 10% در همه فایل‌ها (VatCalculator, UserOrderService, Checkout, VATService) +### فعال‌سازی درگاه و تنظیمات محیطی (اسفند ۱۴۰۴) +- ✅ تنظیم MerchantId جدید ZarinPal — `4225d555-5fa9-4df0-9b61-1ce152cbbba8` +- ✅ تنظیمات محیطی — Staging: UseSandbox=true / Production: UseSandbox=false +- ✅ فعال‌سازی MagicWalletCycleSeed در Production +- ✅ تنظیم Kestrel Http2 + Seq logging برای Production +- ✅ بهبود user_name در proto — فیلد جدید در GetAllUserWalletByFilterResponseModel +- ✅ اغنای پاسخ UserWalletService — join با جدول Users برای نمایش نام کاربر +- ✅ ارتقای Proto NuGet به نسخه 0.0.183 + ### محتوا - ✅ Blog CRUD — با pagination - ✅ SitePage Settings — JSON typed @@ -151,7 +171,7 @@ --- -## ۴. Deployment و زیرساخت (90% کامل) +## ۴. Deployment و زیرساخت (95% کامل) - ✅ Docker Compose — تمام سرویس‌ها - ✅ Dockerfile (CMS) — multi-stage build @@ -163,8 +183,12 @@ - ✅ Health Check scripts — K8s + service - ✅ Mirror Configuration — Docker + NuGet - ✅ Base Image Caching — pull + save + load +- ✅ مرج پروداکشن CMS — حل conflict در appsettings.Production.json + حذف migration تکراری u21 +- ✅ مرج پروداکشن FrontOffice — ۲۱ فایل، ۴۰۰ insertion + فیکس GwUrl +- ✅ مرج پروداکشن BackOffice — ۳۶ فایل، بدون conflict +- ✅ اجرای Migration روی پروداکشن — ExpandDiscountProductFullInformation روی DB کی‌بی‌اس - ⬜ Monitoring (Prometheus/Grafana) — برنامه‌ریزی‌شده -- ⬜ Log Aggregation (ELK/Seq) — برنامه‌ریزی‌شده +- ⬜ Log Aggregation (ELK/Seq) — Seq تنظیم شده در Production (http://seq-svc:5341) --- @@ -206,4 +230,5 @@ | اسفند ۱۴۰۳ (هفته ۲) | Site Pages + BackOffice audit | 75% | | اسفند ۱۴۰۳ (هفته ۳) | Inventory + Lazy Load + Images | 85% | | اسفند ۱۴۰۳ (هفته ۴) | مستندات + نهایی‌سازی | 95% | -| اسفند ۱۴۰۴ | 🪄 کیف‌پول جادویی (فاز 1-5) + اصلاح VAT 10% | 96% | +| اسفند ۱۴۰۴ (هفته ۱-۲) | 🪄 کیف‌پول جادویی (فاز 1-6) + اصلاح VAT 10% | 96% | +| اسفند ۱۴۰۴ (هفته ۳) | 🚀 فعال‌سازی درگاه + بهبود UI ادمین + مرج پروداکشن | 97% | diff --git a/overview/OVERVIEW-05-ROADMAP.md b/overview/OVERVIEW-05-ROADMAP.md index 3faf6dd..49b644c 100644 --- a/overview/OVERVIEW-05-ROADMAP.md +++ b/overview/OVERVIEW-05-ROADMAP.md @@ -1,22 +1,22 @@ # 🗺️ نقشه راه، ریسک‌ها و کارهای باقیمانده > **Roadmap + Risk Register + Dependencies + Priorities** -> **آخرین بروزرسانی:** اسفند ۱۴۰۴ (بروزرسانی: Magic Wallet completed) +> **آخرین بروزرسانی:** اسفند ۱۴۰۴ (بروزرسانی: فعال‌سازی درگاه + مرج پروداکشن + بهبود UI) --- ## ۱. وضعیت فعلی پروژه ``` -██████████████████████████████████████████████████ 96% +██████████████████████████████████████████████████ 97% Core Platform ████████████████████████████████████████████████ 98% Club System ████████████████████████████████████████████████ 98% E-Commerce ████████████████████████████████████████████████ 98% -Payment ████████████████████████████████████████████░░░░ 90% -Magic Wallet ████████████████████████████████████████░░░░░░░░ 83% -UI/UX ██████████████████████████████████████████░░░░░░ 88% -Deployment ████████████████████████████████████████████░░░ 90% +Payment ████████████████████████████████████████████████ 97% +Magic Wallet ████████████████████████████████████████████████ 100% +UI/UX █████████████████████████████████████████████░░░ 93% +Deployment ██████████████████████████████████████████████░░ 95% Documentation ████████████████████████████████████████████████ 100% ``` @@ -200,12 +200,17 @@ gantt ``` DONE (اسفند ۱۴۰۴): → Documentation consolidation ✅ - → 🪄 Magic Wallet فاز 1-5 ✅ (فاز 6 باقی) + → 🪄 Magic Wallet فاز 1-6 ✅ (کامل) → اصلاح VAT 9% → 10% ✅ + → فعال‌سازی درگاه ZarinPal (پروداکشن) ✅ + → تنظیمات محیطی Staging/Production ✅ + → بهبود UI ادمین (UserAutoComplete + نام کاربر در کیف‌پول) ✅ + → مرج پروداکشن هر ۳ ریپو (CMS + FO + BO) ✅ + → اجرای Migration روی پروداکشن ✅ -NOW (این ماه): - → Magic Wallet فاز 6 — محدودیت دایا + NOW (این ماه): → EF Migration نهایی + → تست کامل پروداکشن NEXT (فروردین): → Mobile Responsive (H2) diff --git a/roadmap/MAGIC-WALLET-PLAN.md b/roadmap/MAGIC-WALLET-PLAN.md index 7f420e5..bbcba0d 100644 --- a/roadmap/MAGIC-WALLET-PLAN.md +++ b/roadmap/MAGIC-WALLET-PLAN.md @@ -2,7 +2,8 @@ > **مرجع:** [MAGIC-WALLET-SPEC](./MAGIC-WALLET-SPEC.md) > **تخمین کل:** ~۷ روز کاری -> **وابستگی مستقل:** تکمیل ChargeDiscountWallet (ربطی به جادویی ندارد) +> **وضعیت:** ✅ کامل — همه ۶ فاز پیاده‌سازی و مرج شده +> **وابستگی مستقل:** تکمیل ChargeDiscountWallet (ربطی به جادویی ندارد) ✅ --- diff --git a/technical/TECH-02-BACKOFFICE-FRONTOFFICE.md b/technical/TECH-02-BACKOFFICE-FRONTOFFICE.md index 679515e..dcb7484 100644 --- a/technical/TECH-02-BACKOFFICE-FRONTOFFICE.md +++ b/technical/TECH-02-BACKOFFICE-FRONTOFFICE.md @@ -1,7 +1,7 @@ # 🖥️ BackOffice و FrontOffice — معماری UI > **منابع ادغام‌شده:** `BACKOFFICE-ARCHITECTURE.md`, `BACKOFFICE-STORE-UNIFICATION.md`, `UI-MODERNIZATION-PLAN.md`, `UI-UNIFICATION-PLAN.md`, `PHASE-1-COMPLETE.md`, `PHASE-3-COMPLETE.md`, `PRODUCT-IMAGES-SQUARE.md` -> **آخرین بروزرسانی:** اسفند ۱۴۰۴ (بروزرسانی: Magic Wallet UI + ProjectReference) +> **آخرین بروزرسانی:** اسفند ۱۴۰۴ (بروزرسانی: UserAutoComplete + فعال‌سازی درگاه) --- @@ -37,6 +37,12 @@ BackOffice/src/BackOffice/ │ ├── Orders/ │ ├── Users/ │ ├── Club/ +│ │ ├── ClubMembers.razor ← + UserAutoComplete فیلتر در تولبار +│ │ └── ActivateClubDialog.razor ← UserAutoComplete بجای MudNumericField +│ ├── Wallet/ +│ │ └── WalletManagementPage.razor ← TemplateColumn با UserName + ID +│ ├── AutoComplete/ +│ │ └── UserAutoComplete.razor ← کامپوننت مشترک جستجوی کاربر │ ├── Blog/ │ ├── Inventory/ │ ├── SitePages/ @@ -254,6 +260,9 @@ if (user.Identity?.IsAuthenticated == true) { | RTL Support | ✅ | 100% | | Magic Wallet UI | ✅ | 100% | | Proto ProjectReference | ✅ | 100% | +| UserAutoComplete کامپوننت | ✅ | 100% | +| نمایش نام کاربر در Wallet | ✅ | 100% | +| فعال‌سازی دکمه‌های درگاه | ✅ | 100% | | Mobile Responsive (Phase 7) | ⬜ | 0% | | Dark Mode | ⬜ | 0% | | PWA | ⬜ | 0% | diff --git a/technical/TECH-03-DEPLOYMENT-INFRA.md b/technical/TECH-03-DEPLOYMENT-INFRA.md index cb014ed..dd896d7 100644 --- a/technical/TECH-03-DEPLOYMENT-INFRA.md +++ b/technical/TECH-03-DEPLOYMENT-INFRA.md @@ -1,7 +1,7 @@ # 🚀 استقرار، CI/CD و زیرساخت > **منابع ادغام‌شده:** `CICD-PIPELINE-GUIDE.md`, `DEPLOYMENT-README.md`, `INFRASTRUCTURE-GUIDE.md`, `INGRESS-NGINX-WARNING.md`, `OFFLINE-DEPLOYMENT-GUIDE.md`, `SERVER-MIRRORS-CONFIG.md` -> **آخرین بروزرسانی:** اسفند ۱۴۰۴ +> **آخرین بروزرسانی:** اسفند ۱۴۰۴ (بروزرسانی: مرج پروداکشن + تنظیمات محیطی) --- @@ -320,6 +320,25 @@ flowchart TD ## ۹. مانیتورینگ و Health Check +### ۹.۱ مرج پروداکشن (اسفند ۱۴۰۴) + +| ریپو | شاخه مبدأ | commit | نکات | +|------|------------|--------|------| +| **CMS** | `kub-stage` → `production` | `eb1b249` | حل conflict در `appsettings.Production.json` + حذف migration تکراری `u21` | +| **FrontOffice** | `kub-stage` → `production` | `f02d082` | 21 فایل، 400 insertion + فیکس GwUrl به `cms.kbs2.ir` | +| **BackOffice** | `kub-stage` → `production` | `bdea2e8` | 36 فایل، بدون conflict | + +**تنظیمات محیطی Production (`appsettings.Production.json`):** + +| تنظیم | مقدار | +|--------|-------| +| `ZarinPal.MerchantId` | `4225d555-5fa9-4df0-9b61-1ce152cbbba8` | +| `ZarinPal.UseSandbox` | `false` | +| `SeedWorkers.MagicWalletCycleSeed.Enabled` | `true` | +| `Kestrel.Endpoints.Grpc.Protocols` | `Http2` | +| `Seq.ServerUrl` | `http://seq-svc:5341` | +| `ConnectionStrings.Default` | `Server=mssql-svc;Database=KBS` | + ```bash # k8s-health-check.sh kubectl get pods -n foursat diff --git a/technical/TECH-04-MIGRATION.md b/technical/TECH-04-MIGRATION.md index 342cf82..538efd7 100644 --- a/technical/TECH-04-MIGRATION.md +++ b/technical/TECH-04-MIGRATION.md @@ -1,7 +1,7 @@ # 🔄 مهاجرت داده، BFF و Gateway > **منابع ادغام‌شده:** `BACKOFFICE-BFF-MIGRATION.md`, `customer-facing-capabilities-codex.md`, `DATA-TABLE-MAPPINGS.md`, `DATAMIGRATION-README.md`, `FRONTOFFICE-TO-CMS-MIGRATION.md`, `GATEWAY-REMOVAL-MIGRATION-PLAN.md`, `MIGRATION-PROGRESS.md` -> **آخرین بروزرسانی:** اسفند ۱۴۰۴ +> **آخرین بروزرسانی:** اسفند ۱۴۰۴ (بروزرسانی: Migration پروداکشن) --- @@ -178,6 +178,15 @@ DataMigration/ | `populate-weekly-commission-pools.sql` | داده تاریخی Pool | | `update_products_price_10_percent.sql` | افزایش قیمت ۱۰% | +### ۵.۴ Migrationهای EF Core اجراشده روی Production (اسفند ۱۴۰۴) + +| Migration | توضیح | DB | +|-----------|--------|----| +| `ExpandDiscountProductFullInformation` | گسترش فیلدهای محصول تخفیفی | KBS (Production `45.149.79.127`) | +| `AddMagicWalletFields` (u21) | فیلدهای کیف‌پول جادویی + ClubMembershipCycle | KBS (Production) | + +> ⚠️ نکته: Migration `u21` در زمان merge تکراری بود (timestampهای `20260222155925` و `20260222160755`). فایل تکراری حذف شد. + --- ## ۶. Geography Seeder @@ -226,3 +235,4 @@ FourSat.GeographySeeder: | Data Migration (Club/Network) | ✅ | 100% | | Geography Seeder | ✅ | 100% | | Proto package unification | ✅ | 100% | +| EF Migration پروداکشن | ✅ | 100% |