diff --git a/api/task/v1/task.go b/api/task/v1/task.go index 43f74fc..158224a 100644 --- a/api/task/v1/task.go +++ b/api/task/v1/task.go @@ -30,7 +30,7 @@ type NonLoginTaskListReq struct { type NonLoginTaskListRes struct { //List interface{} `json:"list"` //Total int `json:"total"` - Data interface{} `json:"data"` + Data interface{} `json:"taskList"` } type GetLoginTaskListReq struct { diff --git a/internal/controller/task/task_v1_get_login_task_list.go b/internal/controller/task/task_v1_get_login_task_list.go index 690a323..06a5793 100644 --- a/internal/controller/task/task_v1_get_login_task_list.go +++ b/internal/controller/task/task_v1_get_login_task_list.go @@ -9,10 +9,10 @@ import ( ) func (c *ControllerV1) GetLoginTaskList(ctx context.Context, req *v1.GetLoginTaskListReq) (res *v1.GetLoginTaskListRes, err error) { - out, err := service.Task().GetLoginTaskList(ctx, &model.GetLoginTaskListIn{ + out, err := service.Task().GetLoginTaskList(ctx, &model.GetTaskListIn{ Gid: req.Gid, NetBarAccount: req.NetBarAccount, - POpenId: req.PopenId, + PopenId: req.PopenId, }) if err != nil { diff --git a/internal/controller/task/task_v1_non_login_task_list.go b/internal/controller/task/task_v1_non_login_task_list.go index 9be400a..150e66f 100644 --- a/internal/controller/task/task_v1_non_login_task_list.go +++ b/internal/controller/task/task_v1_non_login_task_list.go @@ -10,7 +10,7 @@ import ( func (c *ControllerV1) NonLoginTaskList(ctx context.Context, req *v1.NonLoginTaskListReq) (res *v1.NonLoginTaskListRes, err error) { - out, err := service.Task().GetNonLoginTaskList(ctx, &model.GetNonLoginTaskListIn{ + out, err := service.Task().GetNonLoginTaskList(ctx, &model.GetTaskListIn{ NetBarAccount: req.NetBarAccount, //Page: req.Page, //Size: req.Size, @@ -25,5 +25,5 @@ func (c *ControllerV1) NonLoginTaskList(ctx context.Context, req *v1.NonLoginTas return nil, err } - return &v1.NonLoginTaskListRes{Data: out.Data}, nil + return &v1.NonLoginTaskListRes{Data: out}, nil } diff --git a/internal/logic/task/task.go b/internal/logic/task/task.go index 3b597de..78aa07a 100644 --- a/internal/logic/task/task.go +++ b/internal/logic/task/task.go @@ -144,7 +144,7 @@ func (s *sTask) UserTaskRankingList(ctx context.Context, in *model.UserTaskRanki } // GetNonLoginTaskList 获取下发到指定网吧的任务列表(未登录) -func (s *sTask) GetNonLoginTaskList(ctx context.Context, in *model.GetNonLoginTaskListIn) (out *model.GetNonLoginTaskListOut, err error) { +func (s *sTask) GetNonLoginTaskList(ctx context.Context, in *model.GetTaskListIn) (out []model.Task, err error) { // 调用外部接口 activity, err := gamelife.GetGamelifeClient(ctx).RequestActivity(ctx, &model.QQNetbarActivityIn{ServiceName: consts.GetNonLoginTaskList, TaskParam: model.TaskParam{Gid: in.Gid, NetBarAccount: in.NetBarAccount, Num: in.Num, Pageidx: in.Pageidx}}) @@ -178,50 +178,47 @@ func (s *sTask) GetNonLoginTaskList(ctx context.Context, in *model.GetNonLoginTa tasks = append(tasks, data) } - return &model.GetNonLoginTaskListOut{ - Data: tasks, - }, err + return tasks, nil } -func (s *sTask) GetLoginTaskList(ctx context.Context, in *model.GetLoginTaskListIn) (out *model.GetLoginTaskListOut, err error) { +func (s *sTask) GetLoginTaskList(ctx context.Context, in *model.GetTaskListIn) (out *model.GetTaskListOut, err error) { // 调用外部接口 - //activity, err := gamelife.GetGamelifeClient(ctx).RequestActivity(ctx, &model.QQNetbarActivityIn{ServiceName: consts.GetNonLoginTaskList, TaskParam: model.TaskParam{Gid: in.Gid, NetBarAccount: in.NetBarAccount, Num: in.Num, Pageidx: in.Pageidx}}) - //if err != nil { - // return nil, err - //} - //result, ok := activity.(*model.GameTaskResponse) - //if !ok { - // return nil, ecode.Fail.Sub("数据类型转换失败") - //} - //// 剔除不需要的任务数据 - //var tasks []model.Task - //for _, task := range result.TaskList { - // data := model.Task{ - // QqNetbarTaskId: task.TaskID, - // QqNetbarTaskName: task.Title, - // QqNetbarTaskMemo: task.TaskDesc, - // QqNetbarTaskRules: task.RuleDesc, - // QqNetbarReward: task.TargetName, - // QqNetbarTargetTime: task.TargetTimes, - // StartTime: task.CycleStart, - // EndTime: task.CycleEnd, - // } - // - // // 组装门店奖励数据 - // err := dao.Tasks.Ctx(ctx).InnerJoin(dao.StoreTaskRewards.Table(), fmt.Sprintf("%s.%s = %s.%s", dao.Tasks.Table(), dao.Tasks.Columns().Id, dao.StoreTaskRewards.Table(), dao.StoreTaskRewards.Columns().TaskId)). - // InnerJoin(dao.Rewards.Table(), fmt.Sprintf("%s.%s = %s.%s", dao.StoreTaskRewards.Table(), dao.StoreTaskRewards.Columns().RewardId, dao.Rewards.Table(), dao.Rewards.Columns().Id)). - // Where(dao.Tasks.Columns().QqNetbarTaskId, task.TaskID).Fields(fmt.Sprintf("%s.*", dao.Rewards.Table())).Scan(&data.NetbarRewards) - // if err != nil { - // return nil, err - // } - // tasks = append(tasks, data) - //} - // - //return &model.GetNonLoginTaskListOut{ - // Data: tasks, - //}, err - return nil, err + activity, err := gamelife.GetGamelifeClient(ctx).RequestActivity(ctx, &model.QQNetbarActivityIn{ServiceName: consts.GetTaskList, TaskParam: model.TaskParam{Gid: in.Gid, NetBarAccount: in.NetBarAccount, Num: in.Num, Pageidx: in.Pageidx}}) + if err != nil { + return nil, err + } + result, ok := activity.(*model.GameTaskResponse) + if !ok { + return nil, ecode.Fail.Sub("数据类型转换失败") + } + // 剔除不需要的任务数据 + var tasks []model.Task + for _, task := range result.TaskList { + data := model.Task{ + QqNetbarTaskId: task.TaskID, + QqNetbarTaskName: task.Title, + QqNetbarTaskMemo: task.TaskDesc, + QqNetbarTaskRules: task.RuleDesc, + QqNetbarReward: task.TargetName, + QqNetbarTargetTime: task.TargetTimes, + StartTime: task.CycleStart, + EndTime: task.CycleEnd, + } + + // 组装门店奖励数据 + err := dao.Tasks.Ctx(ctx).InnerJoin(dao.StoreTaskRewards.Table(), fmt.Sprintf("%s.%s = %s.%s", dao.Tasks.Table(), dao.Tasks.Columns().Id, dao.StoreTaskRewards.Table(), dao.StoreTaskRewards.Columns().TaskId)). + InnerJoin(dao.Rewards.Table(), fmt.Sprintf("%s.%s = %s.%s", dao.StoreTaskRewards.Table(), dao.StoreTaskRewards.Columns().RewardId, dao.Rewards.Table(), dao.Rewards.Columns().Id)). + Where(dao.Tasks.Columns().QqNetbarTaskId, task.TaskID).Fields(fmt.Sprintf("%s.*", dao.Rewards.Table())).Scan(&data.NetbarRewards) + if err != nil { + return nil, err + } + tasks = append(tasks, data) + } + + return &model.GetTaskListOut{ + Data: tasks, + }, err } func (s *sTask) GetTaskList(ctx context.Context, in *model.TaskListIn) (out *model.TaskListOut, err error) { diff --git a/internal/model/task.go b/internal/model/task.go index 86aa25a..0ebb7c4 100644 --- a/internal/model/task.go +++ b/internal/model/task.go @@ -24,7 +24,7 @@ type Task struct { NetbarRewards []Reward `json:"netbarRewards" orm:"-"` } -type GetNonLoginTaskListIn struct { +type GetTaskListIn struct { NetBarAccount string `json:"netbar_account"` //网关账号 //Page int `json:"page"` // 分页索引 //Size int `json:"size"` // 分页大小 @@ -33,6 +33,7 @@ type GetNonLoginTaskListIn struct { Gid int `json:"gid"` // 游戏唯一id Source string `json:"source"` // 不能为空 BrandId string `json:"brand_id"` // 品牌id(可选) + PopenId string `json:"POpenId"` } type GetNonLoginTaskListOut struct { @@ -45,6 +46,8 @@ type GetLoginTaskListIn struct { NetBarAccount string `json:"netbar_account"` //网关账号 Gid int `json:"gid"` // 游戏唯一id POpenId string `json:"POpenId"` //POpenId + Pageidx string `json:"pageidx"` // 分页索引 + Num int `json:"num"` // } // GetTenCentLoginTaskListIn 获取腾讯游戏任务列表已登录入参 @@ -56,7 +59,7 @@ type GetTenCentLoginTaskListIn struct { BrandId string `json:"brand_id"` // 品牌id(可选) } -type GetLoginTaskListOut struct { +type GetTaskListOut struct { // List interface{} `json:"list"` // Total int `json:"total"` Data interface{} `json:"data"` diff --git a/internal/service/reward.go b/internal/service/reward.go index d73dc96..f7f9ad5 100644 --- a/internal/service/reward.go +++ b/internal/service/reward.go @@ -15,7 +15,6 @@ type ( // Create 创建奖励 Create(ctx context.Context, in *model.RewardCreateIn) (out *model.RewardCreateOut, err error) // Update 更新奖励 - // Update 更新奖励 Update(ctx context.Context, in *model.RewardUpdateIn) (out *model.RewardUpdateOut, err error) // Delete 删除奖励 Delete(ctx context.Context, in *model.RewardDeleteIn) (out *model.RewardDeleteOut, err error) diff --git a/internal/service/task.go b/internal/service/task.go index a709d88..d9b9144 100644 --- a/internal/service/task.go +++ b/internal/service/task.go @@ -14,8 +14,8 @@ type ( ITask interface { UserTaskRankingList(ctx context.Context, in *model.UserTaskRankingIn) (out *model.UserTaskRankingOut, err error) // GetNonLoginTaskList 获取下发到指定网吧的任务列表(未登录) - GetNonLoginTaskList(ctx context.Context, in *model.GetNonLoginTaskListIn) (out *model.GetNonLoginTaskListOut, err error) - GetLoginTaskList(ctx context.Context, in *model.GetLoginTaskListIn) (out *model.GetLoginTaskListOut, err error) + GetNonLoginTaskList(ctx context.Context, in *model.GetTaskListIn) (out []model.Task, err error) + GetLoginTaskList(ctx context.Context, in *model.GetTaskListIn) (out *model.GetTaskListOut, err error) GetTaskList(ctx context.Context, in *model.TaskListIn) (out *model.TaskListOut, err error) GetSelectorList(ctx context.Context, in *model.SelectorIn) (out *[]model.SelectorOut, err error) // GetTask 完成任务