diff --git a/internal/lkgateway/admin.go b/internal/lkgateway/admin.go index b18bc01..52979b3 100644 --- a/internal/lkgateway/admin.go +++ b/internal/lkgateway/admin.go @@ -53,6 +53,7 @@ var templateFuncs = template.FuncMap{ "can": authTemplateFuncs["can"], "sendFailText": sendFailText, "realTest": realTestGet, + "realNSDAs": realNSDAsText, "nsdSegTip": nsdSegTip, "devOn": authTemplateFuncs["devOn"], "devLicensed": authTemplateFuncs["devLicensed"], diff --git a/internal/lkgateway/realtest.go b/internal/lkgateway/realtest.go index e2c9331..00303e8 100644 --- a/internal/lkgateway/realtest.go +++ b/internal/lkgateway/realtest.go @@ -213,9 +213,10 @@ func realTestOnExecuted(ctx context.Context, rc *RuntimeConfig, guid string, rej log.Printf("real-test: %s — итог в ЛК: %s (%s)", shortGUID(guid), status, reason) } -// registerRealNSDTest — POST /admin/m2m-testing/real-nsd: включить/выключить тест и список клиентов. +// registerRealNSDTest — POST /admin/setup/lk-real-nsd: включить/выключить тест и список клиентов +// (в «Настройка → ЛК ЕСИА Финанс», доступно без режима разработки — право «настройка»). func registerRealNSDTest(mux *http.ServeMux, rc *RuntimeConfig) { - mux.HandleFunc("/admin/m2m-testing/real-nsd", func(w http.ResponseWriter, r *http.Request) { + mux.HandleFunc("/admin/setup/lk-real-nsd", func(w http.ResponseWriter, r *http.Request) { if r.Method != http.MethodPost { http.Error(w, "method", http.StatusMethodNotAllowed) return @@ -228,6 +229,19 @@ func registerRealNSDTest(mux *http.ServeMux, rc *RuntimeConfig) { return } log.Printf("real-test: %v, клиенты: %s", lk.RealNSDTest.Enabled, lk.RealNSDTest.Docs) - http.Redirect(w, r, "/admin/m2m-testing#real-nsd", http.StatusSeeOther) + back := "/admin/setup" + if ref := r.Referer(); strings.Contains(ref, "/admin/m2m-testing") { + back = "/admin/m2m-testing" + } + http.Redirect(w, r, back+"#lk-real-nsd", http.StatusSeeOther) }) } + +// realNSDAsText — тест-инвестор для подписи в настройках. +func realNSDAsText() string { + if globalRC == nil { + return "" + } + l, f, m, sr, n := globalRC.Snapshot().LK.RealNSDTest.as() + return strings.TrimSpace(l + " " + f + " " + m + ", " + sr + " " + n) +} diff --git a/internal/lkgateway/web/templates/admin_m2mtest.html b/internal/lkgateway/web/templates/admin_m2mtest.html index bfd8d5c..293502e 100644 --- a/internal/lkgateway/web/templates/admin_m2mtest.html +++ b/internal/lkgateway/web/templates/admin_m2mtest.html @@ -65,7 +65,7 @@

Тест «боевой ЛК → тестовый контур НРД» {{if .RealNSD.Enabled}}включён{{else}}выключен{{end}}

Заявки клиентов из списка (из ЛК ЕСИА Финанс) проходят у нас всё по-настоящему: проверка шлюза и поручение в DEPO, блокировка и списание в QUIK МНП (боевая запись), статусы в ЛК. В НРД (TEST3) запрос уходит с данными тест-инвестора {{.RealNSDAs}} — GUID, референсы, бумаги и счета настоящие, ответы НРД применяются к заявке клиента. «Исполнена» в ЛК — по отчёту НРД об исполнении (MS010). Остальные заявки ЛК — как раньше (без отправки в НРД).

- {{if can "settings"}}
+ {{if can "settings"}} diff --git a/internal/lkgateway/web/templates/admin_setup.html b/internal/lkgateway/web/templates/admin_setup.html index 66bf528..9a1d92a 100644 --- a/internal/lkgateway/web/templates/admin_setup.html +++ b/internal/lkgateway/web/templates/admin_setup.html @@ -636,6 +636,16 @@ {{if devOn}} {{end}}
+
+ Тест «боевой ЛК → тестовый контур НРД» {{if .Settings.LK.RealNSDTest.Enabled}}включён{{else}}выключен{{end}} +

Заявки клиентов из списка проходят у нас всё по-настоящему: сверка и поручение в DEPO, блокировка и списание в QUIK МНП (боевая запись), статусы в ЛК. В НРД (тестовый контур) запрос уходит с данными тест-инвестора {{realNSDAs}}; GUID, бумаги и счета — настоящие, ответы НРД применяются к заявке клиента. «Исполнена» в ЛК — по отчёту НРД об исполнении (MS010). Остальные заявки ЛК — как раньше. Включайте до того, как клиент подпишет заявку.

+
+ + + +
+
{{if devOn}}