Handler: SubmitInputPacket
Что произойдёт при вызове endpoint SubmitInputPacket: собранный пакет получает идентичность (номер и ключи хранения кадров) и становится в очередь обработки.
1. Назначение
Канонический сценарий обработки Endpoint SubmitInputPacket
(SubmitInputPacketCommand). Создаёт пакет ввода и ставит его
в очередь обработки. Идентичность (номер, ключи файлов) возникает в момент постановки —
см. ADR-002 «Идентичность пакета и имена файлов».
2. Сценарий вызова
- Валидация: в пакете есть хотя бы один кадр (
Frames). Пусто — ошибкаValidation, пакет не создаётся. - Номер: присвоить пакету номер вида
П-ГГГГММДД-NNN— сквозная нумерация в пределах дня (ADR-002 «Идентичность пакета и имена файлов»). - Кадры: для каждого кадра (по порядку) назначить ключ хранения
<номер>/<NN>.<расширение>(по порядковому номеру, без роли — роль определяется при обработке) и сохранить содержимое в файловом хранилище. Содержимое — из частиfiles(поFileIndex) либо скачанное поUrlдля кадра-ссылки. - Сохранение: пакет с кадрами записывается в БД; состояние —
Queued(производное, отдельным полем не хранится). Роли кадров и идентификаторы на вводе не заполняются — извлекаются при обработке. - Ответ:
SubmitInputPacketResultсSubmittedPacketPayload— номер, время постановки и число кадров (для списка «сдано за смену»).
3. Ошибки и альтернативы
| Ситуация | Поведение |
|---|---|
| Ни одного кадра | Отказ с ошибкой Validation — пакет не может быть пустым |
Кадр-ссылка недоступна по Url |
Отказ: содержимое кадра получить не удалось |
Структурные связи
Использует
- Доменная сущность Пакет ввода
- Ограниченный контекст Оцифровка информационных карт
- ADR ADR-002. Идентичность пакета и имена файлов изображений
- API-контракт Endpoint: SubmitInputPacket
Используется
- API-контракт Endpoint: SubmitInputPacket
Связанные артефакты
Документы
- Доменная сущность Пакет ввода
- ADR ADR-002. Идентичность пакета и имена файлов изображений
- API-контракт Endpoint: SubmitInputPacket