From 39fa612612c3aa7e669679da9fd1a99f8b2a37ff Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Wed, 4 Jan 2023 10:36:50 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=B2=BE=E7=AE=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- comm/const.go | 21 ++++++++++----------- comm/imodule.go | 3 ++- modules/privilege/module.go | 23 ++++++++++------------- 3 files changed, 22 insertions(+), 25 deletions(-) diff --git a/comm/const.go b/comm/const.go index 3f52107d6..049662455 100644 --- a/comm/const.go +++ b/comm/const.go @@ -669,16 +669,15 @@ const ( Sign = "sign" ) -// 特权类型 const ( - PrivilegeType1 int32 = iota + 1 //每日获得 - PrivilegeType2 //金币商店每日免费刷新次数 - PrivilegeType3 //维京远征每日可购买挑战次数 - PrivilegeType4 //狩猎每日可购买挑战次数 - PrivilegeType5 //竞技场每日可购买挑战次数 - PrivilegeType6 //梦境每日可购买挑战次数 - PrivilegeType7 //巨怪商队背包容量 - PrivilegeType8 //美食馆每日最大制作时间 - PrivilegeType9 //武馆每日最大练功时间 - PrivilegeType10 //铁匠铺每日最大锻造时间 + PrivilegeType1 = iota + 1 //每日获得 + PrivilegeType2 //金币商店每日免费刷新次数 + PrivilegeType3 //维京远征每日可购买挑战次数 + PrivilegeType4 //狩猎每日可购买挑战次数 + PrivilegeType5 //竞技场每日可购买挑战次数 + PrivilegeType6 //梦境每日可购买挑战次数 + PrivilegeType7 //巨怪商队背包容量 + PrivilegeType8 //美食馆每日最大制作时间 + PrivilegeType9 //武馆每日最大练功时间 + PrivilegeType10 //铁匠铺每日最大锻造时间 ) diff --git a/comm/imodule.go b/comm/imodule.go index f66976a3e..a574be6d7 100644 --- a/comm/imodule.go +++ b/comm/imodule.go @@ -306,7 +306,8 @@ type ( // 查询所有特权 key 对应comm.PrivilegeType1类型 CheckAllPrivilege(session IUserSession) map[int32]*pb.PrivilegeList // 通过特权类型获取特权对应的增加数量 - GetCountByPrivilegeId(uid string, pId int32) (count int32) + + GetCountByPrivilegeId(uid string, pType int32) (count int32) } //武馆 IMartialhall interface { diff --git a/modules/privilege/module.go b/modules/privilege/module.go index f693a0dfe..8248e3c31 100644 --- a/modules/privilege/module.go +++ b/modules/privilege/module.go @@ -410,13 +410,13 @@ func (this *Privilege) SendDailyPrivilegeMail(session comm.IUserSession, cId []i this.mail.SendMailByCid(session, comm.VipDaily, res) } } -func (this *Privilege) GetCountByPrivilegeId(uid string, pId int32) (count int32) { +func (this *Privilege) GetCountByPrivilegeId(uid string, pType int32) (count int32) { if this.IsCross() { // 跨服情况 if model, err := this.GetDBModuleByUid(uid, comm.TableVip, time.Hour); err == nil { vip := &pb.DBVip{} if err = model.Get(uid, vip); err == nil { - if v, ok := vip.Privilege[pId]; ok { - data := this.configure.GetPrivilegeByType(pId) + if v, ok := vip.Privilege[pType]; ok { + data := this.configure.GetPrivilegeByType(pType) for _, v1 := range v.PrivilegeID { if c, ok1 := data[v1]; ok1 { count += c @@ -426,19 +426,16 @@ func (this *Privilege) GetCountByPrivilegeId(uid string, pId int32) (count int32 } } } else { - vip, err := this.modelVip.getVipList(uid) - if err != nil { - return - } - if v, ok := vip.Privilege[pId]; ok { - data := this.configure.GetPrivilegeByType(pId) - for _, v1 := range v.PrivilegeID { - if c, ok1 := data[v1]; ok1 { - count += c + if vip, err := this.modelVip.getVipList(uid); err == nil { + if v, ok := vip.Privilege[pType]; ok { + data := this.configure.GetPrivilegeByType(pType) + for _, v1 := range v.PrivilegeID { + if c, ok1 := data[v1]; ok1 { + count += c + } } } } } - return } From ef814bb391add0faa99616ed1181c0cfaa960629 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Wed, 4 Jan 2023 17:20:57 +0800 Subject: [PATCH 2/6] =?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 } From f01345db2b222e482d12ab01f1b76357aa6191f9 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Wed, 4 Jan 2023 17:29:27 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E5=85=A8=E5=B1=80?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/json/game_global.json | 114 ++++++++++++++++++++++++++++++++------ 1 file changed, 97 insertions(+), 17 deletions(-) diff --git a/bin/json/game_global.json b/bin/json/game_global.json index 51a5f0e31..7542d4bb2 100644 --- a/bin/json/game_global.json +++ b/bin/json/game_global.json @@ -156,22 +156,12 @@ "kungfu_InitialPracticeStake": 2, "dreamland_fightnum": 30, "dreamland_recovery": 60, - "dreamland_cos": { - "a": "item", - "t": "100003", - "n": 1 - }, "dreamland_resettime": 0, "dreamland_limit_time": 30, "dreamland_share_time": 300, "dreamland_triggernum": 20, "hunting_num": 10, "hunting_recovery": 60, - "hunting_cos": { - "a": "item", - "t": "100002", - "n": 1 - }, "hunting_reset": 1, "hunting_cap": [ 25001, @@ -182,11 +172,6 @@ ], "enchantboss_initial": 10, "enchantboss_max": 10, - "enchantboss_cos": { - "a": "item", - "t": "100005", - "n": 1 - }, "enchantboss_recovery": 144, "game_time": [ 1, @@ -238,9 +223,104 @@ "VikingExpedition_RecoveryTime": 144, "VikingExpedition_cos": { "a": "item", - "t": "100001", - "n": 1 + "t": "100100", + "n": 6 }, + "dreamland_cos": { + "a": "item", + "t": "100100", + "n": 3 + }, + "enchantboss_cos": { + "a": "item", + "t": "100100", + "n": 9 + }, + "hunting_cos": { + "a": "item", + "t": "100100", + "n": 6 + }, + "VikingExpedition_Return": { + "a": "item", + "t": "100100", + "n": 5 + }, + "dreamland_Return": { + "a": "item", + "t": "100100", + "n": 2 + }, + "enchantboss_Return": { + "a": "item", + "t": "100100", + "n": 8 + }, + "hunting_Return": { + "a": "item", + "t": "100100", + "n": 5 + }, + "cops_RecoveryTime": 300, + "cops_InitialNum": 60, + "cops_buy": [ + { + "a": "attr", + "t": "diamond", + "n": 100 + }, + { + "a": "attr", + "t": "diamond", + "n": 100 + }, + { + "a": "attr", + "t": "diamond", + "n": 100 + }, + { + "a": "attr", + "t": "diamond", + "n": 100 + }, + { + "a": "attr", + "t": "diamond", + "n": 100 + }, + { + "a": "attr", + "t": "diamond", + "n": 100 + }, + { + "a": "attr", + "t": "diamond", + "n": 100 + }, + { + "a": "attr", + "t": "diamond", + "n": 100 + }, + { + "a": "attr", + "t": "diamond", + "n": 100 + }, + { + "a": "attr", + "t": "diamond", + "n": 100 + } + ], + "cops_BuyGet": { + "a": "item", + "t": "100100", + "n": 60 + }, + "cops_MaxBuyNum": 10, "ArenaTicket_PurchaseRrestrictions": 10, "arena_InitiaIntegral": 1000, "arena_RecordMax": 10, From 2e93abd69ded42459f80063f87958b8d1b1aebad Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Wed, 4 Jan 2023 17:51:46 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E9=97=A8=E7=A5=A8?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- comm/imodule.go | 4 ++- modules/items/api_refreshunifiedticket.go | 13 +------ modules/items/modelitems.go | 21 ++++++++---- modules/items/module.go | 6 ++++ modules/moonfantasy/modelUserMF.go | 41 +++++++++++------------ 5 files changed, 44 insertions(+), 41 deletions(-) diff --git a/comm/imodule.go b/comm/imodule.go index 385e71129..5d9c7eaac 100644 --- a/comm/imodule.go +++ b/comm/imodule.go @@ -37,8 +37,10 @@ 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) + ///刷新恢复入场券 + RecoverTicket(session IUserSession) (code pb.ErrorCode) } //英雄 diff --git a/modules/items/api_refreshunifiedticket.go b/modules/items/api_refreshunifiedticket.go index 08211a234..24aa098d8 100644 --- a/modules/items/api_refreshunifiedticket.go +++ b/modules/items/api_refreshunifiedticket.go @@ -15,23 +15,12 @@ func (this *apiComp) RefreshUnifiedTicketCheck(session comm.IUserSession, req *p //购买 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 + if code = this.module.modelItems.recoverTicket(session); code != pb.ErrorCode_Success { 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/modelitems.go b/modules/items/modelitems.go index 1a5036d1a..4858cd527 100644 --- a/modules/items/modelitems.go +++ b/modules/items/modelitems.go @@ -464,21 +464,16 @@ func (this *ModelItemsComp) addItemToUserPack(uid string, items []*pb.DB_UserIte //购买门票 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) + this.module.modelItems.recoverTicket(session) if maxbuy, err = this.module.configure.GetchallengeDataCount(); err != nil { code = pb.ErrorCode_ConfigNoFound return @@ -514,12 +509,23 @@ func (this *ModelItemsComp) buyTicket(session comm.IUserSession, buy int32) (inf } ///回复门票 -func (this *ModelItemsComp) recoverTicket(session comm.IUserSession, user *pb.DBUser, info *pb.DBUserExpand) { +func (this *ModelItemsComp) recoverTicket(session comm.IUserSession) (code pb.ErrorCode) { var ( + user *pb.DBUser + info *pb.DBUserExpand duration time.Duration ticket int32 ticketNum int32 + 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 + } if time.Unix(info.Lasttimeunifiedticket, 0).Day() < configure.Now().Day() { info.Lasttimeunifiedticket = configure.Now().Unix() info.Buyunifiedticket = 0 @@ -538,4 +544,5 @@ func (this *ModelItemsComp) recoverTicket(session comm.IUserSession, user *pb.DB info.Recovertimeunifiedticket = time.Unix(info.Recovertimeunifiedticket, 0).Add(time.Duration(ticketNum) * time.Minute).Unix() } } + return } diff --git a/modules/items/module.go b/modules/items/module.go index 407641b31..b53945554 100644 --- a/modules/items/module.go +++ b/modules/items/module.go @@ -181,6 +181,12 @@ func (this *Items) BuyUnifiedTicket(session comm.IUserSession, buynum int32) (co return } +//购买门票道具 +func (this *Items) RecoverTicket(session comm.IUserSession) (code pb.ErrorCode) { + code = this.modelItems.recoverTicket(session) + return +} + //Evens-------------------------------------------------------------------------------------------------------------------------------- //推送道具变化消息 func (this *Items) itemsChangePush(session comm.IUserSession, items []*pb.DB_UserItemData) (err error) { diff --git a/modules/moonfantasy/modelUserMF.go b/modules/moonfantasy/modelUserMF.go index 0b0d9e585..2087d8120 100644 --- a/modules/moonfantasy/modelUserMF.go +++ b/modules/moonfantasy/modelUserMF.go @@ -7,8 +7,6 @@ import ( "go_dreamfactory/modules" "go_dreamfactory/pb" "go_dreamfactory/sys/configure" - cfg "go_dreamfactory/sys/configure/structs" - "math" "time" "go.mongodb.org/mongo-driver/bson/primitive" @@ -73,27 +71,28 @@ func (this *modelUserMF) updateUserInfo(info *pb.DBUserMFantasy) (err error) { } func (this *modelUserMF) recoverTicket(session comm.IUserSession, info *pb.DBUserMFantasy) { - var ( - duration time.Duration - ticket int32 - ticketNum int32 - ) + // var ( + // duration time.Duration + // ticket int32 + // ticketNum int32 + // ) if time.Unix(info.LastTrigger, 0).Day() < configure.Now().Day() { info.TriggerNum = 0 info.LastTrigger = configure.Now().Unix() - info.BuyNum = 0 - } - global := this.module.configure.GetGlobalConf() - ticket = int32(this.module.ModuleItems.QueryItemAmount(info.Uid, comm.MoonFantasyTicket)) - if ticket < global.DreamlandFightnum && info.Lastrtickettime > 0 { - duration = configure.Now().Sub(time.Unix(info.Lastrtickettime, 0)) - ticketNum = int32(math.Floor(duration.Minutes() / float64(global.ArenaTicketRecoveryTime))) - if ticketNum > 0 { - if ticketNum+ticket > global.ArenaTicketMax { - ticketNum = global.ArenaTicketMax - ticket - } - this.module.DispenseRes(session, []*cfg.Gameatn{&cfg.Gameatn{A: comm.ItemType, T: comm.MoonFantasyTicket, N: ticketNum}}, true) - info.Lastrtickettime = time.Unix(info.Lastrtickettime, 0).Add(time.Duration(ticketNum) * time.Minute).Unix() - } + // info.BuyNum = 0 } + this.module.ModuleItems.RecoverTicket(session) + // global := this.module.configure.GetGlobalConf() + // ticket = int32(this.module.ModuleItems.QueryItemAmount(info.Uid, comm.MoonFantasyTicket)) + // if ticket < global.DreamlandFightnum && info.Lastrtickettime > 0 { + // duration = configure.Now().Sub(time.Unix(info.Lastrtickettime, 0)) + // ticketNum = int32(math.Floor(duration.Minutes() / float64(global.ArenaTicketRecoveryTime))) + // if ticketNum > 0 { + // if ticketNum+ticket > global.ArenaTicketMax { + // ticketNum = global.ArenaTicketMax - ticket + // } + // this.module.DispenseRes(session, []*cfg.Gameatn{&cfg.Gameatn{A: comm.ItemType, T: comm.MoonFantasyTicket, N: ticketNum}}, true) + // info.Lastrtickettime = time.Unix(info.Lastrtickettime, 0).Add(time.Duration(ticketNum) * time.Minute).Unix() + // } + // } } From d4b2c7a678a2cec8d2baf9cf50e5c5c21579fb6b Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Wed, 4 Jan 2023 18:22:21 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E8=BF=98=E5=8E=9F=E7=A7=98=E5=A2=83?= =?UTF-8?q?=E9=97=A8=E7=A5=A8=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/moonfantasy/modelUserMF.go | 42 ++++++++++++++++-------------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/modules/moonfantasy/modelUserMF.go b/modules/moonfantasy/modelUserMF.go index 2087d8120..bd4167e6c 100644 --- a/modules/moonfantasy/modelUserMF.go +++ b/modules/moonfantasy/modelUserMF.go @@ -7,6 +7,8 @@ import ( "go_dreamfactory/modules" "go_dreamfactory/pb" "go_dreamfactory/sys/configure" + cfg "go_dreamfactory/sys/configure/structs" + "math" "time" "go.mongodb.org/mongo-driver/bson/primitive" @@ -71,28 +73,28 @@ func (this *modelUserMF) updateUserInfo(info *pb.DBUserMFantasy) (err error) { } func (this *modelUserMF) recoverTicket(session comm.IUserSession, info *pb.DBUserMFantasy) { - // var ( - // duration time.Duration - // ticket int32 - // ticketNum int32 - // ) + var ( + duration time.Duration + ticket int32 + ticketNum int32 + ) if time.Unix(info.LastTrigger, 0).Day() < configure.Now().Day() { info.TriggerNum = 0 info.LastTrigger = configure.Now().Unix() - // info.BuyNum = 0 + info.BuyNum = 0 + } + // this.module.ModuleItems.RecoverTicket(session) + global := this.module.configure.GetGlobalConf() + ticket = int32(this.module.ModuleItems.QueryItemAmount(info.Uid, comm.MoonFantasyTicket)) + if ticket < global.DreamlandFightnum && info.Lastrtickettime > 0 { + duration = configure.Now().Sub(time.Unix(info.Lastrtickettime, 0)) + ticketNum = int32(math.Floor(duration.Minutes() / float64(global.ArenaTicketRecoveryTime))) + if ticketNum > 0 { + if ticketNum+ticket > global.ArenaTicketMax { + ticketNum = global.ArenaTicketMax - ticket + } + this.module.DispenseRes(session, []*cfg.Gameatn{&cfg.Gameatn{A: comm.ItemType, T: comm.MoonFantasyTicket, N: ticketNum}}, true) + info.Lastrtickettime = time.Unix(info.Lastrtickettime, 0).Add(time.Duration(ticketNum) * time.Minute).Unix() + } } - this.module.ModuleItems.RecoverTicket(session) - // global := this.module.configure.GetGlobalConf() - // ticket = int32(this.module.ModuleItems.QueryItemAmount(info.Uid, comm.MoonFantasyTicket)) - // if ticket < global.DreamlandFightnum && info.Lastrtickettime > 0 { - // duration = configure.Now().Sub(time.Unix(info.Lastrtickettime, 0)) - // ticketNum = int32(math.Floor(duration.Minutes() / float64(global.ArenaTicketRecoveryTime))) - // if ticketNum > 0 { - // if ticketNum+ticket > global.ArenaTicketMax { - // ticketNum = global.ArenaTicketMax - ticket - // } - // this.module.DispenseRes(session, []*cfg.Gameatn{&cfg.Gameatn{A: comm.ItemType, T: comm.MoonFantasyTicket, N: ticketNum}}, true) - // info.Lastrtickettime = time.Unix(info.Lastrtickettime, 0).Add(time.Duration(ticketNum) * time.Minute).Unix() - // } - // } } From 7ee714a4dbd70c05590451d5dba03f20e2acbd83 Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Wed, 4 Jan 2023 19:08:59 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/hero/api_drawCard.go | 5 +++-- modules/privilege/api_buygift.go | 6 +++--- modules/privilege/module.go | 9 +++++---- modules/viking/api_challenge.go | 2 -- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/modules/hero/api_drawCard.go b/modules/hero/api_drawCard.go index fa41ba563..dd287e780 100644 --- a/modules/hero/api_drawCard.go +++ b/modules/hero/api_drawCard.go @@ -250,10 +250,11 @@ func (this *apiComp) DrawCard(session comm.IUserSession, req *pb.HeroDrawCardReq if int32(len(v)) > randomIndex { if star == 5 { // 抽出5星英雄后A次抽奖内不会再抽到5星英雄(普通卡池+阵营卡池) curDrawCount := drawCount - req.DrawCount - if curDrawCount <= 10 { // 首次十连不计算 + if drawCount <= 10 { // 前10次不计算(连续抽卡最多连续出A个相同阵营的英雄) + szCards = append(szCards, v[randomIndex].Id) continue } - newID := this.module.ContinuousRestriction(session.GetUserId(), v[randomIndex].Id, curDrawCount+int32(index), strPool[index]) + newID := this.module.ContinuousRestriction(session.GetUserId(), v[randomIndex].Id, curDrawCount+int32(index+1), strPool[index]) szCards = append(szCards, newID) continue } diff --git a/modules/privilege/api_buygift.go b/modules/privilege/api_buygift.go index fde416306..584ce6cec 100644 --- a/modules/privilege/api_buygift.go +++ b/modules/privilege/api_buygift.go @@ -53,10 +53,10 @@ func (this *apiComp) BuyGift(session comm.IUserSession, req *pb.PrivilegeBuyGift return } vip.Reward[req.VipLv] = true - update := map[string]interface{}{ + + this.module.modelVip.modifyVipData(session.GetUserId(), map[string]interface{}{ "reward": vip.Reward, - } - this.module.modelVip.modifyVipData(session.GetUserId(), update) + }) // 推送 session.SendMsg(string(this.module.GetType()), PrivilegeBuyGiftResp, &pb.PrivilegeBuyGiftResp{Data: vip}) return diff --git a/modules/privilege/module.go b/modules/privilege/module.go index 8248e3c31..e9e4e5e25 100644 --- a/modules/privilege/module.go +++ b/modules/privilege/module.go @@ -353,7 +353,7 @@ func (this *Privilege) AddVipData(session comm.IUserSession, oldVip, newVip int3 return } } - update := map[string]interface{}{} + for i := oldVip + 1; i <= newVip; i++ { conf := this.configure.GetVipConfigureData(i) if conf != nil { @@ -381,11 +381,12 @@ func (this *Privilege) AddVipData(session comm.IUserSession, oldVip, newVip int3 this.mail.SendMailByCid(session, comm.VipDaily, res) } } - update["privilege"] = vip.Privilege - this.modelVip.modifyVipData(session.GetUserId(), update) + + this.modelVip.modifyVipData(session.GetUserId(), map[string]interface{}{ + "privilege": vip.Privilege, + }) session.SendMsg(string(this.GetType()), PrivilegeGetListResp, &pb.PrivilegeVipListResp{Data: vip}) - } // 发送特权每日奖励 diff --git a/modules/viking/api_challenge.go b/modules/viking/api_challenge.go index 469bc2800..7c3728faf 100644 --- a/modules/viking/api_challenge.go +++ b/modules/viking/api_challenge.go @@ -40,7 +40,6 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.VikingChalleng } if code = this.module.CheckRes(session, []*cfg.Gameatn{costRes}); code != pb.ErrorCode_Success { - // if req.AutoBuy { // 不够的时候看是否能自动购买 if code = this.module.AutoBuyTicket(session); code != pb.ErrorCode_Success { return @@ -49,7 +48,6 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.VikingChalleng code = pb.ErrorCode_VikingMaxChallengeCount return } - //return } cfgData := this.module.configure.GetVikingBossConfigData(req.BossId, req.Difficulty)