|
@@ -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)
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|