From 41c54d7bb7d382a5b7e4c32c37aeb3ec967e791e Mon Sep 17 00:00:00 2001 From: AlexSserb Date: Wed, 27 Nov 2024 20:26:22 +0400 Subject: [PATCH] feat: set deal status completed after completing --- services/deal.py | 7 +++++-- services/deal_group.py | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/services/deal.py b/services/deal.py index 0c6f519..e176122 100644 --- a/services/deal.py +++ b/services/deal.py @@ -1057,10 +1057,13 @@ class DealService(BaseService): return DealCompleteResponse(ok=False, message="Сделка не найдена") if deal.group: - await DealGroupService(self.session).complete_group(deal.group.id) + deals = await DealGroupService(self.session).complete_group(deal.group.id) + for completed_deal in deals: + await self.change_status(completed_deal, DealStatus.COMPLETED, user) else: deal.is_completed = True - await self.session.commit() + await self.change_status(deal, DealStatus.COMPLETED, user) + await self.session.commit() return DealCompleteResponse(ok=True, message="Сделка успешно завершена") except Exception as e: diff --git a/services/deal_group.py b/services/deal_group.py index cb3d943..a8591e2 100644 --- a/services/deal_group.py +++ b/services/deal_group.py @@ -25,11 +25,11 @@ class DealGroupService(BaseService): ) return group.deals if group else [] - async def complete_group(self, group_id: int) -> None: + async def complete_group(self, group_id: int) -> list[Deal]: deals = await self.get_deals_by_group_id(group_id) for deal in deals: deal.is_completed = True - await self.session.commit() + return deals async def delete_group(self, group_id: int) -> None: deals = await self.get_deals_by_group_id(group_id)