feat: 增加顺运宝店铺筛选 (#151)

This commit is contained in:
chengma
2026-08-11 14:39:13 +08:00
parent 30bdab3e2e
commit 9d4d6fc1e5
20 changed files with 313 additions and 56 deletions
+36 -1
View File
@@ -657,7 +657,7 @@ func TestMigrate_v8新增顺运宝同步记录表(t *testing.T) {
t.Fatal("v8 应该新增 syb_sync_runs 表")
}
var version int
if err := db.QueryRow(`PRAGMA user_version`).Scan(&version); err != nil || version != 8 {
if err := db.QueryRow(`PRAGMA user_version`).Scan(&version); err != nil || version != schemaVersion {
t.Fatalf("迁移版本错误: version=%d err=%v", version, err)
}
user := model.User{
@@ -683,6 +683,41 @@ func TestMigrate_v8新增顺运宝同步记录表(t *testing.T) {
}
}
func TestMigrate_v9回填顺运宝店铺名(t *testing.T) {
db := newPublishedVersionDB(t, 7)
if err := runSQLMigration(db, 8, migrationV8); err != nil {
t.Fatal(err)
}
now := model.NowISO()
for _, row := range []struct{ id, raw string }{
{"shop", `{"stock":{"shopName":" 测试店铺 "}}`},
{"blank", `{"stock":{"shopName":" "}}`},
{"missing", `{"stock":{}}`},
{"invalid", `{not-json`},
} {
if _, err := db.Exec(`INSERT INTO syb_orders
(syb_id,order_no,title,product_spec,quantity,syb_data,created_at,updated_at)
VALUES (?,?,'商品','黑色,M',1,?,?,?)`, row.id, row.id, row.raw, now, now); err != nil {
t.Fatal(err)
}
}
if err := Migrate(db); err != nil {
t.Fatalf("v8 升级 v9 失败: %v", err)
}
var shop sql.NullString
if err := db.QueryRow(`SELECT shop_name FROM syb_orders WHERE syb_id='shop'`).Scan(&shop); err != nil || !shop.Valid || shop.String != "测试店铺" {
t.Fatalf("店铺回填错误: %+v err=%v", shop, err)
}
for _, id := range []string{"blank", "missing", "invalid"} {
if err := db.QueryRow(`SELECT shop_name FROM syb_orders WHERE syb_id=?`, id).Scan(&shop); err != nil || shop.Valid {
t.Fatalf("%s 应保持 NULL: %+v err=%v", id, shop, err)
}
}
if err := Migrate(db); err != nil {
t.Fatalf("v9 重复迁移失败: %v", err)
}
}
func newPublishedVersionDB(t *testing.T, version int) *sql.DB {
t.Helper()
db, err := Open(t.TempDir())