Исправление точности вещественных чисел (Float Precision) при ставках, казино, переводах и вкладах #38
Loading…
Reference in a new issue
No description provided.
Delete branch "Dan4ick/bot_tg:feature/FenyaBot"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Этот PR исправляет несколько критических проблем с точностью вычислений, проверками баланса и обработкой ошибок:
Исправление точности вещественных чисел (Float Precision):
REALв PostgreSQL возникала потеря точности при извлечении значений в Python (например, 0.2 превращалось в 0.199999988). Это приводило к сбоям при ставках "впритык", переводах лимитов и открытии депозитов.round(val, 2)с обеих сторон сравнения.Корректная логика возврата ошибок для ставок в Web App:
place_betобновлена для возвратаtuple[bool, str]./api/betпри неудаче теперь корректно вызываетсяHTTPException(status_code=400, detail=result). Это устраняет баг в Telegram Mini App, где всегда всплывало уведомление "Ставка принята!", даже если ставка не проходила по балансу.Информативные сообщения при открытии депозитов:
create_depositтеперь возвращаетtuple[bool, str]. В случае ошибок пользователю отправляется развернутое сообщение (например, если сумма ниже лимита или на балансе не хватает средств), вместо того чтобы тихо отклонять вклад.