diff --git a/api/task/v1/task.go b/api/task/v1/task.go index 123e852..b4bdd19 100644 --- a/api/task/v1/task.go +++ b/api/task/v1/task.go @@ -101,7 +101,7 @@ type GetUserTaskRecordsListReq struct { NetbarAccount string `json:"netbarAccount" dc:"网关账号, 用户查询在本店完成的任务记录"` Page int `json:"page" dc:"页数"` Size int `json:"size" dc:"条数"` - TimeType int `json:"timeType" dc:"时间类型, 暂时没有"` //TODO + TimeType int `json:"timeType" dc:"时间类型,1:一周,2:一月,3:一年, 不传就是不加时间限制"` //TODO } type GetUserTaskRecordsListRes struct { List interface{} `json:"list"` diff --git a/internal/logic/task/task.go b/internal/logic/task/task.go index 5c76a24..a6047fc 100644 --- a/internal/logic/task/task.go +++ b/internal/logic/task/task.go @@ -451,12 +451,23 @@ func (s *sTask) GetUserTaskRecordsList(ctx context.Context, in *model.UserTaskRe if err != nil { return nil, err } + if value.IsEmpty() { + return nil, ecode.Params.Sub("网吧账号不存在") + } orm = orm.Where(dao.UserTasks.Columns().StoreId, value.Int()) } if in.GameId != 0 { orm = orm.Where(dao.UserTasks.Columns().GameId, in.GameId) } + switch in.TimeType { + case 1: + orm = orm.WhereGTE(dao.UserTasks.Columns().CreatedAt, gtime.Now().AddDate(0, 0, -7)) + case 2: + orm = orm.WhereGTE(dao.UserTasks.Columns().CreatedAt, gtime.Now().AddDate(0, 0, -30)) + case 3: + orm = orm.WhereGTE(dao.UserTasks.Columns().CreatedAt, gtime.Now().AddDate(0, 0, -365)) + } err = orm.Page(in.Page, in.Size).LeftJoin(dao.UserTaskRewards.Table(), fmt.Sprintf("`%s`.`user_task_id` = `%s`.`id`", dao.UserTaskRewards.Table(), dao.UserTasks.Table())). Fields("user_tasks.*, group_concat(user_task_rewards.reward_name SEPARATOR ',') AS reward_name").Group("user_tasks.id").ScanAndCount(&list, &total, false)