Тест «боевой ЛК → TEST3»: заявки выбранных клиентов ЕСИА Финанс — у нас всё по-настоящему (DEPO, QUIK МНП боевая запись только для них), в НРД с подменой инвестора на тест-клиента; «Исполнена» в ЛК по MS010; повтор отправки тоже с подменой; пометка и шаги ЛК в пути заявки; включатель на «Тестирование M2M»

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014FsEKyJrYF69Cj9ZXzFLRi
This commit is contained in:
zuevav
2026-09-29 13:10:06 +03:00
parent 340fca7bd7
commit 91d8584a9c
15 changed files with 485 additions and 21 deletions
+13 -7
View File
@@ -44,8 +44,11 @@ func quikSecISIN(s m2m.RequestSecurity) string {
// отправку не блокируем (оповещаем); если QUIK отверг регистрацию — отправку
// ОТМЕНЯЕМ (нельзя переводить то, что не заблокировано).
func quikOutgoingBeforeSend(ctx context.Context, rc *RuntimeConfig, req *m2m.M2MTransferRequest) error {
q := rc.Snapshot().Quik
if !quikActive(q) || !q.AutoOut || req == nil || manualQuikSkipped(ctx) { // ручной ввод: заблокировано сотрудником
if req == nil {
return nil
}
q := quikSettingsFor(rc, string(req.Header.GUID)) // тест «боевой ЛК → TEST3» — боевая запись (realtest.go)
if !quikActive(q) || !q.AutoOut || manualQuikSkipped(ctx) { // ручной ввод: заблокировано сотрудником
return nil
}
guid := string(req.Header.GUID)
@@ -88,11 +91,14 @@ func quikOutgoingBeforeSend(ctx context.Context, rc *RuntimeConfig, req *m2m.M2M
// quikOnDecision — ответ контрагента: по отказанным бумагам снимаем поручения.
func quikOnDecision(ctx context.Context, rc *RuntimeConfig, svc *Service, decision *m2m.M2MTransferDecision) {
q := rc.Snapshot().Quik
if !quikActive(q) || !q.AutoOut || decision == nil {
if decision == nil {
return
}
guid := string(decision.Header.GUID)
q := quikSettingsFor(rc, guid)
if !quikActive(q) || !q.AutoOut {
return
}
links := globalQuikLinks.ForGUID(guid)
if len(links) == 0 {
return
@@ -119,7 +125,7 @@ func quikOnDecision(ctx context.Context, rc *RuntimeConfig, svc *Service, decisi
// quikOnServiceError — сервис МОСТ отверг перевод целиком: снимаем все поручения.
func quikOnServiceError(ctx context.Context, rc *RuntimeConfig, guid, reason string) {
q := rc.Snapshot().Quik
q := quikSettingsFor(rc, guid)
if !quikActive(q) || !q.AutoOut {
return
}
@@ -148,13 +154,13 @@ func orderRespVerdict(resps []orderResponse) (done, rejected bool, text string)
// quikCycleTick — один проход опросчика.
func quikCycleTick(ctx context.Context, rc *RuntimeConfig) {
q := rc.Snapshot().Quik
if !quikActive(q) || q.Server == "" {
if (!quikActive(q) && !realTestAny()) || q.Server == "" { // тестовые заявки «боевой ЛК → TEST3» — всегда
return
}
// исходящие: наше поручение 16 принято НРД → подпись; отказ → снятие
if q.AutoOut && globalOutgoingStore != nil {
for _, od := range scanForm16Drafts(globalOutgoingStore) {
if !od.Submitted {
if !od.Submitted || (!quikActive(q) && realTestGet(od.GUID) == nil) {
continue
}
links := globalQuikLinks.ForGUID(od.GUID)