._.
This commit is contained in:
parent
ce21c1b85b
commit
674fe63a1f
@ -6,7 +6,7 @@ from datetime import datetime
|
|||||||
class DeliveryOrderEntity(BaseModel):
|
class DeliveryOrderEntity(BaseModel):
|
||||||
id: Optional[int] = None
|
id: Optional[int] = None
|
||||||
order_datetime: datetime
|
order_datetime: datetime
|
||||||
count_robots: int
|
count_trucks: int
|
||||||
deadline: datetime
|
deadline: datetime
|
||||||
price: float
|
price: float
|
||||||
truck_id: Optional[int] = None
|
truck_id: Optional[int] = None
|
||||||
|
|||||||
@ -17,7 +17,22 @@ class DeliveryOrdersService:
|
|||||||
DeliveryOrderEntity(
|
DeliveryOrderEntity(
|
||||||
id=o.id,
|
id=o.id,
|
||||||
order_datetime=o.order_datetime,
|
order_datetime=o.order_datetime,
|
||||||
count_robots=o.count_robots,
|
count_trucks=o.count_trucks,
|
||||||
|
deadline=o.deadline,
|
||||||
|
price=o.price,
|
||||||
|
truck_id=o.truck_id,
|
||||||
|
total_order_id=o.total_order_id
|
||||||
|
)
|
||||||
|
for o in delivery_orders
|
||||||
|
]
|
||||||
|
|
||||||
|
def get_delivery_order_by_total_order_id(self, total_order_id):
|
||||||
|
delivery_orders = self.repository.get_all_by_total_order_id(total_order_id)
|
||||||
|
return [
|
||||||
|
DeliveryOrderEntity(
|
||||||
|
id=o.id,
|
||||||
|
order_datetime=o.order_datetime,
|
||||||
|
count_trucks=o.count_trucks,
|
||||||
deadline=o.deadline,
|
deadline=o.deadline,
|
||||||
price=o.price,
|
price=o.price,
|
||||||
truck_id=o.truck_id,
|
truck_id=o.truck_id,
|
||||||
@ -32,7 +47,7 @@ class DeliveryOrdersService:
|
|||||||
return DeliveryOrderEntity(
|
return DeliveryOrderEntity(
|
||||||
id=delivery_order.id,
|
id=delivery_order.id,
|
||||||
order_datetime=delivery_order.order_datetime,
|
order_datetime=delivery_order.order_datetime,
|
||||||
count_robots=delivery_order.count_robots,
|
count_trucks=delivery_order.count_trucks,
|
||||||
deadline=delivery_order.deadline,
|
deadline=delivery_order.deadline,
|
||||||
price=delivery_order.price,
|
price=delivery_order.price,
|
||||||
truck_id=delivery_order.truck_id,
|
truck_id=delivery_order.truck_id,
|
||||||
@ -43,7 +58,7 @@ class DeliveryOrdersService:
|
|||||||
def create_delivery_order(self, entity: DeliveryOrderEntity) -> DeliveryOrderEntity:
|
def create_delivery_order(self, entity: DeliveryOrderEntity) -> DeliveryOrderEntity:
|
||||||
delivery_order_model = DeliveryOrder(
|
delivery_order_model = DeliveryOrder(
|
||||||
order_datetime=entity.order_datetime,
|
order_datetime=entity.order_datetime,
|
||||||
count_robots=entity.count_robots,
|
count_trucks=entity.count_trucks,
|
||||||
deadline=entity.deadline,
|
deadline=entity.deadline,
|
||||||
price=entity.price,
|
price=entity.price,
|
||||||
truck_id=entity.truck_id,
|
truck_id=entity.truck_id,
|
||||||
@ -53,7 +68,7 @@ class DeliveryOrdersService:
|
|||||||
return DeliveryOrderEntity(
|
return DeliveryOrderEntity(
|
||||||
id=created_delivery_order.id,
|
id=created_delivery_order.id,
|
||||||
order_datetime=created_delivery_order.order_datetime,
|
order_datetime=created_delivery_order.order_datetime,
|
||||||
count_robots=created_delivery_order.count_robots,
|
count_trucks=created_delivery_order.count_trucks,
|
||||||
deadline=created_delivery_order.deadline,
|
deadline=created_delivery_order.deadline,
|
||||||
price=created_delivery_order.price,
|
price=created_delivery_order.price,
|
||||||
truck_id=created_delivery_order.truck_id,
|
truck_id=created_delivery_order.truck_id,
|
||||||
@ -65,7 +80,7 @@ class DeliveryOrdersService:
|
|||||||
delivery_order_model = self.repository.get_by_id(delivery_order_id)
|
delivery_order_model = self.repository.get_by_id(delivery_order_id)
|
||||||
if delivery_order_model:
|
if delivery_order_model:
|
||||||
delivery_order_model.order_datetime = entity.order_datetime
|
delivery_order_model.order_datetime = entity.order_datetime
|
||||||
delivery_order_model.count_robots = entity.count_robots
|
delivery_order_model.count_trucks = entity.count_trucks
|
||||||
delivery_order_model.deadline = entity.deadline
|
delivery_order_model.deadline = entity.deadline
|
||||||
delivery_order_model.price = entity.price
|
delivery_order_model.price = entity.price
|
||||||
delivery_order_model.truck_id = entity.truck_id
|
delivery_order_model.truck_id = entity.truck_id
|
||||||
@ -74,7 +89,7 @@ class DeliveryOrdersService:
|
|||||||
return DeliveryOrderEntity(
|
return DeliveryOrderEntity(
|
||||||
id=delivery_order_model.id,
|
id=delivery_order_model.id,
|
||||||
order_datetime=delivery_order_model.order_datetime,
|
order_datetime=delivery_order_model.order_datetime,
|
||||||
count_robots=delivery_order_model.count_robots,
|
count_trucks=delivery_order_model.count_trucks,
|
||||||
deadline=delivery_order_model.deadline,
|
deadline=delivery_order_model.deadline,
|
||||||
price=delivery_order_model.price,
|
price=delivery_order_model.price,
|
||||||
truck_id=delivery_order_model.truck_id,
|
truck_id=delivery_order_model.truck_id,
|
||||||
|
|||||||
@ -9,7 +9,7 @@ class DeliveryOrder(Base):
|
|||||||
|
|
||||||
id = Column(Integer, primary_key=True, autoincrement=True)
|
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||||
order_datetime = Column(DateTime, nullable=False)
|
order_datetime = Column(DateTime, nullable=False)
|
||||||
count_robots = Column(Integer, nullable=False)
|
count_trucks = Column(Integer, nullable=False)
|
||||||
deadline = Column(DateTime, nullable=False)
|
deadline = Column(DateTime, nullable=False)
|
||||||
price = Column(Float, nullable=False)
|
price = Column(Float, nullable=False)
|
||||||
|
|
||||||
|
|||||||
@ -9,6 +9,9 @@ class DeliveryOrdersRepository:
|
|||||||
def get_all(self):
|
def get_all(self):
|
||||||
return self.db.query(DeliveryOrder).all()
|
return self.db.query(DeliveryOrder).all()
|
||||||
|
|
||||||
|
def get_all_by_total_order_id(self, total_order_id):
|
||||||
|
return self.db.query(DeliveryOrder).filter(DeliveryOrder.total_order_id == total_order_id).all()
|
||||||
|
|
||||||
def get_by_id(self, delivery_order_id: int):
|
def get_by_id(self, delivery_order_id: int):
|
||||||
return self.db.query(DeliveryOrder).filter(DeliveryOrder.id == delivery_order_id).first()
|
return self.db.query(DeliveryOrder).filter(DeliveryOrder.id == delivery_order_id).first()
|
||||||
|
|
||||||
|
|||||||
@ -29,6 +29,16 @@ def read_delivery_order(delivery_order_id: int, db: Session = Depends(get_db),
|
|||||||
return delivery_order
|
return delivery_order
|
||||||
|
|
||||||
|
|
||||||
|
@router.get("/delivery-orders/total/{total_order_id}", response_model=List[DeliveryOrderEntity])
|
||||||
|
def read_delivery_order_by_total(total_order_id: int, db: Session = Depends(get_db),
|
||||||
|
current_user: User = Depends(verify_token)):
|
||||||
|
service = DeliveryOrdersService(db)
|
||||||
|
delivery_order = service.get_delivery_order_by_total_order_id(total_order_id)
|
||||||
|
if delivery_order is None:
|
||||||
|
raise HTTPException(status_code=404, detail="Delivery order not found")
|
||||||
|
return delivery_order
|
||||||
|
|
||||||
|
|
||||||
@router.post("/delivery-orders", response_model=DeliveryOrderEntity)
|
@router.post("/delivery-orders", response_model=DeliveryOrderEntity)
|
||||||
def create_delivery_order(delivery_order: DeliveryOrderEntity, db: Session = Depends(get_db),
|
def create_delivery_order(delivery_order: DeliveryOrderEntity, db: Session = Depends(get_db),
|
||||||
current_user: User = Depends(verify_token)):
|
current_user: User = Depends(verify_token)):
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user