оптимизация работы с БД

This commit is contained in:
2025-12-06 13:48:42 +03:00
parent f07843de5a
commit 54bf21d52d
8 changed files with 80 additions and 63 deletions
+5 -9
View File
@@ -20,7 +20,7 @@ class StocksRecordsHandler:
price: float,
source_toolbox_id: int = None,
target_toolbox_id: int = None,
return_record_id: bool = False,
return_record: bool = False,
):
recordData = {
"action": action,
@@ -40,13 +40,13 @@ class StocksRecordsHandler:
record = StocksRecords(**recordData)
await record.save()
logger.info(f"Запись успешно создана, id: {record.id}")
return True if not return_record_id else record.id
return True if not return_record else record
except Exception as e:
logger.error(f"Ошибка создания записи: {str(e)}")
return False
async def decide(
record_id: int,
record: StocksRecords,
decision_user_id: int,
source_stock_id: int,
quantity: int,
@@ -55,12 +55,8 @@ class StocksRecordsHandler:
):
try:
logger.info(
f"{'Принятие' if accept else 'Отклонение'} записи {record_id} от {decision_user_id}"
f"{'Принятие' if accept else 'Отклонение'} записи {record.id} от {decision_user_id}"
)
record = await StocksRecordsHandler.getById(record_id, record=True)
if not record:
logger.error(f"Запись {record_id} не найдена")
return False
record.decision_user_id = decision_user_id
record.decided_at = datetime.now()
record.source_stock_id = source_stock_id
@@ -69,7 +65,7 @@ class StocksRecordsHandler:
record.accepted = accept
await record.save()
logger.info(
f"Запись {record_id} успешно {'принята' if accept else 'отклонена'} {decision_user_id} в {record.decided_at.strftime('%Y-%m-%d %H:%M:%S')}"
f"Запись {record.id} успешно {'принята' if accept else 'отклонена'} {decision_user_id} в {record.decided_at.strftime('%Y-%m-%d %H:%M:%S')}"
)
return True
except Exception as e: