Справочник участников — своего контура; регистрация — по справочнику НРД; поиск клиентов портфеля
readHandbook брал самый свежий из своего, общего (с сервера лицензий) и встроенного — общий был тестовым (TEST3, 166 участников, прислан с 28), и на боевом 9 bj считал «регистрация подтверждена», хотя в боевом справочнике НРД (89) нас нет. Теперь при своём справочнике от НРД — только он; на сервер лицензий справочник уходит только с боевого контура. Регистрация участника проверяется по справочнику, полученному от НРД; появились в нём — анкета отмечается принятой автоматически, плашка уходит. Портфель ЛК: клиенты DEPO списком по клику (первые 50 по алфавиту), «не найдено» вместо «поиск недоступен» (пустой ответ был null). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q7eREaYwUt1i4fNLZcGnjn
This commit is contained in:
@@ -33,10 +33,15 @@ func handbookAt(b []byte) time.Time {
|
||||
return h.At
|
||||
}
|
||||
|
||||
// readHandbook — самый свежий из доступных справочников.
|
||||
// readHandbook — справочник своего контура: полученный этим bj от НРД, если он есть (боевой и
|
||||
// тестовый справочники разные — в боевом меньше участников, не все подключились; копия с сервера
|
||||
// лицензий может быть с другого контура). Нет своего — самый свежий из копии и встроенного снимка.
|
||||
func readHandbook() ([]byte, error) {
|
||||
if b, err := os.ReadFile(handbookFile); err == nil && len(b) > 0 && !handbookAt(b).IsZero() {
|
||||
return b, nil
|
||||
}
|
||||
best := handbookSnapshot
|
||||
for _, p := range []string{handbookFile, handbookCloudFile} {
|
||||
for _, p := range []string{handbookCloudFile} {
|
||||
if b, err := os.ReadFile(p); err == nil && len(b) > 0 && handbookAt(b).After(handbookAt(best)) {
|
||||
best = b
|
||||
}
|
||||
@@ -58,6 +63,9 @@ func pushHandbookAsync(rc *RuntimeConfig, raw []byte) {
|
||||
if rc == nil || strings.TrimSpace(rc.Snapshot().License.Key) == "" {
|
||||
return
|
||||
}
|
||||
if contourOf(currentNSDProfile()) != "prod" {
|
||||
return // общий справочник — только боевой: тестовый (TEST3) шире и для клиентов неверен
|
||||
}
|
||||
go func() {
|
||||
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
|
||||
defer cancel()
|
||||
|
||||
Reference in New Issue
Block a user