Клиент

allopizza.su

laravel

iOS / Android

Order

Laravel очередь

  • заказ записывается в БД
  • Номер заказа создается на этой стороне

Ответ клиенту

Отправка в Transport

iikoTransport

  • Формируется уведомление
  • Устанавливается подключение к транспорту
  • Создание заказ

Не отправилось в течении 15 секунд или нет соединения, отправить уведомление в telegram

Ответ

Обновление БД

Заказ

route
/order

class OrderController
public function create(FormRequest $formRequest){


Проверить скидки и адрес доставки


CreateOrderModel()
если запись прошла то отправить заказ в очередь
SendQueue
}

class FormRequest
Проверит валидацию всех полей для создания заказа

class OrderModel
Тут вся логика на запись в бд

SendQueue
Тут логика очереди