feat: set deal status completed after completing
This commit is contained in:
@@ -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:
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user