feat: set deal status completed after completing

This commit is contained in:
2024-11-27 20:26:22 +04:00
parent c913336ade
commit 41c54d7bb7
2 changed files with 7 additions and 4 deletions

View File

@@ -1057,10 +1057,13 @@ class DealService(BaseService):
return DealCompleteResponse(ok=False, message="Сделка не найдена") return DealCompleteResponse(ok=False, message="Сделка не найдена")
if deal.group: 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: else:
deal.is_completed = True 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="Сделка успешно завершена") return DealCompleteResponse(ok=True, message="Сделка успешно завершена")
except Exception as e: except Exception as e:

View File

@@ -25,11 +25,11 @@ class DealGroupService(BaseService):
) )
return group.deals if group else [] 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) deals = await self.get_deals_by_group_id(group_id)
for deal in deals: for deal in deals:
deal.is_completed = True deal.is_completed = True
await self.session.commit() return deals
async def delete_group(self, group_id: int) -> None: async def delete_group(self, group_id: int) -> None:
deals = await self.get_deals_by_group_id(group_id) deals = await self.get_deals_by_group_id(group_id)