forked from kodorvan/stcs
Added fee
This commit is contained in:
@@ -166,6 +166,7 @@ class UserDeals(Base):
|
|||||||
switch_side_mode = Column(Boolean, nullable=True)
|
switch_side_mode = Column(Boolean, nullable=True)
|
||||||
limit_price = Column(Float, nullable=True)
|
limit_price = Column(Float, nullable=True)
|
||||||
trigger_price = Column(Float, nullable=True)
|
trigger_price = Column(Float, nullable=True)
|
||||||
|
fee = Column(Float, nullable=True)
|
||||||
|
|
||||||
user = relationship("User", back_populates="user_deals")
|
user = relationship("User", back_populates="user_deals")
|
||||||
|
|
||||||
|
@@ -1219,6 +1219,34 @@ async def get_all_symbols(tg_id: int):
|
|||||||
return []
|
return []
|
||||||
|
|
||||||
|
|
||||||
|
async def set_fee_user_deal_by_symbol(tg_id: int, symbol: str, fee: float):
|
||||||
|
"""Set fee for a user deal by symbol in the database."""
|
||||||
|
try:
|
||||||
|
async with async_session() as session:
|
||||||
|
result = await session.execute(select(User).filter_by(tg_id=tg_id))
|
||||||
|
user = result.scalars().first()
|
||||||
|
if user is None:
|
||||||
|
logger.error(f"User with tg_id={tg_id} not found")
|
||||||
|
return False
|
||||||
|
|
||||||
|
result = await session.execute(
|
||||||
|
select(UserDeals).filter_by(user_id=user.id, symbol=symbol)
|
||||||
|
)
|
||||||
|
record = result.scalars().first()
|
||||||
|
|
||||||
|
if record:
|
||||||
|
record.fee = fee
|
||||||
|
else:
|
||||||
|
logger.error(f"User deal with user_id={user.id} and symbol={symbol} not found")
|
||||||
|
return False
|
||||||
|
await session.commit()
|
||||||
|
logger.info("Set fee for user %s and symbol %s", tg_id, symbol)
|
||||||
|
return True
|
||||||
|
except Exception as e:
|
||||||
|
logger.error("Error setting user deal fee for user %s and symbol %s: %s", tg_id, symbol, e)
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
# USER AUTO TRADING
|
# USER AUTO TRADING
|
||||||
|
|
||||||
async def get_user_auto_trading(tg_id: int, symbol: str):
|
async def get_user_auto_trading(tg_id: int, symbol: str):
|
||||||
|
Reference in New Issue
Block a user