docs: update BUSINESS-02, BUSINESS-03, TECH-03
BUSINESS-02: - فرمول هایبرید: حذف MIN، اضافه validation کیفپول اعتباری - فلوی خرید: اضافه مرحله بررسی موجودی + UserWalletChangeLog - نامگذاری جدید کیفپولها: اصلی، اعتباری، پاداش تیمی - جدول وضعیت: اضافه WalletChangeLog + Validation BUSINESS-03: - بخش ۹ جدید: ExpirePendingOrdersService (۱۵ دقیقه) - دیاگرام Mermaid فلوی انقضا TECH-03: - فیکس URL پروداکشن (kbs1→kbs2) + هشدار - ۴ کامیت جدید در بخش ۹.۲ - بخش ۹.۳ فیکس URL پروداکشن - بخش ۹.۴ نامگذاری کیفپولها
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# 🛒 فروشگاه، موجودی و محصولات
|
||||
|
||||
> **منابع ادغامشده:** `discount-shop-business.md`, `DISCOUNT-STORE-STATUS.md`, `package-purchase-system.md`, `INVENTORY-IMPROVEMENTS.md`, `INVENTORY-REFACTORING-STATUS.md`, `PRODUCT-BUNDLE-FEATURE.md`, `SHOP-UNIFICATION.md`
|
||||
> **آخرین بروزرسانی:** اسفند ۱۴۰۴ (بروزرسانی: VAT 10%)
|
||||
> **آخرین بروزرسانی:** اسفند ۱۴۰۴ (بروزرسانی: ExpirePendingOrders ۱۵ دقیقه + فروشگاه اعتباری نامگذاری)
|
||||
|
||||
---
|
||||
|
||||
@@ -226,5 +226,44 @@ graph TD
|
||||
| Lazy Loading | ✅ کامل | 100% |
|
||||
| موجودی خودکار | ✅ کامل | 100% |
|
||||
| تصاویر مربعی | ✅ کامل | 100% |
|
||||
| انقضای سفارشات Pending | ✅ کامل | 100% |
|
||||
| باندل محصولات | ⬜ طراحی | 30% |
|
||||
| مقایسه محصول | ⬜ ایده | 0% |
|
||||
|
||||
---
|
||||
|
||||
## ۹. انقضای خودکار سفارشات Pending (ExpirePendingOrdersService)
|
||||
|
||||
> سرویس پسزمینهای که سفارشات فروشگاه اعتباری را بعد از ۱۵ دقیقه منقضی میکند.
|
||||
|
||||
### ۹.۱ پارامترها
|
||||
|
||||
| پارامتر | مقدار | توضیح |
|
||||
|---------|-------|-------|
|
||||
| `ExpirationTime` | **۱۵ دقیقه** | مدت زمان مجاز برای پرداخت |
|
||||
| `CheckInterval` | ۵ دقیقه | فاصله بررسی |
|
||||
|
||||
### ۹.۲ عملکرد
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A["هر ۵ دقیقه\nExpirePendingOrdersService"] --> B["جستجوی DiscountOrders\nPaymentStatus=Pending\nCreated < (now - 15 min)"]
|
||||
B --> C{"سفارشی یافت شد?"}
|
||||
C -->|خیر| A
|
||||
C -->|بله| D["آزادسازی رزرو موجودی\nReleaseReservationAsync"]
|
||||
D --> E["PaymentStatus → Reject\nDeliveryStatus → Cancelled"]
|
||||
E --> F["Transaction.PaymentStatus → Reject"]
|
||||
F --> G["Log: Expired order #X"]
|
||||
G --> A
|
||||
```
|
||||
|
||||
### ۹.۳ فایل
|
||||
|
||||
```
|
||||
CMS/src/CMSMicroservice.Infrastructure/BackgroundServices/ExpirePendingOrdersService.cs
|
||||
```
|
||||
|
||||
رجیستر شده در `ConfigureServices.cs`:
|
||||
```csharp
|
||||
services.AddHostedService<ExpirePendingOrdersService>();
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user