diff --git a/comm/imodule.go b/comm/imodule.go index c42d22cc8..e1ac856d1 100644 --- a/comm/imodule.go +++ b/comm/imodule.go @@ -500,6 +500,11 @@ type ( GetPriceGroupLen(pricegroupId int32) (count int32, err error) GetGrormetLlame(id string) (data int32, err error) GetGroupDataByLotteryId(id int32) (data *cfg.GameLotteryData, err error) + + //读取全局表 db层 + GetGlobalData(key string, v interface{}) (err error) + //更新全局表 db层 + UpdateGlobalData(key string, v interface{}) (err error) } IReputation interface { diff --git a/modules/tools/modelGlobal.go b/modules/tools/modelGlobal.go index b6a5a5988..eb1fbe864 100644 --- a/modules/tools/modelGlobal.go +++ b/modules/tools/modelGlobal.go @@ -3,7 +3,11 @@ package tools import ( "go_dreamfactory/comm" "go_dreamfactory/lego/core" + "go_dreamfactory/lego/sys/log" "go_dreamfactory/modules" + + "go.mongodb.org/mongo-driver/bson" + "go.mongodb.org/mongo-driver/mongo/options" ) type modelGlobal struct { @@ -17,3 +21,19 @@ func (this *modelGlobal) Init(service core.IService, module core.IModule, comp c this.module = module.(*Tools) return } + +// 查询全局配置 +func (this *modelGlobal) GetGlobalData(key string, v interface{}) (err error) { + if err = this.DBModel.DB.FindOne(core.SqlTable(this.TableName), bson.M{"_id": key}).Decode(v); err != nil { + this.module.Error("GetGlobalData err", log.Field{Key: "key", Value: key}, log.Field{Key: "err", Value: err.Error()}) + } + return +} + +// 更新全局配置 +func (this *modelGlobal) UpdateGlobalData(key string, v interface{}) (err error) { + if _, err = this.DBModel.DB.UpdateOne(core.SqlTable(this.TableName), bson.M{"_id": key}, v, options.Update().SetUpsert(true)); err != nil { + this.module.Error("GetGlobalData err", log.Field{Key: "key", Value: key}, log.Field{Key: "err", Value: err.Error()}) + } + return +} diff --git a/modules/tools/module.go b/modules/tools/module.go index c4d7c8328..8070a85da 100644 --- a/modules/tools/module.go +++ b/modules/tools/module.go @@ -14,7 +14,8 @@ func NewModule() core.IModule { type Tools struct { modules.ModuleBase - configure *MCompConfigure + configure *MCompConfigure + modelGlobal *modelGlobal } // 模块名 @@ -38,6 +39,7 @@ func (this *Tools) Start() (err error) { func (this *Tools) OnInstallComp() { this.ModuleBase.OnInstallComp() this.configure = this.RegisterComp(new(MCompConfigure)).(*MCompConfigure) + this.modelGlobal = this.RegisterComp(new(modelGlobal)).(*modelGlobal) } // 随机机器人 @@ -77,3 +79,11 @@ func (this *Tools) GetPriceGroupLen(pricegroupId int32) (count int32, err error) func (this *Tools) GetGrormetLlame(id string) (data int32, err error) { return this.configure.GetGrormetLlame(id) } + +func (this *Tools) GetGlobalData(key string, v interface{}) (err error) { + return this.modelGlobal.GetGlobalData(key, v) +} + +func (this *Tools) UpdateGlobalData(key string, v interface{}) (err error) { + return this.modelGlobal.UpdateGlobalData(key, v) +} diff --git a/modules/warorder/api_receive.go b/modules/warorder/api_receive.go index 858ada13e..00a47b098 100644 --- a/modules/warorder/api_receive.go +++ b/modules/warorder/api_receive.go @@ -22,6 +22,7 @@ func (this *apiComp) Receive(session comm.IUserSession, req *pb.WarorderReceiveR info *pb.Warorder confs []*cfg.GamePassCheckData awards []*cfg.Gameatn + ads []*pb.UserAssets = make([]*pb.UserAssets, 0) days int32 err error ok bool @@ -60,10 +61,20 @@ func (this *apiComp) Receive(session comm.IUserSession, req *pb.WarorderReceiveR if v.Parameter <= days { if info.Freeprogress < v.Parameter { awards = append(awards, v.FreeReward) + ads = append(ads, &pb.UserAssets{ + A: v.FreeReward.A, + T: v.FreeReward.T, + N: v.FreeReward.N, + }) } if info.Vip { if info.Payprogress < v.Parameter { awards = append(awards, v.PayReward) + ads = append(ads, &pb.UserAssets{ + A: v.PayReward.A, + T: v.PayReward.T, + N: v.PayReward.N, + }) } } } @@ -75,6 +86,6 @@ func (this *apiComp) Receive(session comm.IUserSession, req *pb.WarorderReceiveR if errdata = this.module.DispenseRes(session, awards, true); errdata != nil { return } - session.SendMsg(string(this.module.GetType()), "receive", &pb.WarorderReceiveResp{Info: info}) + session.SendMsg(string(this.module.GetType()), "receive", &pb.WarorderReceiveResp{Rtype: req.Rtype, Info: info, Award: ads}) return }