This commit is contained in:
liwei1dao 2023-09-29 14:09:59 +08:00
commit c3e87e1f69
11 changed files with 546 additions and 543 deletions

View File

@ -86,7 +86,7 @@ func (this *modelHdList) getHdInfoByType(itype pb.HdType) (activity *pb.DBHuodon
activity, ok = this.activity[itype]
this.hlock.RUnlock()
if ok {
return nil
return
}
return nil
return
}

View File

@ -12,7 +12,6 @@ import (
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
"go_dreamfactory/sys/db"
"go_dreamfactory/utils"
"go.mongodb.org/mongo-driver/bson"
)
@ -206,41 +205,41 @@ func (this *Activity) HDCelebration(session comm.IUserSession, systemtype int32,
update := make(map[string]interface{})
bChange := false
// 查询玩家活动记录
if data, err := this.modelhdData.getHddataByOid(session.GetUserId(), activity.Id); err == nil {
if list, err := this.modelhdData.getHddataByOid(session.GetUserId(), activity.Id); err == nil {
// 注意 Gotarr:map[int32]int32 key value 已经挑战的次数
if !utils.IsToday(data.Lasttime) { // 不是今天重置
data.Lasttime = configure.Now().Unix()
data.Gotarr = make(map[int32]int32)
// 计算进度
data.Val = int32((configure.Now().Unix()-activity.Stime)/24*3600) + 1
update["lasttime"] = data.Lasttime
update["val"] = data.Val
update["gotarr"] = data.Gotarr
bChange = true
}
if data.Val == 0 {
var pos int32
if list.Lasttime < configure.Now().Unix() || list.Val == 0 { // 不是今天重置
list.Gotarr = make(map[int32]int32)
update := make(map[string]interface{})
update["gotarr"] = list.Gotarr
var maxday int32
_days := this.configure.GetHDCelebrationData()
for _, v := range _days { // 开启循环
maxday += v
}
var pos int32
_sub := int32((configure.Now().Unix() - activity.Stime) / (24 * 3600))
_sub = _sub%maxday + 1
for index, v := range _days {
find := false
for i := 0; i < int(v); i++ {
pos++
if _sub == pos {
data.Val = int32(index) + 1 // 计算val 值
update["val"] = data.Val
if _sub%maxday+1 == pos {
list.Val = int32(index) + 1 // 计算val 值
update["val"] = list.Val
find = true
break
}
}
if find { // 找到剩余的天数
list.Lasttime = activity.Stime + int64(_sub+pos%v+1)*24*3600
update["lasttime"] = list.Lasttime
break
}
}
data.Val = 1
}
if conf, err := this.configure.GetHDCelebration(data.Val); err == nil {
if conf, err := this.configure.GetHDCelebration(list.Val); err == nil {
for _, v1 := range conf.Bosstype {
if v1 == 0 { // bosstype 为0 表示所有的boss 类型都算
bosstype = 0
@ -248,7 +247,7 @@ func (this *Activity) HDCelebration(session comm.IUserSession, systemtype int32,
}
}
if conf.Systemtype == systemtype {
data.Gotarr[bosstype] += 1
list.Gotarr[bosstype] += 1
// 天数
var idays int32
for i, v1 := range conf.Bosstype {
@ -258,9 +257,9 @@ func (this *Activity) HDCelebration(session comm.IUserSession, systemtype int32,
}
}
// 更新信息
update["gotarr"] = data.Gotarr
update["gotarr"] = list.Gotarr
bChange = true
if data.Gotarr[bosstype] <= idays {
if list.Gotarr[bosstype] <= idays {
bDouble = true
}
}
@ -268,9 +267,9 @@ func (this *Activity) HDCelebration(session comm.IUserSession, systemtype int32,
if bChange {
var sz []*pb.DBActivityData
this.modelhdData.ModifyActivityList(session.GetUserId(), data.Id, update)
this.modelhdData.ModifyActivityList(session.GetUserId(), list.Id, update)
// 推送活动数据进度变化
sz = append(sz, data)
sz = append(sz, list)
session.SendMsg(string(this.GetType()), "datachange", &pb.ActivityDataChangePush{
Data: sz,
})
@ -294,42 +293,19 @@ func (this *Activity) GetHdData(session comm.IUserSession, oids []string) (resul
continue
}
}
if activity.Itype == pb.HdType_HdCelebration || activity.Itype == pb.HdType_HdLevel || activity.Itype == pb.HdType_HdTypeSign {
if activity.Itype == pb.HdType_HdCelebration {
list, _ = this.modelhdData.getHddataByOid(session.GetUserId(), id)
if activity.Itype == pb.HdType_HdTypeSign {
if list.Val == 0 || !utils.IsToday(list.Lasttime) {
list.Lasttime = curTime
list.Val += 1
update := make(map[string]interface{})
update["lasttime"] = list.Lasttime
update["val"] = list.Val
this.modelhdData.ModifyActivityList(session.GetUserId(), list.Id, update)
}
}
// 开服等级活动
if activity.Itype == pb.HdType_HdLevel {
if user, err := this.ModuleUser.GetUser(session.GetUserId()); err == nil {
if list.Val != user.Lv {
list.Val = user.Lv
list.Lasttime = curTime
update := make(map[string]interface{})
update["lasttime"] = list.Lasttime
update["val"] = list.Val
this.modelhdData.ModifyActivityList(session.GetUserId(), list.Id, update)
}
}
}
// 获取开服庆典活动
if activity.Itype == pb.HdType_HdCelebration {
// key := fmt.Sprintf("%s-%s", session.GetUserId(), id)
if list, err = this.modelhdData.getHddataByOid(session.GetUserId(), id); err == nil {
if !utils.IsToday(list.Lasttime) || list.Val == 0 { // 不是今天重置
list.Lasttime = configure.Now().Unix()
if list.Lasttime < configure.Now().Unix() || list.Val == 0 { // 不是今天重置
//list.Lasttime = configure.Now().Unix()
list.Gotarr = make(map[int32]int32)
update := make(map[string]interface{})
// 计算进度
update["lasttime"] = list.Lasttime
update["gotarr"] = list.Gotarr
var maxday int32
@ -339,16 +315,23 @@ func (this *Activity) GetHdData(session comm.IUserSession, oids []string) (resul
}
var pos int32
_sub := int32((configure.Now().Unix() - activity.Stime) / (24 * 3600))
_sub = _sub%maxday + 1
for index, v := range _days {
find := false
for i := 0; i < int(v); i++ {
pos++
if _sub == pos {
if _sub%maxday+1 == pos {
list.Val = int32(index) + 1 // 计算val 值
update["val"] = list.Val
find = true
break
}
}
if find { // 找到剩余的天数
list.Lasttime = activity.Stime + int64(_sub+pos%v+1)*24*3600
update["lasttime"] = list.Lasttime
break
}
}
this.modelhdData.ModifyActivityList(session.GetUserId(), list.Id, update)
}

View File

@ -3,6 +3,7 @@ package caravan
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs"
)
@ -157,7 +158,19 @@ func (this *apiComp) BuyOrSell(session comm.IUserSession, req *pb.CaravanBuyOrSe
// 计算均价
buyValue = caravan.Items[k].Count * caravan.Items[k].Price
var price int32
price = caravan.Goods[k].Price
// 获取当前节点数据
if len(caravan.Allgoods[k].Goods) == 0 {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_TrollCityUnSellItem,
Title: pb.ErrorCode_TrollCityUnSellItem.ToString(),
}
return
}
key := configure.Now().Hour() / (24 / len(caravan.Allgoods[k].Goods))
if _, ok := caravan.Allgoods[k].Goods[int32(key)]; !ok {
key = 0
}
price = caravan.Allgoods[k].Goods[int32(key)]
for _, v := range cityInfo.Special {
if v == k {
bFound = true

View File

@ -3,6 +3,7 @@ package caravan
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
"go_dreamfactory/utils"
)
@ -14,8 +15,10 @@ func (this *apiComp) GetListCheck(session comm.IUserSession, req *pb.CaravanGetL
func (this *apiComp) GetList(session comm.IUserSession, req *pb.CaravanGetListReq) (errdata *pb.ErrorData) {
var (
resp *pb.CaravanGetListResp
resp *pb.CaravanGetListResp
cityRtime int64
)
update := make(map[string]interface{})
resp = &pb.CaravanGetListResp{}
if errdata = this.GetListCheck(session, req); errdata != nil {
return // 参数校验失败直接返回
@ -39,19 +42,30 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.CaravanGetListRe
if errdata = this.module.InitCaravanTicket(session, conf); errdata != nil {
return
}
update := make(map[string]interface{})
// 清除玩家货物信息
list.Items = make(map[string]*pb.BagInfo, 0)
update["items"] = list.Items
list.Reward = make(map[int32]bool, 0)
update["reward"] = list.Reward // 初始化利润奖励
list.Resettime = endtime
update["resettime"] = list.Resettime
this.module.modelCaravan.modifyCaravanDataByObjId(session.GetUserId(), update)
}
list.Resettime = endtime
update["resettime"] = list.Resettime
}
cityRtime = utils.GetZeroTime(configure.Now().Unix())
if cityRtime != list.Citystime {
list.Allgoods = make(map[string]*pb.GoodsInfo, 0)
// 刷新城市货物信息
this.module.InitCaravanItemData(session.GetUserId(), list)
this.module.InitCaravanCityData(session.GetUserId(), list)
update["allgoods"] = list.Allgoods
update["citystime"] = list.Citystime
update["rtime"] = list.Rtime
update["city"] = list.City
update["period"] = list.Period
}
if len(update) > 0 { // 更新数据
this.module.modelCaravan.modifyCaravanDataByObjId(session.GetUserId(), update)
}
// 刷新城市货物信息
this.module.refreshCaravanCityInfo(session.GetUserId(), list)
resp.TaskTimeOut = this.module.CheckCaravanTask(session, list)
resp.Data = list
session.SendMsg(string(this.module.GetType()), "getlist", resp)

View File

@ -11,6 +11,7 @@ func (this *apiComp) RefreshCityCheck(session comm.IUserSession, req *pb.Caravan
return
}
// 此协议不用
// 刷新城市信息
func (this *apiComp) RefreshCity(session comm.IUserSession, req *pb.CaravanRefreshCityReq) (errdata *pb.ErrorData) {
var (
@ -21,13 +22,13 @@ func (this *apiComp) RefreshCity(session comm.IUserSession, req *pb.CaravanRefre
return // 参数校验失败直接返回
}
list, _ := this.module.modelCaravan.getCaravanList(session.GetUserId())
resp.Oldprice = list.Oldprice
//resp.Oldprice = list.Oldprice
// 刷新城市货物信息
this.module.refreshCaravanCityInfo(session.GetUserId(), list)
resp.Goods = list.Goods
//this.module.refreshCaravanCityInfo(session.GetUserId(), list)
//resp.Goods = list.Goods
resp.City = list.City
resp.Citytime = list.Citystime
resp.Itemtime = list.Itemtime
//resp.Itemtime = list.Itemtime
session.SendMsg(string(this.module.GetType()), "refreshcity", resp)
return
}

View File

@ -189,18 +189,26 @@ func (this *configureComp) GetCaravanInitCity() (initcity int32) {
return
}
// 获取商店刷新时间
// 获取商店刷新频率
func (this *configureComp) GetCityRefreshTime() int32 {
var (
rate int32
)
if v, err := this.GetConfigure(game_caravan_thing); err == nil {
if configure, ok := v.(*cfg.GameCaravanThing); ok {
for _, v := range configure.GetDataList() {
return v.Changetime
rate = v.Changetime
break
}
}
} else {
log.Errorf("get GetCaravanInitCity conf err:%v", err)
}
return 0
if rate == 0 { // 刷新时间不允许为0
rate = 12 // 配置错误的情况走默认次数
} else {
rate = 24 * 3600 / rate
}
return rate
}
// 赛季结束获得奖励

View File

@ -34,24 +34,23 @@ func (this *modelCaravan) Init(service core.IService, module core.IModule, comp
func (this *modelCaravan) getCaravanList(uid string) (result *pb.DBCaravan, err error) {
result = &pb.DBCaravan{
Id: "",
Uid: uid,
Items: map[string]*pb.BagInfo{},
Goods: map[string]*pb.Goods{},
City: map[int32]*pb.CityInfo{},
Oldprice: map[string]int32{},
Id: "",
Uid: uid,
Items: map[string]*pb.BagInfo{},
//Goods: map[string]*pb.Goods{},
City: map[int32]*pb.CityInfo{},
//Oldprice: map[string]int32{},
Group: make(map[int32]bool, 0),
Reward: make(map[int32]bool, 0),
Allgoods: map[string]*pb.GoodsInfo{},
Period: map[string]*pb.GoodPeriod{},
}
if err = this.Get(uid, result); err != nil && mgo.MongodbNil == err {
// 创建一条数据
result.Id = primitive.NewObjectID().Hex()
// 活动持续时间
//result.Resettime = utils.WeekIntervalTime()
result.Citystime = configure.Now().Unix()
result.Rtime = configure.Now().Unix()
result.Lv = 1
result.Curcity = this.module.configure.GetCaravanInitCity() // 获取默认城市
if conf, err := this.module.configure.GetCaravanLv(result.Lv); err == nil {

View File

@ -132,57 +132,73 @@ func (this *Caravan) InitCaravanCityData(uid string, data *pb.DBCaravan) {
// 初始化货物信息
func (this *Caravan) InitCaravanItemData(uid string, data *pb.DBCaravan) {
var changeTime int32
if len(data.Allgoods) != 0 {
return
}
items := this.configure.GetAllCaravanItem()
data.Goods = make(map[string]*pb.Goods, 0)
data.Allgoods = make(map[string]*pb.GoodsInfo, 0)
if data.Period == nil {
data.Period = make(map[string]*pb.GoodPeriod)
}
for _, c := range items {
if changeTime == 0 {
changeTime = c.Changetime
goodinfo := &pb.GoodsInfo{
Goods: make(map[int32]int32, 0),
}
goods := &pb.Goods{
Period: 0, // 变动周期
CurPeriod: 1, // 当前变动周期
Price: 0, // 当前价格
}
if len(c.Changeperiod) == 2 {
goods.Period = comm.GetRandNum(c.Changeperiod[0], c.Changeperiod[1])
goods.Price = c.Goodsprice
// data.Goods[c.Itemid] = goods
}
bUp := false
ipos := comm.GetRandW(c.PriceChangeWeight)
if ipos == 1 {
if comm.GetRandW(c.PriceChangeWeightOne) == 0 {
bUp = true
}
} else if ipos == 2 {
if comm.GetRandW(c.PriceChangeWeightTwo) == 0 {
bUp = true
}
} else if ipos == 3 {
if comm.GetRandW(c.PriceChangeWeightThree) == 0 {
bUp = true
}
}
if len(c.FluctuationRange) == 2 {
p := comm.GetRandNum(c.PriceChangeWeightThree[0], c.PriceChangeWeightThree[1])
if bUp { // 价格上涨
goods.Price = int32(math.Floor(float64(goods.Price) * (1.0 + float64(p)/1000.0)))
} else {
goods.Price = int32(math.Floor(float64(goods.Price) * (1.0 - float64(p)/1000.0)))
}
}
if goods.Price < c.Pricemin { // 设置最小值
goods.Price = c.Pricemin
var index int32
if _, ok := data.Period[c.Itemid]; !ok {
data.Period[c.Itemid] = &pb.GoodPeriod{}
}
if goods.Price > c.Pricemax { // 设置最大值
goods.Price = c.Pricemax
for index = 0; index < this.configure.GetCityRefreshTime(); index++ {
var price int32
price = c.Goodsprice
data.Period[c.Itemid].CurPeriod += 1
if len(c.Changeperiod) == 2 && data.Period[c.Itemid].Period == 0 {
data.Period[c.Itemid].Period = comm.GetRandNum(c.Changeperiod[0], c.Changeperiod[1])
data.Period[c.Itemid].Weightpos = comm.GetRandW(c.PriceChangeWeight)
}
if data.Period[c.Itemid].Period < data.Period[c.Itemid].CurPeriod {
data.Period[c.Itemid].Period = comm.GetRandNum(c.Changeperiod[0], c.Changeperiod[1])
data.Period[c.Itemid].CurPeriod = 0
data.Period[c.Itemid].Weightpos = comm.GetRandW(c.PriceChangeWeight) // 随机涨幅
}
bUp := false
if data.Period[c.Itemid].Weightpos == 0 {
if comm.GetRandW(c.PriceChangeWeightOne) == 0 { // 走配置表一类涨幅
bUp = true
}
} else if data.Period[c.Itemid].Weightpos == 1 {
if comm.GetRandW(c.PriceChangeWeightTwo) == 0 {
bUp = true
}
} else if data.Period[c.Itemid].Weightpos == 2 {
if comm.GetRandW(c.PriceChangeWeightThree) == 0 {
bUp = true
}
}
if len(c.FluctuationRange) == 2 {
p := comm.GetRandNum(c.PriceChangeWeightThree[0], c.PriceChangeWeightThree[1])
if bUp { // 价格上涨
price = int32(math.Floor(float64(price) * (1.0 + float64(p)/1000.0)))
} else {
price = int32(math.Floor(float64(price) * (1.0 - float64(p)/1000.0)))
}
}
if price < c.Pricemin { // 设置最小值
price = c.Pricemin
}
if price > c.Pricemax { // 设置最大值
price = c.Pricemax
}
goodinfo.Goods[index] = price
}
data.Goods[c.Itemid] = goods
data.Oldprice[c.Itemid] = c.Goodsprice
data.Allgoods[c.Itemid] = goodinfo
}
data.Itemtime = configure.Now().Unix() + int64(changeTime) // 设置货物变更时间
}
// 初始化门票和虚拟币
@ -198,15 +214,12 @@ func (this *Caravan) InitCaravanTicket(session comm.IUserSession, conf *cfg.Game
// 刷新城市货物信息
func (this *Caravan) refreshCaravanCityInfo(uid string, caravan *pb.DBCaravan) {
var (
bChange bool
update map[string]interface{}
changeTime int32 // 商店刷新时间
curTime int64 // 当前事件
cityRtime int64
bChange bool
update map[string]interface{}
cityRtime int64
)
curTime = configure.Now().Unix()
update = make(map[string]interface{})
changeTime = this.configure.GetCityRefreshTime()
cityRtime = utils.GetZeroTime(configure.Now().Unix())
// 刷新城市货物信息
if cityRtime != caravan.Citystime {
@ -261,70 +274,7 @@ func (this *Caravan) refreshCaravanCityInfo(uid string, caravan *pb.DBCaravan) {
update["city"] = caravan.City
update["citystime"] = caravan.Citystime
bChange = true
caravan.Itemtime = curTime
}
subTime := int32(curTime - caravan.Itemtime)
if subTime >= 0 {
bChange = true
icount := int32(subTime/changeTime) + 1 // 循环周期
caravan.Itemtime += int64(changeTime * icount)
update["itemtime"] = caravan.Itemtime
for k, v := range caravan.Goods {
if c, err := this.configure.GetCaravanGoods(k); err == nil {
caravan.Oldprice[k] = v.Price
if icount > 50 { //超过一定的周期 则不计算
// 随机出新的变动周期
v.Period = comm.GetRandNum(c.Changeperiod[0], c.Changeperiod[1])
v.CurPeriod = 0
caravan.Itemtime = curTime + int64(changeTime) // 修改变更时间
} else {
for i := 0; i < int(icount); i++ { // 计算当前的价格
// 价格涨跌权重 PriceChangeWeight
bUp := false // true 涨
ipos := comm.GetRandW(c.PriceChangeWeight)
if ipos == 1 {
if comm.GetRandW(c.PriceChangeWeightOne) == 0 {
bUp = true
}
} else if ipos == 2 {
if comm.GetRandW(c.PriceChangeWeightTwo) == 0 {
bUp = true
}
} else if ipos == 3 {
if comm.GetRandW(c.PriceChangeWeightThree) == 0 {
bUp = true
}
}
if len(c.FluctuationRange) == 2 {
p := comm.GetRandNum(c.PriceChangeWeightThree[0], c.PriceChangeWeightThree[1])
if bUp { // 价格上涨
v.Price = int32(math.Floor(float64(v.Price) * (1.0 + float64(p)/1000.0)))
} else {
v.Price = int32(math.Floor(float64(v.Price) * (1.0 - float64(p)/1000.0)))
}
}
if v.Price < c.Pricemin { // 设置最小值
v.Price = c.Pricemin
}
if v.Price > c.Pricemax { // 设置最大值
v.Price = c.Pricemax
}
v.CurPeriod += 1 // 更新周期+1
if v.CurPeriod+icount > v.Period {
// 随机出新的变动周期
v.Period = comm.GetRandNum(c.Changeperiod[0], c.Changeperiod[1])
v.CurPeriod = 0
}
}
}
}
}
update["itemtime"] = caravan.Itemtime
update["goods"] = caravan.Goods
update["oldprice"] = caravan.Oldprice
}
if bChange {

View File

@ -20,69 +20,6 @@ const (
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type Goods struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Period int32 `protobuf:"varint,1,opt,name=period,proto3" json:"period"` // 变动周期
CurPeriod int32 `protobuf:"varint,2,opt,name=curPeriod,proto3" json:"curPeriod"` // 当前变动周期
Price int32 `protobuf:"varint,3,opt,name=price,proto3" json:"price"` // 当前价格
}
func (x *Goods) Reset() {
*x = Goods{}
if protoimpl.UnsafeEnabled {
mi := &file_caravan_caravan_db_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Goods) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Goods) ProtoMessage() {}
func (x *Goods) ProtoReflect() protoreflect.Message {
mi := &file_caravan_caravan_db_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Goods.ProtoReflect.Descriptor instead.
func (*Goods) Descriptor() ([]byte, []int) {
return file_caravan_caravan_db_proto_rawDescGZIP(), []int{0}
}
func (x *Goods) GetPeriod() int32 {
if x != nil {
return x.Period
}
return 0
}
func (x *Goods) GetCurPeriod() int32 {
if x != nil {
return x.CurPeriod
}
return 0
}
func (x *Goods) GetPrice() int32 {
if x != nil {
return x.Price
}
return 0
}
type CityInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -99,7 +36,7 @@ type CityInfo struct {
func (x *CityInfo) Reset() {
*x = CityInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_caravan_caravan_db_proto_msgTypes[1]
mi := &file_caravan_caravan_db_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -112,7 +49,7 @@ func (x *CityInfo) String() string {
func (*CityInfo) ProtoMessage() {}
func (x *CityInfo) ProtoReflect() protoreflect.Message {
mi := &file_caravan_caravan_db_proto_msgTypes[1]
mi := &file_caravan_caravan_db_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -125,7 +62,7 @@ func (x *CityInfo) ProtoReflect() protoreflect.Message {
// Deprecated: Use CityInfo.ProtoReflect.Descriptor instead.
func (*CityInfo) Descriptor() ([]byte, []int) {
return file_caravan_caravan_db_proto_rawDescGZIP(), []int{1}
return file_caravan_caravan_db_proto_rawDescGZIP(), []int{0}
}
func (x *CityInfo) GetSpecial() []string {
@ -182,7 +119,7 @@ type BagInfo struct {
func (x *BagInfo) Reset() {
*x = BagInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_caravan_caravan_db_proto_msgTypes[2]
mi := &file_caravan_caravan_db_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -195,7 +132,7 @@ func (x *BagInfo) String() string {
func (*BagInfo) ProtoMessage() {}
func (x *BagInfo) ProtoReflect() protoreflect.Message {
mi := &file_caravan_caravan_db_proto_msgTypes[2]
mi := &file_caravan_caravan_db_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -208,7 +145,7 @@ func (x *BagInfo) ProtoReflect() protoreflect.Message {
// Deprecated: Use BagInfo.ProtoReflect.Descriptor instead.
func (*BagInfo) Descriptor() ([]byte, []int) {
return file_caravan_caravan_db_proto_rawDescGZIP(), []int{2}
return file_caravan_caravan_db_proto_rawDescGZIP(), []int{1}
}
func (x *BagInfo) GetCount() int32 {
@ -230,32 +167,30 @@ type DBCaravan struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID
Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid" bson:"uid"` //用户ID
//int32 useCount = 3; //@go_tags(`bson:"useCount"`) 当前背包使用的数量
Items map[string]*BagInfo `protobuf:"bytes,4,rep,name=items,proto3" json:"items" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // 背包数据
Goods map[string]*Goods `protobuf:"bytes,5,rep,name=goods,proto3" json:"goods" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // key 货物ID
City map[int32]*CityInfo `protobuf:"bytes,6,rep,name=city,proto3" json:"city" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // 城市信息
Lv int32 `protobuf:"varint,7,opt,name=lv,proto3" json:"lv"` // 商队等级
Profit int64 `protobuf:"varint,8,opt,name=profit,proto3" json:"profit"` // 虚拟货利润
Resettime int64 `protobuf:"varint,9,opt,name=resettime,proto3" json:"resettime"` // 赛季结算时间
Curcity int32 `protobuf:"varint,10,opt,name=curcity,proto3" json:"curcity"` // 当前城市
Taskid int32 `protobuf:"varint,11,opt,name=taskid,proto3" json:"taskid"` // 对应对应世界任务组 worldtask
Eventid int32 `protobuf:"varint,12,opt,name=eventid,proto3" json:"eventid"` // 特殊事件ID(事件配置唯一id)
Tasktime int64 `protobuf:"varint,13,opt,name=tasktime,proto3" json:"tasktime"` // 任务触发时间
Baglimit int32 `protobuf:"varint,14,opt,name=baglimit,proto3" json:"baglimit"` // 背包上限
Citystime int64 `protobuf:"varint,15,opt,name=citystime,proto3" json:"citystime"` // 城市刷新时间 固定每天0点刷新
Oldprice map[string]int32 `protobuf:"bytes,16,rep,name=oldprice,proto3" json:"oldprice" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 上一次价格 key 货物ID
Rtime int64 `protobuf:"varint,17,opt,name=rtime,proto3" json:"rtime"` // 客户端不用这个时间
Group map[int32]bool `protobuf:"bytes,18,rep,name=group,proto3" json:"group" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //服务器用
Reward map[int32]bool `protobuf:"bytes,19,rep,name=reward,proto3" json:"reward" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 记录盈利奖励
Itemtime int64 `protobuf:"varint,20,opt,name=itemtime,proto3" json:"itemtime"` // 玩家身上的货物同时刷新
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID
Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid" bson:"uid"` //用户ID
Items map[string]*BagInfo `protobuf:"bytes,3,rep,name=items,proto3" json:"items" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // 背包数据
City map[int32]*CityInfo `protobuf:"bytes,4,rep,name=city,proto3" json:"city" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // 城市信息
Lv int32 `protobuf:"varint,5,opt,name=lv,proto3" json:"lv"` // 商队等级
Profit int64 `protobuf:"varint,6,opt,name=profit,proto3" json:"profit"` // 虚拟货利润
Resettime int64 `protobuf:"varint,7,opt,name=resettime,proto3" json:"resettime"` // 赛季结算时间
Curcity int32 `protobuf:"varint,8,opt,name=curcity,proto3" json:"curcity"` // 当前城市
Taskid int32 `protobuf:"varint,9,opt,name=taskid,proto3" json:"taskid"` // 对应对应世界任务组 worldtask
Eventid int32 `protobuf:"varint,10,opt,name=eventid,proto3" json:"eventid"` // 特殊事件ID(事件配置唯一id)
Tasktime int64 `protobuf:"varint,11,opt,name=tasktime,proto3" json:"tasktime"` // 任务触发时间
Baglimit int32 `protobuf:"varint,12,opt,name=baglimit,proto3" json:"baglimit"` // 背包上限
Citystime int64 `protobuf:"varint,13,opt,name=citystime,proto3" json:"citystime"` // 城市刷新时间 固定每天0点刷新
Rtime int64 `protobuf:"varint,14,opt,name=rtime,proto3" json:"rtime"` // 客户端不用这个时间
Group map[int32]bool `protobuf:"bytes,15,rep,name=group,proto3" json:"group" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //服务器用
Reward map[int32]bool `protobuf:"bytes,16,rep,name=reward,proto3" json:"reward" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 记录盈利奖励
Allgoods map[string]*GoodsInfo `protobuf:"bytes,17,rep,name=allgoods,proto3" json:"allgoods" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // key 货物ID
Period map[string]*GoodPeriod `protobuf:"bytes,18,rep,name=period,proto3" json:"period" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // key 货物ID
}
func (x *DBCaravan) Reset() {
*x = DBCaravan{}
if protoimpl.UnsafeEnabled {
mi := &file_caravan_caravan_db_proto_msgTypes[3]
mi := &file_caravan_caravan_db_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -268,7 +203,7 @@ func (x *DBCaravan) String() string {
func (*DBCaravan) ProtoMessage() {}
func (x *DBCaravan) ProtoReflect() protoreflect.Message {
mi := &file_caravan_caravan_db_proto_msgTypes[3]
mi := &file_caravan_caravan_db_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -281,7 +216,7 @@ func (x *DBCaravan) ProtoReflect() protoreflect.Message {
// Deprecated: Use DBCaravan.ProtoReflect.Descriptor instead.
func (*DBCaravan) Descriptor() ([]byte, []int) {
return file_caravan_caravan_db_proto_rawDescGZIP(), []int{3}
return file_caravan_caravan_db_proto_rawDescGZIP(), []int{2}
}
func (x *DBCaravan) GetId() string {
@ -305,13 +240,6 @@ func (x *DBCaravan) GetItems() map[string]*BagInfo {
return nil
}
func (x *DBCaravan) GetGoods() map[string]*Goods {
if x != nil {
return x.Goods
}
return nil
}
func (x *DBCaravan) GetCity() map[int32]*CityInfo {
if x != nil {
return x.City
@ -382,13 +310,6 @@ func (x *DBCaravan) GetCitystime() int64 {
return 0
}
func (x *DBCaravan) GetOldprice() map[string]int32 {
if x != nil {
return x.Oldprice
}
return nil
}
func (x *DBCaravan) GetRtime() int64 {
if x != nil {
return x.Rtime
@ -410,13 +331,130 @@ func (x *DBCaravan) GetReward() map[int32]bool {
return nil
}
func (x *DBCaravan) GetItemtime() int64 {
func (x *DBCaravan) GetAllgoods() map[string]*GoodsInfo {
if x != nil {
return x.Itemtime
return x.Allgoods
}
return nil
}
func (x *DBCaravan) GetPeriod() map[string]*GoodPeriod {
if x != nil {
return x.Period
}
return nil
}
type GoodPeriod struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Period int32 `protobuf:"varint,1,opt,name=period,proto3" json:"period"` // 变动周期
CurPeriod int32 `protobuf:"varint,2,opt,name=curPeriod,proto3" json:"curPeriod"` // 当前变动周期
Weightpos int32 `protobuf:"varint,3,opt,name=weightpos,proto3" json:"weightpos"` // 服务端记录的值
}
func (x *GoodPeriod) Reset() {
*x = GoodPeriod{}
if protoimpl.UnsafeEnabled {
mi := &file_caravan_caravan_db_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GoodPeriod) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GoodPeriod) ProtoMessage() {}
func (x *GoodPeriod) ProtoReflect() protoreflect.Message {
mi := &file_caravan_caravan_db_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GoodPeriod.ProtoReflect.Descriptor instead.
func (*GoodPeriod) Descriptor() ([]byte, []int) {
return file_caravan_caravan_db_proto_rawDescGZIP(), []int{3}
}
func (x *GoodPeriod) GetPeriod() int32 {
if x != nil {
return x.Period
}
return 0
}
func (x *GoodPeriod) GetCurPeriod() int32 {
if x != nil {
return x.CurPeriod
}
return 0
}
func (x *GoodPeriod) GetWeightpos() int32 {
if x != nil {
return x.Weightpos
}
return 0
}
type GoodsInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Goods map[int32]int32 `protobuf:"bytes,1,rep,name=goods,proto3" json:"goods" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // key 货物ID
}
func (x *GoodsInfo) Reset() {
*x = GoodsInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_caravan_caravan_db_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GoodsInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GoodsInfo) ProtoMessage() {}
func (x *GoodsInfo) ProtoReflect() protoreflect.Message {
mi := &file_caravan_caravan_db_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GoodsInfo.ProtoReflect.Descriptor instead.
func (*GoodsInfo) Descriptor() ([]byte, []int) {
return file_caravan_caravan_db_proto_rawDescGZIP(), []int{4}
}
func (x *GoodsInfo) GetGoods() map[int32]int32 {
if x != nil {
return x.Goods
}
return nil
}
type CaravanRankInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -434,7 +472,7 @@ type CaravanRankInfo struct {
func (x *CaravanRankInfo) Reset() {
*x = CaravanRankInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_caravan_caravan_db_proto_msgTypes[4]
mi := &file_caravan_caravan_db_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -447,7 +485,7 @@ func (x *CaravanRankInfo) String() string {
func (*CaravanRankInfo) ProtoMessage() {}
func (x *CaravanRankInfo) ProtoReflect() protoreflect.Message {
mi := &file_caravan_caravan_db_proto_msgTypes[4]
mi := &file_caravan_caravan_db_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -460,7 +498,7 @@ func (x *CaravanRankInfo) ProtoReflect() protoreflect.Message {
// Deprecated: Use CaravanRankInfo.ProtoReflect.Descriptor instead.
func (*CaravanRankInfo) Descriptor() ([]byte, []int) {
return file_caravan_caravan_db_proto_rawDescGZIP(), []int{4}
return file_caravan_caravan_db_proto_rawDescGZIP(), []int{5}
}
func (x *CaravanRankInfo) GetUid() string {
@ -516,109 +554,116 @@ var File_caravan_caravan_db_proto protoreflect.FileDescriptor
var file_caravan_caravan_db_proto_rawDesc = []byte{
0x0a, 0x18, 0x63, 0x61, 0x72, 0x61, 0x76, 0x61, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x61, 0x76, 0x61,
0x6e, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x53, 0x0a, 0x05, 0x47, 0x6f,
0x6f, 0x64, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63,
0x75, 0x72, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09,
0x63, 0x75, 0x72, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69,
0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x22,
0x9e, 0x02, 0x0a, 0x08, 0x43, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07,
0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73,
0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x12, 0x2a, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x43, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f,
0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x18,
0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c,
0x12, 0x22, 0x0a, 0x0c, 0x65, 0x78, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x43, 0x54,
0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x65, 0x78, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61,
0x6c, 0x50, 0x43, 0x54, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x65, 0x78, 0x73, 0x70,
0x65, 0x63, 0x69, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78,
0x74, 0x65, 0x78, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x12, 0x2a, 0x0a, 0x10, 0x6e, 0x65,
0x78, 0x74, 0x65, 0x78, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x43, 0x54, 0x18, 0x06,
0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6e, 0x65, 0x78, 0x74, 0x65, 0x78, 0x73, 0x70, 0x65, 0x63,
0x69, 0x61, 0x6c, 0x50, 0x43, 0x54, 0x1a, 0x38, 0x0a, 0x0a, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x22, 0x35, 0x0a, 0x07, 0x42, 0x61, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x22, 0xda, 0x07, 0x0a, 0x09, 0x44, 0x42, 0x43, 0x61,
0x72, 0x61, 0x76, 0x61, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73,
0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x44, 0x42, 0x43, 0x61, 0x72, 0x61, 0x76,
0x61, 0x6e, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69,
0x74, 0x65, 0x6d, 0x73, 0x12, 0x2b, 0x0a, 0x05, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x18, 0x05, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x44, 0x42, 0x43, 0x61, 0x72, 0x61, 0x76, 0x61, 0x6e, 0x2e,
0x47, 0x6f, 0x6f, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x67, 0x6f, 0x6f, 0x64,
0x73, 0x12, 0x28, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x14, 0x2e, 0x44, 0x42, 0x43, 0x61, 0x72, 0x61, 0x76, 0x61, 0x6e, 0x2e, 0x43, 0x69, 0x74, 0x79,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x6c,
0x76, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x16, 0x0a, 0x06, 0x70,
0x72, 0x6f, 0x66, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x72, 0x6f,
0x66, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6d, 0x65,
0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x65, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6d,
0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x63, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01,
0x28, 0x05, 0x52, 0x07, 0x63, 0x75, 0x72, 0x63, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x74,
0x61, 0x73, 0x6b, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x61, 0x73,
0x6b, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x0c,
0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x1a, 0x0a,
0x08, 0x74, 0x61, 0x73, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52,
0x08, 0x74, 0x61, 0x73, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x67,
0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x61, 0x67,
0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x69, 0x74, 0x79, 0x73, 0x74, 0x69,
0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x69, 0x74, 0x79, 0x73, 0x74,
0x69, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x08, 0x6f, 0x6c, 0x64, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18,
0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x44, 0x42, 0x43, 0x61, 0x72, 0x61, 0x76, 0x61,
0x6e, 0x2e, 0x4f, 0x6c, 0x64, 0x70, 0x72, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x08, 0x6f, 0x6c, 0x64, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x74, 0x69,
0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x12,
0x2b, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15,
0x2e, 0x44, 0x42, 0x43, 0x61, 0x72, 0x61, 0x76, 0x61, 0x6e, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2e, 0x0a, 0x06,
0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x44,
0x42, 0x43, 0x61, 0x72, 0x61, 0x76, 0x61, 0x6e, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08,
0x69, 0x74, 0x65, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08,
0x69, 0x74, 0x65, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x1a, 0x42, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d,
0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x42, 0x61, 0x67, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x0a,
0x47, 0x6f, 0x6f, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x47, 0x6f,
0x6f, 0x64, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42,
0x6e, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9e, 0x02, 0x0a, 0x08, 0x43,
0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x70, 0x65, 0x63, 0x69,
0x61, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61,
0x6c, 0x12, 0x2a, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x14, 0x2e, 0x43, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a,
0x09, 0x65, 0x78, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09,
0x52, 0x09, 0x65, 0x78, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x65,
0x78, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x43, 0x54, 0x18, 0x04, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0c, 0x65, 0x78, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x43, 0x54, 0x12,
0x24, 0x0a, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x65, 0x78, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c,
0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x65, 0x78, 0x73, 0x70,
0x65, 0x63, 0x69, 0x61, 0x6c, 0x12, 0x2a, 0x0a, 0x10, 0x6e, 0x65, 0x78, 0x74, 0x65, 0x78, 0x73,
0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x43, 0x54, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52,
0x10, 0x6e, 0x65, 0x78, 0x74, 0x65, 0x78, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x43,
0x54, 0x1a, 0x38, 0x0a, 0x0a, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x35, 0x0a, 0x07, 0x42,
0x61, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05,
0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x70, 0x72, 0x69,
0x63, 0x65, 0x22, 0xd3, 0x07, 0x0a, 0x09, 0x44, 0x42, 0x43, 0x61, 0x72, 0x61, 0x76, 0x61, 0x6e,
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75,
0x69, 0x64, 0x12, 0x2b, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x15, 0x2e, 0x44, 0x42, 0x43, 0x61, 0x72, 0x61, 0x76, 0x61, 0x6e, 0x2e, 0x49, 0x74,
0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12,
0x28, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e,
0x44, 0x42, 0x43, 0x61, 0x72, 0x61, 0x76, 0x61, 0x6e, 0x2e, 0x43, 0x69, 0x74, 0x79, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18,
0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x6f,
0x66, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x72, 0x6f, 0x66, 0x69,
0x74, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07,
0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x65, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x12,
0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x63, 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05,
0x52, 0x07, 0x63, 0x75, 0x72, 0x63, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73,
0x6b, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x69,
0x64, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01,
0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x74,
0x61, 0x73, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x74,
0x61, 0x73, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x67, 0x6c, 0x69,
0x6d, 0x69, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x61, 0x67, 0x6c, 0x69,
0x6d, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x69, 0x74, 0x79, 0x73, 0x74, 0x69, 0x6d, 0x65,
0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x69, 0x74, 0x79, 0x73, 0x74, 0x69, 0x6d,
0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03,
0x52, 0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70,
0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x44, 0x42, 0x43, 0x61, 0x72, 0x61, 0x76,
0x61, 0x6e, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x67,
0x72, 0x6f, 0x75, 0x70, 0x12, 0x2e, 0x0a, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x10,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x44, 0x42, 0x43, 0x61, 0x72, 0x61, 0x76, 0x61, 0x6e,
0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x72, 0x65,
0x77, 0x61, 0x72, 0x64, 0x12, 0x34, 0x0a, 0x08, 0x61, 0x6c, 0x6c, 0x67, 0x6f, 0x6f, 0x64, 0x73,
0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x44, 0x42, 0x43, 0x61, 0x72, 0x61, 0x76,
0x61, 0x6e, 0x2e, 0x41, 0x6c, 0x6c, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x08, 0x61, 0x6c, 0x6c, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x12, 0x2e, 0x0a, 0x06, 0x70, 0x65,
0x72, 0x69, 0x6f, 0x64, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x44, 0x42, 0x43,
0x61, 0x72, 0x61, 0x76, 0x61, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x52, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x1a, 0x42, 0x0a, 0x0a, 0x49, 0x74,
0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1e, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x42, 0x61, 0x67, 0x49,
0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42,
0x0a, 0x09, 0x43, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x43,
0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x1a, 0x3b, 0x0a, 0x0d, 0x4f, 0x6c, 0x64, 0x70, 0x72, 0x69, 0x63, 0x65, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
0x38, 0x0a, 0x0a, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x52, 0x65, 0x77,
0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x22, 0xbf, 0x01, 0x0a, 0x0f, 0x43, 0x61, 0x72, 0x61, 0x76, 0x61, 0x6e,
0x52, 0x61, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16,
0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x6c, 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
0x75, 0x73, 0x65, 0x72, 0x6c, 0x76, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72,
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x12,
0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, 0x61,
0x6e, 0x6b, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x6d, 0x6f,
0x6e, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6d, 0x65, 0x72, 0x63, 0x68,
0x61, 0x6e, 0x74, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x72, 0x61,
0x76, 0x61, 0x6e, 0x4c, 0x76, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x61, 0x72,
0x61, 0x76, 0x61, 0x6e, 0x4c, 0x76, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x38, 0x01, 0x1a, 0x38, 0x0a, 0x0a, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b,
0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x0b,
0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x47, 0x0a, 0x0d, 0x41, 0x6c, 0x6c, 0x67, 0x6f,
0x6f, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x47, 0x6f, 0x6f, 0x64,
0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x1a, 0x46, 0x0a, 0x0b, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x21, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x0b, 0x2e, 0x47, 0x6f, 0x6f, 0x64, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x52, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x60, 0x0a, 0x0a, 0x47, 0x6f, 0x6f, 0x64,
0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x1c,
0x0a, 0x09, 0x63, 0x75, 0x72, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
0x05, 0x52, 0x09, 0x63, 0x75, 0x72, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x1c, 0x0a, 0x09,
0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x70, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
0x09, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x70, 0x6f, 0x73, 0x22, 0x72, 0x0a, 0x09, 0x47, 0x6f,
0x6f, 0x64, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2b, 0x0a, 0x05, 0x67, 0x6f, 0x6f, 0x64, 0x73,
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x6e,
0x66, 0x6f, 0x2e, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x67,
0x6f, 0x6f, 0x64, 0x73, 0x1a, 0x38, 0x0a, 0x0a, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xbf,
0x01, 0x0a, 0x0f, 0x43, 0x61, 0x72, 0x61, 0x76, 0x61, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x6e,
0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72,
0x6c, 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x6c, 0x76,
0x12, 0x16, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b,
0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x12, 0x24, 0x0a, 0x0d,
0x6d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x18, 0x06, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0d, 0x6d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x6d, 0x6f, 0x6e,
0x65, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x72, 0x61, 0x76, 0x61, 0x6e, 0x4c, 0x76, 0x18,
0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x61, 0x72, 0x61, 0x76, 0x61, 0x6e, 0x4c, 0x76,
0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@ -633,37 +678,41 @@ func file_caravan_caravan_db_proto_rawDescGZIP() []byte {
return file_caravan_caravan_db_proto_rawDescData
}
var file_caravan_caravan_db_proto_msgTypes = make([]protoimpl.MessageInfo, 12)
var file_caravan_caravan_db_proto_msgTypes = make([]protoimpl.MessageInfo, 14)
var file_caravan_caravan_db_proto_goTypes = []interface{}{
(*Goods)(nil), // 0: Goods
(*CityInfo)(nil), // 1: CityInfo
(*BagInfo)(nil), // 2: BagInfo
(*DBCaravan)(nil), // 3: DBCaravan
(*CaravanRankInfo)(nil), // 4: CaravanRankInfo
nil, // 5: CityInfo.CountEntry
nil, // 6: DBCaravan.ItemsEntry
nil, // 7: DBCaravan.GoodsEntry
(*CityInfo)(nil), // 0: CityInfo
(*BagInfo)(nil), // 1: BagInfo
(*DBCaravan)(nil), // 2: DBCaravan
(*GoodPeriod)(nil), // 3: GoodPeriod
(*GoodsInfo)(nil), // 4: GoodsInfo
(*CaravanRankInfo)(nil), // 5: CaravanRankInfo
nil, // 6: CityInfo.CountEntry
nil, // 7: DBCaravan.ItemsEntry
nil, // 8: DBCaravan.CityEntry
nil, // 9: DBCaravan.OldpriceEntry
nil, // 10: DBCaravan.GroupEntry
nil, // 11: DBCaravan.RewardEntry
nil, // 9: DBCaravan.GroupEntry
nil, // 10: DBCaravan.RewardEntry
nil, // 11: DBCaravan.AllgoodsEntry
nil, // 12: DBCaravan.PeriodEntry
nil, // 13: GoodsInfo.GoodsEntry
}
var file_caravan_caravan_db_proto_depIdxs = []int32{
5, // 0: CityInfo.count:type_name -> CityInfo.CountEntry
6, // 1: DBCaravan.items:type_name -> DBCaravan.ItemsEntry
7, // 2: DBCaravan.goods:type_name -> DBCaravan.GoodsEntry
8, // 3: DBCaravan.city:type_name -> DBCaravan.CityEntry
9, // 4: DBCaravan.oldprice:type_name -> DBCaravan.OldpriceEntry
10, // 5: DBCaravan.group:type_name -> DBCaravan.GroupEntry
11, // 6: DBCaravan.reward:type_name -> DBCaravan.RewardEntry
2, // 7: DBCaravan.ItemsEntry.value:type_name -> BagInfo
0, // 8: DBCaravan.GoodsEntry.value:type_name -> Goods
1, // 9: DBCaravan.CityEntry.value:type_name -> CityInfo
10, // [10:10] is the sub-list for method output_type
10, // [10:10] is the sub-list for method input_type
10, // [10:10] is the sub-list for extension type_name
10, // [10:10] is the sub-list for extension extendee
0, // [0:10] is the sub-list for field type_name
6, // 0: CityInfo.count:type_name -> CityInfo.CountEntry
7, // 1: DBCaravan.items:type_name -> DBCaravan.ItemsEntry
8, // 2: DBCaravan.city:type_name -> DBCaravan.CityEntry
9, // 3: DBCaravan.group:type_name -> DBCaravan.GroupEntry
10, // 4: DBCaravan.reward:type_name -> DBCaravan.RewardEntry
11, // 5: DBCaravan.allgoods:type_name -> DBCaravan.AllgoodsEntry
12, // 6: DBCaravan.period:type_name -> DBCaravan.PeriodEntry
13, // 7: GoodsInfo.goods:type_name -> GoodsInfo.GoodsEntry
1, // 8: DBCaravan.ItemsEntry.value:type_name -> BagInfo
0, // 9: DBCaravan.CityEntry.value:type_name -> CityInfo
4, // 10: DBCaravan.AllgoodsEntry.value:type_name -> GoodsInfo
3, // 11: DBCaravan.PeriodEntry.value:type_name -> GoodPeriod
12, // [12:12] is the sub-list for method output_type
12, // [12:12] is the sub-list for method input_type
12, // [12:12] is the sub-list for extension type_name
12, // [12:12] is the sub-list for extension extendee
0, // [0:12] is the sub-list for field type_name
}
func init() { file_caravan_caravan_db_proto_init() }
@ -673,18 +722,6 @@ func file_caravan_caravan_db_proto_init() {
}
if !protoimpl.UnsafeEnabled {
file_caravan_caravan_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Goods); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_caravan_caravan_db_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CityInfo); i {
case 0:
return &v.state
@ -696,7 +733,7 @@ func file_caravan_caravan_db_proto_init() {
return nil
}
}
file_caravan_caravan_db_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
file_caravan_caravan_db_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BagInfo); i {
case 0:
return &v.state
@ -708,7 +745,7 @@ func file_caravan_caravan_db_proto_init() {
return nil
}
}
file_caravan_caravan_db_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
file_caravan_caravan_db_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBCaravan); i {
case 0:
return &v.state
@ -720,7 +757,31 @@ func file_caravan_caravan_db_proto_init() {
return nil
}
}
file_caravan_caravan_db_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GoodPeriod); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_caravan_caravan_db_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GoodsInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_caravan_caravan_db_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CaravanRankInfo); i {
case 0:
return &v.state
@ -739,7 +800,7 @@ func file_caravan_caravan_db_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_caravan_caravan_db_proto_rawDesc,
NumEnums: 0,
NumMessages: 12,
NumMessages: 14,
NumExtensions: 0,
NumServices: 0,
},

View File

@ -648,11 +648,11 @@ type CaravanRefreshCityResp struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Goods map[string]*Goods `protobuf:"bytes,1,rep,name=goods,proto3" json:"goods" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // key 货物ID
City map[int32]*CityInfo `protobuf:"bytes,2,rep,name=city,proto3" json:"city" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // 城市信息
Oldprice map[string]int32 `protobuf:"bytes,3,rep,name=Oldprice,proto3" json:"Oldprice" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
Itemtime int64 `protobuf:"varint,4,opt,name=itemtime,proto3" json:"itemtime"` // 道具刷新时间
Citytime int64 `protobuf:"varint,5,opt,name=citytime,proto3" json:"citytime"` // 城市刷新时间
// map<string,Goods> goods = 1; // key 货物ID
City map[int32]*CityInfo `protobuf:"bytes,1,rep,name=city,proto3" json:"city" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // 城市信息
Oldprice map[string]int32 `protobuf:"bytes,2,rep,name=Oldprice,proto3" json:"Oldprice" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
// int64 itemtime = 4; // 道具刷新时间
Citytime int64 `protobuf:"varint,3,opt,name=citytime,proto3" json:"citytime"` // 城市刷新时间
}
func (x *CaravanRefreshCityResp) Reset() {
@ -687,13 +687,6 @@ func (*CaravanRefreshCityResp) Descriptor() ([]byte, []int) {
return file_caravan_caravan_msg_proto_rawDescGZIP(), []int{12}
}
func (x *CaravanRefreshCityResp) GetGoods() map[string]*Goods {
if x != nil {
return x.Goods
}
return nil
}
func (x *CaravanRefreshCityResp) GetCity() map[int32]*CityInfo {
if x != nil {
return x.City
@ -708,13 +701,6 @@ func (x *CaravanRefreshCityResp) GetOldprice() map[string]int32 {
return nil
}
func (x *CaravanRefreshCityResp) GetItemtime() int64 {
if x != nil {
return x.Itemtime
}
return 0
}
func (x *CaravanRefreshCityResp) GetCitytime() int64 {
if x != nil {
return x.Citytime
@ -889,50 +875,41 @@ var file_caravan_caravan_msg_proto_rawDesc = []byte{
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x43, 0x61, 0x72, 0x61, 0x76, 0x61, 0x6e,
0x52, 0x61, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e,
0x66, 0x6f, 0x22, 0x17, 0x0a, 0x15, 0x43, 0x61, 0x72, 0x61, 0x76, 0x61, 0x6e, 0x52, 0x65, 0x66,
0x72, 0x65, 0x73, 0x68, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x22, 0xc7, 0x03, 0x0a, 0x16,
0x72, 0x65, 0x73, 0x68, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x22, 0xaf, 0x02, 0x0a, 0x16,
0x43, 0x61, 0x72, 0x61, 0x76, 0x61, 0x6e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x69,
0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x38, 0x0a, 0x05, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x18,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x43, 0x61, 0x72, 0x61, 0x76, 0x61, 0x6e, 0x52,
0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x47,
0x6f, 0x6f, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x67, 0x6f, 0x6f, 0x64, 0x73,
0x12, 0x35, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21,
0x2e, 0x43, 0x61, 0x72, 0x61, 0x76, 0x61, 0x6e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43,
0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x43, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x41, 0x0a, 0x08, 0x4f, 0x6c, 0x64, 0x70, 0x72,
0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x43, 0x61, 0x72, 0x61,
0x76, 0x61, 0x6e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65,
0x73, 0x70, 0x2e, 0x4f, 0x6c, 0x64, 0x70, 0x72, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x08, 0x4f, 0x6c, 0x64, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x74,
0x65, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x74,
0x65, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x69, 0x74, 0x79, 0x74, 0x69,
0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x69, 0x74, 0x79, 0x74, 0x69,
0x6d, 0x65, 0x1a, 0x40, 0x0a, 0x0a, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
0x65, 0x79, 0x12, 0x1c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x06, 0x2e, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x09, 0x43, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03,
0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x09, 0x2e, 0x43, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3b, 0x0a, 0x0d, 0x4f, 0x6c, 0x64, 0x70,
0x72, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x25, 0x0a, 0x13, 0x43, 0x61, 0x72, 0x61, 0x76, 0x61, 0x6e,
0x47, 0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02,
0x6c, 0x76, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x22, 0xab, 0x01, 0x0a,
0x14, 0x43, 0x61, 0x72, 0x61, 0x76, 0x61, 0x6e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72,
0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x39, 0x0a, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x43, 0x61, 0x72, 0x61, 0x76, 0x61, 0x6e, 0x47,
0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x52, 0x65, 0x77,
0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64,
0x12, 0x1d, 0x0a, 0x04, 0x61, 0x6e, 0x74, 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09,
0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x6e, 0x6f, 0x52, 0x04, 0x61, 0x6e, 0x74, 0x6f, 0x1a,
0x39, 0x0a, 0x0b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b,
0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x35, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x43, 0x61, 0x72, 0x61, 0x76, 0x61, 0x6e, 0x52, 0x65,
0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x43, 0x69,
0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x41, 0x0a,
0x08, 0x4f, 0x6c, 0x64, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x25, 0x2e, 0x43, 0x61, 0x72, 0x61, 0x76, 0x61, 0x6e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68,
0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4f, 0x6c, 0x64, 0x70, 0x72, 0x69, 0x63,
0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x4f, 0x6c, 0x64, 0x70, 0x72, 0x69, 0x63, 0x65,
0x12, 0x1a, 0x0a, 0x08, 0x63, 0x69, 0x74, 0x79, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01,
0x28, 0x03, 0x52, 0x08, 0x63, 0x69, 0x74, 0x79, 0x74, 0x69, 0x6d, 0x65, 0x1a, 0x42, 0x0a, 0x09,
0x43, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x43, 0x69, 0x74,
0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x1a, 0x3b, 0x0a, 0x0d, 0x4f, 0x6c, 0x64, 0x70, 0x72, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x25, 0x0a,
0x13, 0x43, 0x61, 0x72, 0x61, 0x76, 0x61, 0x6e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72,
0x64, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x52, 0x02, 0x6c, 0x76, 0x22, 0xab, 0x01, 0x0a, 0x14, 0x43, 0x61, 0x72, 0x61, 0x76, 0x61, 0x6e,
0x47, 0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x39, 0x0a,
0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e,
0x43, 0x61, 0x72, 0x61, 0x76, 0x61, 0x6e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64,
0x52, 0x65, 0x73, 0x70, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1d, 0x0a, 0x04, 0x61, 0x6e, 0x74, 0x6f,
0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x6e,
0x6f, 0x52, 0x04, 0x61, 0x6e, 0x74, 0x6f, 0x1a, 0x39, 0x0a, 0x0b, 0x52, 0x65, 0x77, 0x61, 0x72,
0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x33,
}
var (
@ -947,7 +924,7 @@ func file_caravan_caravan_msg_proto_rawDescGZIP() []byte {
return file_caravan_caravan_msg_proto_rawDescData
}
var file_caravan_caravan_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 20)
var file_caravan_caravan_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 19)
var file_caravan_caravan_msg_proto_goTypes = []interface{}{
(*CaravanGetListReq)(nil), // 0: CaravanGetListReq
(*CaravanGetListResp)(nil), // 1: CaravanGetListResp
@ -965,39 +942,35 @@ var file_caravan_caravan_msg_proto_goTypes = []interface{}{
(*CaravanGetRewardReq)(nil), // 13: CaravanGetRewardReq
(*CaravanGetRewardResp)(nil), // 14: CaravanGetRewardResp
nil, // 15: CaravanBuyOrSellReq.ItemsEntry
nil, // 16: CaravanRefreshCityResp.GoodsEntry
nil, // 17: CaravanRefreshCityResp.CityEntry
nil, // 18: CaravanRefreshCityResp.OldpriceEntry
nil, // 19: CaravanGetRewardResp.RewardEntry
(*DBCaravan)(nil), // 20: DBCaravan
(*UserAssets)(nil), // 21: UserAssets
(*CaravanRankInfo)(nil), // 22: CaravanRankInfo
(*UserAtno)(nil), // 23: UserAtno
(*Goods)(nil), // 24: Goods
(*CityInfo)(nil), // 25: CityInfo
nil, // 16: CaravanRefreshCityResp.CityEntry
nil, // 17: CaravanRefreshCityResp.OldpriceEntry
nil, // 18: CaravanGetRewardResp.RewardEntry
(*DBCaravan)(nil), // 19: DBCaravan
(*UserAssets)(nil), // 20: UserAssets
(*CaravanRankInfo)(nil), // 21: CaravanRankInfo
(*UserAtno)(nil), // 22: UserAtno
(*CityInfo)(nil), // 23: CityInfo
}
var file_caravan_caravan_msg_proto_depIdxs = []int32{
20, // 0: CaravanGetListResp.data:type_name -> DBCaravan
19, // 0: CaravanGetListResp.data:type_name -> DBCaravan
15, // 1: CaravanBuyOrSellReq.items:type_name -> CaravanBuyOrSellReq.ItemsEntry
20, // 2: CaravanBuyOrSellResp.data:type_name -> DBCaravan
20, // 3: CaravanGotoCityResp.data:type_name -> DBCaravan
20, // 4: CaravanGetStoryResp.data:type_name -> DBCaravan
20, // 5: CaravanTaskCompletePush.data:type_name -> DBCaravan
21, // 6: CaravanTaskCompletePush.reward:type_name -> UserAssets
22, // 7: CaravanRankListResp.list:type_name -> CaravanRankInfo
22, // 8: CaravanRankListResp.userinfo:type_name -> CaravanRankInfo
16, // 9: CaravanRefreshCityResp.goods:type_name -> CaravanRefreshCityResp.GoodsEntry
17, // 10: CaravanRefreshCityResp.city:type_name -> CaravanRefreshCityResp.CityEntry
18, // 11: CaravanRefreshCityResp.Oldprice:type_name -> CaravanRefreshCityResp.OldpriceEntry
19, // 12: CaravanGetRewardResp.reward:type_name -> CaravanGetRewardResp.RewardEntry
23, // 13: CaravanGetRewardResp.anto:type_name -> UserAtno
24, // 14: CaravanRefreshCityResp.GoodsEntry.value:type_name -> Goods
25, // 15: CaravanRefreshCityResp.CityEntry.value:type_name -> CityInfo
16, // [16:16] is the sub-list for method output_type
16, // [16:16] is the sub-list for method input_type
16, // [16:16] is the sub-list for extension type_name
16, // [16:16] is the sub-list for extension extendee
0, // [0:16] is the sub-list for field type_name
19, // 2: CaravanBuyOrSellResp.data:type_name -> DBCaravan
19, // 3: CaravanGotoCityResp.data:type_name -> DBCaravan
19, // 4: CaravanGetStoryResp.data:type_name -> DBCaravan
19, // 5: CaravanTaskCompletePush.data:type_name -> DBCaravan
20, // 6: CaravanTaskCompletePush.reward:type_name -> UserAssets
21, // 7: CaravanRankListResp.list:type_name -> CaravanRankInfo
21, // 8: CaravanRankListResp.userinfo:type_name -> CaravanRankInfo
16, // 9: CaravanRefreshCityResp.city:type_name -> CaravanRefreshCityResp.CityEntry
17, // 10: CaravanRefreshCityResp.Oldprice:type_name -> CaravanRefreshCityResp.OldpriceEntry
18, // 11: CaravanGetRewardResp.reward:type_name -> CaravanGetRewardResp.RewardEntry
22, // 12: CaravanGetRewardResp.anto:type_name -> UserAtno
23, // 13: CaravanRefreshCityResp.CityEntry.value:type_name -> CityInfo
14, // [14:14] is the sub-list for method output_type
14, // [14:14] is the sub-list for method input_type
14, // [14:14] is the sub-list for extension type_name
14, // [14:14] is the sub-list for extension extendee
0, // [0:14] is the sub-list for field type_name
}
func init() { file_caravan_caravan_msg_proto_init() }
@ -1195,7 +1168,7 @@ func file_caravan_caravan_msg_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_caravan_caravan_msg_proto_rawDesc,
NumEnums: 0,
NumMessages: 20,
NumMessages: 19,
NumExtensions: 0,
NumServices: 0,
},

View File

@ -13,6 +13,7 @@ import (
func IsToday(d int64) bool {
tt := time.Unix(d, 0)
now := configure.Now()
return tt.Year() == now.Year() && tt.Month() == now.Month() && tt.Day() == now.Day()
}
func IsNextToday(d int64) bool {