mirror of
https://github.com/BEDOLAGA-DEV/remnawave-bedolaga-telegram-bot.git
synced 2026-01-20 03:40:26 +00:00
Фикс корзины
This commit is contained in:
BIN
app/.DS_Store
vendored
BIN
app/.DS_Store
vendored
Binary file not shown.
@@ -4559,10 +4559,13 @@ async def admin_buy_subscription_execute(
|
||||
target_user.telegram_id,
|
||||
)
|
||||
|
||||
if subscription.end_date <= current_time:
|
||||
extension_base_date = current_time
|
||||
if subscription.end_date and subscription.end_date > current_time:
|
||||
extension_base_date = subscription.end_date
|
||||
else:
|
||||
subscription.start_date = current_time
|
||||
|
||||
subscription.end_date = current_time + timedelta(days=period_days) + bonus_period
|
||||
subscription.end_date = extension_base_date + timedelta(days=period_days) + bonus_period
|
||||
subscription.status = SubscriptionStatus.ACTIVE.value
|
||||
subscription.updated_at = current_time
|
||||
|
||||
|
||||
@@ -2271,8 +2271,15 @@ async def confirm_purchase(
|
||||
|
||||
existing_subscription.connected_squads = selected_countries
|
||||
|
||||
existing_subscription.start_date = current_time
|
||||
existing_subscription.end_date = current_time + timedelta(days=period_days) + bonus_period
|
||||
# Если подписка еще активна, продлеваем от текущей даты окончания,
|
||||
# иначе начинаем новый период с текущего момента
|
||||
extension_base_date = current_time
|
||||
if existing_subscription.end_date and existing_subscription.end_date > current_time:
|
||||
extension_base_date = existing_subscription.end_date
|
||||
else:
|
||||
existing_subscription.start_date = current_time
|
||||
|
||||
existing_subscription.end_date = extension_base_date + timedelta(days=period_days) + bonus_period
|
||||
existing_subscription.updated_at = current_time
|
||||
|
||||
existing_subscription.traffic_used_gb = 0.0
|
||||
|
||||
@@ -1110,8 +1110,14 @@ class MiniAppSubscriptionPurchaseService:
|
||||
subscription.traffic_limit_gb = pricing.selection.traffic_value
|
||||
subscription.device_limit = pricing.selection.devices
|
||||
subscription.connected_squads = pricing.selection.servers
|
||||
subscription.start_date = now
|
||||
subscription.end_date = now + timedelta(days=pricing.selection.period.days) + bonus_period
|
||||
|
||||
extension_base_date = now
|
||||
if subscription.end_date and subscription.end_date > now:
|
||||
extension_base_date = subscription.end_date
|
||||
else:
|
||||
subscription.start_date = now
|
||||
|
||||
subscription.end_date = extension_base_date + timedelta(days=pricing.selection.period.days) + bonus_period
|
||||
subscription.updated_at = now
|
||||
subscription.traffic_used_gb = 0.0
|
||||
|
||||
@@ -1229,4 +1235,3 @@ class SubscriptionPurchaseService:
|
||||
|
||||
|
||||
purchase_service = MiniAppSubscriptionPurchaseService()
|
||||
|
||||
|
||||
@@ -38,6 +38,7 @@ class PromoCodeStates(StatesGroup):
|
||||
class AdminStates(StatesGroup):
|
||||
|
||||
waiting_for_user_search = State()
|
||||
waiting_for_bulk_ban_list = State()
|
||||
sending_user_message = State()
|
||||
editing_user_balance = State()
|
||||
extending_subscription = State()
|
||||
|
||||
BIN
vpn_logo.png
BIN
vpn_logo.png
Binary file not shown.
|
Before Width: | Height: | Size: 716 KiB |
Reference in New Issue
Block a user