OrderCancellationController class
Введение
- Описание: Контроллер
OrderCancellationControllerпредоставляет конечную точку API для отмены заказа. - Маршруты: Обрабатываются POST-запрос по маршруту
/order/shortCode/cancel.
Формат запроса
Тело запроса: JSON-объект, содержащий данные заказа, описан в классе OrderCancelDto.
{
"reason": "OTRO",
"comment": {
"text": "comment here",
"date": "2025-01-23"
}
}
Валидация и преобразование данных
- Валидация ввода: Производится валидация поля reason.
- Обработка причины отмены: Проверяется корректность причины отмены.
Основная логика
- Установка нового статуса: Если заказ спасен в системе, а причина отмены
SIN_COBERTURA, то проставляем статусRequestChangeCourierService. Во всех остальных случаяхRefuse
Взаимодействие с микросервисами
- Hasura:
- Получение заказа.
- Обновление данных заказа.
- Добавление коментария к заказу (если reason=OTRO).
Ответы сервера
- Успешное обновление заказа: Возвращается статус
200 OKс информацией об успешном обновлении. - Ошибки обработки: Возможны различные ошибки, такие как.
- Ошибки валидации. Ожидаемый статус -
400 badRequest. - Ошибка входных данных. Ожидаемый статус -
400 badRequest. - Заказ не найден. Ожидаемый статус -
404 badRequest. - Инные ошибки. Ожидаемый статус -
500 internalServerError.
- Ошибки валидации. Ожидаемый статус -
- Annotations
-
- @Routes(prefix: '/')
Constructors
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- orderRepository → OrderRepository
-
final
- router → Router
-
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
handler(
Request request, String shortCode) → Future< JsonResponse< void> > -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited