Prechádzať zdrojové kódy

update 假数据添加测试函数

Alvin 8 mesiacov pred
rodič
commit
e94017ce1d

+ 32 - 0
game/game_cluster/nodes/logstash/fakedata/task.go

@@ -1,8 +1,11 @@
 package main
 
 import (
+	"fmt"
+
 	"github.com/bxcodec/faker/v3"
 	"github.com/mhaya/game/game_cluster/internal/mdb/eventmodels"
+	"gorm.io/gorm"
 )
 
 func getTaskFakeData(users []*eventmodels.UserBasic) []*eventmodels.TaskFinishEventContent {
@@ -24,3 +27,32 @@ func getTaskFakeData(users []*eventmodels.UserBasic) []*eventmodels.TaskFinishEv
 
 	return datas
 }
+
+func distinctTask(db *gorm.DB, users []*eventmodels.UserBasic) {
+	for _, nameObj := range users {
+		taskIds := make([]*eventmodels.TaskFinishEventContent, 0, 8)
+		where := &eventmodels.TaskFinishEventContent{
+			UserBasic: eventmodels.UserBasic{
+				UserId: nameObj.UserId,
+			},
+		}
+
+		err := db.Model(&eventmodels.TaskFinishEventContent{}).Distinct("task_id").Where(where).Find(&taskIds).Error
+		if err != nil {
+			fmt.Printf("Distinct error:%v", err)
+			return
+		}
+		fmt.Printf("taskIds:%#v", taskIds)
+
+		for _, v := range taskIds {
+			taskInfo := &eventmodels.TaskFinishEventContent{}
+			where.TaskId = v.TaskId
+			err = db.Model(&eventmodels.TaskFinishEventContent{}).Where(where).Order("create_at desc").First(&taskInfo).Error
+			if err != nil {
+				fmt.Printf("First error:%v", err)
+				return
+			}
+			fmt.Printf("taskInfo:%#v", taskInfo)
+		}
+	}
+}