feat: align tariff resets to calendar month
This commit is contained in:
+5
-4
@@ -21,13 +21,14 @@
|
||||
|
||||
## Period-Тариф
|
||||
|
||||
Period-тариф продает доступ на срок и личный 30-дневный лимит трафика.
|
||||
Period-тариф продает доступ на срок и лимит трафика с календарным ежемесячным сбросом.
|
||||
|
||||
- `monthly_gb` превращается в `tier_baseline_bytes`.
|
||||
- Докупленные пакеты хранятся в `topup_balance_bytes`.
|
||||
- В Remnawave пушится `trafficLimitBytes = tier_baseline_bytes + topup_balance_bytes`.
|
||||
- При продлении до окончания подписки дата 30-дневного сброса не меняется.
|
||||
- При покупке после лапса новый период начинается с момента оплаты.
|
||||
- Сброс происходит в начале календарного месяца для всех одинаково.
|
||||
- Если покупка или продление были в середине месяца, reset всё равно придёт на ближайший первый день следующего месяца.
|
||||
- Панель по-прежнему считает `usedTrafficBytes`, а бот только синхронизирует месячный reset и лимиты.
|
||||
|
||||
## Traffic-Тариф
|
||||
|
||||
@@ -61,7 +62,7 @@ Legacy поле `subscription_duration_months` остается для совм
|
||||
|
||||
`TariffTrafficWorker` запускается, только если активен `tariffs.json`.
|
||||
|
||||
- Раз в несколько минут проверяет 30-дневные сбросы.
|
||||
- Раз в несколько минут проверяет наступление нового календарного месяца.
|
||||
- Отправляет/дедуплицирует уровни предупреждений 80/95/100 через `traffic_warnings`.
|
||||
- При 100% удаляет пользователя из squad-ов тарифа и ставит `is_throttled`.
|
||||
- Возвращает пользователя в squad-ы, когда лимит снова больше использованного трафика.
|
||||
|
||||
Reference in New Issue
Block a user