feat: set deal status completed after completing
This commit is contained in:
		@@ -1057,9 +1057,12 @@ 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.change_status(deal, DealStatus.COMPLETED, user)
 | 
			
		||||
            await self.session.commit()
 | 
			
		||||
 | 
			
		||||
            return DealCompleteResponse(ok=True, message="Сделка успешно завершена")
 | 
			
		||||
 
 | 
			
		||||
@@ -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