docs: fix all discrepancies based on comprehensive code audit

Corrections verified against actual CMS/BackOffice/FrontOffice source code:

- ClubActivationFee: 25,200,000 (not 25,000,000)
- Tree depth: no limit (15 is commission calculation depth only)
- IPG wallet charge: Balance=56M + Discount=56M
- DayaLoan wallet charge: Balance=56M + Discount=112M (2×)
- Discount: per-product MaxDiscountPercent (not fixed 30%)
- VAT: 10% (ShopVAT) vs 9% (discount store PlaceOrder)
- Kavenegar template: 'Afrino' only (not verify-foursat)
- SMS sender: 1000001110100
- DayaLoan job: every 20min (not 15min)
- Commission job: Sunday 00:05 (not Saturday)
- Network tree: on User entity (not separate NetworkNode table)
- UserWallets entity (not UserWalletBalances)
- OTP: 6 digits, 5 attempts, 2min TTL, 60s cooldown
- Removed non-existent constants (ClubJoiningPercentage, ClubActivationThreshold)
- Fixed Hangfire Chatika interval: every 5min
- Removed InventorySync from recurring jobs list
This commit is contained in:
masoodafar-web
2026-02-18 22:58:40 +03:30
parent efff5e9cd5
commit 3c729304db
10 changed files with 130 additions and 107 deletions
+4 -5
View File
@@ -176,10 +176,9 @@ public class ZarinPalService : IPaymentGateway
```csharp
public class KavenegarService : ISmsService
{
// Templates
const string OTP_TEMPLATE = "verify-foursat";
const string CONTRACT_TEMPLATE = "contract-verify";
const string WELCOME_TEMPLATE = "club-welcome";
// Templates — فقط یک تمپلیت در کد موجود است
const string OTP_TEMPLATE = "Afrino"; // تنها تمپلیت استفاده‌شده
// Sender: "1000001110100"
// Rate Limiting
// ۱ SMS per phone per 60 seconds
@@ -198,7 +197,7 @@ public class KavenegarService : ISmsService
```csharp
public class DayaLoanService : ILoanService
{
// Hangfire job — هر ۱۵ دقیقه
// Hangfire job — هر ۲۰ دقیقه (*/20 * * * *)
// Polly retry: 3 attempts, exponential backoff (2s, 4s, 8s)
// Mock mode for staging (auto-approve)