diff --git a/data/DB_GiftCard.dat b/data/DB_GiftCard.dat index 96640b0..1560036 100644 Binary files a/data/DB_GiftCard.dat and b/data/DB_GiftCard.dat differ diff --git a/data/DB_PropExchange.dat b/data/DB_PropExchange.dat index 38a4306..e92894d 100644 Binary files a/data/DB_PropExchange.dat and b/data/DB_PropExchange.dat differ diff --git a/data/DB_Task.dat b/data/DB_Task.dat index 1be1093..428266c 100644 Binary files a/data/DB_Task.dat and b/data/DB_Task.dat differ diff --git a/data/DB_Task.json b/data/DB_Task.json index bb12f6d..f75a874 100644 --- a/data/DB_Task.json +++ b/data/DB_Task.json @@ -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, diff --git a/model/permit.go b/model/permit.go index 5484e28..70798d1 100644 --- a/model/permit.go +++ b/model/permit.go @@ -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 // 时间戳 } diff --git a/mq/keyconf.go b/mq/keyconf.go index 5b23879..2257795 100644 --- a/mq/keyconf.go +++ b/mq/keyconf.go @@ -14,6 +14,7 @@ const ( BackSystemPermitRank = "back_permitrank" BackSystemPermitExchange = "back_permitexchange" BackSystemPermitJoin = "back_permitjoin" + BackSystemPermitTask = "back_permittask" ) // dbproxy 消息 diff --git a/protocol/server/pbdata.pb.go b/protocol/server/pbdata.pb.go index 4932017..8e07379 100644 --- a/protocol/server/pbdata.pb.go +++ b/protocol/server/pbdata.pb.go @@ -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 ( diff --git a/protocol/server/pbdata.proto b/protocol/server/pbdata.proto index 027f549..e76964c 100644 --- a/protocol/server/pbdata.proto +++ b/protocol/server/pbdata.proto @@ -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 Award = 7; + int64 TargetTimes = 7; - int32 GameType = 8; + int64 FinishTimes = 8; - repeated int32 Position = 9; + map Award = 9; + + int32 GameType = 10; + + repeated int32 Position = 11; } diff --git a/worldsrv/action_task.go b/worldsrv/action_task.go index 214cc07..4dc2465 100644 --- a/worldsrv/action_task.go +++ b/worldsrv/action_task.go @@ -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 } } diff --git a/worldsrv/bagmgr.go b/worldsrv/bagmgr.go index e9ae6db..e9063bb 100644 --- a/worldsrv/bagmgr.go +++ b/worldsrv/bagmgr.go @@ -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 } diff --git a/worldsrv/logchannel.go b/worldsrv/logchannel.go index 322554d..d40723b 100644 --- a/worldsrv/logchannel.go +++ b/worldsrv/logchannel.go @@ -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{}) } diff --git a/worldsrv/player.go b/worldsrv/player.go index f9dad6a..09a8aa4 100644 --- a/worldsrv/player.go +++ b/worldsrv/player.go @@ -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 { diff --git a/worldsrv/trascate_webapi.go b/worldsrv/trascate_webapi.go index 7eba2e7..0c6c392 100644 --- a/worldsrv/trascate_webapi.go +++ b/worldsrv/trascate_webapi.go @@ -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 { diff --git a/xlsx/DB_Task.xlsx b/xlsx/DB_Task.xlsx index 46c4eae..ff4abe0 100644 Binary files a/xlsx/DB_Task.xlsx and b/xlsx/DB_Task.xlsx differ