ЛК ЕСИА Финанс: портфель ДЕПО из DEPO — сверка каждые 10 с в проходе опроса, отправка только при изменении; настройки и «Синхронизировать сейчас»
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014FsEKyJrYF69Cj9ZXzFLRi
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
//go:build live
|
||||
|
||||
package lkgateway
|
||||
|
||||
import (
|
||||
"context"
|
||||
"database/sql"
|
||||
"fmt"
|
||||
"os"
|
||||
"testing"
|
||||
)
|
||||
|
||||
// Дописать PARAMETERS событиям перевода, где оно пустое. EV_GUID, EV_TYPES (через запятую не нужно — два типа), EV_PARAMS, EV_GO=1.
|
||||
func TestEventParamsLive(t *testing.T) {
|
||||
rc, err := NewRuntimeConfig("/var/lib/bj/.bj/setup.json")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
db, err := depoEventsDB(rc)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer db.Close()
|
||||
ctx := context.Background()
|
||||
g, p := os.Getenv("EV_GUID"), os.Getenv("EV_PARAMS")
|
||||
if os.Getenv("EV_GO") == "1" {
|
||||
res, err := db.ExecContext(ctx, `UPDATE dbo.FTV_M2M_EVENTS SET PARAMETERS=@p
|
||||
WHERE GUID=@g AND EVENT_TYPE IN ('BJ_ORDER_ACCEPTED','BJ_EXECUTED') AND (PARAMETERS IS NULL OR PARAMETERS='')`, sql.Named("p", p), sql.Named("g", g))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
n, _ := res.RowsAffected()
|
||||
fmt.Println("обновлено строк:", n)
|
||||
}
|
||||
rows, err := db.QueryContext(ctx, `SELECT EVENT_TYPE, ISNULL(REFERENCE,''), ISNULL(STATE,''), ISNULL(PARAMETERS,''), EVENT_DATE FROM dbo.FTV_M2M_EVENTS WHERE GUID=@g ORDER BY EVENT_DATE`, sql.Named("g", g))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
for rows.Next() {
|
||||
var ty, ref, st, pr string
|
||||
var at interface{}
|
||||
_ = rows.Scan(&ty, &ref, &st, &pr, &at)
|
||||
fmt.Printf("%-18s %-18s %-8s %-24q %v\n", ty, ref, st, pr, at)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user