This commit is contained in:
meixiongfeng 2023-07-27 16:10:29 +08:00
commit e170526f75
33 changed files with 2532 additions and 1236 deletions

View File

@ -415,7 +415,7 @@
"LockSlots": [],
"AssistTeam": 0,
"CanFriendHelp": 0,
"Numrounds": 0
"Numrounds": 100
},
{
"id": 122,
@ -671,5 +671,24 @@
"AssistTeam": 0,
"CanFriendHelp": 0,
"Numrounds": 0
},
{
"id": 135,
"PlayType": 17,
"HeroCount": 5,
"readyScene": "scenesfight_role_interface_05",
"battleScenes": [
"scenesfight_07"
],
"disableAiCamera": 0,
"ChoseCamp": [],
"DisableCamp": [],
"DefaultHero": 0,
"ChoseHero": [],
"DisableHero": [],
"LockSlots": [],
"AssistTeam": 0,
"CanFriendHelp": 0,
"Numrounds": 50
}
]

File diff suppressed because it is too large Load Diff

View File

@ -13,7 +13,7 @@
{
"a": "attr",
"t": "arenacoin",
"n": 1000
"n": 1
}
],
"push": 0
@ -32,7 +32,7 @@
{
"a": "attr",
"t": "arenacoin",
"n": 1000
"n": 1
}
],
"push": 0
@ -51,7 +51,7 @@
{
"a": "attr",
"t": "arenacoin",
"n": 1000
"n": 1
}
],
"push": 1
@ -70,7 +70,7 @@
{
"a": "attr",
"t": "arenacoin",
"n": 1000
"n": 1
}
],
"push": 1
@ -89,7 +89,7 @@
{
"a": "attr",
"t": "arenacoin",
"n": 1000
"n": 1
}
],
"push": 1
@ -108,7 +108,7 @@
{
"a": "attr",
"t": "arenacoin",
"n": 1000
"n": 1
}
],
"push": 0
@ -127,7 +127,7 @@
{
"a": "attr",
"t": "arenacoin",
"n": 1000
"n": 1
}
],
"push": 0
@ -146,7 +146,7 @@
{
"a": "attr",
"t": "arenacoin",
"n": 1000
"n": 1
}
],
"push": 0

File diff suppressed because it is too large Load Diff

View File

