Project

General

Profile

Back-Feature #417

Updated by Андрей Савран about 2 months ago

Требуется описать в коде сущности и создать сервисы для создания заказов 
 (задача будет дополняться) 

 --- 
 Сущность taxi_plan (тариф такси) 
   taxi_plan_id: (PK: uuid) 
   name: varchar 
   description: varchar 
   price: numeric 
   commission_percent: numeric 
   duration_minutes: integer 

 --- 

 Сущность taxi_order_details 
   taxi_order_details_id: varchar (PK: uuid) 
   taxi_plan_id: varchar (FK: taxi_plan.taxi_plan_id) 
   address_clarification: varchar 
   additional_commentary: varchar 
   additional_pics: varchar[] 
   promo_code: varchar 
   contacts: varchar 
   date: timestamp without time zone 
   cost: numeric 

 --- 

 Сущность order 
   order_id: varchar (PK: uuid) 
   user_id: varchar (FK: user.user_id) 
   executor_id: varchar 
   order_status: enum (enum OrderStatus, пока что содержит только: 
   OrderStatus.CREATED, OrderStatus.IN_PROGRESS, OrderStatus.COMPLETED) OrderStatus.INPROGRESS, OrderStatus. COMPLETED) 
   order_type: enum (enum OrderType, на данный момент содержит только OrderType.TAXI) 
   details_id: varchar (uuid, должен существовать в поле, оканчивающемся на details_id в одной из таблиц order_details) 
   created_at: timestamp without time zone 
  
 --- 

 Сущность taxi_route_point - сущность, связывающая заказ автоняни и все остановки в пути, по которому возят детей: 
   taxi_route_point_id: varchar (PK: uuid) 
   taxi_order_details_id: varchar (FK: taxi_order_details.taxi_order_details_id) 
   route_point_index: integer (показывает номер остановки, таким образом можно добавить     сколько угодно остановок в один заказ) 
   address: varchar 
   latitude: varchar 
   longitude: varchar 



 ------ 
 Контроллеры в gate 

 TaxiRoutePointController - контроллер точек путей такси 

 GET taxi/routePoint/{detailsId} - получить путь такси, привязанного к деталям заказа 

 POST taxi/routePoint - добавить путь такси 

 --- 

 TaxiPlanController - контроллер тарифов такси 

 GET taxi/plan - получить все тарифы такси 

 GET taxi/plan/{planId} - получить конкретный тариф такси 

 POST taxi/plan - создать тариф такси 

 PATCH taxi/plan - обновить тариф такси 

 (последние два метода можно вынести в админку в будущем, потому что по идее обычным пользователям не должен быть доступен этот функционал, но он реализован) 

 --- 

 TaxiOrderDetailsController - контроллер деталей заказов такси 

 GET taxi/order-details/{detailsId} - получить детали заказа такси 

 POST taxi/order-details - создать детали заказа такси 

 PATCH taxi/order-details - обновить детали заказа такси (добавить промокод, поменять уточнения, контакты) 

 --- 

 OrderController - контроллер заказов 

 GET order/ - получить все заказы пользователя (в этом, и других методах пользователь берётся из JWT) 

 GET order/{orderId} - получить конкретный заказ по айди 

 POST order/ - создать заказ 

 PATCH order/ - обновить заказ (можно изменить executorId и orderStatus) 

Back