通行证活动统计数据

This commit is contained in:
sk 2024-07-11 11:56:34 +08:00
parent a28d9163d8
commit 06343ab6fc
14 changed files with 338 additions and 127 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -3,6 +3,8 @@
{
"Id": 1,
"Order": 1,
"Name": "每日任务",
"Des": "充值任意金额",
"ActivityType": 1,
"TaskType": 7,
"TargetTimes": 1,
@ -19,6 +21,8 @@
{
"Id": 2,
"Order": 2,
"Name": "每日任务",
"Des": "购买一次金币",
"ActivityType": 1,
"TaskType": 2,
"TargetTimes": 1,
@ -35,6 +39,8 @@
{
"Id": 3,
"Order": 3,
"Name": "每日任务",
"Des": "每日登录游戏",
"ActivityType": 1,
"TaskType": 3,
"TargetTimes": 1,
@ -47,6 +53,8 @@
{
"Id": 4,
"Order": 4,
"Name": "每日任务",
"Des": "任意玩法对局胜利1次",
"ActivityType": 1,
"TaskType": 4,
"TargetTimes": 1,
@ -60,6 +68,8 @@
{
"Id": 5,
"Order": 5,
"Name": "每日任务",
"Des": "任意玩法对局10次",
"ActivityType": 1,
"TaskType": 5,
"TargetTimes": 10,
@ -73,6 +83,8 @@
{
"Id": 6,
"Order": 6,
"Name": "每日任务",
"Des": "在排位赛中对局一次",
"ActivityType": 1,
"TaskType": 6,
"TargetTimes": 1,
@ -86,6 +98,7 @@
{
"Id": 7,
"Order": 1,
"Name": "周活跃任务",
"ActivityType": 2,
"TaskType": 14,
"TargetTimes": 200,
@ -97,6 +110,7 @@
{
"Id": 8,
"Order": 2,
"Name": "周活跃任务",
"ActivityType": 2,
"TaskType": 14,
"TargetTimes": 300,
@ -108,6 +122,7 @@
{
"Id": 9,
"Order": 3,
"Name": "周活跃任务",
"ActivityType": 2,
"TaskType": 14,
"TargetTimes": 400,
@ -119,6 +134,7 @@
{
"Id": 10,
"Order": 4,
"Name": "周活跃任务",
"ActivityType": 2,
"TaskType": 14,
"TargetTimes": 500,
@ -130,6 +146,7 @@
{
"Id": 11,
"Order": 5,
"Name": "周活跃任务",
"ActivityType": 2,
"TaskType": 14,
"TargetTimes": 600,
@ -141,6 +158,8 @@
{
"Id": 12,
"Order": 1,
"Name": "新手任务",
"Des": "绑定邀请人",
"ActivityType": 3,
"TaskType": 10,
"TargetTimes": 1,
@ -153,6 +172,8 @@
{
"Id": 13,
"Order": 2,
"Name": "新手任务",
"Des": "游玩Tienlen10次",
"ActivityType": 3,
"TaskType": 5,
"TargetTimes": 10,
@ -166,6 +187,8 @@
{
"Id": 14,
"Order": 3,
"Name": "新手任务",
"Des": "累计获取10M金币",
"ActivityType": 3,
"TaskType": 11,
"TargetTimes": 10000000,
@ -177,6 +200,8 @@
{
"Id": 15,
"Order": 4,
"Name": "新手任务",
"Des": "Tienlen获胜10次",
"ActivityType": 3,
"TaskType": 4,
"TargetTimes": 10,
@ -190,6 +215,8 @@
{
"Id": 16,
"Order": 5,
"Name": "新手任务",
"Des": "成功邀请3人",
"ActivityType": 3,
"TaskType": 16,
"TargetTimes": 3,
@ -202,6 +229,8 @@
{
"Id": 21,
"Order": 6,
"Name": "新手任务",
"Des": "被邀请人累计充值0.1$",
"ActivityType": 3,
"TaskType": 18,
"TargetTimes": 10,
@ -214,6 +243,8 @@
{
"Id": 22,
"Order": 7,
"Name": "新手任务",
"Des": "成功邀请5人",
"ActivityType": 3,
"TaskType": 16,
"TargetTimes": 5,
@ -226,6 +257,8 @@
{
"Id": 23,
"Order": 8,
"Name": "新手任务",
"Des": "成功邀请10人",
"ActivityType": 3,
"TaskType": 16,
"TargetTimes": 10,
@ -238,6 +271,8 @@
{
"Id": 24,
"Order": 9,
"Name": "新手任务",
"Des": "被邀请人累计充值1$",
"ActivityType": 3,
"TaskType": 18,
"TargetTimes": 100,
@ -250,6 +285,8 @@
{
"Id": 25,
"Order": 10,
"Name": "新手任务",
"Des": "被邀请人累计充值5$",
"ActivityType": 3,
"TaskType": 18,
"TargetTimes": 500,
@ -262,6 +299,8 @@
{
"Id": 26,
"Order": 11,
"Name": "新手任务",
"Des": "被邀请人累计充值10$",
"ActivityType": 3,
"TaskType": 18,
"TargetTimes": 1000,
@ -274,6 +313,8 @@
{
"Id": 17,
"Order": 1,
"Name": "邀请任务",
"Des": "邀请积分达到10000",
"ActivityType": 4,
"TaskType": 13,
"TargetTimes": 10000,
@ -286,6 +327,8 @@
{
"Id": 18,
"Order": 2,
"Name": "邀请任务",
"Des": "邀请积分达到50000",
"ActivityType": 4,
"TaskType": 13,
"TargetTimes": 50000,
@ -298,6 +341,8 @@
{
"Id": 19,
"Order": 3,
"Name": "邀请任务",
"Des": "邀请积分达到200000",
"ActivityType": 4,
"TaskType": 13,
"TargetTimes": 200000,
@ -310,6 +355,8 @@
{
"Id": 20,
"Order": 4,
"Name": "邀请任务",
"Des": "邀请积分达到1000000",
"ActivityType": 4,
"TaskType": 13,
"TargetTimes": 1000000,
@ -322,6 +369,8 @@
{
"Id": 10001,
"Order": 1,
"Name": "成就",
"Des": "累计获取100M金币",
"ActivityType": 5,
"TaskType": 11,
"TargetTimes": 100000000,
@ -335,6 +384,8 @@
{
"Id": 10002,
"Order": 7,
"Name": "成就",
"Des": "累计获取1B金币",
"ActivityType": 5,
"TaskType": 11,
"TargetTimes": 1000000000,
@ -348,6 +399,8 @@
{
"Id": 10003,
"Order": 13,
"Name": "成就",
"Des": "累计获取10B金币",
"ActivityType": 5,
"TaskType": 11,
"TargetTimes": 10000000000,
@ -361,6 +414,8 @@
{
"Id": 10004,
"Order": 19,
"Name": "成就",
"Des": "累计获取100B金币",
"ActivityType": 5,
"TaskType": 11,
"TargetTimes": 100000000000,
@ -374,6 +429,8 @@
{
"Id": 10005,
"Order": 25,
"Name": "成就",
"Des": "累计获取500B金币",
"ActivityType": 5,
"TaskType": 11,
"TargetTimes": 500000000000,
@ -387,6 +444,8 @@
{
"Id": 10006,
"Order": 31,
"Name": "成就",
"Des": "累计获取1000B金币",
"ActivityType": 5,
"TaskType": 11,
"TargetTimes": 1000000000000,
@ -400,6 +459,8 @@
{
"Id": 20001,
"Order": 2,
"Name": "成就",
"Des": "游玩Tienlen100次",
"ActivityType": 5,
"TaskType": 5,
"TargetTimes": 100,
@ -413,6 +474,8 @@
{
"Id": 20002,
"Order": 8,
"Name": "成就",
"Des": "游玩Tienlen1000次",
"ActivityType": 5,
"TaskType": 5,
"TargetTimes": 1000,
@ -426,6 +489,8 @@
{
"Id": 20003,
"Order": 14,
"Name": "成就",
"Des": "游玩Tienlen5000次",
"ActivityType": 5,
"TaskType": 5,
"TargetTimes": 5000,
@ -439,6 +504,8 @@
{
"Id": 20004,
"Order": 20,
"Name": "成就",
"Des": "游玩Tienlen10000次",
"ActivityType": 5,
"TaskType": 5,
"TargetTimes": 10000,
@ -452,6 +519,8 @@
{
"Id": 20005,
"Order": 26,
"Name": "成就",
"Des": "游玩Tienlen50000次",
"ActivityType": 5,
"TaskType": 5,
"TargetTimes": 50000,
@ -465,6 +534,8 @@
{
"Id": 20006,
"Order": 32,
"Name": "成就",
"Des": "游玩Tienlen100000次",
"ActivityType": 5,
"TaskType": 5,
"TargetTimes": 100000,
@ -478,6 +549,8 @@
{
"Id": 30001,
"Order": 3,
"Name": "成就",
"Des": "Tienlen获胜100次",
"ActivityType": 5,
"TaskType": 4,
"TargetTimes": 100,
@ -491,6 +564,8 @@
{
"Id": 30002,
"Order": 9,
"Name": "成就",
"Des": "Tienlen获胜1000次",
"ActivityType": 5,
"TaskType": 4,
"TargetTimes": 1000,
@ -504,6 +579,8 @@
{
"Id": 30003,
"Order": 15,
"Name": "成就",
"Des": "Tienlen获胜5000次",
"ActivityType": 5,
"TaskType": 4,
"TargetTimes": 5000,
@ -517,6 +594,8 @@
{
"Id": 30004,
"Order": 21,
"Name": "成就",
"Des": "Tienlen获胜10000次",
"ActivityType": 5,
"TaskType": 4,
"TargetTimes": 10000,
@ -530,6 +609,8 @@
{
"Id": 30005,
"Order": 27,
"Name": "成就",
"Des": "Tienlen获胜50000次",
"ActivityType": 5,
"TaskType": 4,
"TargetTimes": 50000,
@ -543,6 +624,8 @@
{
"Id": 30006,
"Order": 33,
"Name": "成就",
"Des": "Tienlen获胜100000次",
"ActivityType": 5,
"TaskType": 4,
"TargetTimes": 100000,
@ -556,6 +639,8 @@
{
"Id": 40001,
"Order": 4,
"Name": "成就",
"Des": "在排位赛中对局100次",
"ActivityType": 5,
"TaskType": 6,
"TargetTimes": 100,
@ -569,6 +654,8 @@
{
"Id": 40002,
"Order": 10,
"Name": "成就",
"Des": "在排位赛中对局1000次",
"ActivityType": 5,
"TaskType": 6,
"TargetTimes": 1000,
@ -582,6 +669,8 @@
{
"Id": 40003,
"Order": 16,
"Name": "成就",
"Des": "在排位赛中对局5000次",
"ActivityType": 5,
"TaskType": 6,
"TargetTimes": 5000,
@ -595,6 +684,8 @@
{
"Id": 40004,
"Order": 22,
"Name": "成就",
"Des": "在排位赛中对局10000次",
"ActivityType": 5,
"TaskType": 6,
"TargetTimes": 10000,
@ -608,6 +699,8 @@
{
"Id": 40005,
"Order": 28,
"Name": "成就",
"Des": "在排位赛中对局50000次",
"ActivityType": 5,
"TaskType": 6,
"TargetTimes": 50000,
@ -621,6 +714,8 @@
{
"Id": 40006,
"Order": 34,
"Name": "成就",
"Des": "在排位赛中对局100000次",
"ActivityType": 5,
"TaskType": 6,
"TargetTimes": 100000,
@ -634,6 +729,8 @@
{
"Id": 50001,
"Order": 5,
"Name": "成就",
"Des": "累积充值$0.1",
"ActivityType": 5,
"TaskType": 7,
"TargetTimes": 10,
@ -650,6 +747,8 @@
{
"Id": 50002,
"Order": 11,
"Name": "成就",
"Des": "累积充值$1",
"ActivityType": 5,
"TaskType": 7,
"TargetTimes": 100,
@ -666,6 +765,8 @@
{
"Id": 50003,
"Order": 17,
"Name": "成就",
"Des": "累积充值$10",
"ActivityType": 5,
"TaskType": 7,
"TargetTimes": 1000,
@ -682,6 +783,8 @@
{
"Id": 50004,
"Order": 23,
"Name": "成就",
"Des": "累积充值$100",
"ActivityType": 5,
"TaskType": 7,
"TargetTimes": 10000,
@ -698,6 +801,8 @@
{
"Id": 50005,
"Order": 29,
"Name": "成就",
"Des": "累积充值$500",
"ActivityType": 5,
"TaskType": 7,
"TargetTimes": 50000,
@ -714,6 +819,8 @@
{
"Id": 50006,
"Order": 35,
"Name": "成就",
"Des": "累积充值$1000",
"ActivityType": 5,
"TaskType": 7,
"TargetTimes": 100000,
@ -730,6 +837,8 @@
{
"Id": 60001,
"Order": 6,
"Name": "成就",
"Des": "累积登录10天",
"ActivityType": 5,
"TaskType": 15,
"TargetTimes": 10,
@ -742,6 +851,8 @@
{
"Id": 60002,
"Order": 12,
"Name": "成就",
"Des": "累积登录20天",
"ActivityType": 5,
"TaskType": 15,
"TargetTimes": 20,
@ -754,6 +865,8 @@
{
"Id": 60003,
"Order": 18,
"Name": "成就",
"Des": "累积登录50天",
"ActivityType": 5,
"TaskType": 15,
"TargetTimes": 50,
@ -766,6 +879,8 @@
{
"Id": 60004,
"Order": 24,
"Name": "成就",
"Des": "累积登录100天",
"ActivityType": 5,
"TaskType": 15,
"TargetTimes": 100,
@ -778,6 +893,8 @@
{
"Id": 60005,
"Order": 30,
"Name": "成就",
"Des": "累积登录500天",
"ActivityType": 5,
"TaskType": 15,
"TargetTimes": 500,
@ -790,6 +907,8 @@
{
"Id": 60006,
"Order": 36,
"Name": "成就",
"Des": "累积登录1000天",
"ActivityType": 5,
"TaskType": 15,
"TargetTimes": 1000,
@ -802,6 +921,8 @@
{
"Id": 11001,
"Order": 1,
"Name": "通行证",
"Des": "领取转盘签到奖励",
"ActivityType": 6,
"TaskType": 17,
"TargetTimes": 1,
@ -813,6 +934,8 @@
{
"Id": 11002,
"Order": 2,
"Name": "通行证",
"Des": "在线时长60分钟",
"ActivityType": 6,
"TaskType": 21,
"TargetTimes": 3600,
@ -828,6 +951,8 @@
{
"Id": 11003,
"Order": 3,
"Name": "通行证",
"Des": "购买任意金币1次",
"ActivityType": 6,
"TaskType": 2,
"TargetTimes": 1,
@ -843,6 +968,8 @@
{
"Id": 11004,
"Order": 4,
"Name": "通行证",
"Des": "购买任意存钱罐1次",
"ActivityType": 6,
"TaskType": 22,
"TargetTimes": 1,
@ -854,6 +981,8 @@
{
"Id": 11005,
"Order": 5,
"Name": "通行证",
"Des": "参与大众场对局获得胜利3次",
"ActivityType": 6,
"TaskType": 23,
"TargetTimes": 3,
@ -866,6 +995,8 @@
{
"Id": 11006,
"Order": 6,
"Name": "通行证",
"Des": "参与排位赛获得胜利3次",
"ActivityType": 6,
"TaskType": 30,
"TargetTimes": 3,
@ -878,6 +1009,8 @@
{
"Id": 11007,
"Order": 7,
"Name": "通行证",
"Des": "邀请好友进行私人桌对局1次",
"ActivityType": 6,
"TaskType": 24,
"TargetTimes": 1,
@ -890,6 +1023,8 @@
{
"Id": 11008,
"Order": 8,
"Name": "通行证",
"Des": "成功参与比赛场3次",
"ActivityType": 6,
"TaskType": 25,
"TargetTimes": 3,
@ -902,6 +1037,8 @@
{
"Id": 11009,
"Order": 9,
"Name": "通行证",
"Des": "比赛场获得前十名1次",
"ActivityType": 6,
"TaskType": 26,
"TargetTimes": 1,
@ -914,6 +1051,8 @@
{
"Id": 11010,
"Order": 10,
"Name": "通行证",
"Des": "今日累计消耗100钻石",
"ActivityType": 6,
"TaskType": 27,
"TargetTimes": 100,
@ -929,6 +1068,8 @@
{
"Id": 11011,
"Order": 11,
"Name": "通行证",
"Des": "充值任意金额",
"ActivityType": 6,
"TaskType": 7,
"TargetTimes": 1,

View File

@ -37,4 +37,20 @@ type BackendPermitJoin struct {
Platform string // 平台
StartTs int64 // 活动开始时间
SnId int32 // 玩家id
Score int64 // 增加积分
Long int64 // 增加龙币数量
Ts int64 // 时间戳
}
// BackendPermitTask 通行证任务完成记录
type BackendPermitTask struct {
Platform string // 平台
StartTs int64 // 活动开始时间
SnId int32 // 玩家id
TaskId int32 // 任务id
TaskName string // 任务名称
ActivityType int32 // 活动类型
TaskType int32 // 任务类型
Gain []AwardItem // 任务获得奖励
Ts int64 // 时间戳
}

View File

@ -14,6 +14,7 @@ const (
BackSystemPermitRank = "back_permitrank"
BackSystemPermitExchange = "back_permitexchange"
BackSystemPermitJoin = "back_permitjoin"
BackSystemPermitTask = "back_permittask"
)
// dbproxy 消息

View File

@ -9696,13 +9696,15 @@ type DB_Task struct {
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"`
Order int32 `protobuf:"varint,2,opt,name=Order,proto3" json:"Order,omitempty"`
ActivityType int32 `protobuf:"varint,3,opt,name=ActivityType,proto3" json:"ActivityType,omitempty"`
TaskType int32 `protobuf:"varint,4,opt,name=TaskType,proto3" json:"TaskType,omitempty"`
TargetTimes int64 `protobuf:"varint,5,opt,name=TargetTimes,proto3" json:"TargetTimes,omitempty"`
FinishTimes int64 `protobuf:"varint,6,opt,name=FinishTimes,proto3" json:"FinishTimes,omitempty"`
Award map[int64]int64 `protobuf:"bytes,7,rep,name=Award,proto3" json:"Award,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
GameType int32 `protobuf:"varint,8,opt,name=GameType,proto3" json:"GameType,omitempty"`
Position []int32 `protobuf:"varint,9,rep,packed,name=Position,proto3" json:"Position,omitempty"`
Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"`
Des string `protobuf:"bytes,4,opt,name=Des,proto3" json:"Des,omitempty"`
ActivityType int32 `protobuf:"varint,5,opt,name=ActivityType,proto3" json:"ActivityType,omitempty"`
TaskType int32 `protobuf:"varint,6,opt,name=TaskType,proto3" json:"TaskType,omitempty"`
TargetTimes int64 `protobuf:"varint,7,opt,name=TargetTimes,proto3" json:"TargetTimes,omitempty"`
FinishTimes int64 `protobuf:"varint,8,opt,name=FinishTimes,proto3" json:"FinishTimes,omitempty"`
Award map[int64]int64 `protobuf:"bytes,9,rep,name=Award,proto3" json:"Award,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
GameType int32 `protobuf:"varint,10,opt,name=GameType,proto3" json:"GameType,omitempty"`
Position []int32 `protobuf:"varint,11,rep,packed,name=Position,proto3" json:"Position,omitempty"`
}
func (x *DB_Task) Reset() {
@ -9751,6 +9753,20 @@ func (x *DB_Task) GetOrder() int32 {
return 0
}
func (x *DB_Task) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *DB_Task) GetDes() string {
if x != nil {
return x.Des
}
return ""
}
func (x *DB_Task) GetActivityType() int32 {
if x != nil {
return x.ActivityType
@ -11594,115 +11610,117 @@ var file_pbdata_proto_rawDesc = []byte{
0x5f, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x72, 0x72,
0x61, 0x79, 0x12, 0x29, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x53, 0x79, 0x73, 0x74,
0x65, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xd7, 0x02,
0x65, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xfd, 0x02,
0x0a, 0x07, 0x44, 0x42, 0x5f, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x4f, 0x72, 0x64,
0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12,
0x22, 0x0a, 0x0c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18,
0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54,
0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18,
0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12,
0x20, 0x0a, 0x0b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x05,
0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65,
0x73, 0x12, 0x20, 0x0a, 0x0b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x73,
0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x69,
0x6d, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x07, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x54,
0x61, 0x73, 0x6b, 0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05,
0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70,
0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70,
0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20,
0x03, 0x28, 0x05, 0x52, 0x08, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x38, 0x0a,
0x0a, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x31, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x54, 0x61,
0x73, 0x6b, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x21, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42,
0x5f, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x85, 0x02, 0x0a, 0x1b, 0x44,
0x42, 0x5f, 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x47,
0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x79,
0x73, 0x74, 0x65, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0c, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x12, 0x2c,
0x0a, 0x11, 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4e,
0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x54, 0x68, 0x69, 0x72, 0x64,
0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b,
0x54, 0x68, 0x69, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0b, 0x54, 0x68, 0x69, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x12, 0x12,
0x0a, 0x04, 0x44, 0x65, 0x73, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x65,
0x73, 0x63, 0x12, 0x34, 0x0a, 0x15, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x4f, 0x72, 0x69, 0x65,
0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
0x05, 0x52, 0x15, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x68, 0x69, 0x72,
0x64, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x54, 0x68, 0x69, 0x72, 0x64,
0x49, 0x44, 0x22, 0x59, 0x0a, 0x20, 0x44, 0x42, 0x5f, 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x6c,
0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e,
0x67, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x35, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f,
0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x47, 0x61, 0x6d,
0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x43, 0x0a,
0x07, 0x44, 0x42, 0x5f, 0x54, 0x69, 0x70, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65,
0x49, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64,
0x12, 0x10, 0x0a, 0x03, 0x44, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x44,
0x65, 0x73, 0x22, 0x31, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x54, 0x69, 0x70, 0x73, 0x41, 0x72, 0x72,
0x61, 0x79, 0x12, 0x21, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x0f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x54, 0x69, 0x70, 0x73,
0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xea, 0x05, 0x0a, 0x06, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50,
0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e,
0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x44, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
0x52, 0x03, 0x44, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x41, 0x63, 0x74,
0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x61, 0x73,
0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x54, 0x61, 0x73,
0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54,
0x69, 0x6d, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x54, 0x61, 0x72, 0x67,
0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x46, 0x69, 0x6e, 0x69, 0x73,
0x68, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x46, 0x69,
0x6e, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x05, 0x41, 0x77, 0x61,
0x72, 0x64, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65,
0x72, 0x2e, 0x44, 0x42, 0x5f, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x47,
0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x47,
0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6f, 0x73, 0x69, 0x74,
0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x50, 0x6f, 0x73, 0x69, 0x74,
0x69, 0x6f, 0x6e, 0x1a, 0x38, 0x0a, 0x0a, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03,
0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x31, 0x0a,
0x0c, 0x44, 0x42, 0x5f, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x21, 0x0a,
0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x65, 0x72,
0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x03, 0x41, 0x72, 0x72,
0x22, 0x85, 0x02, 0x0a, 0x1b, 0x44, 0x42, 0x5f, 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x6c, 0x61,
0x74, 0x66, 0x6f, 0x72, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67,
0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64,
0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20,
0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x56, 0x69,
0x70, 0x45, 0x78, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x56, 0x69, 0x70, 0x45,
0x78, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x31,
0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67,
0x65, 0x31, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x32,
0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67,
0x65, 0x32, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x32, 0x18, 0x07, 0x20,
0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x32, 0x12, 0x1e, 0x0a, 0x0a,
0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x33, 0x18, 0x08, 0x20, 0x03, 0x28, 0x05,
0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x33, 0x12, 0x1e, 0x0a, 0x0a,
0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x34, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x34, 0x12, 0x1e, 0x0a, 0x0a,
0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x35, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x35, 0x12, 0x1e, 0x0a, 0x0a,
0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x36, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x36, 0x12, 0x3e, 0x0a, 0x0a,
0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50,
0x2e, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x12, 0x28, 0x0a, 0x0f,
0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18,
0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65,
0x37, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64,
0x37, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x37,
0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x38, 0x18, 0x0f,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x38,
0x12, 0x14, 0x0a, 0x05, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x10, 0x20, 0x03, 0x28, 0x05, 0x52,
0x05, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x28, 0x0a, 0x0f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64,
0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x44, 0x18, 0x11, 0x20, 0x03, 0x28, 0x05, 0x52,
0x0f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x44,
0x12, 0x2f, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x2e,
0x41, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72,
0x64, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x46, 0x72, 0x65, 0x65, 0x54, 0x69,
0x6d, 0x65, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68,
0x46, 0x72, 0x65, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x69,
0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x12, 0x22, 0x0a, 0x0c, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x44,
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x47, 0x61,
0x6d, 0x65, 0x49, 0x44, 0x12, 0x2c, 0x0a, 0x11, 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x6c, 0x61,
0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x11, 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x61,
0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x54, 0x68, 0x69, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x49,
0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x54, 0x68, 0x69, 0x72, 0x64, 0x47, 0x61,
0x6d, 0x65, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x65, 0x73, 0x63, 0x18, 0x05, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x44, 0x65, 0x73, 0x63, 0x12, 0x34, 0x0a, 0x15, 0x53, 0x63, 0x72, 0x65,
0x65, 0x6e, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70,
0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x4f,
0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18,
0x0a, 0x07, 0x54, 0x68, 0x69, 0x72, 0x64, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52,
0x07, 0x54, 0x68, 0x69, 0x72, 0x64, 0x49, 0x44, 0x22, 0x59, 0x0a, 0x20, 0x44, 0x42, 0x5f, 0x54,
0x68, 0x69, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x47, 0x61, 0x6d, 0x65,
0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x35, 0x0a, 0x03,
0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76,
0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66,
0x6f, 0x72, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x03,
0x41, 0x72, 0x72, 0x22, 0x43, 0x0a, 0x07, 0x44, 0x42, 0x5f, 0x54, 0x69, 0x70, 0x73, 0x12, 0x0e,
0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16,
0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06,
0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x44, 0x65, 0x73, 0x18, 0x03, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x44, 0x65, 0x73, 0x22, 0x31, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x54,
0x69, 0x70, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x21, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44,
0x42, 0x5f, 0x54, 0x69, 0x70, 0x73, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xea, 0x05, 0x0a, 0x06,
0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f,
0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74,
0x12, 0x16, 0x0a, 0x06, 0x56, 0x69, 0x70, 0x45, 0x78, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05,
0x52, 0x06, 0x56, 0x69, 0x70, 0x45, 0x78, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76,
0x69, 0x6c, 0x65, 0x67, 0x65, 0x31, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72,
0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x31, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76,
0x69, 0x6c, 0x65, 0x67, 0x65, 0x32, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72,
0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x32, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x70,
0x49, 0x64, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49,
0x64, 0x32, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x33,
0x18, 0x08, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67,
0x65, 0x33, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x34,
0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67,
0x65, 0x34, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x35,
0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67,
0x65, 0x35, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x36,
0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67,
0x65, 0x36, 0x12, 0x3e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37,
0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e,
0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65,
0x37, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67,
0x65, 0x37, 0x12, 0x28, 0x0a, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37,
0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x50, 0x72, 0x69,
0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07,
0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x37, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53,
0x68, 0x6f, 0x70, 0x49, 0x64, 0x37, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c,
0x65, 0x67, 0x65, 0x38, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76,
0x69, 0x6c, 0x65, 0x67, 0x65, 0x38, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x18,
0x10, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x28, 0x0a, 0x0f,
0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x44, 0x18,
0x11, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4f, 0x75, 0x74,
0x6c, 0x69, 0x6e, 0x65, 0x49, 0x44, 0x12, 0x2f, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18,
0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44,
0x42, 0x5f, 0x56, 0x49, 0x50, 0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68,
0x46, 0x72, 0x65, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x46, 0x72, 0x65, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x1a,
0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x38,
0x0a, 0x0a, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x38, 0x0a, 0x0a, 0x41, 0x77, 0x61, 0x72,
0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x22, 0x2f, 0x0a, 0x0b, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x41, 0x72, 0x72, 0x61,
0x79, 0x12, 0x20, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e,
0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x52, 0x03,
0x41, 0x72, 0x72, 0x42, 0x26, 0x5a, 0x24, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d,
0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33,
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x2f, 0x0a, 0x0b, 0x44, 0x42, 0x5f, 0x56,
0x49, 0x50, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x20, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42,
0x5f, 0x56, 0x49, 0x50, 0x52, 0x03, 0x41, 0x72, 0x72, 0x42, 0x26, 0x5a, 0x24, 0x6d, 0x6f, 0x6e,
0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d,
0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65,
0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (

View File

@ -1577,19 +1577,23 @@ message DB_Task {
int32 Order = 2;
int32 ActivityType = 3;
string Name = 3;
int32 TaskType = 4;
string Des = 4;
int64 TargetTimes = 5;
int32 ActivityType = 5;
int64 FinishTimes = 6;
int32 TaskType = 6;
map<int64, int64> Award = 7;
int64 TargetTimes = 7;
int32 GameType = 8;
int64 FinishTimes = 8;
repeated int32 Position = 9;
map<int64, int64> Award = 9;
int32 GameType = 10;
repeated int32 Position = 11;
}

View File

@ -171,6 +171,8 @@ func CSTaskReward(s *netlib.Session, packetId int, data interface{}, sid int64)
return nil
}
now := time.Now()
ret := &taskproto.SCTaskReward{
OpCode: taskproto.OpResultCode_OPRC_Error,
Tp: msg.GetTp(),
@ -181,6 +183,14 @@ func CSTaskReward(s *netlib.Session, packetId int, data interface{}, sid int64)
f := func(id int32) {
if IsTaskFinish(p, id) && !IsTaskReward(p, id) {
p.WelfData.Task[id].Ts = time.Now().Unix()
// 任务完成记录
taskLog := &model.BackendPermitTask{
Platform: p.Platform,
StartTs: PlatformMgrSingleton.GetConfig(p.Platform).PermitStartTs,
SnId: p.SnId,
TaskId: id,
Ts: now.Unix(),
}
data := srvdata.PBDB_TaskMgr.GetData(id)
if data != nil {
SendReward(p, data.Award, msg.Tp)
@ -190,7 +200,17 @@ func CSTaskReward(s *netlib.Session, packetId int, data interface{}, sid int64)
}
ret.Reward[k] = ret.Reward[k] + vv
}
for k, v := range ret.Reward {
taskLog.Gain = append(taskLog.Gain, model.AwardItem{
Id: int32(k),
Num: v,
})
}
taskLog.TaskName = data.GetDes()
taskLog.ActivityType = data.GetActivityType()
taskLog.TaskType = data.GetTaskType()
}
LogChannelSingleton.WriteLog(taskLog)
ret.OpCode = taskproto.OpResultCode_OPRC_Success
}
}

View File

@ -176,7 +176,6 @@ func (this *BagMgr) AddItems(p *Player, addItems []*Item, add int64, gainWay int
cost = params[0].Cost
}
longItem := this.GetItem(p.SnId, common.ItemIDPermit)
var items []*Item
for _, v := range addItems {
if v == nil || v.ItemNum == 0 {
@ -220,7 +219,7 @@ func (this *BagMgr) AddItems(p *Player, addItems []*Item, add int64, gainWay int
}
// 添加道具到背包
var permitScore, long int64
var changeItems []int32
var newBagInfo *BagInfo
if _, exist := this.PlayerBag[p.SnId]; !exist {
@ -329,6 +328,12 @@ func (this *BagMgr) AddItems(p *Player, addItems []*Item, add int64, gainWay int
p.VCardCost = 0
}
}
if v.ItemId == common.ItemIDPermit && v.ItemNum > 0 {
permitScore += v.ItemNum
}
if v.ItemId == common.ItemIDLong && v.ItemNum > 0 {
long += v.ItemNum
}
}
if len(changeItems) > 0 {
@ -353,14 +358,6 @@ func (this *BagMgr) AddItems(p *Player, addItems []*Item, add int64, gainWay int
StartTs: startTs,
Ts: time.Now().Unix(),
})
// 参与赛季通行证活动
if longItem == nil || longItem.ItemNum == 0 {
LogChannelSingleton.WriteLog(&model.BackendPermitJoin{
Platform: p.Platform,
StartTs: PlatformMgrSingleton.GetConfig(p.Platform).PermitStartTs,
SnId: p.SnId,
})
}
}
}
if v == common.ItemIDLong {
@ -368,6 +365,17 @@ func (this *BagMgr) AddItems(p *Player, addItems []*Item, add int64, gainWay int
}
}
if permitScore > 0 || long > 0 {
LogChannelSingleton.WriteLog(&model.BackendPermitJoin{
Platform: p.Platform,
StartTs: PlatformMgrSingleton.GetConfig(p.Platform).PermitStartTs,
SnId: p.SnId,
Score: permitScore,
Long: long,
Ts: time.Now().Unix(),
})
}
if code != bag.OpResultCode_OPRC_Sucess {
return newBagInfo, code, false
}

View File

@ -68,4 +68,5 @@ func init() {
LogChannelSingleton.RegisterLogCName(mq.BackSystemPermitRank, &model.BackendPermitRank{})
LogChannelSingleton.RegisterLogCName(mq.BackSystemPermitExchange, &model.BackendPermitExchange{})
LogChannelSingleton.RegisterLogCName(mq.BackSystemPermitJoin, &model.BackendPermitJoin{})
LogChannelSingleton.RegisterLogCName(mq.BackSystemPermitTask, &model.BackendPermitTask{})
}

View File

@ -3948,6 +3948,7 @@ func (this *Player) GetPayGoodsInfo() {
Platform: this.Platform,
StartTs: PlatformMgrSingleton.GetConfig(this.Platform).PermitStartTs,
SnId: this.SnId,
Ts: time.Now().Unix(),
})
}
switch info.Remark {

View File

@ -3471,6 +3471,7 @@ func init() {
Platform: player.Platform,
StartTs: PlatformMgrSingleton.GetConfig(player.Platform).PermitStartTs,
SnId: player.SnId,
Ts: time.Now().Unix(),
})
}
switch info.Remark {

Binary file not shown.