Шапка «Шлюз НРД»: зелёная при работающем обмене, всплывающая панель; плашка анкеты в НРД
Общий цвет цепочки — по участкам с известным состоянием: несделанная M2M-проверка больше не делает серым работающий обмен. Вместо title — всплывающая панель по участкам с цветными точками, без повтора «последнего ответа НРД». Раздел НРД: наверху плашка, пока анкета участника не принята НРД (не отправлена / ждёт ответа / отклонена с текстом НРД), со ссылкой на анкету; пропадает после приёма. Только в боевом контуре. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q7eREaYwUt1i4fNLZcGnjn
This commit is contained in:
@@ -6,6 +6,7 @@ package lkgateway
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"html/template"
|
||||
"os"
|
||||
"strings"
|
||||
"sync"
|
||||
@@ -138,3 +139,31 @@ func recordParticipantReply(status string, resp *m2m.M2MTransferResponse, rawFil
|
||||
r.RawFile = rawFile
|
||||
})
|
||||
}
|
||||
|
||||
// participantAccepted — последняя отправленная анкета принята НРД.
|
||||
func participantAccepted() bool {
|
||||
r := loadParticipantReg()
|
||||
return !r.RespAt.IsZero() && !strings.EqualFold(r.Status, "ERROR")
|
||||
}
|
||||
|
||||
// participantBanner — плашка наверху раздела НРД: анкета не отправлена, ждёт ответа или отклонена.
|
||||
// Пропадает, когда НРД принял анкету. Анкету шлём только в боевом контуре — в тестовом плашки нет.
|
||||
func participantBanner() template.HTML {
|
||||
if participantAccepted() || contourOf(currentNSDProfile()) != "prod" {
|
||||
return ""
|
||||
}
|
||||
esc := template.HTMLEscapeString
|
||||
r := loadParticipantReg()
|
||||
cls, head, body := "stc-err", "Анкета участника M2M не отправлена",
|
||||
"Без регистрации участника НРД не принимает запросы на переводы. Проверьте анкету и отправьте её."
|
||||
switch {
|
||||
case r.SentAt.IsZero():
|
||||
case r.RespAt.IsZero():
|
||||
cls, head, body = "stc-run", "Анкета участника M2M ждёт ответа НРД", "Отправлена "+r.SentAt.In(listMSK).Format("02.01.2006 15:04")+". Плашка пропадёт, когда НРД примет анкету."
|
||||
case strings.EqualFold(r.Status, "ERROR"):
|
||||
cls, head = "stc-err", "НРД отклонил анкету участника M2M"
|
||||
body = r.RespAt.In(listMSK).Format("02.01.2006 15:04") + ": " + r.RespText + ". Исправьте и отправьте снова."
|
||||
}
|
||||
return template.HTML(`<div class="stc ` + cls + `" style="margin:0 0 14px"><span class="stc-ic"></span><div class="stc-b"><b>` + esc(head) +
|
||||
`</b><small>` + esc(body) + ` <a href="#nsd-participant" onclick="var d=document.getElementById('pf-box');if(d)d.open=true">Открыть анкету →</a></small></div></div>`)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user