修改未登录任务列表查询
This commit is contained in:
@ -30,21 +30,23 @@ type NonLoginTaskListReq struct {
|
||||
type NonLoginTaskListRes struct {
|
||||
//List interface{} `json:"list"`
|
||||
//Total int `json:"total"`
|
||||
Data interface{} `json:"taskList"`
|
||||
Data interface{} `json:"taskList"`
|
||||
PageIdx string `json:"pageidx" dc:"分页索引"`
|
||||
}
|
||||
|
||||
type GetLoginTaskListReq struct {
|
||||
g.Meta `path:"/task/getLoginTaskList" method:"get" tags:"Task" summary:"(PC)网吧已登录任务列表"`
|
||||
NetBarAccount string `json:"netBarAccount" v:"required#网关账号不能为空" dc:"网关账号"`
|
||||
//Num int `json:"num" v:"required#不能为空" dc:""`
|
||||
//Pageidx string `json:"pageidx" dc:"分页索引"`
|
||||
Gid int `json:"gid" v:"required#游戏唯一id不能为空" dc:"游戏唯一id"`
|
||||
Num int `json:"num" v:"required#不能为空" dc:""`
|
||||
Pageidx string `json:"pageidx" dc:"分页索引"`
|
||||
Gid int `json:"gid" v:"required#游戏唯一id不能为空" dc:"游戏唯一id"`
|
||||
//BrandId string `json:"brandId" dc:"品牌id(可选)"`
|
||||
PopenId string `json:"popenId" v:"required#popenId不能为空" dc:"用户详情接口返回的 wxPopenId 或者是 qqPopenId"`
|
||||
}
|
||||
|
||||
type GetLoginTaskListRes struct {
|
||||
Data interface{} `json:"data"`
|
||||
Data interface{} `json:"data"`
|
||||
PageIdx string `json:"pageidx" dc:"分页索引"`
|
||||
}
|
||||
|
||||
type ListReq struct {
|
||||
|
||||
@ -13,11 +13,13 @@ func (c *ControllerV1) GetLoginTaskList(ctx context.Context, req *v1.GetLoginTas
|
||||
Gid: req.Gid,
|
||||
NetBarAccount: req.NetBarAccount,
|
||||
PopenId: req.PopenId,
|
||||
Num: req.Num,
|
||||
Pageidx: req.Pageidx,
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &v1.GetLoginTaskListRes{Data: out.Data}, nil
|
||||
return &v1.GetLoginTaskListRes{Data: out.Data, PageIdx: out.PageIdx}, nil
|
||||
}
|
||||
|
||||
@ -12,11 +12,9 @@ func (c *ControllerV1) NonLoginTaskList(ctx context.Context, req *v1.NonLoginTas
|
||||
|
||||
out, err := service.Task().GetNonLoginTaskList(ctx, &model.GetTaskListIn{
|
||||
NetBarAccount: req.NetBarAccount,
|
||||
//Page: req.Page,
|
||||
//Size: req.Size,
|
||||
Num: req.Num,
|
||||
Pageidx: req.Pageidx,
|
||||
Gid: req.Gid,
|
||||
Num: req.Num,
|
||||
Pageidx: req.Pageidx,
|
||||
Gid: req.Gid,
|
||||
//Source: req.Source,
|
||||
//BrandId: req.BrandId,
|
||||
})
|
||||
@ -25,5 +23,5 @@ func (c *ControllerV1) NonLoginTaskList(ctx context.Context, req *v1.NonLoginTas
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &v1.NonLoginTaskListRes{Data: out}, nil
|
||||
return &v1.NonLoginTaskListRes{Data: out.Data, PageIdx: out.PageIdx}, nil
|
||||
}
|
||||
|
||||
@ -144,7 +144,7 @@ func (s *sTask) UserTaskRankingList(ctx context.Context, in *model.UserTaskRanki
|
||||
}
|
||||
|
||||
// GetNonLoginTaskList 获取下发到指定网吧的任务列表(未登录)
|
||||
func (s *sTask) GetNonLoginTaskList(ctx context.Context, in *model.GetTaskListIn) (out []model.Task, err error) {
|
||||
func (s *sTask) GetNonLoginTaskList(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}})
|
||||
@ -157,6 +157,7 @@ func (s *sTask) GetNonLoginTaskList(ctx context.Context, in *model.GetTaskListIn
|
||||
}
|
||||
// 剔除不需要的任务数据
|
||||
var tasks []model.Task
|
||||
idx := result.PageIdx
|
||||
for _, task := range result.TaskList {
|
||||
data := model.Task{
|
||||
QqNetbarTaskId: task.TaskID,
|
||||
@ -178,13 +179,16 @@ func (s *sTask) GetNonLoginTaskList(ctx context.Context, in *model.GetTaskListIn
|
||||
tasks = append(tasks, data)
|
||||
}
|
||||
|
||||
return tasks, nil
|
||||
return &model.GetTaskListOut{
|
||||
PageIdx: idx,
|
||||
Data: tasks,
|
||||
}, nil
|
||||
}
|
||||
|
||||
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.GetTaskList, TaskParam: model.TaskParam{Gid: in.Gid, NetBarAccount: in.NetBarAccount, Num: in.Num, Pageidx: in.Pageidx}})
|
||||
activity, err := gamelife.GetGamelifeClient(ctx).RequestActivity(ctx, &model.QQNetbarActivityIn{ServiceName: consts.GetTaskList, PopenId: in.PopenId, TaskParam: model.TaskParam{Gid: in.Gid, NetBarAccount: in.NetBarAccount, Num: in.Num, Pageidx: in.Pageidx}})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -192,6 +196,8 @@ func (s *sTask) GetLoginTaskList(ctx context.Context, in *model.GetTaskListIn) (
|
||||
if !ok {
|
||||
return nil, ecode.Fail.Sub("数据类型转换失败")
|
||||
}
|
||||
|
||||
pageIdx := result.PageIdx
|
||||
// 剔除不需要的任务数据
|
||||
var tasks []model.Task
|
||||
for _, task := range result.TaskList {
|
||||
@ -205,7 +211,7 @@ func (s *sTask) GetLoginTaskList(ctx context.Context, in *model.GetTaskListIn) (
|
||||
StartTime: task.CycleStart,
|
||||
EndTime: task.CycleEnd,
|
||||
}
|
||||
|
||||
data.UserTaskResult.Usertimes = task.UserTimes
|
||||
// 组装门店奖励数据
|
||||
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)).
|
||||
@ -217,7 +223,8 @@ func (s *sTask) GetLoginTaskList(ctx context.Context, in *model.GetTaskListIn) (
|
||||
}
|
||||
|
||||
return &model.GetTaskListOut{
|
||||
Data: tasks,
|
||||
Data: tasks,
|
||||
PageIdx: pageIdx,
|
||||
}, err
|
||||
}
|
||||
|
||||
|
||||
@ -39,7 +39,7 @@ type GameTask struct {
|
||||
TargetName string `json:"target_name"`
|
||||
TargetTimes int `json:"target_times"`
|
||||
Status int `json:"status,omitempty"`
|
||||
UserTimes int `json:"user_times,omitempty"`
|
||||
UserTimes int64 `json:"user_times,omitempty"`
|
||||
GameTaskConfig GameTaskConfig `json:"game_task_config"`
|
||||
GameTaskConfigParse GameTaskConfigParse `json:"game_task_config_parse"`
|
||||
}
|
||||
@ -61,4 +61,5 @@ type TaskParam struct {
|
||||
type QQNetbarActivityIn struct {
|
||||
ServiceName string // 服务名称
|
||||
TaskParam TaskParam // 参数体
|
||||
PopenId string
|
||||
}
|
||||
|
||||
@ -6,24 +6,28 @@ import (
|
||||
)
|
||||
|
||||
type Task struct {
|
||||
Id int64 `json:"id" orm:"id" description:"任务唯一标识符"` // 任务唯一标识符
|
||||
CreatedAt *gtime.Time `json:"-" orm:"created_at" description:"创建时间"` // 创建时间
|
||||
UpdatedAt *gtime.Time `json:"-" orm:"updated_at" description:"更新时间"` // 更新时间
|
||||
DeletedAt *gtime.Time `json:"-" orm:"deleted_at" description:"软删除时间戳"` // 软删除时间戳
|
||||
GameId int64 `json:"gameId" orm:"game_id" description:"游戏唯一id"` // 游戏唯一id
|
||||
StoreId int64 `json:"storeId" orm:"store_id" description:"门店 id"` // 门店 id
|
||||
Status int `json:"status" orm:"status" description:"1:启用 2:禁用"` // 1:启用 2:禁用
|
||||
QqNetbarTaskId string `json:"qqNetbarTaskId" orm:"qq_netbar_task_id" description:"QQ网吧任务ID"` // QQ网吧任务ID
|
||||
QqNetbarTaskRules string `json:"qqNetbarTaskRules" orm:"qq_netbar_task_rules" description:"任务规则"` // 任务规则
|
||||
QqNetbarTaskMemo string `json:"qqNetbarTaskMemo" orm:"qq_netbar_task_memo" description:"任务描述"` // 任务描述
|
||||
QqNetbarTaskName string `json:"qqNetbarTaskName" orm:"qq_netbar_task_name" description:"QQ网吧任务名称"` // QQ网吧任务名称
|
||||
QqNetbarReward string `json:"qqNetbarReward" orm:"qq_netbar_reward" description:"qq 网吧奖励名称"` // qq 网吧奖励名称
|
||||
QqNetbarTargetTime int `json:"qqNetbarTargetTime" orm:"qq_netbar_target_time" description:"qq 网吧任务指标"` // qq 网吧任务指标
|
||||
StartTime int64 `json:"startTime" orm:"start_time" description:"任务开始时间"` // 任务开始时间
|
||||
EndTime int64 `json:"endTime" orm:"end_time" description:"任务结束时间"` // 任务结束时间
|
||||
NetbarRewards []Reward `json:"netbarRewards" orm:"-"`
|
||||
Id int64 `json:"-" orm:"id" description:"任务唯一标识符"` // 任务唯一标识符
|
||||
CreatedAt *gtime.Time `json:"-" orm:"created_at" description:"创建时间"` // 创建时间
|
||||
UpdatedAt *gtime.Time `json:"-" orm:"updated_at" description:"更新时间"` // 更新时间
|
||||
DeletedAt *gtime.Time `json:"-" orm:"deleted_at" description:"软删除时间戳"` // 软删除时间戳
|
||||
GameId int64 `json:"-" orm:"game_id" description:"游戏唯一id"` // 游戏唯一id
|
||||
StoreId int64 `json:"-" orm:"store_id" description:"门店 id"` // 门店 id
|
||||
Status int `json:"-" orm:"status" description:"1:启用 2:禁用"` // 1:启用 2:禁用
|
||||
QqNetbarTaskId string `json:"qqNetbarTaskId" orm:"qq_netbar_task_id" description:"QQ网吧任务ID"` // QQ网吧任务ID
|
||||
QqNetbarTaskRules string `json:"qqNetbarTaskRules" orm:"qq_netbar_task_rules" description:"任务规则"` // 任务规则
|
||||
QqNetbarTaskMemo string `json:"qqNetbarTaskMemo" orm:"qq_netbar_task_memo" description:"任务描述"` // 任务描述
|
||||
QqNetbarTaskName string `json:"qqNetbarTaskName" orm:"qq_netbar_task_name" description:"QQ网吧任务名称"` // QQ网吧任务名称
|
||||
QqNetbarReward string `json:"qqNetbarReward" orm:"qq_netbar_reward" description:"qq 网吧奖励名称"` // qq 网吧奖励名称
|
||||
QqNetbarTargetTime int `json:"qqNetbarTargetTime" orm:"qq_netbar_target_time" description:"qq 网吧任务指标"` // qq 网吧任务指标
|
||||
StartTime int64 `json:"startTime" orm:"start_time" description:"任务开始时间"` // 任务开始时间
|
||||
EndTime int64 `json:"endTime" orm:"end_time" description:"任务结束时间"` // 任务结束时间
|
||||
NetbarRewards []Reward `json:"netbarRewards" orm:"-"`
|
||||
UserTaskResult UserTaskResult `json:"userTaskResult,omitempty"`
|
||||
}
|
||||
|
||||
type UserTaskResult struct {
|
||||
Usertimes int64 `json:"usertimes,omitempty"`
|
||||
}
|
||||
type GetTaskListIn struct {
|
||||
NetBarAccount string `json:"netbar_account"` //网关账号
|
||||
//Page int `json:"page"` // 分页索引
|
||||
@ -60,9 +64,8 @@ type GetTenCentLoginTaskListIn struct {
|
||||
}
|
||||
|
||||
type GetTaskListOut struct {
|
||||
// List interface{} `json:"list"`
|
||||
// Total int `json:"total"`
|
||||
Data interface{} `json:"data"`
|
||||
PageIdx string `json:"pageidx"`
|
||||
Data interface{} `json:"taskList"`
|
||||
}
|
||||
|
||||
// MyData 定义一个与 JSON 结构匹配的结构体
|
||||
|
||||
@ -14,7 +14,7 @@ type (
|
||||
ITask interface {
|
||||
UserTaskRankingList(ctx context.Context, in *model.UserTaskRankingIn) (out *model.UserTaskRankingOut, err error)
|
||||
// GetNonLoginTaskList 获取下发到指定网吧的任务列表(未登录)
|
||||
GetNonLoginTaskList(ctx context.Context, in *model.GetTaskListIn) (out []model.Task, err error)
|
||||
GetNonLoginTaskList(ctx context.Context, in *model.GetTaskListIn) (out *model.GetTaskListOut, 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)
|
||||
|
||||
@ -332,11 +332,19 @@ func (s *gamelifeClient) RequestActivity(ctx context.Context, in *model.QQNetbar
|
||||
case consts.GetTaskList:
|
||||
result := model.GameTaskResponse{}
|
||||
in.TaskParam.BrandId = s.BrandId
|
||||
get, err := g.Redis().Get(ctx, fmt.Sprintf(consts.GameLifeUserKey, in.PopenId))
|
||||
if err != nil {
|
||||
return nil, ecode.Fail.Sub("从缓存中获取用户信息失败")
|
||||
}
|
||||
var gamelifeCache model.UserGamelifeCache
|
||||
if err = json.Unmarshal(get.Bytes(), &gamelifeCache); err != nil {
|
||||
return nil, ecode.Fail.Sub("解析用户信息失败")
|
||||
}
|
||||
resp, err := client.R().
|
||||
SetContext(ctx).
|
||||
SetBody(in.TaskParam).
|
||||
SetResult(&result).
|
||||
Post(s.taskUrlMap[s.Mode] + consts.GetTaskList)
|
||||
Post(fmt.Sprintf("%s%s?%s", s.taskUrlMap[s.Mode], consts.GetTaskList, gamelifeCache.Params))
|
||||
if err != nil {
|
||||
return nil, ecode.Fail.Sub("请求出现异常")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user