package storage import ( "fmt" "testing" v2 "gitea.timerzz.com/kedaya_haitao/common/structs/v2" "gorm.io/gorm" ) var providerArticle = v2.ProviderArticle{ ArticleID: 1, Brand: v2.Brand_Coach, Cost: v2.ProviderPrice{ CalMark: "111", FinalPrice: 1, OriginalPrice: 0, ProviderArticleID: 0, }, HistoryPrice: []v2.ProviderPrice{ { CalMark: "222", }, }, } func TestProviderArticleApi_Upsert(t *testing.T) { db, err := GetDevDB() if err != nil { t.Fatal(err) } storage := NewStorage(db) storage.ProviderArticle().Upsert(providerArticle) } func TestProviderArticleApi_FindInBatches(t *testing.T) { db, err := GetDevDB() if err != nil { t.Fatal(err) } storage := NewStorage(db) var results = make([]v2.ProviderArticle, 0) err = storage.ProviderArticle().FindInBatches(&GetProviderArticleQuery{ProviderId: "1"}, &results, func(tx *gorm.DB, batch int) error { for idx := range results { results[idx].Link = fmt.Sprintf("test_%d", idx) results[idx].SkuID = fmt.Sprintf("sku_%d", idx) } return db.Select("id", "link").Save(&results).Error }) if err != nil { t.Fatal(err) } } func TestFullImage(t *testing.T) { db, err := GetDevDB() if err != nil { t.Fatal(err) } var articles []*v2.ProviderArticle articles, err = NewStorage(db).ProviderArticle().Find( NewGetProviderArticleQuery(). SetProviderId("us-coach-outlet"). SetWatch(true), ) fmt.Println(articles) //var pids []string //db.Table("watch_info").Select("pid").Not("pid", nil).Not("pid", "").Where("has_detail=?", true).Where("deleted_at", nil).Find(&pids) //nots := []string{} //for _, pid := range pids { // var p v2.ProviderArticle // err = db.Where("pid=?", pid).First(&p).Error // if errors.Is(err, gorm.ErrRecordNotFound) { // nots = append(nots, pid) // } else if err != nil { // fmt.Printf("%s 查询失败: %v", pid, err) // } else { // p.SetWatch(true) // p.Available = false // err = db.Select("watch", "available").Updates(&p).Error // if err != nil { // fmt.Printf("%s 更新失败: %v", pid, err) // } // } //} //fmt.Printf("以下共%d个pid未找到: %s", len(nots), nots) }