@ -132,7 +132,7 @@
"describe": "好友排行"
},
{
"msgid": "uniongve",
"msgid": "guildgve",
"open": true,
"routrules": "~/worker",
"describe": "工会boos战"

View File

@ -14,7 +14,10 @@
},
"chosetype": 1,
"chosenum": 1,
"startstory": 0,
"constory": 0,
"get": [],
"aginstory": 0,
"lose": [],
"jump": 0,
"num": 0
@ -34,7 +37,10 @@
},
"chosetype": 1,
"chosenum": 2,
"startstory": 0,
"constory": 0,
"get": [],
"aginstory": 0,
"lose": [],
"jump": 0,
"num": 0
@ -54,7 +60,10 @@
},
"chosetype": 1,
"chosenum": 3,
"startstory": 0,
"constory": 0,
"get": [],
"aginstory": 0,
"lose": [],
"jump": 0,
"num": 0
@ -74,7 +83,10 @@
},
"chosetype": 1,
"chosenum": 4,
"startstory": 0,
"constory": 0,
"get": [],
"aginstory": 0,
"lose": [],
"jump": 0,
"num": 0
@ -94,7 +106,10 @@
},
"chosetype": 1,
"chosenum": 5,
"startstory": 0,
"constory": 0,
"get": [],
"aginstory": 0,
"lose": [],
"jump": 0,
"num": 0
@ -114,7 +129,10 @@
},
"chosetype": 1,
"chosenum": 6,
"startstory": 0,
"constory": 0,
"get": [],
"aginstory": 0,
"lose": [],
"jump": 0,
"num": 0
@ -134,7 +152,10 @@
},
"chosetype": 1,
"chosenum": 7,
"startstory": 0,
"constory": 0,
"get": [],
"aginstory": 0,
"lose": [],
"jump": 0,
"num": 0
@ -154,20 +175,13 @@
},
"chosetype": 2,
"chosenum": 0,
"startstory": 50020010,
"constory": 50020030,
"get": [
{
"a": "attr",
"t": "gold",
"n": 100000
}
],
"lose": [
{
"a": "item",
"t": "14020009",
"n": 1
}
1001
],
"aginstory": 12980,
"lose": [],
"jump": 0,
"num": 0
},
@ -186,20 +200,13 @@
},
"chosetype": 2,
"chosenum": 0,
"startstory": 50020010,
"constory": 50020030,
"get": [
{
"a": "attr",
"t": "gold",
"n": 100000
}
],
"lose": [
{
"a": "item",
"t": "14020009",
"n": 1
}
1001
],
"aginstory": 12980,
"lose": [],
"jump": 0,
"num": 0
},
@ -218,59 +225,12 @@
},
"chosetype": 2,
"chosenum": 0,
"startstory": 50020010,
"constory": 50020030,
"get": [
{
"a": "attr",
"t": "gold",
"n": 100000
}
1001
],
"lose": [
{
"a": "item",
"t": "14020009",
"n": 1
}
],
"jump": 0,
"num": 0
},
{
"key": 11,
"taskstarID": 100110,
"lv": 1,
"taskendID": 20090,
"npc": [
"GameMain",
"功能入口-烹饪"
],
"chosetxt": {
"key": "chosetxt_11",
"text": "买乳猪4"
},
"chosetype": 2,
"chosenum": 0,
"get": [],
"lose": [],
"jump": 0,
"num": 0
},
{
"key": 12,
"taskstarID": 100120,
"lv": 1,
"taskendID": 20090,
"npc": [
"GameMain",
"功能入口-烹饪"
],
"chosetxt": {
"key": "chosetxt_12",
"text": "买乳猪5"
},
"chosetype": 2,
"chosenum": 0,
"get": [],
"aginstory": 12980,
"lose": [],
"jump": 0,
"num": 0

View File

@ -8,7 +8,7 @@
"text": "火焰泰坦"
},
"difficulty": 1,
"BattleReadyID": 121,
"BattleReadyID": 134,
"captionrecommend": [
45003,
44006,
@ -68,7 +68,7 @@
"text": "火焰泰坦"
},
"difficulty": 2,
"BattleReadyID": 121,
"BattleReadyID": 134,
"captionrecommend": [
45003,
44006,
@ -123,7 +123,7 @@
"text": "火焰泰坦"
},
"difficulty": 3,
"BattleReadyID": 121,
"BattleReadyID": 134,
"captionrecommend": [
45003,
44006,
@ -183,7 +183,7 @@
"text": "火焰泰坦"
},
"difficulty": 4,
"BattleReadyID": 121,
"BattleReadyID": 134,
"captionrecommend": [
45003,
44006,
@ -238,7 +238,7 @@
"text": "火焰泰坦"
},
"difficulty": 5,
"BattleReadyID": 121,
"BattleReadyID": 134,
"captionrecommend": [
45003,
44006,
@ -298,7 +298,7 @@
"text": "火焰泰坦"
},
"difficulty": 6,
"BattleReadyID": 121,
"BattleReadyID": 134,
"captionrecommend": [
45003,
44006,
@ -358,7 +358,7 @@
"text": "火焰泰坦"
},
"difficulty": 7,
"BattleReadyID": 121,
"BattleReadyID": 134,
"captionrecommend": [
45003,
44006,
@ -423,7 +423,7 @@
"text": "火焰泰坦"
},
"difficulty": 8,
"BattleReadyID": 121,
"BattleReadyID": 134,
"captionrecommend": [
45003,
44006,
@ -483,7 +483,7 @@
"text": "火焰泰坦"
},
"difficulty": 9,
"BattleReadyID": 121,
"BattleReadyID": 134,
"captionrecommend": [
45003,
44006,
@ -548,7 +548,7 @@
"text": "火焰泰坦"
},
"difficulty": 10,
"BattleReadyID": 121,
"BattleReadyID": 134,
"captionrecommend": [
45003,
44006,
@ -613,7 +613,7 @@
"text": "火焰泰坦"
},
"difficulty": 11,
"BattleReadyID": 121,
"BattleReadyID": 134,
"captionrecommend": [
45003,
44006,
@ -678,7 +678,7 @@
"text": "火焰泰坦"
},
"difficulty": 12,
"BattleReadyID": 121,
"BattleReadyID": 134,
"captionrecommend": [
45003,
44006,
@ -738,7 +738,7 @@
"text": "冰霜泰坦"
},
"difficulty": 1,
"BattleReadyID": 121,
"BattleReadyID": 133,
"captionrecommend": [
45003,
25004,
@ -798,7 +798,7 @@
"text": "冰霜泰坦"
},
"difficulty": 2,
"BattleReadyID": 121,
"BattleReadyID": 133,
"captionrecommend": [
45003,
25004,
@ -853,7 +853,7 @@
"text": "冰霜泰坦"
},
"difficulty": 3,
"BattleReadyID": 121,
"BattleReadyID": 133,
"captionrecommend": [
45003,
25004,
@ -913,7 +913,7 @@
"text": "冰霜泰坦"
},
"difficulty": 4,
"BattleReadyID": 121,
"BattleReadyID": 133,
"captionrecommend": [
45003,
25004,
@ -968,7 +968,7 @@
"text": "冰霜泰坦"
},
"difficulty": 5,
"BattleReadyID": 121,
"BattleReadyID": 133,
"captionrecommend": [
45003,
25004,
@ -1028,7 +1028,7 @@
"text": "冰霜泰坦"
},
"difficulty": 6,
"BattleReadyID": 121,
"BattleReadyID": 133,
"captionrecommend": [
45003,
25004,
@ -1088,7 +1088,7 @@
"text": "冰霜泰坦"
},
"difficulty": 7,
"BattleReadyID": 121,
"BattleReadyID": 133,
"captionrecommend": [
45003,
25004,
@ -1153,7 +1153,7 @@
"text": "冰霜泰坦"
},
"difficulty": 8,
"BattleReadyID": 121,
"BattleReadyID": 133,
"captionrecommend": [
45003,
25004,
@ -1213,7 +1213,7 @@
"text": "冰霜泰坦"
},
"difficulty": 9,
"BattleReadyID": 121,
"BattleReadyID": 133,
"captionrecommend": [
45003,
25004,
@ -1278,7 +1278,7 @@
"text": "冰霜泰坦"
},
"difficulty": 10,
"BattleReadyID": 121,
"BattleReadyID": 133,
"captionrecommend": [
45003,
25004,
@ -1343,7 +1343,7 @@
"text": "冰霜泰坦"
},
"difficulty": 11,
"BattleReadyID": 121,
"BattleReadyID": 133,
"captionrecommend": [
45003,
25004,
@ -1408,7 +1408,7 @@
"text": "冰霜泰坦"
},
"difficulty": 12,
"BattleReadyID": 121,
"BattleReadyID": 133,
"captionrecommend": [
45003,
25004,

View File

@ -0,0 +1,20 @@
[
{
"id": 1001,
"item": [
{
"a": "item",
"t": "14020009",
"n": 1
}
],
"money": [
{
"a": "attr",
"t": "gold",
"n": 100000
}
],
"buy": 1
}
]

View File

@ -236,9 +236,7 @@
"get_item": [],
"trigger": 0,
"npc": 10040,
"completetask": [
12070040
],
"completetask": [],
"deliver_npc": 0,
"taskend_removeitem": [],
"auto_accept": 1,

View File

@ -788,8 +788,8 @@ const (
Rtype202 TaskType = 202 //在狩猎体系的副本内消耗X体力
Rtype203 TaskType = 203 //完成指定试卷组
Rtype204 TaskType = 204 //完成任意一场考试
Rtype205 TaskType = 205 //拾取宝箱
)
const (
MailLineEasy int32 = 1 // 简单
MailLineHard int32 = 2 // 困难

View File

@ -98,6 +98,11 @@ func (this *MCompModel) Change(uid string, data map[string]interface{}, opt ...d
return this.DBModel.Change(uid, data, opt...)
}
// 修改数据多个字段 id 作为主键
func (this *MCompModel) ChangeById(id string, data map[string]interface{}, opt ...db.DBOption) (err error) {
return this.DBModel.ChangeById(id, data, opt...)
}
// 修改数据多个字段 uid 作为主键
func (this *MCompModel) ChangeList(uid string, _id string, data map[string]interface{}, opt ...db.DBOption) (err error) {
return this.DBModel.ChangeList(uid, _id, data, opt...)

View File

@ -59,14 +59,14 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.GuildGveChalle
return
}
}
if member.Boosticket == 0 {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
Message: err.Error(),
}
return
}
// if member.Boosticket == 0 {
// errdata = &pb.ErrorData{
// Code: pb.ErrorCode_ReqParameterError,
// Title: pb.ErrorCode_ReqParameterError.ToString(),
// Message: "Boosticket not enough",
// }
// return
// }
if errdata, record = this.module.battle.CreatePveBattle(session, &pb.BattlePVEReq{
Ptype: pb.PlayType_moonfantasy,

View File

@ -25,6 +25,7 @@ func (this *apiComp) ChallengeFinish(session comm.IUserSession, req *pb.GuildGve
info *pb.DBGuildGve
prop []*cfg.Gameatn
award []*pb.UserAssets
hp int32
ok bool
err error
)
@ -60,14 +61,14 @@ func (this *apiComp) ChallengeFinish(session comm.IUserSession, req *pb.GuildGve
}
return
}
if member.Boosticket <= 0 {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
Message: fmt.Sprintf("Boosticket is %d", member.Boosticket),
}
return
}
// if member.Boosticket <= 0 {
// errdata = &pb.ErrorData{
// Code: pb.ErrorCode_ReqParameterError,
// Title: pb.ErrorCode_ReqParameterError.ToString(),
// Message: fmt.Sprintf("Boosticket is %d", member.Boosticket),
// }
// return
// }
if user = this.module.ModuleUser.GetUser(session.GetUserId()); user == nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
@ -124,7 +125,7 @@ func (this *apiComp) ChallengeFinish(session comm.IUserSession, req *pb.GuildGve
})
}
}
v.Record = append(v.Record)
v.Record = append(v.Record, record)
go this.module.modelGuildGve.booshpchangepush(req.Guildid, info)
if v.Hp < 0 {
v.Hp = 0
@ -133,6 +134,7 @@ func (this *apiComp) ChallengeFinish(session comm.IUserSession, req *pb.GuildGve
this.module.modelRank.updateRank(info)
go this.module.modelGuildGve.booskill(req.Guildid, req.Boosid, info)
}
hp = v.Hp
}
break
}
@ -175,6 +177,7 @@ func (this *apiComp) ChallengeFinish(session comm.IUserSession, req *pb.GuildGve
session.SendMsg(string(this.module.GetType()), "challengefinish", &pb.GuildGveChallengeFinishResp{
Guildid: req.Guildid,
Boosid: req.Boosid,
Hp: hp,
Efficient: ok,
Award: award,
Score: score.Id,

View File

@ -18,10 +18,11 @@ func (this *apiComp) InfoCheck(session comm.IUserSession, req *pb.GuildGveInfoRe
// 获取工会boos战信息
func (this *apiComp) Info(session comm.IUserSession, req *pb.GuildGveInfoReq) (errdata *pb.ErrorData) {
var (
conf *cfg.GamePlayerlvData
member *pb.DBGuildMember
info *pb.DBGuildGve
err error
conf *cfg.GamePlayerlvData
member *pb.DBGuildMember
info *pb.DBGuildGve
roulette *pb.DBGuildRouletteRecord
err error
)
if errdata = this.InfoCheck(session, req); errdata != nil {
return
@ -38,11 +39,20 @@ func (this *apiComp) Info(session comm.IUserSession, req *pb.GuildGveInfoReq) (e
if !utils.IsToday(member.Refreshtime) {
if conf, errdata = this.module.ModuleTools.GetPlayerlvConf(session.GetUserId()); errdata != nil {
member.Boosticket = conf.GuildBossCeiling
member.Refreshtime = configure.Now().Unix()
this.module.modelGuildMember.updateGuildMember(member)
return
}
member.Boosticket = conf.GuildBossCeiling
member.Refreshtime = configure.Now().Unix()
this.module.modelGuildMember.updateGuildMember(member)
}
if roulette, err = this.module.modelUnionroulette.getUnionRoulette(req.Guildid); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
lock, _ := this.module.modelGuildGve.userlock(req.Guildid)
@ -60,6 +70,6 @@ func (this *apiComp) Info(session comm.IUserSession, req *pb.GuildGveInfoReq) (e
}
return
}
session.SendMsg(string(this.module.GetType()), "info", &pb.GuildGveInfoResp{Info: info, Boosticket: member.Boosticket})
session.SendMsg(string(this.module.GetType()), "info", &pb.GuildGveInfoResp{Info: info, Boosticket: member.Boosticket, Records: roulette.Roulette})
return
}

View File

@ -16,6 +16,7 @@ func (this *apiComp) RouletteCheck(session comm.IUserSession, req *pb.GuildGveRo
func (this *apiComp) Roulette(session comm.IUserSession, req *pb.GuildGveRouletteReq) (errdata *pb.ErrorData) {
var (
confs []*cfg.GameGuildBossRouletteData
user *pb.DBUser
award []*pb.UserAssets = make([]*pb.UserAssets, 0)
weight []int32 = make([]int32, 0)
index int32
@ -53,12 +54,21 @@ func (this *apiComp) Roulette(session comm.IUserSession, req *pb.GuildGveRoulett
})
}
if user = this.module.ModuleUser.GetUser(session.GetUserId()); user == nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: "no user data",
}
return
}
if errdata = this.module.DispenseRes(session, confs[index].Reward, true); errdata != nil {
return
}
if confs[index].Push == 1 { //推送通知
go this.module.modelUnionroulette.roulettechangePush(req.Guildid, session.GetUserId(), award)
go this.module.modelUnionroulette.roulettechangePush(req.Guildid, session.GetUserId(), user.Name, confs[index].Id, award)
}
session.SendMsg(string(this.module.GetType()), "roulette", &pb.GuildGveRouletteResp{Cid: confs[index].Id, Award: award})

View File

@ -50,6 +50,6 @@ func (this *apiComp) SetFire(session comm.IUserSession, req *pb.GuildGveSetFireR
return
}
go this.module.modelGuildGve.infochangepush(req.Guildid, info)
session.SendMsg(string(this.module.GetType()), "info", &pb.GuildGveInfoResp{Info: info})
session.SendMsg(string(this.module.GetType()), "setfire", &pb.GuildGveSetFireResp{})
return
}

View File

@ -49,7 +49,7 @@ func (this *ModelUnionroulette) getUnionRoulette(Guildid string) (results *pb.DB
}
func (this *ModelUnionroulette) updateUnionRoulette(data *pb.DBGuildRouletteRecord) (err error) {
if err = this.Change(data.Guildid, map[string]interface{}{
if err = this.ChangeById(data.Guildid, map[string]interface{}{
"roulette": data.Roulette,
}); err != nil {
this.module.Error("更新用户任务数据 错误!", log.Field{Key: "err", Value: err.Error()})
@ -64,13 +64,15 @@ func (this *ModelUnionroulette) userlock(id string) (result *redis.RedisMutex, e
}
// boos 信息变化推送
func (this *ModelUnionroulette) roulettechangePush(unionid string, uid string, award []*pb.UserAssets) {
func (this *ModelUnionroulette) roulettechangePush(unionid string, uid, uname string, confid int32, award []*pb.UserAssets) {
var (
info *pb.DBGuildRouletteRecord
members []*pb.SociatyMemberInfo
users []string = make([]string, 0)
record *pb.DBGveRouletteRecord
errdata *pb.ErrorData
err error
err error
)
if members, errdata = this.module.sociaty.MembersBySociatyId(unionid); errdata != nil {
this.module.Debug("获取工会成员列表!", log.Field{Key: "errdata", Value: errdata})
@ -91,12 +93,15 @@ func (this *ModelUnionroulette) roulettechangePush(unionid string, uid string, a
this.module.Errorln(err)
return
}
info.Roulette = append(info.Roulette, &pb.DBGveRouletteRecord{
Uid: uid,
Award: award,
})
record = &pb.DBGveRouletteRecord{
Uid: uid,
Nickname: uname,
CfgId: confid,
Award: award,
}
info.Roulette = append(info.Roulette, record)
this.module.SendMsgToUsers(string(this.module.GetType()), "roulettechange", &pb.GuildGveRouletteChangePush{
Record: info,
Record: record,
}, users...)
}

View File

@ -91,7 +91,7 @@ func (this *ModelUniongve) getGuildGve(guildid string) (results *pb.DBGuildGve,
}
func (this *ModelUniongve) updateGuildGve(data *pb.DBGuildGve) (err error) {
if err = this.Change(data.Guildid, map[string]interface{}{
if err = this.ChangeById(data.Guildid, map[string]interface{}{
"fire": data.Fire,
"notice": data.Notice,
"currstage": data.Currstage,

View File

@ -189,7 +189,7 @@ func (this *Items) AddItems(session comm.IUserSession, items map[string]int32, b
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.ToString(),
Message: err.Error(),
Message: fmt.Sprintf("%s---%v", err.Error(), items),
}
} else {
errdata = &pb.ErrorData{

View File

@ -70,11 +70,11 @@ func (this *apiComp) LevelPass(session comm.IUserSession, req *pb.MainlineLevelP
}
return
}
star = 1
// 判断是不是首通
if _, ok := info.Level[req.Level]; !ok {
first = true
info.Level[req.Level] = 1
info.Level[req.Level] = star
}
info.Lastlevel = req.Level
this.module.modelMline.updateprogress(info)

View File

@ -57,7 +57,7 @@ func (this *apiComp) ReceiveAward(session comm.IUserSession, req *pb.MainlineRec
}
return
}
awardid = (chapterconf.Starreward)
awardid = chapterconf.Starreward
} else if req.Rtype == 1 {
if award, ok = info.Exploreaward[req.Chapter]; !ok || award.Stage < req.Stage {
errdata = &pb.ErrorData{
@ -75,7 +75,7 @@ func (this *apiComp) ReceiveAward(session comm.IUserSession, req *pb.MainlineRec
}
return
}
awardid = (chapterconf.Starreward)
awardid = chapterconf.Starreward
} else {
if award, ok = info.Groupaward[req.Group]; !ok || award.Stage < req.Stage {
errdata = &pb.ErrorData{

View File

@ -46,8 +46,9 @@ func (this *apiComp) BoxReceive(session comm.IUserSession, req *pb.WTaskBoxRecei
return
}
ok = false
for _, v := range box.Boxs {
if v == req.Boxid {
for k, _ := range box.Boxs {
if k == req.Boxid {
box.Boxs[k] = 1
ok = true
}
}
@ -91,6 +92,18 @@ func (this *apiComp) BoxReceive(session comm.IUserSession, req *pb.WTaskBoxRecei
if errdata = this.module.DispenseRes(session, prop, true); errdata != nil {
return
}
if err = this.module.modelwtask.Change(session.GetUserId(), map[string]interface{}{
"boxs": wtask.Boxs,
}); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
go this.module.ModuleBuried.TriggerBuried(session.Clone(), comm.GetBuriedParam(comm.Rtype205, 1))
session.SendMsg(string(this.module.GetType()), "boxreceive", &pb.WTaskBoxReceiveResp{Tid: req.Tid, Boxid: req.Boxid, Award: award})
return
}

View File

@ -0,0 +1,73 @@
package wtask
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
)
// 参数校验
func (this *apiComp) ExchangeCheck(session comm.IUserSession, req *pb.WTaskExchangeReq) (errdata *pb.ErrorData) {
return
}
// /获取系统公告
func (this *apiComp) Exchange(session comm.IUserSession, req *pb.WTaskExchangeReq) (errdata *pb.ErrorData) {
var (
info *pb.DBWTask
conf *cfg.GameWorldDealData
err error
)
if errdata = this.ExchangeCheck(session, req); errdata != nil {
return
}
if conf, err = this.module.configure.getGameWorldDeal(req.Eid); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.ToString(),
Message: err.Error(),
}
return
}
if info, err = this.module.modelwtask.getUserWTasks(session.GetUserId()); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
if info.Exchange[req.Eid] >= conf.Buy {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
Message: err.Error(),
}
return
}
if errdata = this.module.ConsumeRes(session, conf.Item, true); errdata != nil {
return
}
if errdata = this.module.DispenseRes(session, conf.Money, true); errdata != nil {
return
}
info.Exchange[req.Eid]++
if err = this.module.modelwtask.Change(session.GetUserId(), map[string]interface{}{
"exchange": info.Exchange,
}); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
session.SendMsg(string(this.module.GetType()), "exchange", &pb.WTaskExchangeReq{Eid: req.Eid})
return
}

View File

@ -18,6 +18,7 @@ const (
gamerdtasknpc = "game_rdtasknpc.json"
gamesearchitemall = "game_searchitemall.json"
gamesearchitembox = "game_searchitembox.json"
game_worlddeal = "game_worlddeal.json"
)
type configureComp struct {
@ -42,6 +43,8 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
gameburiedCond: cfg.NewGameBuriedCondi,
gamerdtasknpc: cfg.NewGameRdtaskNpc,
gamesearchitemall: cfg.NewGameSearchitemAll,
gamesearchitembox: cfg.NewGameSearchitemBox,
game_worlddeal: cfg.NewGameWorldDeal,
})
this.condlTask = make(map[int32][]*cfg.GameWorldTaskData)
configure.RegisterConfigure(gameWorldTask, cfg.NewGameBuriedCondi, this.updateconfigure)
@ -235,3 +238,21 @@ func (this *configureComp) getGameSearchitemBox(id int32) (conf *cfg.GameSearchi
}
return
}
func (this *configureComp) getGameWorldDeal(id int32) (conf *cfg.GameWorldDealData, err error) {
var (
v interface{}
ok bool
)
if v, err = this.GetConfigure(game_worlddeal); err != nil {
return
} else {
if conf, ok = v.(*cfg.GameWorldDeal).GetDataMap()[id]; !ok {
err = comm.NewNotFoundConfErr(modulename, gameWorldTask, id)
this.module.Errorf("err:%v", err)
return
}
}
return
}

View File

@ -655,8 +655,10 @@ type DBGveRouletteRecord struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid"`
Award []*UserAssets `protobuf:"bytes,2,rep,name=award,proto3" json:"award"` //奖励
Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid"`
Nickname string `protobuf:"bytes,2,opt,name=nickname,proto3" json:"nickname"`
CfgId int32 `protobuf:"varint,3,opt,name=cfgId,proto3" json:"cfgId"`
Award []*UserAssets `protobuf:"bytes,4,rep,name=award,proto3" json:"award"` //奖励
}
func (x *DBGveRouletteRecord) Reset() {
@ -698,6 +700,20 @@ func (x *DBGveRouletteRecord) GetUid() string {
return ""
}
func (x *DBGveRouletteRecord) GetNickname() string {
if x != nil {
return x.Nickname
}
return ""
}
func (x *DBGveRouletteRecord) GetCfgId() int32 {
if x != nil {
return x.CfgId
}
return 0
}
func (x *DBGveRouletteRecord) GetAward() []*UserAssets {
if x != nil {
return x.Award
@ -788,13 +804,16 @@ var file_guildgve_guildgve_db_proto_rawDesc = []byte{
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x14,
0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c,
0x65, 0x76, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01,
0x28, 0x05, 0x52, 0x04, 0x73, 0x74, 0x61, 0x72, 0x22, 0x4a, 0x0a, 0x13, 0x44, 0x42, 0x47, 0x76,
0x28, 0x05, 0x52, 0x04, 0x73, 0x74, 0x61, 0x72, 0x22, 0x7c, 0x0a, 0x13, 0x44, 0x42, 0x47, 0x76,
0x65, 0x52, 0x6f, 0x75, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12,
0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69,
0x64, 0x12, 0x21, 0x0a, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x05, 0x61,
0x77, 0x61, 0x72, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33,
0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a,
0x05, 0x63, 0x66, 0x67, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x66,
0x67, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x18, 0x04, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52,
0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (

View File

@ -73,8 +73,9 @@ type GuildGveInfoResp struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Info *DBGuildGve `protobuf:"bytes,1,opt,name=info,proto3" json:"info"`
Boosticket int32 `protobuf:"varint,2,opt,name=boosticket,proto3" json:"boosticket"` //工会boos战门票
Info *DBGuildGve `protobuf:"bytes,1,opt,name=info,proto3" json:"info"`
Boosticket int32 `protobuf:"varint,2,opt,name=boosticket,proto3" json:"boosticket"` //工会boos战门票
Records []*DBGveRouletteRecord `protobuf:"bytes,3,rep,name=records,proto3" json:"records"` //转盘记录
}
func (x *GuildGveInfoResp) Reset() {
@ -123,6 +124,13 @@ func (x *GuildGveInfoResp) GetBoosticket() int32 {
return 0
}
func (x *GuildGveInfoResp) GetRecords() []*DBGveRouletteRecord {
if x != nil {
return x.Records
}
return nil
}
//集火设置
type GuildGveSetFireReq struct {
state protoimpl.MessageState
@ -722,10 +730,11 @@ type GuildGveChallengeFinishResp struct {
Guildid string `protobuf:"bytes,1,opt,name=guildid,proto3" json:"guildid"`
Boosid int32 `protobuf:"varint,2,opt,name=boosid,proto3" json:"boosid"`
Award []*UserAssets `protobuf:"bytes,3,rep,name=award,proto3" json:"award"` //奖励
Efficient bool `protobuf:"varint,4,opt,name=efficient,proto3" json:"efficient"` //是否有效
Score int32 `protobuf:"varint,5,opt,name=score,proto3" json:"score"` //评级id
Boosticket int32 `protobuf:"varint,6,opt,name=boosticket,proto3" json:"boosticket"` //工会boos战门票
Hp int32 `protobuf:"varint,3,opt,name=hp,proto3" json:"hp"`
Award []*UserAssets `protobuf:"bytes,4,rep,name=award,proto3" json:"award"` //奖励
Efficient bool `protobuf:"varint,5,opt,name=efficient,proto3" json:"efficient"` //是否有效
Score int32 `protobuf:"varint,6,opt,name=score,proto3" json:"score"` //评级id
Boosticket int32 `protobuf:"varint,7,opt,name=boosticket,proto3" json:"boosticket"` //工会boos战门票
}
func (x *GuildGveChallengeFinishResp) Reset() {
@ -774,6 +783,13 @@ func (x *GuildGveChallengeFinishResp) GetBoosid() int32 {
return 0
}
func (x *GuildGveChallengeFinishResp) GetHp() int32 {
if x != nil {
return x.Hp
}
return 0
}
func (x *GuildGveChallengeFinishResp) GetAward() []*UserAssets {
if x != nil {
return x.Award
@ -952,7 +968,7 @@ type GuildGveRouletteChangePush struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Record *DBGuildRouletteRecord `protobuf:"bytes,1,opt,name=record,proto3" json:"record"`
Record *DBGveRouletteRecord `protobuf:"bytes,1,opt,name=record,proto3" json:"record"`
}
func (x *GuildGveRouletteChangePush) Reset() {
@ -987,7 +1003,7 @@ func (*GuildGveRouletteChangePush) Descriptor() ([]byte, []int) {
return file_guildgve_guildgve_msg_proto_rawDescGZIP(), []int{16}
}
func (x *GuildGveRouletteChangePush) GetRecord() *DBGuildRouletteRecord {
func (x *GuildGveRouletteChangePush) GetRecord() *DBGveRouletteRecord {
if x != nil {
return x.Record
}
@ -1125,111 +1141,115 @@ var file_guildgve_guildgve_msg_proto_rawDesc = []byte{
0x74, 0x6f, 0x1a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2b,
0x0a, 0x0f, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
0x71, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x64, 0x22, 0x53, 0x0a, 0x10, 0x47,
0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12,
0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e,
0x44, 0x42, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f,
0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74,
0x22, 0x5e, 0x0a, 0x12, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x53, 0x65, 0x74, 0x46,
0x69, 0x72, 0x65, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x64,
0x12, 0x16, 0x0a, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
0x52, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x69,
0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x6f, 0x74, 0x69, 0x63, 0x65,
0x22, 0x15, 0x0a, 0x13, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x53, 0x65, 0x74, 0x46,
0x69, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x2b, 0x0a, 0x0f, 0x47, 0x75, 0x69, 0x6c, 0x64,
0x47, 0x76, 0x65, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75,
0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x64, 0x22, 0x83, 0x01, 0x0a, 0x10,
0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70,
0x12, 0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b,
0x2e, 0x44, 0x42, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x52, 0x04, 0x69, 0x6e, 0x66,
0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18,
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65,
0x74, 0x12, 0x2e, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x14, 0x2e, 0x44, 0x42, 0x47, 0x76, 0x65, 0x52, 0x6f, 0x75, 0x6c, 0x65, 0x74,
0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64,
0x73, 0x22, 0x5e, 0x0a, 0x12, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x53, 0x65, 0x74,
0x46, 0x69, 0x72, 0x65, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x69,
0x64, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
0x05, 0x52, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x74,
0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x6f, 0x74, 0x69, 0x63,
0x65, 0x22, 0x15, 0x0a, 0x13, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x53, 0x65, 0x74,
0x46, 0x69, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x2b, 0x0a, 0x0f, 0x47, 0x75, 0x69, 0x6c,
0x64, 0x47, 0x76, 0x65, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x67,
0x75, 0x69, 0x6c, 0x64, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75,
0x69, 0x6c, 0x64, 0x69, 0x64, 0x22, 0xaa, 0x01, 0x0a, 0x10, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47,
0x76, 0x65, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75,
0x69, 0x6c, 0x64, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69,
0x6c, 0x64, 0x69, 0x64, 0x22, 0xaa, 0x01, 0x0a, 0x10, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76,
0x65, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69,
0x6c, 0x64, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c,
0x64, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6b,
0x69, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09,
0x6b, 0x69, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x61, 0x73,
0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52,
0x0c, 0x6c, 0x61, 0x73, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a,
0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, 0x61, 0x6e,
0x6b, 0x22, 0x39, 0x0a, 0x10, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x52, 0x61, 0x6e,
0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x25, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x52, 0x61,
0x6e, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x2f, 0x0a, 0x13,
0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x52, 0x6f, 0x75, 0x6c, 0x65, 0x74, 0x74, 0x65,
0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x64, 0x22, 0x4b, 0x0a,
0x14, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x52, 0x6f, 0x75, 0x6c, 0x65, 0x74, 0x74,
0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x03, 0x63, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64,
0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x73, 0x73,
0x65, 0x74, 0x73, 0x52, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x22, 0x72, 0x0a, 0x14, 0x47, 0x75,
0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52,
0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06,
0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x6f,
0x6f, 0x73, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x06, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x18, 0x03,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72,
0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x22, 0x8a,
0x01, 0x0a, 0x15, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c,
0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c,
0x64, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64,
0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
0x28, 0x05, 0x52, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x04, 0x69, 0x6e,
0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c,
0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x62,
0x6f, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0a, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x75, 0x0a, 0x1a, 0x47,
0x6c, 0x64, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09,
0x6b, 0x69, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52,
0x09, 0x6b, 0x69, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x61,
0x73, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03,
0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12,
0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, 0x61,
0x6e, 0x6b, 0x22, 0x39, 0x0a, 0x10, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x52, 0x61,
0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x25, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x52,
0x61, 0x6e, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x2f, 0x0a,
0x13, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x52, 0x6f, 0x75, 0x6c, 0x65, 0x74, 0x74,
0x65, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x64, 0x22, 0x4b,
0x0a, 0x14, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x52, 0x6f, 0x75, 0x6c, 0x65, 0x74,
0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x05, 0x52, 0x03, 0x63, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x05, 0x61, 0x77, 0x61, 0x72,
0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x73,
0x73, 0x65, 0x74, 0x73, 0x52, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x22, 0x72, 0x0a, 0x14, 0x47,
0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69,
0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x64, 0x12, 0x16, 0x0a,
0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62,
0x6f, 0x6f, 0x73, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x06, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x18,
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f,
0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x22,
0x8a, 0x01, 0x0a, 0x15, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x43, 0x68, 0x61, 0x6c,
0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69,
0x6c, 0x64, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c,
0x64, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20,
0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x72,
0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61,
0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f,
0x72, 0x74, 0x22, 0xc6, 0x01, 0x0a, 0x1b, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x43,
0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65,
0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06,
0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x6f,
0x6f, 0x73, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73,
0x52, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x66, 0x66, 0x69, 0x63,
0x69, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x65, 0x66, 0x66, 0x69,
0x63, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05,
0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x62,
0x6f, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0a, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x39, 0x0a, 0x16, 0x47,
0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x68, 0x61, 0x6e, 0x67,
0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x44, 0x42, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65,
0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x3a, 0x0a, 0x17, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47,
0x76, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73,
0x68, 0x12, 0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x0b, 0x2e, 0x44, 0x42, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x52, 0x04, 0x69, 0x6e,
0x66, 0x6f, 0x22, 0x39, 0x0a, 0x16, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x42, 0x6f,
0x6f, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1f, 0x0a, 0x04,
0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x44, 0x42, 0x47,
0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x4c, 0x0a,
0x1a, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x52, 0x6f, 0x75, 0x6c, 0x65, 0x74, 0x74,
0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x2e, 0x0a, 0x06, 0x72,
0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x44, 0x42,
0x47, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x6f, 0x75, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x52, 0x65, 0x63,
0x6f, 0x72, 0x64, 0x52, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x22, 0x6a, 0x0a, 0x18, 0x47,
0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x52, 0x65,
0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x12,
0x1c, 0x0a, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x05, 0x52, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a,
0x07, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07,
0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x22, 0x59, 0x0a, 0x19, 0x47, 0x75, 0x69, 0x6c, 0x64,
0x47, 0x76, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x06,
0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x44,
0x42, 0x47, 0x76, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x06, 0x72, 0x65, 0x63, 0x6f,
0x72, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x33,
0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x04, 0x69,
0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74,
0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x0a, 0x0a,
0x62, 0x6f, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0a, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x75, 0x0a, 0x1a,
0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75,
0x69, 0x6c, 0x64, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69,
0x6c, 0x64, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x06,
0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42,
0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70,
0x6f, 0x72, 0x74, 0x22, 0xd6, 0x01, 0x0a, 0x1b, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65,
0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52,
0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x64, 0x12, 0x16, 0x0a,
0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62,
0x6f, 0x6f, 0x73, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x68, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28,
0x05, 0x52, 0x02, 0x68, 0x70, 0x12, 0x21, 0x0a, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x18, 0x04,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74,
0x73, 0x52, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x66, 0x66, 0x69,
0x63, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x65, 0x66, 0x66,
0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18,
0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a,
0x62, 0x6f, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0a, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x39, 0x0a, 0x16,
0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x68, 0x61, 0x6e,
0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x44, 0x42, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76,
0x65, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x3a, 0x0a, 0x17, 0x47, 0x75, 0x69, 0x6c, 0x64,
0x47, 0x76, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75,
0x73, 0x68, 0x12, 0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x0b, 0x2e, 0x44, 0x42, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x52, 0x04, 0x69,
0x6e, 0x66, 0x6f, 0x22, 0x39, 0x0a, 0x16, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x42,
0x6f, 0x6f, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1f, 0x0a,
0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x44, 0x42,
0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x4a,
0x0a, 0x1a, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x52, 0x6f, 0x75, 0x6c, 0x65, 0x74,
0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x2c, 0x0a, 0x06,
0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x44,
0x42, 0x47, 0x76, 0x65, 0x52, 0x6f, 0x75, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f,
0x72, 0x64, 0x52, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x22, 0x6a, 0x0a, 0x18, 0x47, 0x75,
0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x63,
0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x12, 0x1c,
0x0a, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x05, 0x52, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07,
0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x66,
0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x22, 0x59, 0x0a, 0x19, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47,
0x76, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52,
0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x06, 0x72,
0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x44, 0x42,
0x47, 0x76, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72,
0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x33,
}
var (
@ -1266,31 +1286,32 @@ var file_guildgve_guildgve_msg_proto_goTypes = []interface{}{
(*GuildGveFriendsRecordReq)(nil), // 17: GuildGveFriendsRecordReq
(*GuildGveFriendsRecordResp)(nil), // 18: GuildGveFriendsRecordResp
(*DBGuildGve)(nil), // 19: DBGuildGve
(*UserAssets)(nil), // 20: UserAssets
(*BattleFormation)(nil), // 21: BattleFormation
(*BattleInfo)(nil), // 22: BattleInfo
(*BattleReport)(nil), // 23: BattleReport
(*DBGuildRouletteRecord)(nil), // 24: DBGuildRouletteRecord
(*DBGveRouletteRecord)(nil), // 20: DBGveRouletteRecord
(*UserAssets)(nil), // 21: UserAssets
(*BattleFormation)(nil), // 22: BattleFormation
(*BattleInfo)(nil), // 23: BattleInfo
(*BattleReport)(nil), // 24: BattleReport
(*DBGveRecord)(nil), // 25: DBGveRecord
}
var file_guildgve_guildgve_msg_proto_depIdxs = []int32{
19, // 0: GuildGveInfoResp.info:type_name -> DBGuildGve
5, // 1: GuildGveRankResp.list:type_name -> GuildGveRankItem
20, // 2: GuildGveRouletteResp.award:type_name -> UserAssets
21, // 3: GuildGveChallengeReq.battle:type_name -> BattleFormation
22, // 4: GuildGveChallengeResp.info:type_name -> BattleInfo
23, // 5: GuildGveChallengeFinishReq.report:type_name -> BattleReport
20, // 6: GuildGveChallengeFinishResp.award:type_name -> UserAssets
19, // 7: GuildGveInfoChangePush.info:type_name -> DBGuildGve
19, // 8: GuildGveStageChangePush.info:type_name -> DBGuildGve
19, // 9: GuildGveBoosChangePush.info:type_name -> DBGuildGve
24, // 10: GuildGveRouletteChangePush.record:type_name -> DBGuildRouletteRecord
25, // 11: GuildGveFriendsRecordResp.record:type_name -> DBGveRecord
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
20, // 1: GuildGveInfoResp.records:type_name -> DBGveRouletteRecord
5, // 2: GuildGveRankResp.list:type_name -> GuildGveRankItem
21, // 3: GuildGveRouletteResp.award:type_name -> UserAssets
22, // 4: GuildGveChallengeReq.battle:type_name -> BattleFormation
23, // 5: GuildGveChallengeResp.info:type_name -> BattleInfo
24, // 6: GuildGveChallengeFinishReq.report:type_name -> BattleReport
21, // 7: GuildGveChallengeFinishResp.award:type_name -> UserAssets
19, // 8: GuildGveInfoChangePush.info:type_name -> DBGuildGve
19, // 9: GuildGveStageChangePush.info:type_name -> DBGuildGve
19, // 10: GuildGveBoosChangePush.info:type_name -> DBGuildGve
20, // 11: GuildGveRouletteChangePush.record:type_name -> DBGveRouletteRecord
25, // 12: GuildGveFriendsRecordResp.record:type_name -> DBGveRecord
13, // [13:13] is the sub-list for method output_type
13, // [13:13] is the sub-list for method input_type
13, // [13:13] is the sub-list for extension type_name
13, // [13:13] is the sub-list for extension extendee
0, // [0:13] is the sub-list for field type_name
}
func init() { file_guildgve_guildgve_msg_proto_init() }

View File

@ -26,15 +26,16 @@ type DBWTask 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
Currchapter int32 `protobuf:"varint,3,opt,name=currchapter,proto3" json:"currchapter"` //当前所在章节
Activations []int32 `protobuf:"varint,4,rep,packed,name=activations,proto3" json:"activations"` //可接取任务列表
Accepts []int32 `protobuf:"varint,5,rep,packed,name=accepts,proto3" json:"accepts"` //已接取任务列表
Completes []int32 `protobuf:"varint,6,rep,packed,name=completes,proto3" json:"completes"` //完成任务列表
Groups map[int32]int32 `protobuf:"bytes,7,rep,name=groups,proto3" json:"groups" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //任务组状态 key表示组id value:0 任务组未完成 1:任务组已完成 2:任务组奖励已领取
Boxs map[int32]*DBWTaskBox `protobuf:"bytes,8,rep,name=boxs,proto3" json:"boxs" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` //世界宝箱
Dailytaskgroup int32 `protobuf:"varint,9,opt,name=dailytaskgroup,proto3" json:"dailytaskgroup"` //日常任务组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
Currchapter int32 `protobuf:"varint,3,opt,name=currchapter,proto3" json:"currchapter"` //当前所在章节
Activations []int32 `protobuf:"varint,4,rep,packed,name=activations,proto3" json:"activations"` //可接取任务列表
Accepts []int32 `protobuf:"varint,5,rep,packed,name=accepts,proto3" json:"accepts"` //已接取任务列表
Completes []int32 `protobuf:"varint,6,rep,packed,name=completes,proto3" json:"completes"` //完成任务列表
Groups map[int32]int32 `protobuf:"bytes,7,rep,name=groups,proto3" json:"groups" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //任务组状态 key表示组id value:0 任务组未完成 1:任务组已完成 2:任务组奖励已领取
Boxs map[int32]*DBWTaskBox `protobuf:"bytes,8,rep,name=boxs,proto3" json:"boxs" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` //世界宝箱
Exchange map[int32]int32 `protobuf:"bytes,9,rep,name=exchange,proto3" json:"exchange" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //兑换记录 每日重置
Dailytaskgroup int32 `protobuf:"varint,10,opt,name=dailytaskgroup,proto3" json:"dailytaskgroup"` //日常任务组id
}
func (x *DBWTask) Reset() {
@ -125,6 +126,13 @@ func (x *DBWTask) GetBoxs() map[int32]*DBWTaskBox {
return nil
}
func (x *DBWTask) GetExchange() map[int32]int32 {
if x != nil {
return x.Exchange
}
return nil
}
func (x *DBWTask) GetDailytaskgroup() int32 {
if x != nil {
return x.Dailytaskgroup
@ -240,8 +248,8 @@ var File_wtask_wtask_db_proto protoreflect.FileDescriptor
var file_wtask_wtask_db_proto_rawDesc = []byte{
0x0a, 0x14, 0x77, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x77, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x64, 0x62,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x62, 0x75, 0x72, 0x69, 0x65, 0x64, 0x2f, 0x62,
0x75, 0x72, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa6,
0x03, 0x0a, 0x07, 0x44, 0x42, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
0x75, 0x72, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x97,
0x04, 0x0a, 0x07, 0x44, 0x42, 0x57, 0x54, 0x61, 0x73, 0x6b, 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, 0x20, 0x0a, 0x0b,
0x63, 0x75, 0x72, 0x72, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
@ -256,31 +264,38 @@ var file_wtask_wtask_db_proto_rawDesc = []byte{
0x73, 0x6b, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06,
0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x26, 0x0a, 0x04, 0x62, 0x6f, 0x78, 0x73, 0x18, 0x08,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x44, 0x42, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x42,
0x6f, 0x78, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x78, 0x73, 0x12, 0x26,
0x0a, 0x0e, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x74, 0x61, 0x73, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70,
0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x74, 0x61, 0x73,
0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x1a, 0x39, 0x0a, 0x0b, 0x47, 0x72, 0x6f, 0x75, 0x70, 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, 0x1a, 0x44, 0x0a, 0x09, 0x42, 0x6f, 0x78, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x6f, 0x78, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x78, 0x73, 0x12, 0x32,
0x0a, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x16, 0x2e, 0x44, 0x42, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61,
0x6e, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e,
0x67, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x74, 0x61, 0x73, 0x6b, 0x67,
0x72, 0x6f, 0x75, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x64, 0x61, 0x69, 0x6c,
0x79, 0x74, 0x61, 0x73, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x1a, 0x39, 0x0a, 0x0b, 0x47, 0x72,
0x6f, 0x75, 0x70, 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, 0x1a, 0x44, 0x0a, 0x09, 0x42, 0x6f, 0x78, 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, 0x21, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x44, 0x42, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x6f, 0x78,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3b, 0x0a, 0x0d, 0x45,
0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 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, 0x70, 0x0a, 0x0a, 0x44, 0x42, 0x57, 0x54,
0x61, 0x73, 0x6b, 0x42, 0x6f, 0x78, 0x12, 0x29, 0x0a, 0x04, 0x62, 0x6f, 0x78, 0x73, 0x18, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x44, 0x42, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x6f,
0x78, 0x2e, 0x42, 0x6f, 0x78, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x78,
0x73, 0x1a, 0x37, 0x0a, 0x09, 0x42, 0x6f, 0x78, 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, 0x21, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x0b, 0x2e, 0x44, 0x42, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x6f, 0x78, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x70, 0x0a, 0x0a, 0x44, 0x42, 0x57, 0x54, 0x61,
0x73, 0x6b, 0x42, 0x6f, 0x78, 0x12, 0x29, 0x0a, 0x04, 0x62, 0x6f, 0x78, 0x73, 0x18, 0x01, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x44, 0x42, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x6f, 0x78,
0x2e, 0x42, 0x6f, 0x78, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x78, 0x73,
0x1a, 0x37, 0x0a, 0x09, 0x42, 0x6f, 0x78, 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, 0x46, 0x0a, 0x0b, 0x44, 0x42, 0x57,
0x54, 0x61, 0x73, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x74, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x63, 0x6f,
0x6e, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x43, 0x6f, 0x6e,
0x49, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x6c, 0x64,
0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x33,
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, 0x46, 0x0a, 0x0b, 0x44, 0x42,
0x57, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x74, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x63,
0x6f, 0x6e, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x43, 0x6f,
0x6e, 0x49, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x6c,
0x64, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x33,
}
var (
@ -295,27 +310,29 @@ func file_wtask_wtask_db_proto_rawDescGZIP() []byte {
return file_wtask_wtask_db_proto_rawDescData
}
var file_wtask_wtask_db_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
var file_wtask_wtask_db_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
var file_wtask_wtask_db_proto_goTypes = []interface{}{
(*DBWTask)(nil), // 0: DBWTask
(*DBWTaskBox)(nil), // 1: DBWTaskBox
(*DBWTaskItem)(nil), // 2: DBWTaskItem
nil, // 3: DBWTask.GroupsEntry
nil, // 4: DBWTask.BoxsEntry
nil, // 5: DBWTaskBox.BoxsEntry
(*ConIProgress)(nil), // 6: ConIProgress
nil, // 5: DBWTask.ExchangeEntry
nil, // 6: DBWTaskBox.BoxsEntry
(*ConIProgress)(nil), // 7: ConIProgress
}
var file_wtask_wtask_db_proto_depIdxs = []int32{
3, // 0: DBWTask.groups:type_name -> DBWTask.GroupsEntry
4, // 1: DBWTask.boxs:type_name -> DBWTask.BoxsEntry
5, // 2: DBWTaskBox.boxs:type_name -> DBWTaskBox.BoxsEntry
6, // 3: DBWTaskItem.conlds:type_name -> ConIProgress
1, // 4: DBWTask.BoxsEntry.value:type_name -> DBWTaskBox
5, // [5:5] is the sub-list for method output_type
5, // [5:5] is the sub-list for method input_type
5, // [5:5] is the sub-list for extension type_name
5, // [5:5] is the sub-list for extension extendee
0, // [0:5] is the sub-list for field type_name
5, // 2: DBWTask.exchange:type_name -> DBWTask.ExchangeEntry
6, // 3: DBWTaskBox.boxs:type_name -> DBWTaskBox.BoxsEntry
7, // 4: DBWTaskItem.conlds:type_name -> ConIProgress
1, // 5: DBWTask.BoxsEntry.value:type_name -> DBWTaskBox
6, // [6:6] is the sub-list for method output_type
6, // [6:6] is the sub-list for method input_type
6, // [6:6] is the sub-list for extension type_name
6, // [6:6] is the sub-list for extension extendee
0, // [0:6] is the sub-list for field type_name
}
func init() { file_wtask_wtask_db_proto_init() }
@ -368,7 +385,7 @@ func file_wtask_wtask_db_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_wtask_wtask_db_proto_rawDesc,
NumEnums: 0,
NumMessages: 6,
NumMessages: 7,
NumExtensions: 0,
NumServices: 0,
},

View File

@ -1051,6 +1051,110 @@ func (x *WTaskBoxReceiveResp) GetAward() []*UserAssets {
return nil
}
//世界任务兑换物品 请求
type WTaskExchangeReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Eid int32 `protobuf:"varint,1,opt,name=eid,proto3" json:"eid"`
}
func (x *WTaskExchangeReq) Reset() {
*x = WTaskExchangeReq{}
if protoimpl.UnsafeEnabled {
mi := &file_wtask_wtask_msg_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WTaskExchangeReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WTaskExchangeReq) ProtoMessage() {}
func (x *WTaskExchangeReq) ProtoReflect() protoreflect.Message {
mi := &file_wtask_wtask_msg_proto_msgTypes[19]
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 WTaskExchangeReq.ProtoReflect.Descriptor instead.
func (*WTaskExchangeReq) Descriptor() ([]byte, []int) {
return file_wtask_wtask_msg_proto_rawDescGZIP(), []int{19}
}
func (x *WTaskExchangeReq) GetEid() int32 {
if x != nil {
return x.Eid
}
return 0
}
//世界任务兑换物品 请求
type WTaskExchangeResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Eid int32 `protobuf:"varint,1,opt,name=eid,proto3" json:"eid"`
Award []*UserAssets `protobuf:"bytes,2,rep,name=award,proto3" json:"award"` //奖励
}
func (x *WTaskExchangeResp) Reset() {
*x = WTaskExchangeResp{}
if protoimpl.UnsafeEnabled {
mi := &file_wtask_wtask_msg_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WTaskExchangeResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WTaskExchangeResp) ProtoMessage() {}
func (x *WTaskExchangeResp) ProtoReflect() protoreflect.Message {
mi := &file_wtask_wtask_msg_proto_msgTypes[20]
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 WTaskExchangeResp.ProtoReflect.Descriptor instead.
func (*WTaskExchangeResp) Descriptor() ([]byte, []int) {
return file_wtask_wtask_msg_proto_rawDescGZIP(), []int{20}
}
func (x *WTaskExchangeResp) GetEid() int32 {
if x != nil {
return x.Eid
}
return 0
}
func (x *WTaskExchangeResp) GetAward() []*UserAssets {
if x != nil {
return x.Award
}
return nil
}
var File_wtask_wtask_msg_proto protoreflect.FileDescriptor
var file_wtask_wtask_msg_proto_rawDesc = []byte{
@ -1159,6 +1263,13 @@ var file_wtask_wtask_msg_proto_rawDesc = []byte{
0x52, 0x03, 0x74, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6f, 0x78, 0x69, 0x64, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x62, 0x6f, 0x78, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x05, 0x61,
0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65,
0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x22, 0x24,
0x0a, 0x10, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52,
0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x03, 0x65, 0x69, 0x64, 0x22, 0x48, 0x0a, 0x11, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x63,
0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x05, 0x61,
0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65,
0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x42, 0x06,
0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
@ -1175,7 +1286,7 @@ func file_wtask_wtask_msg_proto_rawDescGZIP() []byte {
return file_wtask_wtask_msg_proto_rawDescData
}
var file_wtask_wtask_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 21)
var file_wtask_wtask_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 23)
var file_wtask_wtask_msg_proto_goTypes = []interface{}{
(*WTaskInfoReq)(nil), // 0: WTaskInfoReq
(*WTaskInfoResp)(nil), // 1: WTaskInfoResp
@ -1196,36 +1307,39 @@ var file_wtask_wtask_msg_proto_goTypes = []interface{}{
(*WTaskBoxChangePush)(nil), // 16: WTaskBoxChangePush
(*WTaskBoxReceiveReq)(nil), // 17: WTaskBoxReceiveReq
(*WTaskBoxReceiveResp)(nil), // 18: WTaskBoxReceiveResp
nil, // 19: WTaskFinishResp.GroupsEntry
nil, // 20: WTaskBoxChangePush.BoxsEntry
(*DBWTask)(nil), // 21: DBWTask
(*DBWTaskItem)(nil), // 22: DBWTaskItem
(*UserAssets)(nil), // 23: UserAssets
(*BattleFormation)(nil), // 24: BattleFormation
(*BattleInfo)(nil), // 25: BattleInfo
(*BattleReport)(nil), // 26: BattleReport
(*DBWTaskBox)(nil), // 27: DBWTaskBox
(*WTaskExchangeReq)(nil), // 19: WTaskExchangeReq
(*WTaskExchangeResp)(nil), // 20: WTaskExchangeResp
nil, // 21: WTaskFinishResp.GroupsEntry
nil, // 22: WTaskBoxChangePush.BoxsEntry
(*DBWTask)(nil), // 23: DBWTask
(*DBWTaskItem)(nil), // 24: DBWTaskItem
(*UserAssets)(nil), // 25: UserAssets
(*BattleFormation)(nil), // 26: BattleFormation
(*BattleInfo)(nil), // 27: BattleInfo
(*BattleReport)(nil), // 28: BattleReport
(*DBWTaskBox)(nil), // 29: DBWTaskBox
}
var file_wtask_wtask_msg_proto_depIdxs = []int32{
21, // 0: WTaskInfoResp.info:type_name -> DBWTask
22, // 1: WTaskInfoResp.accepts:type_name -> DBWTaskItem
22, // 2: WTaskAcceptResp.accepts:type_name -> DBWTaskItem
22, // 3: WTaskCompleteCondiResp.progress:type_name -> DBWTaskItem
23, // 4: WTaskFinishResp.award:type_name -> UserAssets
19, // 5: WTaskFinishResp.groups:type_name -> WTaskFinishResp.GroupsEntry
23, // 6: WTaskChapterRewardResp.award:type_name -> UserAssets
22, // 7: WTaskAcceptChangePush.accepts:type_name -> DBWTaskItem
24, // 8: WTaskBattleStartReq.battle:type_name -> BattleFormation
25, // 9: WTaskBattleStartResp.info:type_name -> BattleInfo
26, // 10: WTaskBattleFinishReq.report:type_name -> BattleReport
20, // 11: WTaskBoxChangePush.boxs:type_name -> WTaskBoxChangePush.BoxsEntry
23, // 12: WTaskBoxReceiveResp.award:type_name -> UserAssets
27, // 13: WTaskBoxChangePush.BoxsEntry.value:type_name -> DBWTaskBox
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
23, // 0: WTaskInfoResp.info:type_name -> DBWTask
24, // 1: WTaskInfoResp.accepts:type_name -> DBWTaskItem
24, // 2: WTaskAcceptResp.accepts:type_name -> DBWTaskItem
24, // 3: WTaskCompleteCondiResp.progress:type_name -> DBWTaskItem
25, // 4: WTaskFinishResp.award:type_name -> UserAssets
21, // 5: WTaskFinishResp.groups:type_name -> WTaskFinishResp.GroupsEntry
25, // 6: WTaskChapterRewardResp.award:type_name -> UserAssets
24, // 7: WTaskAcceptChangePush.accepts:type_name -> DBWTaskItem
26, // 8: WTaskBattleStartReq.battle:type_name -> BattleFormation
27, // 9: WTaskBattleStartResp.info:type_name -> BattleInfo
28, // 10: WTaskBattleFinishReq.report:type_name -> BattleReport
22, // 11: WTaskBoxChangePush.boxs:type_name -> WTaskBoxChangePush.BoxsEntry
25, // 12: WTaskBoxReceiveResp.award:type_name -> UserAssets
25, // 13: WTaskExchangeResp.award:type_name -> UserAssets
29, // 14: WTaskBoxChangePush.BoxsEntry.value:type_name -> DBWTaskBox
15, // [15:15] is the sub-list for method output_type
15, // [15:15] is the sub-list for method input_type
15, // [15:15] is the sub-list for extension type_name
15, // [15:15] is the sub-list for extension extendee
0, // [0:15] is the sub-list for field type_name
}
func init() { file_wtask_wtask_msg_proto_init() }
@ -1465,6 +1579,30 @@ func file_wtask_wtask_msg_proto_init() {
return nil
}
}
file_wtask_wtask_msg_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WTaskExchangeReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_wtask_wtask_msg_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WTaskExchangeResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
@ -1472,7 +1610,7 @@ func file_wtask_wtask_msg_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_wtask_wtask_msg_proto_rawDesc,
NumEnums: 0,
NumMessages: 21,
NumMessages: 23,
NumExtensions: 0,
NumServices: 0,
},

View File

@ -19,7 +19,10 @@ type GameTrendChoseData struct {
Chosetxt string
Chosetype int32
Chosenum int32
Get []*Gameatn
Startstory int32
Constory int32
Get []int32
Aginstory int32
Lose []*Gameatn
Jump int32
Num int32
@ -53,20 +56,23 @@ func (_v *GameTrendChoseData)Deserialize(_buf map[string]interface{}) (err error
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["chosetxt"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Chosetxt error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Chosetxt, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["chosetype"].(float64); !_ok_ { err = errors.New("chosetype error"); return }; _v.Chosetype = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["chosenum"].(float64); !_ok_ { err = errors.New("chosenum error"); return }; _v.Chosenum = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["startstory"].(float64); !_ok_ { err = errors.New("startstory error"); return }; _v.Startstory = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["constory"].(float64); !_ok_ { err = errors.New("constory error"); return }; _v.Constory = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["get"].([]interface{}); !_ok_ { err = errors.New("get error"); return }
_v.Get = make([]*Gameatn, 0, len(_arr_))
_v.Get = make([]int32, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ *Gameatn
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
var _list_v_ int32
{ var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
_v.Get = append(_v.Get, _list_v_)
}
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["aginstory"].(float64); !_ok_ { err = errors.New("aginstory error"); return }; _v.Aginstory = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool

View File

@ -0,0 +1,42 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type GameWorldDeal struct {
_dataMap map[int32]*GameWorldDealData
_dataList []*GameWorldDealData
}
func NewGameWorldDeal(_buf []map[string]interface{}) (*GameWorldDeal, error) {
_dataList := make([]*GameWorldDealData, 0, len(_buf))
dataMap := make(map[int32]*GameWorldDealData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameWorldDealData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Id] = _v
}
}
return &GameWorldDeal{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameWorldDeal) GetDataMap() map[int32]*GameWorldDealData {
return table._dataMap
}
func (table *GameWorldDeal) GetDataList() []*GameWorldDealData {
return table._dataList
}
func (table *GameWorldDeal) Get(key int32) *GameWorldDealData {
return table._dataMap[key]
}

View File

@ -0,0 +1,67 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type GameWorldDealData struct {
Id int32
Item []*Gameatn
Money []*Gameatn
Buy int32
}
const TypeId_GameWorldDealData = -139216148
func (*GameWorldDealData) GetTypeId() int32 {
return -139216148
}
func (_v *GameWorldDealData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["item"].([]interface{}); !_ok_ { err = errors.New("item error"); return }
_v.Item = make([]*Gameatn, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ *Gameatn
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
_v.Item = append(_v.Item, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["money"].([]interface{}); !_ok_ { err = errors.New("money error"); return }
_v.Money = make([]*Gameatn, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ *Gameatn
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
_v.Money = append(_v.Money, _list_v_)
}
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["buy"].(float64); !_ok_ { err = errors.New("buy error"); return }; _v.Buy = int32(_tempNum_) }
return
}
func DeserializeGameWorldDealData(_buf map[string]interface{}) (*GameWorldDealData, error) {
v := &GameWorldDealData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -98,6 +98,7 @@ type Tables struct {
Privilege *GamePrivilege
WorldTask *GameWorldTask
WorldAll *GameWorldAll
WorldDeal *GameWorldDeal
Teaching *GameTeaching
HeroStrategy *GameHeroStrategy
FightGlobalEvent *GameFightGlobalEvent
@ -742,6 +743,12 @@ func NewTables(loader JsonLoader) (*Tables, error) {
if tables.WorldAll, err = NewGameWorldAll(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_worlddeal") ; err != nil {
return nil, err
}
if tables.WorldDeal, err = NewGameWorldDeal(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_teaching") ; err != nil {
return nil, err
}

View File

@ -313,6 +313,23 @@ func (this *DBModel) Change(uid string, data map[string]interface{}, opt ...DBOp
return nil
}
// 修改数据多个字段 uid 作为主键
func (this *DBModel) ChangeById(id string, data map[string]interface{}, opt ...DBOption) (err error) {
//defer log.Debug("DBModel Change", log.Field{Key: "TableName", Value: this.TableName}, log.Field{Key: "uid", Value: uid}, log.Field{Key: "data", Value: data})
if err = this.Redis.HMSet(this.ukey(id), data); err != nil {
return
}
option := newDBOption(opt...)
if option.IsMgoLog {
err = this.UpdateModelLogs(this.TableName, "", bson.M{"_id": id}, data)
}
if this.Expired > 0 {
this.conn.UpDateModelExpired(this.ukey(id), nil, this.Expired)
// this.Redis.Expire(this.ukey(uid), option.Expire)
}
return nil
}
// 修改列表中一个数据
func (this *DBModel) ChangeList(uid string, _id string, data map[string]interface{}, opt ...DBOption) (err error) {
//defer log.Debug("DBModel ChangeList", log.Field{Key: "TableName", Value: this.TableName}, log.Field{Key: "uid", Value: uid}, log.Field{Key: "_id", Value: _id}, log.Field{Key: "data", Value: data})