同步点赞数据
This commit is contained in:
24
api/gorse.go
24
api/gorse.go
@@ -50,10 +50,12 @@ func PutImages(page int) error {
|
||||
}
|
||||
|
||||
// 同步点赞数据
|
||||
func PutPraises(page int) error {
|
||||
func PutPraises() {
|
||||
var ctx context.Context = context.Background()
|
||||
|
||||
for i := 0; i < page; i++ {
|
||||
for {
|
||||
time.Sleep(1 * time.Second)
|
||||
|
||||
var feedbacks []client.Feedback
|
||||
var data []struct {
|
||||
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 {
|
||||
fmt.Println("获取图像点赞记录失败", err)
|
||||
return err
|
||||
return
|
||||
}
|
||||
|
||||
var ids []int
|
||||
for _, item := range data {
|
||||
fmt.Println(item.ID, item.UserID, item.PraiseID, item.CreateTime)
|
||||
feedbacks = append(feedbacks, client.Feedback{
|
||||
FeedbackType: "like",
|
||||
UserId: fmt.Sprintf("%d", item.UserID),
|
||||
@@ -79,19 +80,22 @@ func PutPraises(page int) error {
|
||||
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)
|
||||
return err
|
||||
return
|
||||
}
|
||||
|
||||
if _, err := gorse.InsertFeedback(ctx, feedbacks); err != nil {
|
||||
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
|
||||
}
|
||||
|
||||
// 同步收藏数据
|
||||
|
@@ -106,6 +106,8 @@ func main() {
|
||||
if config.GetBool("gorse.open") {
|
||||
fmt.Println("开启用户偏好收集")
|
||||
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{
|
||||
|
Reference in New Issue
Block a user