调整任务存储,任务查询
This commit is contained in:
@ -18,4 +18,6 @@ type ITaskV1 interface {
|
|||||||
Selector(ctx context.Context, req *v1.SelectorReq) (res *v1.SelectorRes, err error)
|
Selector(ctx context.Context, req *v1.SelectorReq) (res *v1.SelectorRes, err error)
|
||||||
GetTask(ctx context.Context, req *v1.GetTaskReq) (res *v1.GetTaskRes, err error)
|
GetTask(ctx context.Context, req *v1.GetTaskReq) (res *v1.GetTaskRes, err error)
|
||||||
GetUserTaskRecordsList(ctx context.Context, req *v1.GetUserTaskRecordsListReq) (res *v1.GetUserTaskRecordsListRes, err error)
|
GetUserTaskRecordsList(ctx context.Context, req *v1.GetUserTaskRecordsListReq) (res *v1.GetUserTaskRecordsListRes, err error)
|
||||||
|
GetTaskList(ctx context.Context, req *v1.GetTaskListReq) (res *v1.GetTaskListRes, err error)
|
||||||
|
SyncTask(ctx context.Context, req *v1.SyncTaskReq) (res *v1.SyncTaskRes, err error)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -102,7 +102,16 @@ type GetUserTaskRecordsListRes struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type GetTaskListReq struct {
|
type GetTaskListReq struct {
|
||||||
g.Meta `path:"/task/list" method:"get" tags:"Backend-PC/Task" summary:"任务列表"`
|
g.Meta `path:"/task/list" method:"get" tags:"Backend-PC/Task" summary:"任务列表"`
|
||||||
|
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"`
|
||||||
|
//BrandId string `json:"brandId" dc:"品牌id(可选)"`
|
||||||
|
PopenId string `json:"popenId" dc:"用户详情接口返回的 wxPopenId 或者是 qqPopenId"`
|
||||||
|
BindType int `json:"bindType" dc:"绑定类型 1: QQ 2:微信"`
|
||||||
|
IsBound int `json:"IsBound" v:"required#不能为空" dc:"是否绑定 0:否 1:是"`
|
||||||
|
StoreId int64 `json:"storeId" dc:"门店 id"`
|
||||||
}
|
}
|
||||||
type GetTaskListRes struct {
|
type GetTaskListRes struct {
|
||||||
List interface{} `json:"list"`
|
List interface{} `json:"list"`
|
||||||
@ -113,4 +122,5 @@ type SyncTaskReq struct {
|
|||||||
g.Meta `path:"/task/sync" method:"post" tags:"Backend/Task" summary:"同步任务"`
|
g.Meta `path:"/task/sync" method:"post" tags:"Backend/Task" summary:"同步任务"`
|
||||||
}
|
}
|
||||||
type SyncTaskRes struct {
|
type SyncTaskRes struct {
|
||||||
|
Message string `json:"message"`
|
||||||
}
|
}
|
||||||
|
|||||||
32
internal/controller/task/task_v1_get_task_list.go
Normal file
32
internal/controller/task/task_v1_get_task_list.go
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
package task
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"github.com/gogf/gf/v2/frame/g"
|
||||||
|
"server/internal/model"
|
||||||
|
"server/internal/service"
|
||||||
|
|
||||||
|
"server/api/task/v1"
|
||||||
|
)
|
||||||
|
|
||||||
|
func (c *ControllerV1) GetTaskList(ctx context.Context, req *v1.GetTaskListReq) (res *v1.GetTaskListRes, err error) {
|
||||||
|
|
||||||
|
userId := g.RequestFromCtx(ctx).Get("id").Int64()
|
||||||
|
list, err := service.Task().GetTaskList(ctx, &model.GetTaskListV2In{
|
||||||
|
Gid: req.Gid,
|
||||||
|
NetBarAccount: req.NetBarAccount,
|
||||||
|
Num: req.Num,
|
||||||
|
Pageidx: req.Pageidx,
|
||||||
|
PopenId: req.PopenId,
|
||||||
|
BindType: req.BindType,
|
||||||
|
IsBound: req.IsBound,
|
||||||
|
StoreId: req.StoreId,
|
||||||
|
UserId: userId,
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return &v1.GetTaskListRes{
|
||||||
|
List: list,
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
17
internal/controller/task/task_v1_sync_task.go
Normal file
17
internal/controller/task/task_v1_sync_task.go
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
package task
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"server/internal/service"
|
||||||
|
|
||||||
|
"server/api/task/v1"
|
||||||
|
)
|
||||||
|
|
||||||
|
func (c *ControllerV1) SyncTask(ctx context.Context, req *v1.SyncTaskReq) (res *v1.SyncTaskRes, err error) {
|
||||||
|
go func() {
|
||||||
|
_, err = service.Task().SyncTaskFromGamelife(ctx)
|
||||||
|
}()
|
||||||
|
return &v1.SyncTaskRes{
|
||||||
|
Message: "同步调用成功,等待数据同步,5分钟后刷新",
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
@ -2,6 +2,7 @@ package task
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/gogf/gf/v2/database/gdb"
|
"github.com/gogf/gf/v2/database/gdb"
|
||||||
"github.com/gogf/gf/v2/os/glog"
|
"github.com/gogf/gf/v2/os/glog"
|
||||||
@ -170,36 +171,36 @@ func (s *sTask) GetNonLoginTaskList(ctx context.Context, in *model.GetTaskListIn
|
|||||||
// 剔除不需要的任务数据
|
// 剔除不需要的任务数据
|
||||||
var tasks []model.Task
|
var tasks []model.Task
|
||||||
idx := result.PageIdx
|
idx := result.PageIdx
|
||||||
for _, task := range result.TaskList {
|
//for _, task := range result.TaskList {
|
||||||
data := model.Task{
|
// //data := model.Task{
|
||||||
QqNetbarTaskId: task.TaskID,
|
// // QqNetbarTaskId: task.TaskID,
|
||||||
QqNetbarTaskName: task.Title,
|
// // QqNetbarTaskName: task.Title,
|
||||||
QqNetbarTaskMemo: task.TaskDesc,
|
// // QqNetbarTaskMemo: task.TaskDesc,
|
||||||
QqNetbarTaskRules: task.RuleDesc,
|
// // QqNetbarTaskRules: task.RuleDesc,
|
||||||
QqNetbarTargetName: task.TargetName,
|
// // QqNetbarTargetName: task.TargetName,
|
||||||
QqNetbarTargetTime: task.TargetTimes,
|
// // QqNetbarTargetTime: task.TargetTimes,
|
||||||
StartTime: task.CycleStart,
|
// // StartTime: task.CycleStart,
|
||||||
EndTime: task.CycleEnd,
|
// // EndTime: task.CycleEnd,
|
||||||
}
|
// //}
|
||||||
|
//
|
||||||
// 组装奖励数据
|
// // 组装奖励数据
|
||||||
err := dao.TaskRewards.Ctx(ctx).
|
// err := dao.TaskRewards.Ctx(ctx).
|
||||||
LeftJoin(dao.Rewards.Table(),
|
// LeftJoin(dao.Rewards.Table(),
|
||||||
fmt.Sprintf("`%s`.`%s` = `%s`.`%s` ",
|
// fmt.Sprintf("`%s`.`%s` = `%s`.`%s` ",
|
||||||
dao.Rewards.Table(), dao.Rewards.Columns().Id,
|
// dao.Rewards.Table(), dao.Rewards.Columns().Id,
|
||||||
dao.TaskRewards.Table(), dao.TaskRewards.Columns().RewardId,
|
// dao.TaskRewards.Table(), dao.TaskRewards.Columns().RewardId,
|
||||||
),
|
// ),
|
||||||
).Fields(
|
// ).Fields(
|
||||||
fmt.Sprintf(
|
// fmt.Sprintf(
|
||||||
"%s.*",
|
// "%s.*",
|
||||||
dao.Rewards.Table(),
|
// dao.Rewards.Table(),
|
||||||
),
|
// ),
|
||||||
).Where(dao.TaskRewards.Columns().TaskId, task.TaskID).Scan(&data.Rewards)
|
// ).Where(dao.TaskRewards.Columns().TaskId, task.TaskID).Scan(&data.Rewards)
|
||||||
if err != nil {
|
// if err != nil {
|
||||||
return nil, err
|
// return nil, err
|
||||||
}
|
// }
|
||||||
tasks = append(tasks, data)
|
// tasks = append(tasks, data)
|
||||||
}
|
//}
|
||||||
|
|
||||||
return &model.GetTaskListOut{
|
return &model.GetTaskListOut{
|
||||||
PageIdx: idx,
|
PageIdx: idx,
|
||||||
@ -222,67 +223,67 @@ func (s *sTask) GetLoginTaskList(ctx context.Context, in *model.GetTaskListIn) (
|
|||||||
pageIdx := result.PageIdx
|
pageIdx := result.PageIdx
|
||||||
// 剔除不需要的任务数据
|
// 剔除不需要的任务数据
|
||||||
var tasks []model.Task
|
var tasks []model.Task
|
||||||
for _, task := range result.TaskList {
|
//for _, task := range result.TaskList {
|
||||||
data := model.Task{
|
// data := model.Task{
|
||||||
QqNetbarTaskId: task.TaskID,
|
// QqNetbarTaskId: task.TaskID,
|
||||||
QqNetbarTaskName: task.Title,
|
// QqNetbarTaskName: task.Title,
|
||||||
QqNetbarTaskMemo: task.TaskDesc,
|
// QqNetbarTaskMemo: task.TaskDesc,
|
||||||
QqNetbarTaskRules: task.RuleDesc,
|
// QqNetbarTaskRules: task.RuleDesc,
|
||||||
QqNetbarTargetName: task.TargetName,
|
// QqNetbarTargetName: task.TargetName,
|
||||||
QqNetbarTargetTime: task.TargetTimes,
|
// QqNetbarTargetTime: task.TargetTimes,
|
||||||
StartTime: task.CycleStart,
|
// StartTime: task.CycleStart,
|
||||||
EndTime: task.CycleEnd,
|
// EndTime: task.CycleEnd,
|
||||||
//Status: task.Status,
|
// //Status: task.Status,
|
||||||
}
|
// }
|
||||||
data.UserTaskResult.Usertimes = task.UserTimes
|
// data.UserTaskResult.Usertimes = task.UserTimes
|
||||||
// 组装门店奖励数据
|
// // 组装门店奖励数据
|
||||||
err := dao.TaskRewards.Ctx(ctx).
|
// err := dao.TaskRewards.Ctx(ctx).
|
||||||
LeftJoin(dao.Rewards.Table(),
|
// LeftJoin(dao.Rewards.Table(),
|
||||||
fmt.Sprintf("`%s`.`%s` = `%s`.`%s`",
|
// fmt.Sprintf("`%s`.`%s` = `%s`.`%s`",
|
||||||
dao.Rewards.Table(), dao.Rewards.Columns().Id,
|
// dao.Rewards.Table(), dao.Rewards.Columns().Id,
|
||||||
dao.TaskRewards.Table(), dao.TaskRewards.Columns().RewardId)).
|
// dao.TaskRewards.Table(), dao.TaskRewards.Columns().RewardId)).
|
||||||
LeftJoin(dao.RewardTypes.Table(),
|
// LeftJoin(dao.RewardTypes.Table(),
|
||||||
fmt.Sprintf("`%s`.`%s` = `%s`.`%s`",
|
// fmt.Sprintf("`%s`.`%s` = `%s`.`%s`",
|
||||||
dao.RewardTypes.Table(), dao.RewardTypes.Columns().Id,
|
// dao.RewardTypes.Table(), dao.RewardTypes.Columns().Id,
|
||||||
dao.Rewards.Table(), dao.Rewards.Columns().RewardTypeId)).
|
// dao.Rewards.Table(), dao.Rewards.Columns().RewardTypeId)).
|
||||||
Fields(
|
// Fields(
|
||||||
fmt.Sprintf("%s.*, `%s`.`%s` AS %s",
|
// fmt.Sprintf("%s.*, `%s`.`%s` AS %s",
|
||||||
dao.Rewards.Table(),
|
// dao.Rewards.Table(),
|
||||||
dao.RewardTypes.Table(), dao.RewardTypes.Columns().Name,
|
// dao.RewardTypes.Table(), dao.RewardTypes.Columns().Name,
|
||||||
"reward_type_name",
|
// "reward_type_name",
|
||||||
),
|
// ),
|
||||||
).Where(dao.TaskRewards.Columns().TaskId, task.TaskID).Scan(&data.Rewards)
|
// ).Where(dao.TaskRewards.Columns().TaskId, task.TaskID).Scan(&data.Rewards)
|
||||||
if err != nil {
|
// if err != nil {
|
||||||
return nil, err
|
// return nil, err
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
// 任务状态=1或者2不做操作,其他查询门店奖励是否全部领取
|
// // 任务状态=1或者2不做操作,其他查询门店奖励是否全部领取
|
||||||
if task.Status != 1 && task.Status != 2 {
|
// if task.Status != 1 && task.Status != 2 {
|
||||||
count, err := dao.UserTasks.Ctx(ctx).Where(dao.UserTasks.Columns().TaskId, task.TaskID).Where(dao.UserTasks.Columns().UserId, in.UserId).LeftJoin(dao.UserTaskRewards.Table(),
|
// count, err := dao.UserTasks.Ctx(ctx).Where(dao.UserTasks.Columns().TaskId, task.TaskID).Where(dao.UserTasks.Columns().UserId, in.UserId).LeftJoin(dao.UserTaskRewards.Table(),
|
||||||
fmt.Sprintf("%s.user_tasks_id = %s.id", dao.UserTaskRewards.Table(), dao.UserTasks.Table())).LeftJoin(dao.Rewards.Table(), fmt.Sprintf("%s.id = %s.reward_id",
|
// fmt.Sprintf("%s.user_tasks_id = %s.id", dao.UserTaskRewards.Table(), dao.UserTasks.Table())).LeftJoin(dao.Rewards.Table(), fmt.Sprintf("%s.id = %s.reward_id",
|
||||||
dao.Rewards.Table(), dao.UserTaskRewards.Table())).Where(dao.Rewards.Columns().Source, 2).Where(dao.UserTaskRewards.Columns().Status, 2).Count()
|
// dao.Rewards.Table(), dao.UserTaskRewards.Table())).Where(dao.Rewards.Columns().Source, 2).Where(dao.UserTaskRewards.Columns().Status, 2).Count()
|
||||||
if err != nil {
|
// if err != nil {
|
||||||
return nil, ecode.Fail.Sub("查询用户门店任务奖励失败")
|
// return nil, ecode.Fail.Sub("查询用户门店任务奖励失败")
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
if count > 0 {
|
// if count > 0 {
|
||||||
data.Status = 2
|
// data.Status = 2
|
||||||
} else {
|
// } else {
|
||||||
data.Status = 3
|
// data.Status = 3
|
||||||
}
|
// }
|
||||||
} else {
|
// } else {
|
||||||
data.Status = task.Status
|
// data.Status = task.Status
|
||||||
}
|
// }
|
||||||
tasks = append(tasks, data)
|
// tasks = append(tasks, data)
|
||||||
|
//
|
||||||
// 根据用户完成次数和任务指标次数判任务是否完成,修改任务记录状态为 3
|
// // 根据用户完成次数和任务指标次数判任务是否完成,修改任务记录状态为 3
|
||||||
if int(task.UserTimes) >= task.TargetTimes {
|
// if int(task.UserTimes) >= task.TargetTimes {
|
||||||
_, err := dao.UserTasks.Ctx(ctx).Where(do.UserTasks{TaskId: task.TaskID}).Where(do.UserTasks{UserId: in.UserId}).Data(do.UserTasks{Status: 3}).Update()
|
// _, err := dao.UserTasks.Ctx(ctx).Where(do.UserTasks{TaskId: task.TaskID}).Where(do.UserTasks{UserId: in.UserId}).Data(do.UserTasks{Status: 3}).Update()
|
||||||
if err != nil {
|
// if err != nil {
|
||||||
return nil, ecode.Fail.Sub("更新用户任务记录状态异常")
|
// return nil, ecode.Fail.Sub("更新用户任务记录状态异常")
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
//}
|
||||||
|
|
||||||
return &model.GetTaskListOut{
|
return &model.GetTaskListOut{
|
||||||
Data: tasks,
|
Data: tasks,
|
||||||
@ -439,6 +440,114 @@ func (s *sTask) GetUserTaskRecordsList(ctx context.Context, in *model.UserTaskRe
|
|||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetTaskList PC-WEB获取任务列表
|
||||||
|
func (s *sTask) GetTaskList(ctx context.Context, in *model.GetTaskListV2In) (out *model.GetTaskListV2Out, err error) {
|
||||||
|
|
||||||
|
var tasks []model.Task
|
||||||
|
var pageIdx string
|
||||||
|
var data []model.GameTask
|
||||||
|
if in.IsBound == 0 {
|
||||||
|
// 未绑定游戏查询自己数据库
|
||||||
|
err := dao.Tasks.Ctx(ctx).Where(do.Tasks{GameId: in.Gid, StoreId: in.StoreId, NetbarAcconut: in.NetBarAccount}).WithAll().WithAll().Scan(&tasks)
|
||||||
|
if err != nil {
|
||||||
|
return nil, ecode.Fail.Sub("获取任务列表失败")
|
||||||
|
}
|
||||||
|
|
||||||
|
for i, v := range tasks {
|
||||||
|
err := json.Unmarshal([]byte(v.Task), &tasks[i].GameTask)
|
||||||
|
if err != nil {
|
||||||
|
return nil, ecode.Fail.Sub("解析任务信息失败")
|
||||||
|
}
|
||||||
|
tasks[i].Task = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
return &model.GetTaskListV2Out{
|
||||||
|
Data: tasks,
|
||||||
|
}, nil
|
||||||
|
} else {
|
||||||
|
// 已绑定
|
||||||
|
// 调用外部接口
|
||||||
|
activity, err := gamelife.GetGamelifeClient(ctx).RequestActivity(ctx, &model.QQNetbarActivityIn{ServiceName: consts.GetTaskList, PopenId: in.PopenId, BindType: in.BindType, 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("数据类型转换失败")
|
||||||
|
}
|
||||||
|
|
||||||
|
pageIdx = result.PageIdx
|
||||||
|
// 剔除不需要的任务数据
|
||||||
|
for i, task := range result.TaskList {
|
||||||
|
//data := model.Task{
|
||||||
|
// QqNetbarTaskId: task.TaskID,
|
||||||
|
// QqNetbarTaskName: task.Title,
|
||||||
|
// QqNetbarTaskMemo: task.TaskDesc,
|
||||||
|
// QqNetbarTaskRules: task.RuleDesc,
|
||||||
|
// QqNetbarTargetName: task.TargetName,
|
||||||
|
// QqNetbarTargetTime: task.TargetTimes,
|
||||||
|
// StartTime: task.CycleStart,
|
||||||
|
// EndTime: task.CycleEnd,
|
||||||
|
// //Status: task.Status,
|
||||||
|
//}
|
||||||
|
//data.UserTaskResult.Usertimes = task.UserTimes
|
||||||
|
// 组装门店奖励数据
|
||||||
|
err := dao.TaskRewards.Ctx(ctx).
|
||||||
|
LeftJoin(dao.Rewards.Table(),
|
||||||
|
fmt.Sprintf("`%s`.`%s` = `%s`.`%s`",
|
||||||
|
dao.Rewards.Table(), dao.Rewards.Columns().Id,
|
||||||
|
dao.TaskRewards.Table(), dao.TaskRewards.Columns().RewardId)).
|
||||||
|
LeftJoin(dao.RewardTypes.Table(),
|
||||||
|
fmt.Sprintf("`%s`.`%s` = `%s`.`%s`",
|
||||||
|
dao.RewardTypes.Table(), dao.RewardTypes.Columns().Id,
|
||||||
|
dao.Rewards.Table(), dao.Rewards.Columns().RewardTypeId)).
|
||||||
|
Fields(
|
||||||
|
fmt.Sprintf("%s.*, `%s`.`%s` AS %s",
|
||||||
|
dao.Rewards.Table(),
|
||||||
|
dao.RewardTypes.Table(), dao.RewardTypes.Columns().Name,
|
||||||
|
"reward_type_name",
|
||||||
|
),
|
||||||
|
).Where(dao.TaskRewards.Columns().TaskId, task.TaskID).Scan(&result.TaskList[i].Reward)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
//任务状态=1或者2不做操作,其他查询门店奖励是否全部领取
|
||||||
|
if task.Status != 1 && task.Status != 2 {
|
||||||
|
count, err := dao.UserTasks.Ctx(ctx).Where(dao.UserTasks.Columns().TaskId, task.TaskID).Where(dao.UserTasks.Columns().UserId, in.UserId).LeftJoin(dao.UserTaskRewards.Table(),
|
||||||
|
fmt.Sprintf("%s.user_tasks_id = %s.id", dao.UserTaskRewards.Table(), dao.UserTasks.Table())).LeftJoin(dao.Rewards.Table(), fmt.Sprintf("%s.id = %s.reward_id",
|
||||||
|
dao.Rewards.Table(), dao.UserTaskRewards.Table())).Where(dao.Rewards.Columns().Source, 2).Where(dao.UserTaskRewards.Columns().Status, 2).Count()
|
||||||
|
if err != nil {
|
||||||
|
return nil, ecode.Fail.Sub("查询用户门店任务奖励失败")
|
||||||
|
}
|
||||||
|
|
||||||
|
if count > 0 {
|
||||||
|
tasks[i].Status = 2
|
||||||
|
} else {
|
||||||
|
tasks[i].Status = 3
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//else {
|
||||||
|
// data.Status = task.Status
|
||||||
|
//}
|
||||||
|
//tasks = append(tasks, data)
|
||||||
|
|
||||||
|
// 根据用户完成次数和任务指标次数判任务是否完成,修改任务记录状态为 3
|
||||||
|
if int(task.UserTimes) >= task.TargetTimes {
|
||||||
|
_, err := dao.UserTasks.Ctx(ctx).Where(do.UserTasks{TaskId: task.TaskID}).Where(do.UserTasks{UserId: in.UserId}).Data(do.UserTasks{Status: 3}).Update()
|
||||||
|
if err != nil {
|
||||||
|
return nil, ecode.Fail.Sub("更新用户任务记录状态异常")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
data = result.TaskList
|
||||||
|
return &model.GetTaskListV2Out{
|
||||||
|
Data: data,
|
||||||
|
PageIdx: pageIdx,
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (s *sTask) SyncTaskFromGamelife(ctx context.Context) (out *model.SyncTaskOut, err error) {
|
func (s *sTask) SyncTaskFromGamelife(ctx context.Context) (out *model.SyncTaskOut, err error) {
|
||||||
stores, err := dao.Stores.Ctx(ctx).Fields(dao.Stores.Columns().Id, dao.Stores.Columns().NetbarAccount).All()
|
stores, err := dao.Stores.Ctx(ctx).Fields(dao.Stores.Columns().Id, dao.Stores.Columns().NetbarAccount).All()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -504,6 +613,7 @@ func (s *sTask) SyncTaskFromGamelife(ctx context.Context) (out *model.SyncTaskOu
|
|||||||
taskMap := gconv.Map(task)
|
taskMap := gconv.Map(task)
|
||||||
delete(taskMap, "PrizeList")
|
delete(taskMap, "PrizeList")
|
||||||
delete(taskMap, "prize_list")
|
delete(taskMap, "prize_list")
|
||||||
|
delete(taskMap, "reward")
|
||||||
|
|
||||||
_, err = dao.Tasks.Ctx(ctx).Data(do.Tasks{
|
_, err = dao.Tasks.Ctx(ctx).Data(do.Tasks{
|
||||||
TaskId: task.TaskID,
|
TaskId: task.TaskID,
|
||||||
|
|||||||
@ -27,11 +27,11 @@ type GameTaskConfigParse struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type GameTask struct {
|
type GameTask struct {
|
||||||
RuleDesc string `json:"rule_desc"`
|
RuleDesc string `json:"rule_desc"`
|
||||||
TaskDesc string `json:"task_desc"`
|
TaskDesc string `json:"task_desc"`
|
||||||
LimitPrize int `json:"limit_prize"`
|
LimitPrize int `json:"limit_prize"`
|
||||||
LimitNum int `json:"limit_num"`
|
LimitNum int `json:"limit_num"`
|
||||||
PrizeList []Prize `json:"prize_list"`
|
//PrizeList []Prize `json:"prize_list"`
|
||||||
TaskID string `json:"task_id"`
|
TaskID string `json:"task_id"`
|
||||||
Title string `json:"title"`
|
Title string `json:"title"`
|
||||||
CycleStart int64 `json:"cycle_start"`
|
CycleStart int64 `json:"cycle_start"`
|
||||||
@ -42,6 +42,7 @@ type GameTask struct {
|
|||||||
UserTimes int64 `json:"user_times,omitempty"`
|
UserTimes int64 `json:"user_times,omitempty"`
|
||||||
GameTaskConfig GameTaskConfig `json:"game_task_config"`
|
GameTaskConfig GameTaskConfig `json:"game_task_config"`
|
||||||
GameTaskConfigParse GameTaskConfigParse `json:"game_task_config_parse"`
|
GameTaskConfigParse GameTaskConfigParse `json:"game_task_config_parse"`
|
||||||
|
Reward []SimpleReward `json:"reward,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type GameTaskResponse struct {
|
type GameTaskResponse struct {
|
||||||
|
|||||||
@ -6,23 +6,27 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type Task struct {
|
type Task struct {
|
||||||
Id int64 `json:"-" orm:"id" description:"任务唯一标识符"` // 任务唯一标识符
|
Id int64 `json:"-" orm:"id" description:"任务唯一标识符"` // 任务唯一标识符
|
||||||
CreatedAt *gtime.Time `json:"-" orm:"created_at" description:"创建时间"` // 创建时间
|
CreatedAt *gtime.Time `json:"-" orm:"created_at" description:"创建时间"` // 创建时间
|
||||||
UpdatedAt *gtime.Time `json:"-" orm:"updated_at" description:"更新时间"` // 更新时间
|
UpdatedAt *gtime.Time `json:"-" orm:"updated_at" description:"更新时间"` // 更新时间
|
||||||
DeletedAt *gtime.Time `json:"-" orm:"deleted_at" description:"软删除时间戳"` // 软删除时间戳
|
DeletedAt *gtime.Time `json:"-" orm:"deleted_at" description:"软删除时间戳"` // 软删除时间戳
|
||||||
GameId int64 `json:"-" orm:"game_id" description:"游戏唯一id"` // 游戏唯一id
|
GameId int64 `json:"-" orm:"game_id" description:"游戏唯一id"` // 游戏唯一id
|
||||||
StoreId int64 `json:"-" orm:"store_id" description:"门店 id"` // 门店 id
|
StoreId int64 `json:"-" orm:"store_id" description:"门店 id"` // 门店 id
|
||||||
Status int `json:"status" orm:"status" description:"1:启用 2:禁用"` //用户奖励状态,1 未完成,2 未领取,3 已领取,4-奖励限量且已抢光,5,用户限量
|
Status int `json:"status" orm:"status" description:"1:启用 2:禁用"` //用户奖励状态,1 未完成,2 未领取,3 已领取,4-奖励限量且已抢光,5,用户限量
|
||||||
QqNetbarTaskId string `json:"qqNetbarTaskId" orm:"qq_netbar_task_id" description:"QQ网吧任务ID"` // QQ网吧任务ID
|
//QqNetbarTaskId string `json:"qqNetbarTaskId" orm:"qq_netbar_task_id" description:"QQ网吧任务ID"` // QQ网吧任务ID
|
||||||
QqNetbarTaskRules string `json:"qqNetbarTaskRules" orm:"qq_netbar_task_rules" description:"任务规则"` // 任务规则
|
//QqNetbarTaskRules string `json:"qqNetbarTaskRules" orm:"qq_netbar_task_rules" description:"任务规则"` // 任务规则
|
||||||
QqNetbarTaskMemo string `json:"qqNetbarTaskMemo" orm:"qq_netbar_task_memo" description:"任务描述"` // 任务描述
|
//QqNetbarTaskMemo string `json:"qqNetbarTaskMemo" orm:"qq_netbar_task_memo" description:"任务描述"` // 任务描述
|
||||||
QqNetbarTaskName string `json:"qqNetbarTaskName" orm:"qq_netbar_task_name" description:"QQ网吧任务名称"` // QQ网吧任务名称
|
//QqNetbarTaskName string `json:"qqNetbarTaskName" orm:"qq_netbar_task_name" description:"QQ网吧任务名称"` // QQ网吧任务名称
|
||||||
QqNetbarTargetName string `json:"qqNetbarTargetName" orm:"qq_netbar_target_name" description:"任务指标名称"` // 任务指标名称
|
//QqNetbarTargetName string `json:"qqNetbarTargetName" orm:"qq_netbar_target_name" description:"任务指标名称"` // 任务指标名称
|
||||||
QqNetbarTargetTime int `json:"qqNetbarTargetTime" orm:"qq_netbar_target_time" description:"qq 网吧任务指标"` // qq 网吧任务指标
|
//QqNetbarTargetTime int `json:"qqNetbarTargetTime" orm:"qq_netbar_target_time" description:"qq 网吧任务指标"` // qq 网吧任务指标
|
||||||
StartTime int64 `json:"startTime" orm:"start_time" description:"任务开始时间"` // 任务开始时间
|
//StartTime int64 `json:"startTime" orm:"start_time" description:"任务开始时间"` // 任务开始时间
|
||||||
EndTime int64 `json:"endTime" orm:"end_time" description:"任务结束时间"` // 任务结束时间
|
//EndTime int64 `json:"endTime" orm:"end_time" description:"任务结束时间"` // 任务结束时间
|
||||||
Rewards []Reward `json:"rewards" orm:"-"`
|
Rewards []Reward `json:"rewards" orm:"-"`
|
||||||
UserTaskResult UserTaskResult `json:"userTaskResult,omitempty"`
|
//UserTaskResult UserTaskResult `json:"userTaskResult,omitempty"`
|
||||||
|
TaskId string `json:"taskId" orm:"task_id" description:"任务 id"` // 任务 id
|
||||||
|
TaskRewards []TaskReward `json:"taskRewards" orm:"with:task_id=task_id"`
|
||||||
|
Task string `json:"task" orm:"task" description:"任务"` // 任务
|
||||||
|
GameTask GameTask `json:"gameTask"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type UserTaskResult struct {
|
type UserTaskResult struct {
|
||||||
@ -117,3 +121,25 @@ type StoreData struct {
|
|||||||
StoreName string `json:"storeName" orm:"name"`
|
StoreName string `json:"storeName" orm:"name"`
|
||||||
NetbarAccount string `json:"netbarAccount" orm:"netbar_account"`
|
NetbarAccount string `json:"netbarAccount" orm:"netbar_account"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetTaskListV2In 获取任务列表入参
|
||||||
|
type GetTaskListV2In struct {
|
||||||
|
NetBarAccount string `json:"netbar_account"` // 网关账号
|
||||||
|
//Page int `json:"page"` // 分页索引
|
||||||
|
//Size int `json:"size"` // 分页大小
|
||||||
|
Pageidx string `json:"pageidx"` // 分页索引
|
||||||
|
Num int `json:"num"` //
|
||||||
|
Gid int `json:"gid"` // 游戏唯一id
|
||||||
|
Source string `json:"source"` // 不能为空
|
||||||
|
BrandId string `json:"brand_id"` // 品牌id(可选)
|
||||||
|
PopenId string `json:"POpenId"`
|
||||||
|
BindType int `json:"bindType"` // 1:QQ 2:微信
|
||||||
|
IsBound int `json:"isBound"` // 是否绑定 0:否 1:是
|
||||||
|
UserId int64 `json:"user_id"`
|
||||||
|
StoreId int64 `json:"store_id"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type GetTaskListV2Out struct {
|
||||||
|
PageIdx string `json:"pageidx"`
|
||||||
|
Data interface{} `json:"taskList"`
|
||||||
|
}
|
||||||
|
|||||||
@ -22,6 +22,8 @@ type (
|
|||||||
// GetTask 完成任务
|
// GetTask 完成任务
|
||||||
GetTask(ctx context.Context, in *model.GetTaskIn) (out *model.GetTaskOut, err error)
|
GetTask(ctx context.Context, in *model.GetTaskIn) (out *model.GetTaskOut, err error)
|
||||||
GetUserTaskRecordsList(ctx context.Context, in *model.UserTaskRecordsListIn) (out *model.UserTaskRecordsListOut, err error)
|
GetUserTaskRecordsList(ctx context.Context, in *model.UserTaskRecordsListIn) (out *model.UserTaskRecordsListOut, err error)
|
||||||
|
// GetTaskList PC-WEB获取任务列表
|
||||||
|
GetTaskList(ctx context.Context, in *model.GetTaskListV2In) (out *model.GetTaskListV2Out, err error)
|
||||||
SyncTaskFromGamelife(ctx context.Context) (out *model.SyncTaskOut, err error)
|
SyncTaskFromGamelife(ctx context.Context) (out *model.SyncTaskOut, err error)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|||||||
@ -44,6 +44,7 @@ func init() {
|
|||||||
enforcer.AddPolicy("guest", "/x/task/ranking", "GET", "获取排行榜")
|
enforcer.AddPolicy("guest", "/x/task/ranking", "GET", "获取排行榜")
|
||||||
enforcer.AddPolicy("guest", "/x/task/getNonLoginTaskList", "GET", "未登录获取任务列表")
|
enforcer.AddPolicy("guest", "/x/task/getNonLoginTaskList", "GET", "未登录获取任务列表")
|
||||||
enforcer.AddPolicy("guest", "/x/reward/callback", "POST", "tencent回调")
|
enforcer.AddPolicy("guest", "/x/reward/callback", "POST", "tencent回调")
|
||||||
|
enforcer.AddPolicy("guest", "/x/task/list", "GET", "获取任务列表")
|
||||||
|
|
||||||
// 游戏列表
|
// 游戏列表
|
||||||
enforcer.AddPolicy("guest", "/x/game", "GET", "获取游戏列表")
|
enforcer.AddPolicy("guest", "/x/game", "GET", "获取游戏列表")
|
||||||
@ -94,7 +95,7 @@ func init() {
|
|||||||
{
|
{
|
||||||
|
|
||||||
// 门店:修改
|
// 门店:修改
|
||||||
|
enforcer.AddPolicy("store", "/x/task/sync", "POST", "同步任务")
|
||||||
// 奖励类型
|
// 奖励类型
|
||||||
enforcer.AddPolicy("store", "/x/rewardType", "GET", "获取奖励类型列表")
|
enforcer.AddPolicy("store", "/x/rewardType", "GET", "获取奖励类型列表")
|
||||||
enforcer.AddPolicy("store", "/x/rewardType", "POST", "添加奖励类型")
|
enforcer.AddPolicy("store", "/x/rewardType", "POST", "添加奖励类型")
|
||||||
|
|||||||
Reference in New Issue
Block a user