同步点赞数据
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