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