From ef814bb391add0faa99616ed1181c0cfaa960629 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Wed, 4 Jan 2023 17:20:57 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=20=E7=BB=9F=E4=B8=80?= =?UTF-8?q?=E9=97=A8=E7=A5=A8=E6=9C=BA=E5=88=B6=E4=BB=A5=E5=8F=8A=E5=95=86?= =?UTF-8?q?=E5=BA=97=E7=89=B9=E6=9D=83=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/json/game_playerlv.json | 180 ++++++++---- comm/const.go | 2 +- comm/imodule.go | 2 + modules/items/api_buyunifiedticket.go | 31 +++ modules/items/api_refreshunifiedticket.go | 37 +++ modules/items/configure.go | 16 ++ modules/items/modelitems.go | 80 ++++++ modules/items/module.go | 15 + modules/shop/api_getlist.go | 70 +++-- modules/shop/module.go | 5 + pb/items_msg.pb.go | 303 +++++++++++++++++++-- pb/shop_db.pb.go | 80 ++++-- pb/userexpand.pb.go | 96 ++++--- sys/configure/structs/game.globalData.go | 43 ++- sys/configure/structs/game.playerlvData.go | 2 + 15 files changed, 786 insertions(+), 176 deletions(-) create mode 100644 modules/items/api_buyunifiedticket.go create mode 100644 modules/items/api_refreshunifiedticket.go diff --git a/bin/json/game_playerlv.json b/bin/json/game_playerlv.json index f54685a8a..a011a7c5e 100644 --- a/bin/json/game_playerlv.json +++ b/bin/json/game_playerlv.json @@ -3,7 +3,8 @@ "lv": 1, "exp": 0, "reward": [], - "ps_ceiling": 60 + "ps_ceiling": 60, + "cops_ps_ceiling": 60 }, { "lv": 2, @@ -15,7 +16,8 @@ "n": 1000 } ], - "ps_ceiling": 62 + "ps_ceiling": 62, + "cops_ps_ceiling": 62 }, { "lv": 3, @@ -27,7 +29,8 @@ "n": 1000 } ], - "ps_ceiling": 64 + "ps_ceiling": 64, + "cops_ps_ceiling": 64 }, { "lv": 4, @@ -39,7 +42,8 @@ "n": 1000 } ], - "ps_ceiling": 66 + "ps_ceiling": 66, + "cops_ps_ceiling": 66 }, { "lv": 5, @@ -51,7 +55,8 @@ "n": 1000 } ], - "ps_ceiling": 68 + "ps_ceiling": 68, + "cops_ps_ceiling": 68 }, { "lv": 6, @@ -63,7 +68,8 @@ "n": 1000 } ], - "ps_ceiling": 70 + "ps_ceiling": 70, + "cops_ps_ceiling": 70 }, { "lv": 7, @@ -75,7 +81,8 @@ "n": 1000 } ], - "ps_ceiling": 72 + "ps_ceiling": 72, + "cops_ps_ceiling": 72 }, { "lv": 8, @@ -87,7 +94,8 @@ "n": 1000 } ], - "ps_ceiling": 74 + "ps_ceiling": 74, + "cops_ps_ceiling": 74 }, { "lv": 9, @@ -99,7 +107,8 @@ "n": 1000 } ], - "ps_ceiling": 76 + "ps_ceiling": 76, + "cops_ps_ceiling": 76 }, { "lv": 10, @@ -111,7 +120,8 @@ "n": 1000 } ], - "ps_ceiling": 78 + "ps_ceiling": 78, + "cops_ps_ceiling": 78 }, { "lv": 11, @@ -123,7 +133,8 @@ "n": 1000 } ], - "ps_ceiling": 80 + "ps_ceiling": 80, + "cops_ps_ceiling": 80 }, { "lv": 12, @@ -135,7 +146,8 @@ "n": 1000 } ], - "ps_ceiling": 82 + "ps_ceiling": 82, + "cops_ps_ceiling": 82 }, { "lv": 13, @@ -147,7 +159,8 @@ "n": 1000 } ], - "ps_ceiling": 84 + "ps_ceiling": 84, + "cops_ps_ceiling": 84 }, { "lv": 14, @@ -159,7 +172,8 @@ "n": 1000 } ], - "ps_ceiling": 86 + "ps_ceiling": 86, + "cops_ps_ceiling": 86 }, { "lv": 15, @@ -171,7 +185,8 @@ "n": 1000 } ], - "ps_ceiling": 88 + "ps_ceiling": 88, + "cops_ps_ceiling": 88 }, { "lv": 16, @@ -183,7 +198,8 @@ "n": 1000 } ], - "ps_ceiling": 90 + "ps_ceiling": 90, + "cops_ps_ceiling": 90 }, { "lv": 17, @@ -195,7 +211,8 @@ "n": 1000 } ], - "ps_ceiling": 92 + "ps_ceiling": 92, + "cops_ps_ceiling": 92 }, { "lv": 18, @@ -207,7 +224,8 @@ "n": 1000 } ], - "ps_ceiling": 94 + "ps_ceiling": 94, + "cops_ps_ceiling": 94 }, { "lv": 19, @@ -219,7 +237,8 @@ "n": 1000 } ], - "ps_ceiling": 96 + "ps_ceiling": 96, + "cops_ps_ceiling": 96 }, { "lv": 20, @@ -231,7 +250,8 @@ "n": 1000 } ], - "ps_ceiling": 98 + "ps_ceiling": 98, + "cops_ps_ceiling": 98 }, { "lv": 21, @@ -243,7 +263,8 @@ "n": 1000 } ], - "ps_ceiling": 100 + "ps_ceiling": 100, + "cops_ps_ceiling": 100 }, { "lv": 22, @@ -255,7 +276,8 @@ "n": 1000 } ], - "ps_ceiling": 102 + "ps_ceiling": 102, + "cops_ps_ceiling": 102 }, { "lv": 23, @@ -267,7 +289,8 @@ "n": 1000 } ], - "ps_ceiling": 104 + "ps_ceiling": 104, + "cops_ps_ceiling": 104 }, { "lv": 24, @@ -279,7 +302,8 @@ "n": 1000 } ], - "ps_ceiling": 106 + "ps_ceiling": 106, + "cops_ps_ceiling": 106 }, { "lv": 25, @@ -291,7 +315,8 @@ "n": 1000 } ], - "ps_ceiling": 108 + "ps_ceiling": 108, + "cops_ps_ceiling": 108 }, { "lv": 26, @@ -303,7 +328,8 @@ "n": 1000 } ], - "ps_ceiling": 110 + "ps_ceiling": 110, + "cops_ps_ceiling": 110 }, { "lv": 27, @@ -315,7 +341,8 @@ "n": 1000 } ], - "ps_ceiling": 112 + "ps_ceiling": 112, + "cops_ps_ceiling": 112 }, { "lv": 28, @@ -327,7 +354,8 @@ "n": 1000 } ], - "ps_ceiling": 114 + "ps_ceiling": 114, + "cops_ps_ceiling": 114 }, { "lv": 29, @@ -339,7 +367,8 @@ "n": 1000 } ], - "ps_ceiling": 116 + "ps_ceiling": 116, + "cops_ps_ceiling": 116 }, { "lv": 30, @@ -351,7 +380,8 @@ "n": 1000 } ], - "ps_ceiling": 118 + "ps_ceiling": 118, + "cops_ps_ceiling": 118 }, { "lv": 31, @@ -363,7 +393,8 @@ "n": 1000 } ], - "ps_ceiling": 120 + "ps_ceiling": 120, + "cops_ps_ceiling": 120 }, { "lv": 32, @@ -375,7 +406,8 @@ "n": 1000 } ], - "ps_ceiling": 122 + "ps_ceiling": 122, + "cops_ps_ceiling": 122 }, { "lv": 33, @@ -387,7 +419,8 @@ "n": 1000 } ], - "ps_ceiling": 124 + "ps_ceiling": 124, + "cops_ps_ceiling": 124 }, { "lv": 34, @@ -399,7 +432,8 @@ "n": 1000 } ], - "ps_ceiling": 126 + "ps_ceiling": 126, + "cops_ps_ceiling": 126 }, { "lv": 35, @@ -411,7 +445,8 @@ "n": 1000 } ], - "ps_ceiling": 128 + "ps_ceiling": 128, + "cops_ps_ceiling": 128 }, { "lv": 36, @@ -423,7 +458,8 @@ "n": 1000 } ], - "ps_ceiling": 130 + "ps_ceiling": 130, + "cops_ps_ceiling": 130 }, { "lv": 37, @@ -435,7 +471,8 @@ "n": 1000 } ], - "ps_ceiling": 132 + "ps_ceiling": 132, + "cops_ps_ceiling": 132 }, { "lv": 38, @@ -447,7 +484,8 @@ "n": 1000 } ], - "ps_ceiling": 134 + "ps_ceiling": 134, + "cops_ps_ceiling": 134 }, { "lv": 39, @@ -459,7 +497,8 @@ "n": 1000 } ], - "ps_ceiling": 136 + "ps_ceiling": 136, + "cops_ps_ceiling": 136 }, { "lv": 40, @@ -471,7 +510,8 @@ "n": 1000 } ], - "ps_ceiling": 138 + "ps_ceiling": 138, + "cops_ps_ceiling": 138 }, { "lv": 41, @@ -483,7 +523,8 @@ "n": 1000 } ], - "ps_ceiling": 140 + "ps_ceiling": 140, + "cops_ps_ceiling": 140 }, { "lv": 42, @@ -495,7 +536,8 @@ "n": 1000 } ], - "ps_ceiling": 142 + "ps_ceiling": 142, + "cops_ps_ceiling": 142 }, { "lv": 43, @@ -507,7 +549,8 @@ "n": 1000 } ], - "ps_ceiling": 144 + "ps_ceiling": 144, + "cops_ps_ceiling": 144 }, { "lv": 44, @@ -519,7 +562,8 @@ "n": 1000 } ], - "ps_ceiling": 146 + "ps_ceiling": 146, + "cops_ps_ceiling": 146 }, { "lv": 45, @@ -531,7 +575,8 @@ "n": 1000 } ], - "ps_ceiling": 148 + "ps_ceiling": 148, + "cops_ps_ceiling": 148 }, { "lv": 46, @@ -543,7 +588,8 @@ "n": 1000 } ], - "ps_ceiling": 150 + "ps_ceiling": 150, + "cops_ps_ceiling": 150 }, { "lv": 47, @@ -555,7 +601,8 @@ "n": 1000 } ], - "ps_ceiling": 152 + "ps_ceiling": 152, + "cops_ps_ceiling": 152 }, { "lv": 48, @@ -567,7 +614,8 @@ "n": 1000 } ], - "ps_ceiling": 154 + "ps_ceiling": 154, + "cops_ps_ceiling": 154 }, { "lv": 49, @@ -579,7 +627,8 @@ "n": 1000 } ], - "ps_ceiling": 156 + "ps_ceiling": 156, + "cops_ps_ceiling": 156 }, { "lv": 50, @@ -591,7 +640,8 @@ "n": 1000 } ], - "ps_ceiling": 158 + "ps_ceiling": 158, + "cops_ps_ceiling": 158 }, { "lv": 51, @@ -603,7 +653,8 @@ "n": 1000 } ], - "ps_ceiling": 160 + "ps_ceiling": 160, + "cops_ps_ceiling": 160 }, { "lv": 52, @@ -615,7 +666,8 @@ "n": 1000 } ], - "ps_ceiling": 162 + "ps_ceiling": 162, + "cops_ps_ceiling": 162 }, { "lv": 53, @@ -627,7 +679,8 @@ "n": 1000 } ], - "ps_ceiling": 164 + "ps_ceiling": 164, + "cops_ps_ceiling": 164 }, { "lv": 54, @@ -639,7 +692,8 @@ "n": 1000 } ], - "ps_ceiling": 166 + "ps_ceiling": 166, + "cops_ps_ceiling": 166 }, { "lv": 55, @@ -651,7 +705,8 @@ "n": 1000 } ], - "ps_ceiling": 168 + "ps_ceiling": 168, + "cops_ps_ceiling": 168 }, { "lv": 56, @@ -663,7 +718,8 @@ "n": 1000 } ], - "ps_ceiling": 170 + "ps_ceiling": 170, + "cops_ps_ceiling": 170 }, { "lv": 57, @@ -675,7 +731,8 @@ "n": 1000 } ], - "ps_ceiling": 172 + "ps_ceiling": 172, + "cops_ps_ceiling": 172 }, { "lv": 58, @@ -687,7 +744,8 @@ "n": 1000 } ], - "ps_ceiling": 174 + "ps_ceiling": 174, + "cops_ps_ceiling": 174 }, { "lv": 59, @@ -699,7 +757,8 @@ "n": 1000 } ], - "ps_ceiling": 176 + "ps_ceiling": 176, + "cops_ps_ceiling": 176 }, { "lv": 60, @@ -711,6 +770,7 @@ "n": 1000 } ], - "ps_ceiling": 178 + "ps_ceiling": 178, + "cops_ps_ceiling": 178 } ] \ No newline at end of file diff --git a/comm/const.go b/comm/const.go index 3f52107d6..3c5b64902 100644 --- a/comm/const.go +++ b/comm/const.go @@ -333,7 +333,7 @@ const ( ArenaTicket string = "100004" //竞技场入场券 MoonFantasyTicket string = "100003" //梦境场入场券 PhysicalMedicament string = "10017" //体力药剂 - + UnifiedTicket string = "100100" //统一门票 ) //红点枚举 diff --git a/comm/imodule.go b/comm/imodule.go index f66976a3e..385e71129 100644 --- a/comm/imodule.go +++ b/comm/imodule.go @@ -37,6 +37,8 @@ type ( AddItems(session IUserSession, items map[string]int32, bPush bool) (change []*pb.DB_UserItemData, code pb.ErrorCode) ///清理道具 CleanItems(session IUserSession) (code pb.ErrorCode) + ///购买统一入场卷 + BuyUnifiedTicket(session IUserSession, buynum int32) (code pb.ErrorCode) } //英雄 diff --git a/modules/items/api_buyunifiedticket.go b/modules/items/api_buyunifiedticket.go new file mode 100644 index 000000000..4f20d40e0 --- /dev/null +++ b/modules/items/api_buyunifiedticket.go @@ -0,0 +1,31 @@ +package items + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/pb" + + "google.golang.org/protobuf/proto" +) + +//参数校验 +func (this *apiComp) BuyUnifiedTicketCheck(session comm.IUserSession, req *pb.ItemsBuyUnifiedTicketReq) (code pb.ErrorCode) { + if req.BuyNum <= 0 { + code = pb.ErrorCode_ReqParameterError + } + return +} + +//购买 +func (this *apiComp) BuyUnifiedTicket(session comm.IUserSession, req *pb.ItemsBuyUnifiedTicketReq) (code pb.ErrorCode, data proto.Message) { + var ( + info *pb.DBUserExpand + ) + if code = this.BuyUnifiedTicketCheck(session, req); code != pb.ErrorCode_Success { + return + } + if info, code = this.module.modelItems.buyTicket(session, req.BuyNum); code != pb.ErrorCode_Success { + return + } + session.SendMsg(string(this.module.GetType()), "buyunifiedticket", &pb.ItemsBuyUnifiedTicketResp{Issucc: true, Buyunifiedticket: info.Buyunifiedticket, Recovertimeunifiedticket: info.Recovertimeunifiedticket}) + return +} diff --git a/modules/items/api_refreshunifiedticket.go b/modules/items/api_refreshunifiedticket.go new file mode 100644 index 000000000..08211a234 --- /dev/null +++ b/modules/items/api_refreshunifiedticket.go @@ -0,0 +1,37 @@ +package items + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/pb" + + "google.golang.org/protobuf/proto" +) + +//参数校验 +func (this *apiComp) RefreshUnifiedTicketCheck(session comm.IUserSession, req *pb.ItemsRefreshUnifiedTicketReq) (code pb.ErrorCode) { + + return +} + +//购买 +func (this *apiComp) RefreshUnifiedTicket(session comm.IUserSession, req *pb.ItemsRefreshUnifiedTicketReq) (code pb.ErrorCode, data proto.Message) { + var ( + user *pb.DBUser + info *pb.DBUserExpand + err error + ) + if code = this.RefreshUnifiedTicketCheck(session, req); code != pb.ErrorCode_Success { + return + } + if user = this.module.ModuleUser.GetUser(session.GetUserId()); user == nil { + code = pb.ErrorCode_CacheReadError + return + } + if info, err = this.module.ModuleUser.GetUserExpand(session.GetUserId()); err != nil { + code = pb.ErrorCode_CacheReadError + return + } + this.module.modelItems.recoverTicket(session, user, info) + session.SendMsg(string(this.module.GetType()), "refreshunifiedticket", &pb.ItemsRefreshUnifiedTicketResp{}) + return +} diff --git a/modules/items/configure.go b/modules/items/configure.go index a0f67ca6c..a13380715 100644 --- a/modules/items/configure.go +++ b/modules/items/configure.go @@ -133,6 +133,22 @@ func (this *ConfigureComp) GetPackItemByType(itmes []*pb.DB_UserItemData, bagtyp return } +func (this *ConfigureComp) GetchallengeDataCount() (count int, err error) { + count = len(this.GetGlobalConf().CopsBuy) + return +} + +func (this *ConfigureComp) GetchallengeData(buy int) (result *cfg.Gameatn) { + for i, v := range this.GetGlobalConf().CopsBuy { + if i == buy-1 { + result = v + return + } + result = v + } + return +} + // //获取道具礼包组 // func (this *ConfigureComp) GetPropsgroupConfigure(gid int32) (result []*cfg.GamePropsgroupData, err error) { // var ok bool diff --git a/modules/items/modelitems.go b/modules/items/modelitems.go index 3a413a066..1a5036d1a 100644 --- a/modules/items/modelitems.go +++ b/modules/items/modelitems.go @@ -9,6 +9,7 @@ import ( "go_dreamfactory/sys/configure" cfg "go_dreamfactory/sys/configure/structs" "go_dreamfactory/sys/db" + "math" "time" "go.mongodb.org/mongo-driver/bson/primitive" @@ -459,3 +460,82 @@ func (this *ModelItemsComp) addItemToUserPack(uid string, items []*pb.DB_UserIte } return } + +//购买门票 +func (this *ModelItemsComp) buyTicket(session comm.IUserSession, buy int32) (info *pb.DBUserExpand, code pb.ErrorCode) { + var ( + user *pb.DBUser + need *cfg.Gameatn + needs []*cfg.Gameatn + maxbuy, vipbuy int + err error + ) + if user = this.module.ModuleUser.GetUser(session.GetUserId()); user == nil { + code = pb.ErrorCode_CacheReadError + return + } + if info, err = this.module.ModuleUser.GetUserExpand(session.GetUserId()); err != nil { + code = pb.ErrorCode_CacheReadError + return + } + this.module.modelItems.recoverTicket(session, user, info) + if maxbuy, err = this.module.configure.GetchallengeDataCount(); err != nil { + code = pb.ErrorCode_ConfigNoFound + return + } + vipbuy = int(this.module.privilege.GetCountByPrivilegeId(session.GetUserId(), comm.PrivilegeType3)) + + needs = make([]*cfg.Gameatn, 0) + for i := int32(0); i < buy; i++ { + if int(info.Buyunifiedticket+i+1) > maxbuy+vipbuy { + code = pb.ErrorCode_ArenaTicketBuyUp + return + } + if need = this.module.configure.GetchallengeData(int(info.Buyunifiedticket + i + 1)); err != nil || need == nil { + code = pb.ErrorCode_ConfigNoFound + return + } + needs = append(needs, need) + } + + if code = this.module.ConsumeRes(session, needs, true); code != pb.ErrorCode_Success { + return + } + info.Buyunifiedticket += buy + if code = this.module.DispenseRes(session, []*cfg.Gameatn{{A: comm.ItemType, T: comm.UnifiedTicket, N: buy}}, true); code != pb.ErrorCode_Success { + return + } + this.module.ModuleUser.ChangeUserExpand(session.GetUserId(), map[string]interface{}{ + "buyunifiedticket": info.Buyunifiedticket, + "lasttimeunifiedticket": info.Lasttimeunifiedticket, + "recovertimeunifiedticket": info.Recovertimeunifiedticket, + }) + return +} + +///回复门票 +func (this *ModelItemsComp) recoverTicket(session comm.IUserSession, user *pb.DBUser, info *pb.DBUserExpand) { + var ( + duration time.Duration + ticket int32 + ticketNum int32 + ) + if time.Unix(info.Lasttimeunifiedticket, 0).Day() < configure.Now().Day() { + info.Lasttimeunifiedticket = configure.Now().Unix() + info.Buyunifiedticket = 0 + } + global := this.module.configure.GetGlobalConf() + playerlv := this.module.configure.GetPlayerlvConf(user.Lv) + ticket = int32(this.module.ModuleItems.QueryItemAmount(info.Uid, comm.UnifiedTicket)) + if ticket < global.DreamlandFightnum && info.Recovertimeunifiedticket > 0 { + duration = configure.Now().Sub(time.Unix(info.Recovertimeunifiedticket, 0)) + ticketNum = int32(math.Floor(duration.Seconds() / float64(global.CopsRecoveryTime))) + if ticketNum > 0 { + if ticketNum+ticket > playerlv.CopsPsCeiling { + ticketNum = playerlv.CopsPsCeiling - ticket + } + this.module.DispenseRes(session, []*cfg.Gameatn{{A: comm.ItemType, T: comm.UnifiedTicket, N: ticketNum}}, true) + info.Recovertimeunifiedticket = time.Unix(info.Recovertimeunifiedticket, 0).Add(time.Duration(ticketNum) * time.Minute).Unix() + } + } +} diff --git a/modules/items/module.go b/modules/items/module.go index 9e9caeeeb..407641b31 100644 --- a/modules/items/module.go +++ b/modules/items/module.go @@ -5,6 +5,7 @@ import ( "go_dreamfactory/modules" "go_dreamfactory/pb" + "go_dreamfactory/lego/base" "go_dreamfactory/lego/core" "go_dreamfactory/lego/sys/event" ) @@ -21,6 +22,8 @@ func NewModule() core.IModule { type Items struct { modules.ModuleBase + service base.IRPCXService + privilege comm.IPrivilege api *apiComp modelItems *ModelItemsComp configure *ConfigureComp @@ -34,12 +37,18 @@ func (this *Items) GetType() core.M_Modules { //模块初始化接口 注册用户创建角色事件 func (this *Items) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) { err = this.ModuleBase.Init(service, module, options) + this.service = service.(base.IRPCXService) return } //模块启动 func (this *Items) Start() (err error) { err = this.ModuleBase.Start() + var module core.IModule + if module, err = this.service.GetModule(comm.ModulePrivilege); err != nil { + return + } + this.privilege = module.(comm.IPrivilege) event.RegisterGO(comm.EventUserOffline, this.EventUserOffline) return } @@ -166,6 +175,12 @@ func (this *Items) CleanItems(session comm.IUserSession) (code pb.ErrorCode) { return } +//购买门票道具 +func (this *Items) BuyUnifiedTicket(session comm.IUserSession, buynum int32) (code pb.ErrorCode) { + _, code = this.modelItems.buyTicket(session, buynum) + return +} + //Evens-------------------------------------------------------------------------------------------------------------------------------- //推送道具变化消息 func (this *Items) itemsChangePush(session comm.IUserSession, items []*pb.DB_UserItemData) (err error) { diff --git a/modules/shop/api_getlist.go b/modules/shop/api_getlist.go index 2dd884bd5..b87ac7d1a 100644 --- a/modules/shop/api_getlist.go +++ b/modules/shop/api_getlist.go @@ -136,38 +136,54 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq) this.module.ModuleRtask.SendToRtask(session, comm.Rtype105, 1) this.module.modelShop.Change(session.GetUserId(), map[string]interface{}{filed: sdata}) } else if !req.IsManualRefresh { - if tdata > ltime { //达到刷新时间 可以刷新商品列表 - var _items []*cfg.GameShopitemData - for _, v := range shopconf.Shopitem { - if _items, err = this.module.configure.GetShopItemsConfigureByGroups(v, udata); err != nil || len(_items) == 0 { - this.module.Error("no founf shopgroup", log.Field{Key: "gid", Value: v}) + refresh := int(this.module.privilege.GetCountByPrivilegeId(session.GetUserId(), comm.PrivilegeType2)) + isrefresh := false + if refresh > 0 { // + if time.Unix(shopData.RefreshtimegoldShop, 0).Day() < configure.Now().Day() { + shopData.RefreshtimegoldShop = configure.Now().Unix() + shopData.RefreshnumgoldShop = 0 + } + if int(shopData.RefreshnumgoldShop) < refresh { + isrefresh = true + } + } else { + if tdata > ltime { //达到刷新时间 可以刷新商品列表 + isrefresh = true + } + if isrefresh { + var _items []*cfg.GameShopitemData + for _, v := range shopconf.Shopitem { + if _items, err = this.module.configure.GetShopItemsConfigureByGroups(v, udata); err != nil || len(_items) == 0 { + this.module.Error("no founf shopgroup", log.Field{Key: "gid", Value: v}) + code = pb.ErrorCode_SystemError + return + } + items = append(items, randomGoods(_items)) + } + sdata.Buy = make(map[int32]int32) + sdata.LastRefreshTime = configure.Now().Unix() + sdata.Items = make([]int32, len(items)) + sdata.Preview = make(map[int32]*pb.DB_Equipment) + for i, v := range items { + sdata.Items[i] = v.Key + if v.Preview { //是否预览 + if code, sdata.Preview[v.Key] = this.module.equip.NewEquipment(session.GetUserId(), v.Iteminfo[0].T); code != pb.ErrorCode_Success { + return + } + } + } + goods = transGoods(items, sdata) + this.module.modelShop.Change(session.GetUserId(), map[string]interface{}{"refreshnumgoldShop": shopData.RefreshnumgoldShop, "refreshtimegoldShop": shopData.RefreshtimegoldShop, filed: sdata}) + this.module.ModuleRtask.SendToRtask(session, comm.Rtype105, 1) + } else { //返回以前的商品列表 + if items, err = this.module.configure.GetShopItemsConfigureByIds(sdata.Items...); err != nil { code = pb.ErrorCode_SystemError return } - items = append(items, randomGoods(_items)) + goods = transGoods(items, sdata) } - sdata.Buy = make(map[int32]int32) - sdata.LastRefreshTime = configure.Now().Unix() - sdata.Items = make([]int32, len(items)) - sdata.Preview = make(map[int32]*pb.DB_Equipment) - for i, v := range items { - sdata.Items[i] = v.Key - if v.Preview { //是否预览 - if code, sdata.Preview[v.Key] = this.module.equip.NewEquipment(session.GetUserId(), v.Iteminfo[0].T); code != pb.ErrorCode_Success { - return - } - } - } - goods = transGoods(items, sdata) - this.module.modelShop.Change(session.GetUserId(), map[string]interface{}{filed: sdata}) - this.module.ModuleRtask.SendToRtask(session, comm.Rtype105, 1) - } else { //返回以前的商品列表 - if items, err = this.module.configure.GetShopItemsConfigureByIds(sdata.Items...); err != nil { - code = pb.ErrorCode_SystemError - return - } - goods = transGoods(items, sdata) } + } else { code = pb.ErrorCode_ReqParameterError return diff --git a/modules/shop/module.go b/modules/shop/module.go index f37e7a440..6395c3ebd 100644 --- a/modules/shop/module.go +++ b/modules/shop/module.go @@ -22,6 +22,7 @@ type Shop struct { modules.ModuleBase service base.IRPCXService equip comm.IEquipment //装备系统 + privilege comm.IPrivilege api_comp *apiComp configure *configureComp modelShop *modelShopComp @@ -45,6 +46,10 @@ func (this *Shop) Start() (err error) { return } this.equip = module.(comm.IEquipment) + if module, err = this.service.GetModule(comm.ModulePrivilege); err != nil { + return + } + this.privilege = module.(comm.IPrivilege) return } diff --git a/pb/items_msg.pb.go b/pb/items_msg.pb.go index 4852cb658..8576bc5ec 100644 --- a/pb/items_msg.pb.go +++ b/pb/items_msg.pb.go @@ -780,6 +780,195 @@ func (x *ItemsSellinbulkResp) GetIssucc() []bool { return nil } +//购买统一入场门票请求 +type ItemsBuyUnifiedTicketReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BuyNum int32 `protobuf:"varint,1,opt,name=BuyNum,proto3" json:"BuyNum"` +} + +func (x *ItemsBuyUnifiedTicketReq) Reset() { + *x = ItemsBuyUnifiedTicketReq{} + if protoimpl.UnsafeEnabled { + mi := &file_items_items_msg_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ItemsBuyUnifiedTicketReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ItemsBuyUnifiedTicketReq) ProtoMessage() {} + +func (x *ItemsBuyUnifiedTicketReq) ProtoReflect() protoreflect.Message { + mi := &file_items_items_msg_proto_msgTypes[13] + 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 ItemsBuyUnifiedTicketReq.ProtoReflect.Descriptor instead. +func (*ItemsBuyUnifiedTicketReq) Descriptor() ([]byte, []int) { + return file_items_items_msg_proto_rawDescGZIP(), []int{13} +} + +func (x *ItemsBuyUnifiedTicketReq) GetBuyNum() int32 { + if x != nil { + return x.BuyNum + } + return 0 +} + +//购买统一入场门票请求回应 +type ItemsBuyUnifiedTicketResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Issucc bool `protobuf:"varint,1,opt,name=issucc,proto3" json:"issucc"` + Buyunifiedticket int32 `protobuf:"varint,2,opt,name=buyunifiedticket,proto3" json:"buyunifiedticket"` //购买统一入场门票次数 + Recovertimeunifiedticket int64 `protobuf:"varint,3,opt,name=recovertimeunifiedticket,proto3" json:"recovertimeunifiedticket"` //同意门票恢复时间 +} + +func (x *ItemsBuyUnifiedTicketResp) Reset() { + *x = ItemsBuyUnifiedTicketResp{} + if protoimpl.UnsafeEnabled { + mi := &file_items_items_msg_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ItemsBuyUnifiedTicketResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ItemsBuyUnifiedTicketResp) ProtoMessage() {} + +func (x *ItemsBuyUnifiedTicketResp) ProtoReflect() protoreflect.Message { + mi := &file_items_items_msg_proto_msgTypes[14] + 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 ItemsBuyUnifiedTicketResp.ProtoReflect.Descriptor instead. +func (*ItemsBuyUnifiedTicketResp) Descriptor() ([]byte, []int) { + return file_items_items_msg_proto_rawDescGZIP(), []int{14} +} + +func (x *ItemsBuyUnifiedTicketResp) GetIssucc() bool { + if x != nil { + return x.Issucc + } + return false +} + +func (x *ItemsBuyUnifiedTicketResp) GetBuyunifiedticket() int32 { + if x != nil { + return x.Buyunifiedticket + } + return 0 +} + +func (x *ItemsBuyUnifiedTicketResp) GetRecovertimeunifiedticket() int64 { + if x != nil { + return x.Recovertimeunifiedticket + } + return 0 +} + +//刷新统一入场卷 +type ItemsRefreshUnifiedTicketReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ItemsRefreshUnifiedTicketReq) Reset() { + *x = ItemsRefreshUnifiedTicketReq{} + if protoimpl.UnsafeEnabled { + mi := &file_items_items_msg_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ItemsRefreshUnifiedTicketReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ItemsRefreshUnifiedTicketReq) ProtoMessage() {} + +func (x *ItemsRefreshUnifiedTicketReq) ProtoReflect() protoreflect.Message { + mi := &file_items_items_msg_proto_msgTypes[15] + 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 ItemsRefreshUnifiedTicketReq.ProtoReflect.Descriptor instead. +func (*ItemsRefreshUnifiedTicketReq) Descriptor() ([]byte, []int) { + return file_items_items_msg_proto_rawDescGZIP(), []int{15} +} + +type ItemsRefreshUnifiedTicketResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ItemsRefreshUnifiedTicketResp) Reset() { + *x = ItemsRefreshUnifiedTicketResp{} + if protoimpl.UnsafeEnabled { + mi := &file_items_items_msg_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ItemsRefreshUnifiedTicketResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ItemsRefreshUnifiedTicketResp) ProtoMessage() {} + +func (x *ItemsRefreshUnifiedTicketResp) ProtoReflect() protoreflect.Message { + mi := &file_items_items_msg_proto_msgTypes[16] + 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 ItemsRefreshUnifiedTicketResp.ProtoReflect.Descriptor instead. +func (*ItemsRefreshUnifiedTicketResp) Descriptor() ([]byte, []int) { + return file_items_items_msg_proto_rawDescGZIP(), []int{16} +} + var File_items_items_msg_proto protoreflect.FileDescriptor var file_items_items_msg_proto_rawDesc = []byte{ @@ -851,8 +1040,26 @@ var file_items_items_msg_proto_rawDesc = []byte{ 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, 0x69, 0x64, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, - 0x63, 0x18, 0x03, 0x20, 0x03, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x42, - 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x63, 0x18, 0x03, 0x20, 0x03, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x22, + 0x32, 0x0a, 0x18, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x42, 0x75, 0x79, 0x55, 0x6e, 0x69, 0x66, 0x69, + 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x42, + 0x75, 0x79, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x42, 0x75, 0x79, + 0x4e, 0x75, 0x6d, 0x22, 0x9b, 0x01, 0x0a, 0x19, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x42, 0x75, 0x79, + 0x55, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x75, 0x79, + 0x75, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x10, 0x62, 0x75, 0x79, 0x75, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x74, + 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x3a, 0x0a, 0x18, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, + 0x74, 0x69, 0x6d, 0x65, 0x75, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x74, 0x69, 0x63, 0x6b, 0x65, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x18, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, + 0x74, 0x69, 0x6d, 0x65, 0x75, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x74, 0x69, 0x63, 0x6b, 0x65, + 0x74, 0x22, 0x1e, 0x0a, 0x1c, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, + 0x68, 0x55, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, + 0x71, 0x22, 0x1f, 0x0a, 0x1d, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, + 0x68, 0x55, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -867,28 +1074,32 @@ func file_items_items_msg_proto_rawDescGZIP() []byte { return file_items_items_msg_proto_rawDescData } -var file_items_items_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 13) +var file_items_items_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 17) var file_items_items_msg_proto_goTypes = []interface{}{ - (*ItemsGetlistReq)(nil), // 0: ItemsGetlistReq - (*ItemsGetlistResp)(nil), // 1: ItemsGetlistResp - (*ItemsChangePush)(nil), // 2: ItemsChangePush - (*ItemsUseItemReq)(nil), // 3: ItemsUseItemReq - (*ItemsUseItemResp)(nil), // 4: ItemsUseItemResp - (*ItemsSellItemReq)(nil), // 5: ItemsSellItemReq - (*ItemsSellItemResp)(nil), // 6: ItemsSellItemResp - (*ItemsDecomposeReq)(nil), // 7: ItemsDecomposeReq - (*ItemsDecomposeResp)(nil), // 8: ItemsDecomposeResp - (*ItemsBuyPhysicalReq)(nil), // 9: ItemsBuyPhysicalReq - (*ItemsBuyPhysicalResp)(nil), // 10: ItemsBuyPhysicalResp - (*ItemsSellinbulkReq)(nil), // 11: ItemsSellinbulkReq - (*ItemsSellinbulkResp)(nil), // 12: ItemsSellinbulkResp - (*DB_UserItemData)(nil), // 13: DB_UserItemData - (*UserAssets)(nil), // 14: UserAssets + (*ItemsGetlistReq)(nil), // 0: ItemsGetlistReq + (*ItemsGetlistResp)(nil), // 1: ItemsGetlistResp + (*ItemsChangePush)(nil), // 2: ItemsChangePush + (*ItemsUseItemReq)(nil), // 3: ItemsUseItemReq + (*ItemsUseItemResp)(nil), // 4: ItemsUseItemResp + (*ItemsSellItemReq)(nil), // 5: ItemsSellItemReq + (*ItemsSellItemResp)(nil), // 6: ItemsSellItemResp + (*ItemsDecomposeReq)(nil), // 7: ItemsDecomposeReq + (*ItemsDecomposeResp)(nil), // 8: ItemsDecomposeResp + (*ItemsBuyPhysicalReq)(nil), // 9: ItemsBuyPhysicalReq + (*ItemsBuyPhysicalResp)(nil), // 10: ItemsBuyPhysicalResp + (*ItemsSellinbulkReq)(nil), // 11: ItemsSellinbulkReq + (*ItemsSellinbulkResp)(nil), // 12: ItemsSellinbulkResp + (*ItemsBuyUnifiedTicketReq)(nil), // 13: ItemsBuyUnifiedTicketReq + (*ItemsBuyUnifiedTicketResp)(nil), // 14: ItemsBuyUnifiedTicketResp + (*ItemsRefreshUnifiedTicketReq)(nil), // 15: ItemsRefreshUnifiedTicketReq + (*ItemsRefreshUnifiedTicketResp)(nil), // 16: ItemsRefreshUnifiedTicketResp + (*DB_UserItemData)(nil), // 17: DB_UserItemData + (*UserAssets)(nil), // 18: UserAssets } var file_items_items_msg_proto_depIdxs = []int32{ - 13, // 0: ItemsGetlistResp.Grids:type_name -> DB_UserItemData - 13, // 1: ItemsChangePush.Grids:type_name -> DB_UserItemData - 14, // 2: ItemsBuyPhysicalResp.asets:type_name -> UserAssets + 17, // 0: ItemsGetlistResp.Grids:type_name -> DB_UserItemData + 17, // 1: ItemsChangePush.Grids:type_name -> DB_UserItemData + 18, // 2: ItemsBuyPhysicalResp.asets:type_name -> UserAssets 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name @@ -1060,6 +1271,54 @@ func file_items_items_msg_proto_init() { return nil } } + file_items_items_msg_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ItemsBuyUnifiedTicketReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_items_items_msg_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ItemsBuyUnifiedTicketResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_items_items_msg_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ItemsRefreshUnifiedTicketReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_items_items_msg_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ItemsRefreshUnifiedTicketResp); 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{ @@ -1067,7 +1326,7 @@ func file_items_items_msg_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_items_items_msg_proto_rawDesc, NumEnums: 0, - NumMessages: 13, + NumMessages: 17, NumExtensions: 0, NumServices: 0, }, diff --git a/pb/shop_db.pb.go b/pb/shop_db.pb.go index 0f65996ac..545b102ce 100644 --- a/pb/shop_db.pb.go +++ b/pb/shop_db.pb.go @@ -162,13 +162,15 @@ type DBShop 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 - GoldShop *UserShopData `protobuf:"bytes,3,opt,name=goldShop,proto3" json:"goldShop" bson:"goldShop"` //金币商店数据 - DiamondShop *UserShopData `protobuf:"bytes,4,opt,name=diamondShop,proto3" json:"diamondShop" bson:"diamondShop"` //金币商店数据 - PvpShop *UserShopData `protobuf:"bytes,5,opt,name=pvpShop,proto3" json:"pvpShop" bson:"pvpShop"` //金币商店数据 - PveShop *UserShopData `protobuf:"bytes,6,opt,name=pveShop,proto3" json:"pveShop" bson:"pveShop"` //金币商店数据 - AllianceShop *UserShopData `protobuf:"bytes,7,opt,name=allianceShop,proto3" json:"allianceShop" bson:"allianceShop"` //金币商店数据 + 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 + RefreshnumgoldShop int32 `protobuf:"varint,3,opt,name=refreshnumgoldShop,proto3" json:"refreshnumgoldShop" bson:"refresholdShop"` //刷新金币商店次数 + RefreshtimegoldShop int64 `protobuf:"varint,4,opt,name=refreshtimegoldShop,proto3" json:"refreshtimegoldShop" bson:"refresholdShop"` //刷新金币商店的时间 + GoldShop *UserShopData `protobuf:"bytes,5,opt,name=goldShop,proto3" json:"goldShop" bson:"goldShop"` //金币商店数据 + DiamondShop *UserShopData `protobuf:"bytes,6,opt,name=diamondShop,proto3" json:"diamondShop" bson:"diamondShop"` //金币商店数据 + PvpShop *UserShopData `protobuf:"bytes,7,opt,name=pvpShop,proto3" json:"pvpShop" bson:"pvpShop"` //金币商店数据 + PveShop *UserShopData `protobuf:"bytes,8,opt,name=pveShop,proto3" json:"pveShop" bson:"pveShop"` //金币商店数据 + AllianceShop *UserShopData `protobuf:"bytes,9,opt,name=allianceShop,proto3" json:"allianceShop" bson:"allianceShop"` //金币商店数据 } func (x *DBShop) Reset() { @@ -217,6 +219,20 @@ func (x *DBShop) GetUid() string { return "" } +func (x *DBShop) GetRefreshnumgoldShop() int32 { + if x != nil { + return x.RefreshnumgoldShop + } + return 0 +} + +func (x *DBShop) GetRefreshtimegoldShop() int64 { + if x != nil { + return x.RefreshtimegoldShop + } + return 0 +} + func (x *DBShop) GetGoldShop() *UserShopData { if x != nil { return x.GoldShop @@ -280,31 +296,37 @@ var file_shop_shop_db_proto_rawDesc = []byte{ 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x5f, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x22, 0x8b, 0x02, 0x0a, 0x06, 0x44, 0x42, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x0e, 0x0a, + 0x38, 0x01, 0x22, 0xed, 0x02, 0x0a, 0x06, 0x44, 0x42, 0x53, 0x68, 0x6f, 0x70, 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, - 0x29, 0x0a, 0x08, 0x67, 0x6f, 0x6c, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, - 0x52, 0x08, 0x67, 0x6f, 0x6c, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x2f, 0x0a, 0x0b, 0x64, 0x69, - 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, - 0x64, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x27, 0x0a, 0x07, 0x70, - 0x76, 0x70, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x55, - 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x07, 0x70, 0x76, 0x70, - 0x53, 0x68, 0x6f, 0x70, 0x12, 0x27, 0x0a, 0x07, 0x70, 0x76, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, - 0x44, 0x61, 0x74, 0x61, 0x52, 0x07, 0x70, 0x76, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x31, 0x0a, - 0x0c, 0x61, 0x6c, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x07, 0x20, + 0x2e, 0x0a, 0x12, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x67, 0x6f, 0x6c, + 0x64, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x72, 0x65, 0x66, + 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x67, 0x6f, 0x6c, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x12, + 0x30, 0x0a, 0x13, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x74, 0x69, 0x6d, 0x65, 0x67, 0x6f, + 0x6c, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x72, 0x65, + 0x66, 0x72, 0x65, 0x73, 0x68, 0x74, 0x69, 0x6d, 0x65, 0x67, 0x6f, 0x6c, 0x64, 0x53, 0x68, 0x6f, + 0x70, 0x12, 0x29, 0x0a, 0x08, 0x67, 0x6f, 0x6c, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44, 0x61, - 0x74, 0x61, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x68, 0x6f, 0x70, - 0x2a, 0x5f, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, - 0x4e, 0x75, 0x6c, 0x6c, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x47, 0x6f, 0x6c, 0x64, 0x53, 0x68, - 0x6f, 0x70, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x53, - 0x68, 0x6f, 0x70, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x56, 0x50, 0x53, 0x68, 0x6f, 0x70, - 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x56, 0x45, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x04, 0x12, - 0x10, 0x0a, 0x0c, 0x41, 0x6c, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x10, - 0x05, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x74, 0x61, 0x52, 0x08, 0x67, 0x6f, 0x6c, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x2f, 0x0a, 0x0b, + 0x64, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x0b, 0x64, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x27, 0x0a, + 0x07, 0x70, 0x76, 0x70, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, + 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x07, 0x70, + 0x76, 0x70, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x27, 0x0a, 0x07, 0x70, 0x76, 0x65, 0x53, 0x68, 0x6f, + 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, + 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x07, 0x70, 0x76, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x12, + 0x31, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x68, + 0x6f, 0x70, 0x2a, 0x5f, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, + 0x0a, 0x04, 0x4e, 0x75, 0x6c, 0x6c, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x47, 0x6f, 0x6c, 0x64, + 0x53, 0x68, 0x6f, 0x70, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, + 0x64, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x56, 0x50, 0x53, 0x68, + 0x6f, 0x70, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x56, 0x45, 0x53, 0x68, 0x6f, 0x70, 0x10, + 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x6c, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x68, 0x6f, + 0x70, 0x10, 0x05, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( diff --git a/pb/userexpand.pb.go b/pb/userexpand.pb.go index 0aa817e80..e98c21c5d 100644 --- a/pb/userexpand.pb.go +++ b/pb/userexpand.pb.go @@ -26,30 +26,33 @@ type DBUserExpand struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` //主键id - Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid"` //用户id - Lastreadnotiftime int64 `protobuf:"varint,3,opt,name=lastreadnotiftime,proto3" json:"lastreadnotiftime"` //最后阅读公告时间 - LastInitdataTime int64 `protobuf:"varint,4,opt,name=lastInitdataTime,proto3" json:"lastInitdataTime"` //上次初始数据时间 - InitdataCount uint32 `protobuf:"varint,5,opt,name=initdataCount,proto3" json:"initdataCount"` //今日初始累计次数 - Chatchannel int32 `protobuf:"varint,6,opt,name=chatchannel,proto3" json:"chatchannel"` //跨服聊天频道 - ModifynameCount int32 `protobuf:"varint,7,opt,name=modifynameCount,proto3" json:"modifynameCount"` //修改昵称次数 - Tujian map[string]int32 `protobuf:"bytes,8,rep,name=tujian,proto3" json:"tujian" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //图鉴 - Activeday int32 `protobuf:"varint,11,opt,name=activeday,proto3" json:"activeday"` //日活跃度 - Activeweek int32 `protobuf:"varint,12,opt,name=activeweek,proto3" json:"activeweek"` //周活跃度 - Sign string `protobuf:"bytes,13,opt,name=sign,proto3" json:"sign"` //用户签名 - FriendPoint int32 `protobuf:"varint,14,opt,name=friendPoint,proto3" json:"friendPoint" bson:"friendPoint"` //友情点 - FriendPointID int32 `protobuf:"varint,15,opt,name=friendPointID,proto3" json:"friendPointID" bson:"friendPointID"` //每日获赠友情点 - FriendPointOD int32 `protobuf:"varint,16,opt,name=friendPointOD,proto3" json:"friendPointOD" bson:"friendPointOD"` //每日送出友情点 - LoginAddCount int32 `protobuf:"varint,19,opt,name=loginAddCount,proto3" json:"loginAddCount"` //@go_tasgs(`bson:"loginAddCount"`) 累计登录天数 - LoginContinueCount int32 `protobuf:"varint,20,opt,name=loginContinueCount,proto3" json:"loginContinueCount"` //@go_tasgs(`bson:"loginContinueCount"`) 连续登录天数 - RtaskId int32 `protobuf:"varint,21,opt,name=rtaskId,proto3" json:"rtaskId" bson:"rtaskId"` // 当前完成的随机任务ID - TeamHeroIds []string `protobuf:"bytes,22,rep,name=teamHeroIds,proto3" json:"teamHeroIds" bson:"teamHeroIds"` //阵容英雄IDs - SociatyId string `protobuf:"bytes,23,opt,name=sociatyId,proto3" json:"sociatyId" bson:"sociatyId"` //公会ID - SociatyCd int64 `protobuf:"varint,24,opt,name=sociatyCd,proto3" json:"sociatyCd" bson:"sociatyCd"` //主动退出CD - SociatyCoin int32 `protobuf:"varint,25,opt,name=sociatyCoin,proto3" json:"sociatyCoin" bson:"sociatyCoin"` //公会币 - ArenaCoin int32 `protobuf:"varint,26,opt,name=arenaCoin,proto3" json:"arenaCoin" bson:"arenaCoin"` //竞技场币 - Physicalbuynum int32 `protobuf:"varint,27,opt,name=physicalbuynum,proto3" json:"physicalbuynum"` //@go_tags(`bson:"physicalbuynum"`)体力购买次数 - PhysicalbuyLasttime int64 `protobuf:"varint,28,opt,name=physicalbuyLasttime,proto3" json:"physicalbuyLasttime"` //@go_tags(`bson:"physicalbuyLasttime"`)最后购买体力事件 + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` //主键id + Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid"` //用户id + Lastreadnotiftime int64 `protobuf:"varint,3,opt,name=lastreadnotiftime,proto3" json:"lastreadnotiftime"` //最后阅读公告时间 + LastInitdataTime int64 `protobuf:"varint,4,opt,name=lastInitdataTime,proto3" json:"lastInitdataTime"` //上次初始数据时间 + InitdataCount uint32 `protobuf:"varint,5,opt,name=initdataCount,proto3" json:"initdataCount"` //今日初始累计次数 + Chatchannel int32 `protobuf:"varint,6,opt,name=chatchannel,proto3" json:"chatchannel"` //跨服聊天频道 + ModifynameCount int32 `protobuf:"varint,7,opt,name=modifynameCount,proto3" json:"modifynameCount"` //修改昵称次数 + Tujian map[string]int32 `protobuf:"bytes,8,rep,name=tujian,proto3" json:"tujian" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //图鉴 + Activeday int32 `protobuf:"varint,11,opt,name=activeday,proto3" json:"activeday"` //日活跃度 + Activeweek int32 `protobuf:"varint,12,opt,name=activeweek,proto3" json:"activeweek"` //周活跃度 + Sign string `protobuf:"bytes,13,opt,name=sign,proto3" json:"sign"` //用户签名 + FriendPoint int32 `protobuf:"varint,14,opt,name=friendPoint,proto3" json:"friendPoint" bson:"friendPoint"` //友情点 + FriendPointID int32 `protobuf:"varint,15,opt,name=friendPointID,proto3" json:"friendPointID" bson:"friendPointID"` //每日获赠友情点 + FriendPointOD int32 `protobuf:"varint,16,opt,name=friendPointOD,proto3" json:"friendPointOD" bson:"friendPointOD"` //每日送出友情点 + LoginAddCount int32 `protobuf:"varint,19,opt,name=loginAddCount,proto3" json:"loginAddCount"` //@go_tasgs(`bson:"loginAddCount"`) 累计登录天数 + LoginContinueCount int32 `protobuf:"varint,20,opt,name=loginContinueCount,proto3" json:"loginContinueCount"` //@go_tasgs(`bson:"loginContinueCount"`) 连续登录天数 + RtaskId int32 `protobuf:"varint,21,opt,name=rtaskId,proto3" json:"rtaskId" bson:"rtaskId"` // 当前完成的随机任务ID + TeamHeroIds []string `protobuf:"bytes,22,rep,name=teamHeroIds,proto3" json:"teamHeroIds" bson:"teamHeroIds"` //阵容英雄IDs + SociatyId string `protobuf:"bytes,23,opt,name=sociatyId,proto3" json:"sociatyId" bson:"sociatyId"` //公会ID + SociatyCd int64 `protobuf:"varint,24,opt,name=sociatyCd,proto3" json:"sociatyCd" bson:"sociatyCd"` //主动退出CD + SociatyCoin int32 `protobuf:"varint,25,opt,name=sociatyCoin,proto3" json:"sociatyCoin" bson:"sociatyCoin"` //公会币 + ArenaCoin int32 `protobuf:"varint,26,opt,name=arenaCoin,proto3" json:"arenaCoin" bson:"arenaCoin"` //竞技场币 + Physicalbuynum int32 `protobuf:"varint,27,opt,name=physicalbuynum,proto3" json:"physicalbuynum"` //@go_tags(`bson:"physicalbuynum"`)体力购买次数 + PhysicalbuyLasttime int64 `protobuf:"varint,28,opt,name=physicalbuyLasttime,proto3" json:"physicalbuyLasttime"` //@go_tags(`bson:"physicalbuyLasttime"`)最后购买体力事件 + Buyunifiedticket int32 `protobuf:"varint,29,opt,name=buyunifiedticket,proto3" json:"buyunifiedticket"` //@go_tags(`bson:"buyunifiedticket"`)购买统一入场门票次数 + Lasttimeunifiedticket int64 `protobuf:"varint,30,opt,name=lasttimeunifiedticket,proto3" json:"lasttimeunifiedticket"` //@go_tags(`bson:"lasttimeunifiedticket"`)最后购买统一入场门票时间 + Recovertimeunifiedticket int64 `protobuf:"varint,31,opt,name=recovertimeunifiedticket,proto3" json:"recovertimeunifiedticket"` //@go_tags(`bson:"recovertimeunifiedticket"`)同意门票恢复时间 } func (x *DBUserExpand) Reset() { @@ -252,11 +255,32 @@ func (x *DBUserExpand) GetPhysicalbuyLasttime() int64 { return 0 } +func (x *DBUserExpand) GetBuyunifiedticket() int32 { + if x != nil { + return x.Buyunifiedticket + } + return 0 +} + +func (x *DBUserExpand) GetLasttimeunifiedticket() int64 { + if x != nil { + return x.Lasttimeunifiedticket + } + return 0 +} + +func (x *DBUserExpand) GetRecovertimeunifiedticket() int64 { + if x != nil { + return x.Recovertimeunifiedticket + } + return 0 +} + var File_userexpand_proto protoreflect.FileDescriptor var file_userexpand_proto_rawDesc = []byte{ 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x22, 0x92, 0x07, 0x0a, 0x0c, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x45, 0x78, 0x70, + 0x74, 0x6f, 0x22, 0xb0, 0x08, 0x0a, 0x0c, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 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, 0x2c, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x72, 0x65, 0x61, @@ -309,12 +333,22 @@ var file_userexpand_proto_rawDesc = []byte{ 0x69, 0x63, 0x61, 0x6c, 0x62, 0x75, 0x79, 0x6e, 0x75, 0x6d, 0x12, 0x30, 0x0a, 0x13, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x62, 0x75, 0x79, 0x4c, 0x61, 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, - 0x6c, 0x62, 0x75, 0x79, 0x4c, 0x61, 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x1a, 0x39, 0x0a, 0x0b, - 0x54, 0x75, 0x6a, 0x69, 0x61, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6c, 0x62, 0x75, 0x79, 0x4c, 0x61, 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, + 0x62, 0x75, 0x79, 0x75, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, + 0x18, 0x1d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x62, 0x75, 0x79, 0x75, 0x6e, 0x69, 0x66, 0x69, + 0x65, 0x64, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x34, 0x0a, 0x15, 0x6c, 0x61, 0x73, 0x74, + 0x74, 0x69, 0x6d, 0x65, 0x75, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x74, 0x69, 0x63, 0x6b, 0x65, + 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x6c, 0x61, 0x73, 0x74, 0x74, 0x69, 0x6d, + 0x65, 0x75, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x3a, + 0x0a, 0x18, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x75, 0x6e, 0x69, + 0x66, 0x69, 0x65, 0x64, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x18, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x75, 0x6e, 0x69, + 0x66, 0x69, 0x65, 0x64, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x1a, 0x39, 0x0a, 0x0b, 0x54, 0x75, + 0x6a, 0x69, 0x61, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/sys/configure/structs/game.globalData.go b/sys/configure/structs/game.globalData.go index 76dc800e5..4aa54db9b 100644 --- a/sys/configure/structs/game.globalData.go +++ b/sys/configure/structs/game.globalData.go @@ -79,19 +79,16 @@ type GameGlobalData struct { KungfuInitialPracticeStake int32 DreamlandFightnum int32 DreamlandRecovery int32 - DreamlandCos *Gameatn DreamlandResettime int32 DreamlandLimitTime int32 DreamlandShareTime int32 DreamlandTriggernum int32 HuntingNum int32 HuntingRecovery int32 - HuntingCos *Gameatn HuntingReset int32 HuntingCap []int32 EnchantbossInitial int32 EnchantbossMax int32 - EnchantbossCos *Gameatn EnchantbossRecovery int32 GameTime []int32 SellingTipsStrengthen int32 @@ -119,6 +116,18 @@ type GameGlobalData struct { ArenaTicketCos *Gameatn VikingExpeditionRecoveryTime int32 VikingExpeditionCos *Gameatn + DreamlandCos *Gameatn + EnchantbossCos *Gameatn + HuntingCos *Gameatn + VikingExpeditionReturn *Gameatn + DreamlandReturn *Gameatn + EnchantbossReturn *Gameatn + HuntingReturn *Gameatn + CopsRecoveryTime int32 + CopsInitialNum int32 + CopsBuy []*Gameatn + CopsBuyGet *Gameatn + CopsMaxBuyNum int32 ArenaTicketPurchaseRrestrictions int32 ArenaInitiaIntegral int32 ArenaRecordMax int32 @@ -299,14 +308,12 @@ func (_v *GameGlobalData)Deserialize(_buf map[string]interface{}) (err error) { { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["kungfu_InitialPracticeStake"].(float64); !_ok_ { err = errors.New("kungfu_InitialPracticeStake error"); return }; _v.KungfuInitialPracticeStake = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["dreamland_fightnum"].(float64); !_ok_ { err = errors.New("dreamland_fightnum error"); return }; _v.DreamlandFightnum = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["dreamland_recovery"].(float64); !_ok_ { err = errors.New("dreamland_recovery error"); return }; _v.DreamlandRecovery = int32(_tempNum_) } - { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["dreamland_cos"].(map[string]interface{}); !_ok_ { err = errors.New("dreamland_cos error"); return }; if _v.DreamlandCos, err = DeserializeGameatn(_x_); err != nil { return } } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["dreamland_resettime"].(float64); !_ok_ { err = errors.New("dreamland_resettime error"); return }; _v.DreamlandResettime = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["dreamland_limit_time"].(float64); !_ok_ { err = errors.New("dreamland_limit_time error"); return }; _v.DreamlandLimitTime = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["dreamland_share_time"].(float64); !_ok_ { err = errors.New("dreamland_share_time error"); return }; _v.DreamlandShareTime = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["dreamland_triggernum"].(float64); !_ok_ { err = errors.New("dreamland_triggernum error"); return }; _v.DreamlandTriggernum = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["hunting_num"].(float64); !_ok_ { err = errors.New("hunting_num error"); return }; _v.HuntingNum = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["hunting_recovery"].(float64); !_ok_ { err = errors.New("hunting_recovery error"); return }; _v.HuntingRecovery = int32(_tempNum_) } - { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["hunting_cos"].(map[string]interface{}); !_ok_ { err = errors.New("hunting_cos error"); return }; if _v.HuntingCos, err = DeserializeGameatn(_x_); err != nil { return } } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["hunting_reset"].(float64); !_ok_ { err = errors.New("hunting_reset error"); return }; _v.HuntingReset = int32(_tempNum_) } { var _arr_ []interface{} @@ -324,7 +331,6 @@ func (_v *GameGlobalData)Deserialize(_buf map[string]interface{}) (err error) { { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["enchantboss_initial"].(float64); !_ok_ { err = errors.New("enchantboss_initial error"); return }; _v.EnchantbossInitial = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["enchantboss_max"].(float64); !_ok_ { err = errors.New("enchantboss_max error"); return }; _v.EnchantbossMax = int32(_tempNum_) } - { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["enchantboss_cos"].(map[string]interface{}); !_ok_ { err = errors.New("enchantboss_cos error"); return }; if _v.EnchantbossCos, err = DeserializeGameatn(_x_); err != nil { return } } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["enchantboss_recovery"].(float64); !_ok_ { err = errors.New("enchantboss_recovery error"); return }; _v.EnchantbossRecovery = int32(_tempNum_) } { var _arr_ []interface{} @@ -417,6 +423,31 @@ func (_v *GameGlobalData)Deserialize(_buf map[string]interface{}) (err error) { { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["ArenaTicket_cos"].(map[string]interface{}); !_ok_ { err = errors.New("ArenaTicket_cos error"); return }; if _v.ArenaTicketCos, err = DeserializeGameatn(_x_); err != nil { return } } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["VikingExpedition_RecoveryTime"].(float64); !_ok_ { err = errors.New("VikingExpedition_RecoveryTime error"); return }; _v.VikingExpeditionRecoveryTime = int32(_tempNum_) } { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["VikingExpedition_cos"].(map[string]interface{}); !_ok_ { err = errors.New("VikingExpedition_cos error"); return }; if _v.VikingExpeditionCos, err = DeserializeGameatn(_x_); err != nil { return } } + { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["dreamland_cos"].(map[string]interface{}); !_ok_ { err = errors.New("dreamland_cos error"); return }; if _v.DreamlandCos, err = DeserializeGameatn(_x_); err != nil { return } } + { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["enchantboss_cos"].(map[string]interface{}); !_ok_ { err = errors.New("enchantboss_cos error"); return }; if _v.EnchantbossCos, err = DeserializeGameatn(_x_); err != nil { return } } + { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["hunting_cos"].(map[string]interface{}); !_ok_ { err = errors.New("hunting_cos error"); return }; if _v.HuntingCos, err = DeserializeGameatn(_x_); err != nil { return } } + { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["VikingExpedition_Return"].(map[string]interface{}); !_ok_ { err = errors.New("VikingExpedition_Return error"); return }; if _v.VikingExpeditionReturn, err = DeserializeGameatn(_x_); err != nil { return } } + { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["dreamland_Return"].(map[string]interface{}); !_ok_ { err = errors.New("dreamland_Return error"); return }; if _v.DreamlandReturn, err = DeserializeGameatn(_x_); err != nil { return } } + { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["enchantboss_Return"].(map[string]interface{}); !_ok_ { err = errors.New("enchantboss_Return error"); return }; if _v.EnchantbossReturn, err = DeserializeGameatn(_x_); err != nil { return } } + { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["hunting_Return"].(map[string]interface{}); !_ok_ { err = errors.New("hunting_Return error"); return }; if _v.HuntingReturn, err = DeserializeGameatn(_x_); err != nil { return } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["cops_RecoveryTime"].(float64); !_ok_ { err = errors.New("cops_RecoveryTime error"); return }; _v.CopsRecoveryTime = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["cops_InitialNum"].(float64); !_ok_ { err = errors.New("cops_InitialNum error"); return }; _v.CopsInitialNum = int32(_tempNum_) } + { + var _arr_ []interface{} + var _ok_ bool + if _arr_, _ok_ = _buf["cops_buy"].([]interface{}); !_ok_ { err = errors.New("cops_buy error"); return } + + _v.CopsBuy = 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.CopsBuy = append(_v.CopsBuy, _list_v_) + } + } + + { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["cops_BuyGet"].(map[string]interface{}); !_ok_ { err = errors.New("cops_BuyGet error"); return }; if _v.CopsBuyGet, err = DeserializeGameatn(_x_); err != nil { return } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["cops_MaxBuyNum"].(float64); !_ok_ { err = errors.New("cops_MaxBuyNum error"); return }; _v.CopsMaxBuyNum = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["ArenaTicket_PurchaseRrestrictions"].(float64); !_ok_ { err = errors.New("ArenaTicket_PurchaseRrestrictions error"); return }; _v.ArenaTicketPurchaseRrestrictions = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["arena_InitiaIntegral"].(float64); !_ok_ { err = errors.New("arena_InitiaIntegral error"); return }; _v.ArenaInitiaIntegral = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["arena_RecordMax"].(float64); !_ok_ { err = errors.New("arena_RecordMax error"); return }; _v.ArenaRecordMax = int32(_tempNum_) } diff --git a/sys/configure/structs/game.playerlvData.go b/sys/configure/structs/game.playerlvData.go index 7302403d1..f549665f9 100644 --- a/sys/configure/structs/game.playerlvData.go +++ b/sys/configure/structs/game.playerlvData.go @@ -15,6 +15,7 @@ type GamePlayerlvData struct { Exp int32 Reward []*Gameatn PsCeiling int32 + CopsPsCeiling int32 } const TypeId_GamePlayerlvData = 927774449 @@ -41,6 +42,7 @@ func (_v *GamePlayerlvData)Deserialize(_buf map[string]interface{}) (err error) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["ps_ceiling"].(float64); !_ok_ { err = errors.New("ps_ceiling error"); return }; _v.PsCeiling = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["cops_ps_ceiling"].(float64); !_ok_ { err = errors.New("cops_ps_ceiling error"); return }; _v.CopsPsCeiling = int32(_tempNum_) } return }