示例#1
0
 def pay_order(self, order_id, user_id):
     order = self.orders_repository.get(order_id, user_id=user_id)
     if order is None:
         raise OrderNotFoundError(f"Order with id {order_id} not found")
     order.pay()
     schedule_id = order.schedule()
     return self.orders_repository.update(order_id,
                                          status="progress",
                                          schedule_id=schedule_id)
示例#2
0
 def delete_order(self, order_id, user_id):
     order = self.orders_repository.get(order_id, user_id=user_id)
     if order is None:
         raise OrderNotFoundError(f"Order with id {order_id} not found")
     return self.orders_repository.delete(order_id)
示例#3
0
 def cancel_order(self, order_id, user_id):
     order = self.orders_repository.get(order_id, user_id=user_id)
     if order is None:
         raise OrderNotFoundError(f"Order with id {order_id} not found")
     order.cancel()
     return self.orders_repository.update(order_id, status="cancelled")
示例#4
0
 def get_order(self, order_id, **filters):
     order = self.orders_repository.get(order_id, **filters)
     if order is not None:
         return order
     raise OrderNotFoundError(f"Order with id {order_id} not found")
示例#5
0
 def update_order(self, order_id, **payload):
     order = self.orders_repository.get(order_id)
     if order is None:
         raise OrderNotFoundError(f'Order with id {order_id} not found')
     return self.orders_repository.update(order_id, **payload)