Клиент
allopizza.su
laravel
iOS / Android
Order
Laravel очередь
- заказ записывается в БД
- Номер заказа создается на этой стороне
Ответ клиенту
Отправка в Transport
iikoTransport
- Формируется уведомление
- Устанавливается подключение к транспорту
- Создание заказ
Не отправилось в течении 15 секунд или нет соединения, отправить уведомление в telegram
iikoTransport
https://api-ru.iiko.services/api/1
Ответ
Обновление БД
Заказ
route
/order
class OrderController
public function create(FormRequest $formRequest){
Проверить скидки и адрес доставки
CreateOrderModel()
если запись прошла то отправить заказ в очередь
SendQueue
}
class FormRequest
Проверит валидацию всех полей для создания заказа
class OrderModel
Тут вся логика на запись в бд
SendQueue
Тут логика очереди