Переключатель теста «боевой ЛК → TEST3» — в Настройка → ЛК ЕСИА Финанс (без режима разработки)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014FsEKyJrYF69Cj9ZXzFLRi
This commit is contained in:
@@ -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"],
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
<div class="card" id="real-nsd" style="margin:10px 0;{{if .RealNSD.Enabled}}background:var(--warn-weak,#fbf3d9){{end}}">
|
||||
<h3 style="margin:0 0 6px;font-size:15px">Тест «боевой ЛК → тестовый контур НРД» {{if .RealNSD.Enabled}}<span class="badge awaiting_decision">включён</span>{{else}}<span class="badge draft">выключен</span>{{end}}</h3>
|
||||
<p class="muted" style="margin:0 0 8px;font-size:13px">Заявки клиентов из списка (из ЛК ЕСИА Финанс) проходят у нас всё по-настоящему: проверка шлюза и поручение в DEPO, блокировка и списание в QUIK МНП (<b>боевая запись</b>), статусы в ЛК. В НРД (TEST3) запрос уходит с данными тест-инвестора <b>{{.RealNSDAs}}</b> — GUID, референсы, бумаги и счета настоящие, ответы НРД применяются к заявке клиента. «Исполнена» в ЛК — по отчёту НРД об исполнении (MS010). Остальные заявки ЛК — как раньше (без отправки в НРД).</p>
|
||||
{{if can "settings"}}<form method="post" action="/admin/m2m-testing/real-nsd" class="cpf" onsubmit="return !this.enabled.checked || confirm('Включить? Для клиентов из списка QUIK МНП будет записывать по-настоящему (блокировка и списание бумаг).');">
|
||||
{{if can "settings"}}<form method="post" action="/admin/setup/lk-real-nsd" class="cpf" onsubmit="return !this.enabled.checked || confirm('Включить? Для клиентов из списка QUIK МНП будет записывать по-настоящему (блокировка и списание бумаг).');">
|
||||
<label style="flex-direction:row;align-items:center;gap:6px;font-size:13px;color:var(--text)"><input type="checkbox" name="enabled" style="min-width:0"{{if .RealNSD.Enabled}} checked{{end}}> включить</label>
|
||||
<label style="min-width:280px">Паспорта клиентов (серия номер, через «;»)
|
||||
<input name="docs" value="{{.RealNSD.Docs}}" placeholder="1110 754503"></label>
|
||||
|
||||
@@ -636,6 +636,16 @@
|
||||
{{if devOn}} <input type="hidden" name="emulate_nsd_form" value="1">
|
||||
<label style="display:flex;align-items:flex-start;gap:8px;font-weight:400;flex-basis:100%;margin-top:6px"><input type="checkbox" name="emulate_nsd" style="width:auto;margin-top:3px" {{if .Settings.LK.EmulateNSD}}checked{{end}} onchange="this.form.submit()"> <span><b>Имитация НРД</b> — заявки ЛК проходят сверку с DEPO, блокировку в QUIK и получают статус в ЛК, но в НРД не отправляются: ответ контрагента имитирует bj.{{if and (eq .Settings.LK.ActiveEnv "prod") (not .Settings.LK.EmulateNSD)}} <span style="color:var(--warn)">Сейчас включена принудительно: боевой ЛК при тестовом профиле ИШ ({{.Settings.NSD.Profile}}).</span>{{end}}</span></label>{{end}}
|
||||
</form>
|
||||
<div id="lk-real-nsd" style="margin-top:14px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;{{if .Settings.LK.RealNSDTest.Enabled}}background:var(--warn-weak){{end}}">
|
||||
<b>Тест «боевой ЛК → тестовый контур НРД»</b> {{if .Settings.LK.RealNSDTest.Enabled}}<span class="badge awaiting_decision">включён</span>{{else}}<span class="badge draft">выключен</span>{{end}}
|
||||
<p class="muted" style="margin:6px 0 8px;font-size:13px">Заявки клиентов из списка проходят у нас всё по-настоящему: сверка и поручение в DEPO, блокировка и списание в QUIK МНП (<b>боевая запись</b>), статусы в ЛК. В НРД (тестовый контур) запрос уходит с данными тест-инвестора <b>{{realNSDAs}}</b>; GUID, бумаги и счета — настоящие, ответы НРД применяются к заявке клиента. «Исполнена» в ЛК — по отчёту НРД об исполнении (MS010). Остальные заявки ЛК — как раньше. Включайте до того, как клиент подпишет заявку.</p>
|
||||
<form method="post" action="/admin/setup/lk-real-nsd" style="display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap" onsubmit="return !this.enabled.checked || confirm('Включить? Для клиентов из списка QUIK МНП будет записывать по-настоящему (блокировка и списание бумаг).');">
|
||||
<label style="display:flex;align-items:center;gap:6px;font-weight:400"><input type="checkbox" name="enabled" style="width:auto"{{if .Settings.LK.RealNSDTest.Enabled}} checked{{end}}> включить</label>
|
||||
<label style="display:flex;flex-direction:column;gap:3px;font-size:12px;min-width:260px">Паспорта клиентов (серия номер, через «;»)
|
||||
<input name="docs" value="{{.Settings.LK.RealNSDTest.Docs}}" placeholder="1110 754503"></label>
|
||||
<button class="btn" type="submit">Сохранить</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{if devOn}} <div class="card">
|
||||
|
||||
Reference in New Issue
Block a user