diff --git a/api/task/v1/task.go b/api/task/v1/task.go index f8f5706..a700f9f 100644 --- a/api/task/v1/task.go +++ b/api/task/v1/task.go @@ -1,6 +1,9 @@ package v1 -import "github.com/gogf/gf/v2/frame/g" +import ( + "github.com/gogf/gf/v2/frame/g" + "github.com/gogf/gf/v2/os/gtime" +) type RankingReq struct { g.Meta `path:"/task/ranking" method:"get" tags:"PC/Task" summary:"(PC)任务排行榜"` @@ -52,10 +55,12 @@ type GetLoginTaskListRes struct { } type ListReq struct { - g.Meta `path:"/task/completed/list" method:"get" tags:"Backend/Task" summary:"(商户、门店)用户任务已完成列表"` - StoreId int `json:"storeId" dc:"门店 id"` - Page int `json:"page" dc:"页数"` - Size int `json:"size" dc:"条数"` + g.Meta `path:"/task/completed/list" method:"get" tags:"Backend/Task" summary:"(商户、门店)用户任务已完成列表"` + StoreId int `json:"storeId" dc:"门店 id"` + Page int `json:"page" dc:"页数"` + Size int `json:"size" dc:"条数"` + StartTime *gtime.Time `json:"startTime" dc:"开始时间"` + EndTime *gtime.Time `json:"endTime" dc:"结束时间"` } type ListRes struct { diff --git a/internal/controller/task/task_v1_completed_list.go b/internal/controller/task/task_v1_completed_list.go index 189cf42..d2918d6 100644 --- a/internal/controller/task/task_v1_completed_list.go +++ b/internal/controller/task/task_v1_completed_list.go @@ -10,7 +10,7 @@ import ( func (c *ControllerV1) List(ctx context.Context, req *v1.ListReq) (res *v1.ListRes, err error) { - out, err := service.Task().GetTaskCompletedList(ctx, &model.TaskListIn{StoreId: req.StoreId, Page: req.Page, Size: req.Size}) + out, err := service.Task().GetTaskCompletedList(ctx, &model.TaskListIn{StoreId: req.StoreId, Page: req.Page, Size: req.Size, StartTime: req.StartTime, EndTime: req.EndTime}) if err != nil { return nil, err diff --git a/internal/logic/task/task.go b/internal/logic/task/task.go index 29d0077..0d70eff 100644 --- a/internal/logic/task/task.go +++ b/internal/logic/task/task.go @@ -303,6 +303,10 @@ func (s *sTask) GetTaskCompletedList(ctx context.Context, in *model.TaskListIn) m = m.Where(dao.UserTasks.Columns().StoreId, in.StoreId) } + if in.StartTime != nil && in.StartTime != nil { + m = m.WhereBetween(dao.UserTasks.Columns().CompletedAt, in.StartTime, in.EndTime) + } + //err = m.Page(in.Page, in.Size).Fields(fmt.Sprintf("%s.*, %s.*,%s.*, %s.*", dao.UserTasks.Table(), dao.Users.Table(), dao.Stores.Table(), dao.Games.Table())). // LeftJoin(dao.Users.Table(), fmt.Sprintf("`%s`.`id` = `%s`.`user_id`", dao.Users.Table(), dao.UserTasks.Table())). // LeftJoin(dao.Stores.Table(), fmt.Sprintf("`%s`.`id` = `%s`.`store_id`", dao.Stores.Table(), dao.UserTasks.Table())). diff --git a/internal/model/task.go b/internal/model/task.go index d65666b..dd95df7 100644 --- a/internal/model/task.go +++ b/internal/model/task.go @@ -90,11 +90,13 @@ type PrizeList struct { } type TaskListIn struct { - Gid int `json:"gid" v:"required#游戏唯一id不能为空" dc:"游戏唯一id"` - NetBarAccount string `json:"netBarAccount"` - Page int `json:"page" dc:"页数"` - Size int `json:"size" dc:"条数"` - StoreId int `json:"store_id"` + Gid int `json:"gid" v:"required#游戏唯一id不能为空" dc:"游戏唯一id"` + NetBarAccount string `json:"netBarAccount"` + Page int `json:"page" dc:"页数"` + Size int `json:"size" dc:"条数"` + StoreId int `json:"store_id"` + StartTime *gtime.Time `json:"startTime"` + EndTime *gtime.Time `json:"endTime"` } type TaskListOut struct {