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] activity, ok = this.activity[itype]
this.hlock.RUnlock() this.hlock.RUnlock()
if ok { if ok {
return nil return
} }
return nil return
} }

View File

@ -12,7 +12,6 @@ import (
"go_dreamfactory/pb" "go_dreamfactory/pb"
"go_dreamfactory/sys/configure" "go_dreamfactory/sys/configure"
"go_dreamfactory/sys/db" "go_dreamfactory/sys/db"
"go_dreamfactory/utils"
"go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/bson"
) )
@ -206,41 +205,41 @@ func (this *Activity) HDCelebration(session comm.IUserSession, systemtype int32,
update := make(map[string]interface{}) update := make(map[string]interface{})
bChange := false 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 已经挑战的次数 // 注意 Gotarr:map[int32]int32 key value 已经挑战的次数
if !utils.IsToday(data.Lasttime) { // 不是今天重置
data.Lasttime = configure.Now().Unix() if list.Lasttime < configure.Now().Unix() || list.Val == 0 { // 不是今天重置
data.Gotarr = make(map[int32]int32) list.Gotarr = make(map[int32]int32)
// 计算进度 update := make(map[string]interface{})
data.Val = int32((configure.Now().Unix()-activity.Stime)/24*3600) + 1
update["lasttime"] = data.Lasttime update["gotarr"] = list.Gotarr
update["val"] = data.Val
update["gotarr"] = data.Gotarr
bChange = true
}
if data.Val == 0 {
var pos int32
var maxday int32 var maxday int32
_days := this.configure.GetHDCelebrationData() _days := this.configure.GetHDCelebrationData()
for _, v := range _days { // 开启循环 for _, v := range _days { // 开启循环
maxday += v maxday += v
} }
var pos int32
_sub := int32((configure.Now().Unix() - activity.Stime) / (24 * 3600)) _sub := int32((configure.Now().Unix() - activity.Stime) / (24 * 3600))
_sub = _sub%maxday + 1
for index, v := range _days { for index, v := range _days {
find := false
for i := 0; i < int(v); i++ { for i := 0; i < int(v); i++ {
pos++ pos++
if _sub == pos { if _sub%maxday+1 == pos {
data.Val = int32(index) + 1 // 计算val 值 list.Val = int32(index) + 1 // 计算val 值
update["val"] = data.Val update["val"] = list.Val
find = true
break 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(list.Val); err == nil {
if conf, err := this.configure.GetHDCelebration(data.Val); err == nil {
for _, v1 := range conf.Bosstype { for _, v1 := range conf.Bosstype {
if v1 == 0 { // bosstype 为0 表示所有的boss 类型都算 if v1 == 0 { // bosstype 为0 表示所有的boss 类型都算
bosstype = 0 bosstype = 0
@ -248,7 +247,7 @@ func (this *Activity) HDCelebration(session comm.IUserSession, systemtype int32,
} }
} }
if conf.Systemtype == systemtype { if conf.Systemtype == systemtype {
data.Gotarr[bosstype] += 1 list.Gotarr[bosstype] += 1
// 天数 // 天数
var idays int32 var idays int32
for i, v1 := range conf.Bosstype { 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 bChange = true
if data.Gotarr[bosstype] <= idays { if list.Gotarr[bosstype] <= idays {
bDouble = true bDouble = true
} }
} }
@ -268,9 +267,9 @@ func (this *Activity) HDCelebration(session comm.IUserSession, systemtype int32,
if bChange { if bChange {
var sz []*pb.DBActivityData 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{ session.SendMsg(string(this.GetType()), "datachange", &pb.ActivityDataChangePush{
Data: sz, Data: sz,
}) })
@ -294,42 +293,19 @@ func (this *Activity) GetHdData(session comm.IUserSession, oids []string) (resul
continue 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) 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 { if activity.Itype == pb.HdType_HdCelebration {
// key := fmt.Sprintf("%s-%s", session.GetUserId(), id) // key := fmt.Sprintf("%s-%s", session.GetUserId(), id)
if list, err = this.modelhdData.getHddataByOid(session.GetUserId(), id); err == nil { if list, err = this.modelhdData.getHddataByOid(session.GetUserId(), id); err == nil {
if !utils.IsToday(list.Lasttime) || list.Val == 0 { // 不是今天重置 if list.Lasttime < configure.Now().Unix() || list.Val == 0 { // 不是今天重置
list.Lasttime = configure.Now().Unix() //list.Lasttime = configure.Now().Unix()
list.Gotarr = make(map[int32]int32) list.Gotarr = make(map[int32]int32)
update := make(map[string]interface{}) update := make(map[string]interface{})
// 计算进度 // 计算进度
update["lasttime"] = list.Lasttime
update["gotarr"] = list.Gotarr update["gotarr"] = list.Gotarr
var maxday int32 var maxday int32
@ -339,16 +315,23 @@ func (this *Activity) GetHdData(session comm.IUserSession, oids []string) (resul
} }
var pos int32 var pos int32
_sub := int32((configure.Now().Unix() - activity.Stime) / (24 * 3600)) _sub := int32((configure.Now().Unix() - activity.Stime) / (24 * 3600))
_sub = _sub%maxday + 1
for index, v := range _days { for index, v := range _days {
find := false
for i := 0; i < int(v); i++ { for i := 0; i < int(v); i++ {
pos++ pos++
if _sub == pos { if _sub%maxday+1 == pos {
list.Val = int32(index) + 1 // 计算val 值 list.Val = int32(index) + 1 // 计算val 值
update["val"] = list.Val update["val"] = list.Val
find = true
break 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) this.modelhdData.ModifyActivityList(session.GetUserId(), list.Id, update)
} }

View File

@ -3,6 +3,7 @@ package caravan
import ( import (
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/pb" "go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs" 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 buyValue = caravan.Items[k].Count * caravan.Items[k].Price
var price int32 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 { for _, v := range cityInfo.Special {
if v == k { if v == k {
bFound = true bFound = true

View File

@ -3,6 +3,7 @@ package caravan
import ( import (
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/pb" "go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
"go_dreamfactory/utils" "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) { func (this *apiComp) GetList(session comm.IUserSession, req *pb.CaravanGetListReq) (errdata *pb.ErrorData) {
var ( var (
resp *pb.CaravanGetListResp resp *pb.CaravanGetListResp
cityRtime int64
) )
update := make(map[string]interface{})
resp = &pb.CaravanGetListResp{} resp = &pb.CaravanGetListResp{}
if errdata = this.GetListCheck(session, req); errdata != nil { if errdata = this.GetListCheck(session, req); errdata != nil {
return // 参数校验失败直接返回 return // 参数校验失败直接返回
@ -39,19 +42,30 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.CaravanGetListRe
if errdata = this.module.InitCaravanTicket(session, conf); errdata != nil { if errdata = this.module.InitCaravanTicket(session, conf); errdata != nil {
return return
} }
update := make(map[string]interface{})
// 清除玩家货物信息 // 清除玩家货物信息
list.Items = make(map[string]*pb.BagInfo, 0) list.Items = make(map[string]*pb.BagInfo, 0)
update["items"] = list.Items update["items"] = list.Items
list.Reward = make(map[int32]bool, 0) list.Reward = make(map[int32]bool, 0)
update["reward"] = list.Reward // 初始化利润奖励 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.TaskTimeOut = this.module.CheckCaravanTask(session, list)
resp.Data = list resp.Data = list
session.SendMsg(string(this.module.GetType()), "getlist", resp) 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 return
} }
// 此协议不用
// 刷新城市信息 // 刷新城市信息
func (this *apiComp) RefreshCity(session comm.IUserSession, req *pb.CaravanRefreshCityReq) (errdata *pb.ErrorData) { func (this *apiComp) RefreshCity(session comm.IUserSession, req *pb.CaravanRefreshCityReq) (errdata *pb.ErrorData) {
var ( var (
@ -21,13 +22,13 @@ func (this *apiComp) RefreshCity(session comm.IUserSession, req *pb.CaravanRefre
return // 参数校验失败直接返回 return // 参数校验失败直接返回
} }
list, _ := this.module.modelCaravan.getCaravanList(session.GetUserId()) list, _ := this.module.modelCaravan.getCaravanList(session.GetUserId())
resp.Oldprice = list.Oldprice //resp.Oldprice = list.Oldprice
// 刷新城市货物信息 // 刷新城市货物信息
this.module.refreshCaravanCityInfo(session.GetUserId(), list) //this.module.refreshCaravanCityInfo(session.GetUserId(), list)
resp.Goods = list.Goods //resp.Goods = list.Goods
resp.City = list.City resp.City = list.City
resp.Citytime = list.Citystime resp.Citytime = list.Citystime
resp.Itemtime = list.Itemtime //resp.Itemtime = list.Itemtime
session.SendMsg(string(this.module.GetType()), "refreshcity", resp) session.SendMsg(string(this.module.GetType()), "refreshcity", resp)
return return
} }

View File

@ -189,18 +189,26 @@ func (this *configureComp) GetCaravanInitCity() (initcity int32) {
return return
} }
// 获取商店刷新时间 // 获取商店刷新频率
func (this *configureComp) GetCityRefreshTime() int32 { func (this *configureComp) GetCityRefreshTime() int32 {
var (
rate int32
)
if v, err := this.GetConfigure(game_caravan_thing); err == nil { if v, err := this.GetConfigure(game_caravan_thing); err == nil {
if configure, ok := v.(*cfg.GameCaravanThing); ok { if configure, ok := v.(*cfg.GameCaravanThing); ok {
for _, v := range configure.GetDataList() { 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) { func (this *modelCaravan) getCaravanList(uid string) (result *pb.DBCaravan, err error) {
result = &pb.DBCaravan{ result = &pb.DBCaravan{
Id: "", Id: "",
Uid: uid, Uid: uid,
Items: map[string]*pb.BagInfo{}, Items: map[string]*pb.BagInfo{},
Goods: map[string]*pb.Goods{}, //Goods: map[string]*pb.Goods{},
City: map[int32]*pb.CityInfo{}, City: map[int32]*pb.CityInfo{},
Oldprice: map[string]int32{}, //Oldprice: map[string]int32{},
Group: make(map[int32]bool, 0), Group: make(map[int32]bool, 0),
Reward: 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 { if err = this.Get(uid, result); err != nil && mgo.MongodbNil == err {
// 创建一条数据 // 创建一条数据
result.Id = primitive.NewObjectID().Hex() result.Id = primitive.NewObjectID().Hex()
// 活动持续时间
//result.Resettime = utils.WeekIntervalTime() //result.Resettime = utils.WeekIntervalTime()
result.Citystime = configure.Now().Unix() result.Citystime = configure.Now().Unix()
result.Rtime = configure.Now().Unix() result.Rtime = configure.Now().Unix()
result.Lv = 1 result.Lv = 1
result.Curcity = this.module.configure.GetCaravanInitCity() // 获取默认城市 result.Curcity = this.module.configure.GetCaravanInitCity() // 获取默认城市
if conf, err := this.module.configure.GetCaravanLv(result.Lv); err == nil { 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) { func (this *Caravan) InitCaravanItemData(uid string, data *pb.DBCaravan) {
var changeTime int32
if len(data.Allgoods) != 0 {
return
}
items := this.configure.GetAllCaravanItem() 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 { for _, c := range items {
if changeTime == 0 { goodinfo := &pb.GoodsInfo{
changeTime = c.Changetime Goods: make(map[int32]int32, 0),
} }
goods := &pb.Goods{ var index int32
Period: 0, // 变动周期
CurPeriod: 1, // 当前变动周期 if _, ok := data.Period[c.Itemid]; !ok {
Price: 0, // 当前价格 data.Period[c.Itemid] = &pb.GoodPeriod{}
}
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
} }
if goods.Price > c.Pricemax { // 设置最大值 for index = 0; index < this.configure.GetCityRefreshTime(); index++ {
goods.Price = c.Pricemax 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.Allgoods[c.Itemid] = goodinfo
data.Oldprice[c.Itemid] = c.Goodsprice
} }
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) { func (this *Caravan) refreshCaravanCityInfo(uid string, caravan *pb.DBCaravan) {
var ( var (
bChange bool bChange bool
update map[string]interface{} update map[string]interface{}
changeTime int32 // 商店刷新时间
curTime int64 // 当前事件 cityRtime int64
cityRtime int64
) )
curTime = configure.Now().Unix()
update = make(map[string]interface{}) update = make(map[string]interface{})
changeTime = this.configure.GetCityRefreshTime()
cityRtime = utils.GetZeroTime(configure.Now().Unix()) cityRtime = utils.GetZeroTime(configure.Now().Unix())
// 刷新城市货物信息 // 刷新城市货物信息
if cityRtime != caravan.Citystime { if cityRtime != caravan.Citystime {
@ -261,70 +274,7 @@ func (this *Caravan) refreshCaravanCityInfo(uid string, caravan *pb.DBCaravan) {
update["city"] = caravan.City update["city"] = caravan.City
update["citystime"] = caravan.Citystime update["citystime"] = caravan.Citystime
bChange = true 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 { if bChange {

View File

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

View File

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

View File

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