Commit Graph

2 Commits

Author SHA1 Message Date
fontvielle af60277411 Анкета участника M2M: отправка в НРД через ИШ пакетом #M2MPF
НРД открыл приём анкеты (M2MTransferParticipantForm) в пром-контуре.
По формату НРД анкета — отдельный тип ЭД M2MPF: тег <package> = "#" +
первые 5 символов имени типа ЭД → "#M2MPF", businessLine=MOST (как и
остальные M2M-сообщения; на ИШ <107.0.0.904 businessLine опускается).
Подпись — боевым ГОСТ-контейнером на стороне ИШ.

- nsdadapter/router.go: тип PackageM2MParticipantForm "#M2MPF";
  KindParticipantForm теперь маппится на него (был ошибочно
  Assets_investment).
- lkgateway/participant_form.go: действие send_igw — упаковка анкеты
  через igw.PackXML(..., "#M2MPF") и отправка igwClient.SendPackage в
  канал профиля (в боевом контуре — prod-gost). Кнопка «Отправить через
  шлюз (боевой ИШ)»; письмо на M2MOST@nsd.ru оставлено запасным каналом.
  Статус готовности ИШ на странице.
- lkgateway/server.go: проброс igwClient/igwChannel в registerParticipantForm.

Образец — sendHandbookRequest (#M2MHR) через тот же ИШ.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XG3zNMMf2LMoDpXo22mwMX
2026-10-16 13:07:40 +03:00
fontvielle a8cdeeb838 feat(nsd-adapter): REST-клиент ИШ НРД + маршрутизация типов пакетов
- internal/nsdadapter/igw/client.go: REST-клиент ИШ (SendPackage, GetStatus, ListIncoming) с base64-JSON, ретраями на 5xx, 4xx без ретраев
- internal/nsdadapter/router.go: маршрутизация MessageKind -> PackageType ЭДО (#M2MTR, #M2MTD, #M2MER, SUBBR/SUBER/SUB16, Assets_investment)
- internal/nsdadapter/sender.go: реализация m2mcore.NSDSender (Send/SendDecision) через REST ИШ, сериализация Request/Decision в windows-1251
- internal/nsdadapter/config.go: профили guest/test3/prod × gost/rsa (URL ИШ, канал, контейнер ключа, retry)
- internal/nsdadapter/onyx/onyx.go: скелет резервного канала WS ONYX (ждёт PR-6 crypto-service для подписи)
- cmd/nsd-adapter/main.go: HTTP /healthz + фоновый поллер входящих по типам ЭДО; idle-режим без BJ_NSD_PROFILE

make ci зелёный. Без внешних Go-зависимостей.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 00:55:20 +03:00