YAML
@startuml
package "Commands" {
class CreateOrderCommand {
+execute()
}
class UpdateCourierStatusCommand {
+execute()
}
class CompleteDeliveryCommand {
+execute()
}
}
package "Queries" {
class GetCourierLocationQuery {
+execute()
}
class GetActiveOrdersQuery {
+execute()
}
class GetDeliveryHistoryQuery {
+execute()
}
}
class OrderService {
+handleCommand()
+handleQuery()
}
OrderService --> CreateOrderCommand : handles
OrderService --> UpdateCourierStatusCommand : handles
OrderService --> CompleteDeliveryCommand : handles
OrderService --> GetCourierLocationQuery : handles
OrderService --> GetActiveOrdersQuery : handles
OrderService --> GetDeliveryHistoryQuery : handles
@enduml
YAML
@startuml
start
:Принятие заказа;
if (успешно?) then (да)
:Назначение курьера;
if (успешно?) then (да)
:Подтверждение доставки;
if (успешно?) then (да)
:Завершение заказа;
else (нет)
:Отмена подтверждения доставки;
:Отмена назначения курьера;
:Отмена заказа;
endif
else (нет)
:Отмена назначения курьера;
:Отмена заказа;
endif
else (нет)
:Отмена заказа;
endif
stop
@enduml