From f4311f1fa5d9ce419ff35cb9ce9a22780c1e572e Mon Sep 17 00:00:00 2001 From: fontvielle Date: Tue, 13 Oct 2026 17:35:04 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9A=D0=B0=D1=80=D1=82=D0=BE=D1=87=D0=BA?= =?UTF-8?q?=D0=B0:=20=D0=BF=D1=80=D0=B8=20=D0=BF=D0=BE=D0=B4=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D0=B5=20=D0=BB=D0=B8=D1=87=D0=BD=D0=BE=D1=81=D1=82=D0=B8?= =?UTF-8?q?=20=D1=8F=D0=B2=D0=BD=D0=BE=20=D1=83=D0=BA=D0=B0=D0=B7=D1=8B?= =?UTF-8?q?=D0=B2=D0=B0=D1=82=D1=8C,=20=D1=87=D1=82=D0=BE=20=D0=B2=20?= =?UTF-8?q?=D0=9D=D0=A0=D0=94=20=D1=83=D1=88=D0=BB=D0=B8=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=B4=D0=BC=D0=B5=D0=BD=D1=91=D0=BD=D0=BD=D1=8B=D0=B5=20=D0=B4?= =?UTF-8?q?=D0=B0=D0=BD=D0=BD=D1=8B=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit В режиме эмуляции «Подмена личности» XML в карточке — это наша запись с РЕАЛЬНЫМИ данными клиента, а в НРД ушла копия с подменённым блоком инвестора (тест-инвестор). Над XML теперь выводится предупреждение «В НРД отправлены ПОДМЕНЁННЫЕ данные, не эти» с указанием, под чьими данными ушло (realTestGet по GUID → claimData.SubstAs). Без подмены — текст как раньше. Co-Authored-By: Claude Opus 4.8 --- internal/lkgateway/admin.go | 15 ++++++++++++--- internal/lkgateway/web/templates/admin_claim.html | 9 ++++++++- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/internal/lkgateway/admin.go b/internal/lkgateway/admin.go index 642bac9..d664835 100644 --- a/internal/lkgateway/admin.go +++ b/internal/lkgateway/admin.go @@ -507,7 +507,10 @@ type claimData struct { Watch *OrderWatch DepoL *DepoLink Depo *OutgoingDeal // депозитарное поручение 16 (списание) по этой сделке, если черновик пришёл - Flash string + // Подмена личности (режим эмуляции НРД «подмена»): в НРД ушли данные тест-инвестора вместо + // клиента. SubstAs — под чьими данными ушло; этот XML в карточке — наша запись с реальным клиентом. + SubstAs string + Flash string Fail *SendFailure // последняя неудачная отправка в НРД (sendfail.go) } @@ -758,10 +761,16 @@ func (a *admin) renderClaim(w http.ResponseWriter, r *http.Request, svc *Service if view.M2MGUID != "" { fail = sendFailGet(string(view.M2MGUID)) } + substAs := "" + if view.M2MGUID != "" { + if rt := realTestGet(string(view.M2MGUID)); rt != nil { + substAs = rt.As // в НРД ушли данные тест-инвестора вместо клиента (режим «подмена») + } + } render(w, a.claim, claimData{ Quik: quik, Watch: watch, DepoL: depoL, Fail: fail, - page: nowPage("Заявка", "claims"), - Claim: view, Depo: depo, Flash: r.URL.Query().Get("flash"), + page: nowPage("Заявка", "claims"), + Claim: view, Depo: depo, SubstAs: substAs, Flash: r.URL.Query().Get("flash"), }) } diff --git a/internal/lkgateway/web/templates/admin_claim.html b/internal/lkgateway/web/templates/admin_claim.html index 9cad396..d334b62 100644 --- a/internal/lkgateway/web/templates/admin_claim.html +++ b/internal/lkgateway/web/templates/admin_claim.html @@ -249,8 +249,15 @@ {{if .Claim.RequestRawXML}}
-

Отправленный пакет (M2MTransferRequest)

+

Отправленный пакет (M2MTransferRequest){{if .SubstAs}} подмена личности{{end}}

+ {{if .SubstAs}} +
+ ⚠ В НРД отправлены ПОДМЕНЁННЫЕ данные, не эти. Режим эмуляции «Подмена личности»: в пакете, ушедшем в НРД, блок инвестора заменён на тест-инвестора {{.SubstAs}}. XML ниже — наша запись с реальными данными клиента (так заявка пришла из ЛК); в НРД реальные данные клиента НЕ отправлялись. +
+

XML ниже — исходная заявка клиента (наша запись). В НРД ушла её копия с подменённым блоком инвестора ({{.SubstAs}}), подписанная ИШ. Тип пакета #M2MTR.

+ {{else}}

Точный XML, который bj-server сформировал и ИШ подписал ключом и отправил в НРД. Тип пакета #M2MTR.

+ {{end}} ⤓ Скачать XML запроса
{{.Claim.RequestRawXML}}