Переделал нахуй всё

This commit is contained in:
2024-12-01 11:31:39 +03:00
parent 78a1dd3d62
commit c379759418
16 changed files with 702 additions and 272 deletions

View File

@@ -8,15 +8,15 @@ from datetime import datetime
from db import get_db_session
from panel import PanelInteraction
from utils.LogCon import setup_logger, load_config
config = load_config()
def generate_random_string(length=8):
characters = string.ascii_letters + string.digits
return ''.join(secrets.choice(characters) for _ in range(length))
with open('config.json', 'r') as file:
config = json.load(file)
class UserService:
def __init__(self, logger):
@@ -95,21 +95,21 @@ class UserService:
)
if not server:
self.logger.error("Нет доступных VPN серверов.")
self.logger.error("Error: 120")
return "120"
# Рассчитываем дату окончания подписки
expiry_ = datetime.now() + relativedelta(months=expiry_duration)
self.logger.info(f"Создание подписки для пользователя {user.id} на сервере {server.id} с планом {plan} до {expiry_}")
expiry_ = datetime.utcnow() + relativedelta(months=expiry_duration)
self.logger.info(f"Create subscribe to {user.id} on server {server.id} with plan {plan} until {expiry_}")
new_subscription = Subscription(user_id=user.id, vpn_server_id=server.id, plan=plan, expiry_date=expiry_)
session.add(new_subscription)
session.commit()
self.logger.info(f"Подписка успешно создана для пользователя {user.id}")
self.logger.info(f"Subscribe successfully created for {user.id}")
return "OK"
except Exception as e:
self.logger.error(f"Ошибка в установке тарифа: {e}")
self.logger.error(f"Error with created subscribe: {e}")
return "Ошибка"
finally:
session.close()
@@ -119,12 +119,12 @@ class UserService:
try:
user = session.query(User).filter(User.telegram_id == telegram_id).first()
if not user:
self.logger.error(f"Пользователь с Telegram ID {telegram_id} не найден.")
self.logger.error(f"User with Telegram ID {telegram_id} not found.")
return "error"
current_plan = config['subscription_templates'].get(plan)
if not current_plan:
self.logger.error(f"Тариф {plan} не найден в шаблонах.")
self.logger.error(f"Tarif {plan} not found.")
return "error"
cost = current_plan['cost']
@@ -141,11 +141,11 @@ class UserService:
else:
return "ERROR " + result
self.logger.error(f"Недостаточно средств на счету пользователя {telegram_id} для тарифа {plan}.")
self.logger.error(f"Nt enough money {telegram_id} for {plan}.")
return 100
except Exception as e:
self.logger.error(f"Ошибка при покупке тарифа для пользователя {telegram_id}: {e}")
self.logger.error(f"Error with buying sub {telegram_id}: {e}")
session.rollback()
finally:
session.close()