同步点赞数据

This commit is contained in:
2025-03-04 05:44:00 +08:00
parent e6410582d2
commit 85efe470b9
2 changed files with 16 additions and 10 deletions

View File

@@ -50,10 +50,12 @@ func PutImages(page int) error {
} }
// 同步点赞数据 // 同步点赞数据
func PutPraises(page int) error { func PutPraises() {
var ctx context.Context = context.Background() var ctx context.Context = context.Background()
for i := 0; i < page; i++ { for {
time.Sleep(1 * time.Second)
var feedbacks []client.Feedback var feedbacks []client.Feedback
var data []struct { var data []struct {
ID int ID int
@@ -64,12 +66,11 @@ func PutPraises(page int) error {
if err := db.Table("web_praise").Select("id", "praise_id", "user_id", "create_time").Where("gorse = false").Where("type = ?", 4).Limit(100).Scan(&data).Error; err != nil { if err := db.Table("web_praise").Select("id", "praise_id", "user_id", "create_time").Where("gorse = false").Where("type = ?", 4).Limit(100).Scan(&data).Error; err != nil {
fmt.Println("获取图像点赞记录失败", err) fmt.Println("获取图像点赞记录失败", err)
return err return
} }
var ids []int var ids []int
for _, item := range data { for _, item := range data {
fmt.Println(item.ID, item.UserID, item.PraiseID, item.CreateTime)
feedbacks = append(feedbacks, client.Feedback{ feedbacks = append(feedbacks, client.Feedback{
FeedbackType: "like", FeedbackType: "like",
UserId: fmt.Sprintf("%d", item.UserID), UserId: fmt.Sprintf("%d", item.UserID),
@@ -79,19 +80,22 @@ func PutPraises(page int) error {
ids = append(ids, item.ID) ids = append(ids, item.ID)
} }
if err := db.Table("web_praise").Where("id in (?)", data).Update("gorse", true).Error; err != nil { if err := db.Table("web_praise").Where("id in (?)", ids).Update("gorse", true).Error; err != nil {
fmt.Println("更新点赞记录失败", err) fmt.Println("更新点赞记录失败", err)
return err return
} }
if _, err := gorse.InsertFeedback(ctx, feedbacks); err != nil { if _, err := gorse.InsertFeedback(ctx, feedbacks); err != nil {
fmt.Println("写入点赞记录失败", err) fmt.Println("写入点赞记录失败", err)
return err return
}
fmt.Println("写入点赞记录结束", len(ids))
if len(data) < 100 {
time.Sleep(60 * time.Second)
} }
} }
fmt.Println("写入点赞记录结束..", page*100)
return nil
} }
// 同步收藏数据 // 同步收藏数据

View File

@@ -106,6 +106,8 @@ func main() {
if config.GetBool("gorse.open") { if config.GetBool("gorse.open") {
fmt.Println("开启用户偏好收集") fmt.Println("开启用户偏好收集")
api.GorseInit(config.GetString("gorse.host"), config.GetInt("gorse.port")) api.GorseInit(config.GetString("gorse.host"), config.GetInt("gorse.port"))
fmt.Println("同步点赞数据")
go api.PutPraises()
} }
schema, err := graphql.NewSchema(graphql.SchemaConfig{Query: graphql.NewObject(graphql.ObjectConfig{Name: "RootQuery", Fields: graphql.Fields{ schema, err := graphql.NewSchema(graphql.SchemaConfig{Query: graphql.NewObject(graphql.ObjectConfig{Name: "RootQuery", Fields: graphql.Fields{