From c8b0dad7c2316b541693dd0a6812bffd36fd123b Mon Sep 17 00:00:00 2001 From: algizn97 Date: Thu, 21 Aug 2025 13:39:43 +0500 Subject: [PATCH] Added commission_fee and order_type functions --- app/telegram/database/requests.py | 32 ++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/app/telegram/database/requests.py b/app/telegram/database/requests.py index 4b67b5e..9708a00 100644 --- a/app/telegram/database/requests.py +++ b/app/telegram/database/requests.py @@ -1,4 +1,6 @@ import logging +from typing import Any + logger = logging.getLogger(__name__) from app.telegram.database.models import async_session @@ -181,11 +183,13 @@ async def get_user_risk_management_settings(tg_id): price_profit = await session.scalar(select(URMS.price_profit).where(URMS.tg_id == tg_id)) price_loss = await session.scalar(select(URMS.price_loss).where(URMS.tg_id == tg_id)) max_risk_deal = await session.scalar(select(URMS.max_risk_deal).where(URMS.tg_id == tg_id)) + commission_fee = await session.scalar(select(URMS.commission_fee).where(URMS.tg_id == tg_id)) data = { 'price_profit': price_profit, 'price_loss': price_loss, - 'max_risk_deal': max_risk_deal + 'max_risk_deal': max_risk_deal, + 'commission_fee': commission_fee, } return data @@ -272,4 +276,30 @@ async def update_max_risk_deal(tg_id, num): async with async_session() as session: await session.execute(update(URMS).where(URMS.tg_id == tg_id).values(max_risk_deal = num)) + await session.commit() + + +async def update_entry_order_type(tg_id, order_type): + async with async_session() as session: + await session.execute( + update(UMS) + .where(UMS.tg_id == tg_id) + .values(entry_order_type=order_type) + ) + await session.commit() + + +async def get_entry_order_type(tg_id: object) -> str | None | Any: + async with async_session() as session: + order_type = await session.scalar( + select(UMS.entry_order_type).where(UMS.tg_id == tg_id) + ) + # Если в базе не установлен тип — возвращаем значение по умолчанию + return order_type or 'Market' + + +async def update_commission_fee(tg_id, num): + async with async_session() as session: + await session.execute(update(URMS).where(URMS.tg_id == tg_id).values(commission_fee = num)) + await session.commit() \ No newline at end of file