go_dreamfactory/cmd/robot/task.go
2022-07-18 15:03:11 +08:00

85 lines
2.0 KiB
Go

package robot
import (
"fmt"
"go_dreamfactory/comm"
"go_dreamfactory/modules/task"
"go_dreamfactory/pb"
"google.golang.org/protobuf/proto"
)
var (
taskBuilders = []*TestCase{
{
desc: "任务列表",
mainType: string(comm.ModuleTask),
subType: task.TaskSubTypeList,
req: &pb.TaskListReq{
//设置任务类型
TaskTag: int32(comm.TASK_DAILY), //每天任务
// TaskTag: int32(comm.TASK_WEEKLY), //周任务
// TaskTag: int32(comm.TASK_ACHIEVE),
},
rsp: &pb.TaskListResp{},
print: func(rsp proto.Message) {
out := rsp.(*pb.TaskListResp)
for _, v := range out.List {
fmt.Printf("%v \n", v)
}
},
// enabled: true,
next: func(robot *Robot, rsp proto.Message) {
tcs := []*TestCase{}
if v, ok := rsp.(*pb.TaskListResp); ok {
for _, tt := range v.List {
tc := &TestCase{
desc: "领取任务奖励",
mainType: string(comm.ModuleTask),
subType: task.TaskSubTypeReceive,
req: &pb.TaskReceiveReq{
TaskTag: int32(comm.TASK_DAILY),
Id: tt.Id,
},
rsp: &pb.TaskReceiveResp{},
enabled: true,
}
tcs = append(tcs, tc)
}
robot.addBuilders(tcs)
}
},
}, {
desc: "活跃度",
mainType: string(comm.ModuleTask),
subType: task.TaskSubTypeActiveList,
req: &pb.TaskActiveListReq{
TaskTag: int32(comm.TASK_DAILY),
},
rsp: &pb.TaskActiveListResp{},
print: func(rsp proto.Message) {
out := rsp.(*pb.TaskActiveListResp)
for _, v := range out.List {
fmt.Printf("%v 活跃值:%v\n", v, out.Active)
}
},
enabled: true,
}, {
desc: "活跃度领取",
mainType: string(comm.ModuleTask),
subType: task.TaskSubTypeActiveReceive,
req: &pb.TaskActiveReceiveReq{
Id: "62d4c90c3ccfe7787f317975",
TaskTag: int32(comm.TASK_DAILY),
},
rsp: &pb.TaskActiveReceiveResp{},
// enabled: true,
},
}
)
//声明加入到构建器并发起请求
func (r *Robot) RunTask() {
r.addBuilders(taskBuilders)
}