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