12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- 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 {
- datas := make([]*eventmodels.TaskFinishEventContent, 0, 8)
- for i := 0; i < count; i++ {
- userBasic := getUserBasic(users)
- eventBasic := getEventBasic()
- datas = append(datas, &eventmodels.TaskFinishEventContent{
- UserBasic: *userBasic,
- EventBasic: *eventBasic,
- TaskId: faker.TimeString(),
- TaskCondition: faker.AmountWithCurrency(),
- TaskType: faker.Name(),
- TaskName: faker.Name(),
- })
- }
- 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)
- }
- }
- }
|