package model import ( "github.com/gogf/gf/v2/frame/g" "github.com/gogf/gf/v2/os/gtime" ) type UserTask struct { g.Meta `orm:"table:task"` Id int64 `json:"id" orm:"id" description:"用户任务唯一标识符"` // 用户任务唯一标识符 UserId int64 `json:"userId" orm:"user_id" description:"用户ID"` // 用户ID TaskId string `json:"taskId" orm:"task_id" description:"腾讯任务ID"` // 腾讯任务ID Status int `json:"status" orm:"status" description:"任务状态:1=进行中,2=已完成中,3=未完成"` // 任务状态:1=进行中,2=已完成中,3=未完成 SerialNumber string `json:"serialNumber" orm:"serial_number" description:"流水号,确保用户任务唯一性"` // 流水号,确保用户任务唯一性 CreatedAt *gtime.Time `json:"createdAt" orm:"created_at" description:"创建时间"` // 创建时间 UpdatedAt *gtime.Time `json:"updatedAt" orm:"updated_at" description:"更新时间"` // 更新时间 CompletedAt *gtime.Time `json:"completedAt" orm:"completed_at" description:"任务完成时间"` // 任务完成时间 DeletedAt *gtime.Time `json:"deletedAt" orm:"deleted_at" description:"软删除时间戳"` // 软删除时间戳 StoreId int64 `json:"storeId" orm:"store_id" description:"门店 id"` // 门店 id TaskName string `json:"taskName" orm:"task_name" description:"任务名称"` // 任务名称 GameId int64 `json:"gameId" orm:"game_id" description:"游戏 id"` // 游戏 id User User `json:"user" orm:"with:id=user_id"` Game Game `json:"game" orm:"with:game_id=game_id"` // Store Store `json:"store" orm:"with:id=store_id"` } // UserTaskRankingIn 任务排行榜入参 type UserTaskRankingIn struct { Page int Size int StoreId int Type int // 排行榜类型 1:日 2:周 3:月 OperatorId int } // UserTaskRankingOut 用户排行榜出参 type UserTaskRankingOut struct { List []UserTaskRankingArgs Total int CompletedNum int RankingNum int } type UserTaskRankingArgs struct { UserName string `orm:"username" json:"username"` Avatar string `orm:"avatar" json:"avatar"` Total int `orm:"num" json:"num"` } type LoginUserRanking struct { UserName string `orm:"username" json:"username"` Num int `orm:"num" json:"num"` } type LoginUserRankingNum struct { Num int `orm:"num" json:"num"` } // GetTaskIn 添加任务记录入参 type GetTaskIn struct { TaskId int `json:"taskId"` StoreId int `json:"storeId"` UserId int `json:"userId"` TaskName string `json:"taskName"` GameId int `json:"gid"` } type GetTaskOut struct { Success bool `json:"success"` }