diff --git a/modules/arena/modelrank.go b/modules/arena/modelrank.go index ef6ff2e09..98175f670 100644 --- a/modules/arena/modelrank.go +++ b/modules/arena/modelrank.go @@ -71,7 +71,7 @@ func (this *modelRank) queryRankUser() (ranks []string, err error) { var ( result []string ) - if result, err = this.DBModel.Redis.ZRevRange(this.TableName, 0, 50).Result(); err != nil { + if result, err = this.DBModel.Redis.ZRevRange(fmt.Sprintf("%s-%s", this.DBModel.ServiceId, this.TableName), 0, 50).Result(); err != nil { this.module.Errorln(err) return } @@ -96,7 +96,7 @@ func (this *modelRank) raceSettlement() { return } for _, v := range reward.GetDataList() { - if result, err = this.DBModel.Redis.ZRevRange(this.TableName, int64(v.RankLow-1), int64(v.RankUp)).Result(); err != nil { + if result, err = this.DBModel.Redis.ZRevRange(fmt.Sprintf("%s-%s", this.DBModel.ServiceId, this.TableName), int64(v.RankLow-1), int64(v.RankUp)).Result(); err != nil { this.module.Errorln(err) return } diff --git a/modules/battle/modelBattle.go b/modules/battle/modelBattle.go index 63c4ffef7..03d7d6798 100644 --- a/modules/battle/modelBattle.go +++ b/modules/battle/modelBattle.go @@ -43,7 +43,7 @@ func (this *modelBattleComp) queryrecord(oid string) (record *pb.DBBattleRecord, } // 创建pve 战斗记录 -func (this *modelBattleComp) createeve(session comm.IUserSession, conn *db.DBConn, btype pb.BattleType, req *pb.BattleEVEReq, conf *cfg.GameBattleReadyData) (record *pb.DBBattleRecord, errdata *pb.ErrorData) { +func (this *modelBattleComp) createeve(session comm.IUserSession, stag string, conn *db.DBConn, btype pb.BattleType, req *pb.BattleEVEReq, conf *cfg.GameBattleReadyData) (record *pb.DBBattleRecord, errdata *pb.ErrorData) { record = &pb.DBBattleRecord{ Id: primitive.NewObjectID().Hex(), Title: req.Title, @@ -76,7 +76,7 @@ func (this *modelBattleComp) createeve(session comm.IUserSession, conn *db.DBCon return } if req.Format != nil { - model := db.NewDBModel(comm.TableHero, conn) + model := db.NewDBModel(stag, comm.TableHero, conn) record.Redflist = make([]*pb.DBBattleFormt, 1) record.Redflist[0] = &pb.DBBattleFormt{ Leadpos: req.Format.Leadpos, @@ -193,7 +193,7 @@ func (this *modelBattleComp) createeve(session comm.IUserSession, conn *db.DBCon } // 创建pve 战斗记录 -func (this *modelBattleComp) createpve(session comm.IUserSession, conn *db.DBConn, btype pb.BattleType, req *pb.BattlePVEReq, conf *cfg.GameBattleReadyData) (record *pb.DBBattleRecord, errdata *pb.ErrorData) { +func (this *modelBattleComp) createpve(session comm.IUserSession, stag string, conn *db.DBConn, btype pb.BattleType, req *pb.BattlePVEReq, conf *cfg.GameBattleReadyData) (record *pb.DBBattleRecord, errdata *pb.ErrorData) { var ( heros []*pb.DBHero = make([]*pb.DBHero, 5) captain int32 @@ -217,7 +217,7 @@ func (this *modelBattleComp) createpve(session comm.IUserSession, conn *db.DBCon Leadpos: req.Format.Leadpos, Team: make([]*pb.BattleRole, len(req.Format.Format)), } - model := db.NewDBModel(comm.TableHero, conn) + model := db.NewDBModel(stag, comm.TableHero, conn) if user, err = this.module.ModuleUser.GetUserExpand(session.GetUserId()); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, @@ -333,7 +333,7 @@ func (this *modelBattleComp) createpve(session comm.IUserSession, conn *db.DBCon } // 创建pve 战斗记录 -func (this *modelBattleComp) createpvb(session comm.IUserSession, conn *db.DBConn, btype pb.BattleType, req *pb.BattlePVBReq, conf *cfg.GameBattleReadyData) (record *pb.DBBattleRecord, errdata *pb.ErrorData) { +func (this *modelBattleComp) createpvb(session comm.IUserSession, stag string, conn *db.DBConn, btype pb.BattleType, req *pb.BattlePVBReq, conf *cfg.GameBattleReadyData) (record *pb.DBBattleRecord, errdata *pb.ErrorData) { var ( // buff *cfg.GamePandamasBuffData user *pb.DBUserExpand @@ -365,7 +365,7 @@ func (this *modelBattleComp) createpvb(session comm.IUserSession, conn *db.DBCon Leadpos: v.Leadpos, Team: make([]*pb.BattleRole, len(v.Format)), } - model := db.NewDBModel(comm.TableHero, conn) + model := db.NewDBModel(stag, comm.TableHero, conn) //自己的英雄阵营 for i, v := range v.Format { if v != "" { @@ -603,7 +603,7 @@ func (this *modelBattleComp) creatertpvp(redmodel, bluemodel *db.DBModel, btype } // 创建pve 战斗记录 -func (this *modelBattleComp) createlpve(session comm.IUserSession, conn *db.DBConn, btype pb.BattleType, req *pb.BattleLPVEReq, conf *cfg.GameBattleReadyData) (record *pb.DBBattleRecord, errdata *pb.ErrorData) { +func (this *modelBattleComp) createlpve(session comm.IUserSession, stag string, conn *db.DBConn, btype pb.BattleType, req *pb.BattleLPVEReq, conf *cfg.GameBattleReadyData) (record *pb.DBBattleRecord, errdata *pb.ErrorData) { var ( heros []*pb.DBHero = make([]*pb.DBHero, 5) user *pb.DBUserExpand @@ -624,7 +624,7 @@ func (this *modelBattleComp) createlpve(session comm.IUserSession, conn *db.DBCo Leadpos: req.Format.Leadpos, Team: make([]*pb.BattleRole, len(req.Format.Format)), } - model := db.NewDBModel(comm.TableHero, conn) + model := db.NewDBModel(stag, comm.TableHero, conn) if user, err = this.module.ModuleUser.GetUserExpand(session.GetUserId()); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, @@ -1161,7 +1161,7 @@ func (this *modelBattleComp) creatStoneBattle(session comm.IUserSession, stoneBa } // 创建pve 战斗记录 -func (this *modelBattleComp) createAddDebuffPve(session comm.IUserSession, conn *db.DBConn, btype pb.BattleType, req *pb.BattlePVEReq, conf *cfg.GameBattleReadyData, dibuff []int32) (record *pb.DBBattleRecord, errdata *pb.ErrorData) { +func (this *modelBattleComp) createAddDebuffPve(session comm.IUserSession, stag string, conn *db.DBConn, btype pb.BattleType, req *pb.BattlePVEReq, conf *cfg.GameBattleReadyData, dibuff []int32) (record *pb.DBBattleRecord, errdata *pb.ErrorData) { var ( heros []*pb.DBHero = make([]*pb.DBHero, 5) captain int32 @@ -1185,7 +1185,7 @@ func (this *modelBattleComp) createAddDebuffPve(session comm.IUserSession, conn Leadpos: req.Format.Leadpos, Team: make([]*pb.BattleRole, len(req.Format.Format)), } - model := db.NewDBModel(comm.TableHero, conn) + model := db.NewDBModel(comm.TableHero, stag, conn) if user, err = this.module.ModuleUser.GetUserExpand(session.GetUserId()); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, diff --git a/modules/battle/module.go b/modules/battle/module.go index 0bece4a43..e77fdeeb0 100644 --- a/modules/battle/module.go +++ b/modules/battle/module.go @@ -101,12 +101,15 @@ func (this *Battle) CreateEveBattle(session comm.IUserSession, req *pb.BattleEVE var ( conf *cfg.GameBattleReadyData conn *db.DBConn + stag string err error ) if !this.IsCross() { conn, err = db.Local() + stag = this.service.GetTag() } else { conn, err = db.ServerDBConn(session.GetServiecTag()) + stag = session.GetServiecTag() } if err != nil { errdata = &pb.ErrorData{ @@ -127,7 +130,7 @@ func (this *Battle) CreateEveBattle(session comm.IUserSession, req *pb.BattleEVE return } - if record, errdata = this.modelBattle.createeve(session, conn, pb.BattleType_eve, req, conf); errdata != nil { + if record, errdata = this.modelBattle.createeve(session, stag, conn, pb.BattleType_eve, req, conf); errdata != nil { return } return @@ -138,13 +141,17 @@ func (this *Battle) CreatePveBattle(session comm.IUserSession, req *pb.BattlePVE var ( conf *cfg.GameBattleReadyData conn *db.DBConn + stag string err error tasks []*pb.BuriedParam ) if !this.IsCross() { conn, err = db.Local() + stag = this.service.GetTag() } else { + conn, err = db.ServerDBConn(session.GetServiecTag()) + stag = session.GetServiecTag() } if err != nil { errdata = &pb.ErrorData{ @@ -186,7 +193,7 @@ func (this *Battle) CreatePveBattle(session comm.IUserSession, req *pb.BattlePVE } } - if record, errdata = this.modelBattle.createpve(session, conn, pb.BattleType_pve, req, conf); errdata != nil { + if record, errdata = this.modelBattle.createpve(session, stag, conn, pb.BattleType_pve, req, conf); errdata != nil { return } if flag { @@ -207,7 +214,8 @@ func (this *Battle) CreateHeroPveBattle(session comm.IUserSession, req *pb.Battl var ( conf *cfg.GameBattleReadyData conn *db.DBConn - err error + + err error ) if !this.IsCross() { conn, err = db.Local() @@ -251,12 +259,15 @@ func (this *Battle) CreatePvbBattle(session comm.IUserSession, req *pb.BattlePVB var ( conf *cfg.GameBattleReadyData conn *db.DBConn + stag string err error ) if !this.IsCross() { conn, err = db.Local() + stag = this.service.GetTag() } else { conn, err = db.ServerDBConn(session.GetServiecTag()) + stag = session.GetServiecTag() } if err != nil { errdata = &pb.ErrorData{ @@ -282,7 +293,7 @@ func (this *Battle) CreatePvbBattle(session comm.IUserSession, req *pb.BattlePVB } return } - if record, errdata = this.modelBattle.createpvb(session, conn, pb.BattleType_pvb, req, conf); errdata != nil { + if record, errdata = this.modelBattle.createpvb(session, stag, conn, pb.BattleType_pvb, req, conf); errdata != nil { return } return @@ -373,13 +384,16 @@ func (this *Battle) CreateLPVEBattle(session comm.IUserSession, req *pb.BattleLP var ( conf *cfg.GameBattleReadyData conn *db.DBConn + stag string err error tasks []*pb.BuriedParam ) if !this.IsCross() { conn, err = db.Local() + stag = this.service.GetTag() } else { conn, err = db.ServerDBConn(session.GetServiecTag()) + stag = session.GetServiecTag() } if err != nil { errdata = &pb.ErrorData{ @@ -420,7 +434,7 @@ func (this *Battle) CreateLPVEBattle(session comm.IUserSession, req *pb.BattleLP } return } - if record, errdata = this.modelBattle.createlpve(session, conn, pb.BattleType_lpev, req, conf); errdata != nil { + if record, errdata = this.modelBattle.createlpve(session, stag, conn, pb.BattleType_lpev, req, conf); errdata != nil { return } if flag { @@ -610,13 +624,16 @@ func (this *Battle) CreateDebuffBattle(session comm.IUserSession, req *pb.Battle var ( conf *cfg.GameBattleReadyData conn *db.DBConn + stag string err error tasks []*pb.BuriedParam ) if !this.IsCross() { conn, err = db.Local() + stag = this.service.GetTag() } else { conn, err = db.ServerDBConn(session.GetServiecTag()) + stag = session.GetServiecTag() } if err != nil { errdata = &pb.ErrorData{ @@ -658,7 +675,7 @@ func (this *Battle) CreateDebuffBattle(session comm.IUserSession, req *pb.Battle } } - if record, errdata = this.modelBattle.createAddDebuffPve(session, conn, pb.BattleType_pve, req, conf, dibuff); errdata != nil { + if record, errdata = this.modelBattle.createAddDebuffPve(session, stag, conn, pb.BattleType_pve, req, conf, dibuff); errdata != nil { return } if flag { diff --git a/modules/buried/modelburied.go b/modules/buried/modelburied.go index be5599243..877935801 100644 --- a/modules/buried/modelburied.go +++ b/modules/buried/modelburied.go @@ -59,7 +59,7 @@ func (this *modelBuried) updateUserBurieds(uid string, data *pb.DBBuried) (err e } func (this *modelBuried) userlock(uid string) (result *redis.RedisMutex, err error) { - return this.DBModel.Redis.NewRedisMutex(fmt.Sprintf("ulockburied:%s", uid)) + return this.DBModel.Redis.NewRedisMutex(fmt.Sprintf("%s-ulockburied:%s", this.DBModel.ServiceId, uid)) } // 更新埋点数据到db中 @@ -110,7 +110,7 @@ func (this *buriedModel) updateUserBurieds(uid string, data *pb.DBBuried) (err e } func (this *buriedModel) userlock(uid string) (result *redis.RedisMutex, err error) { - return this.model.Redis.NewRedisMutex(fmt.Sprintf("ulockburied:%s", uid)) + return this.model.Redis.NewRedisMutex(fmt.Sprintf("%s-ulockburied:%s", this.model.ServiceId, uid)) } //获取埋点数据 diff --git a/modules/caravan/model_rank.go b/modules/caravan/model_rank.go index 9427acb01..2eca8d6d3 100644 --- a/modules/caravan/model_rank.go +++ b/modules/caravan/model_rank.go @@ -46,7 +46,7 @@ func (this *ModelRank) SetUsrRankList(uid string) (result *pb.DBCaravanRank, err if err != nil { return } - if model = db.NewDBModelByExpired(comm.TableCaravanRank, conn_); model == nil { + if model = db.NewDBModelByExpired(db.CrossTag(), comm.TableCaravanRank, conn_); model == nil { err = fmt.Errorf("cand found table :%s,%v", comm.TableCaravanRank, conn_) return } @@ -85,7 +85,7 @@ func (this *ModelRank) ChangeRankList(uId string, data map[string]interface{}) ( return } - model := db.NewDBModelByExpired(comm.TableCaravanRank, conn_) + model := db.NewDBModelByExpired(db.CrossTag(), comm.TableCaravanRank, conn_) if model == nil { return } @@ -104,7 +104,7 @@ func (this *ModelRank) getRankList(uid string) (list []*pb.CaravanRankInfo, rank return } - model := db.NewDBModelByExpired(comm.TableCaravanRank, conn_) + model := db.NewDBModelByExpired(db.CrossTag(), comm.TableCaravanRank, conn_) if model == nil { return } diff --git a/modules/caravan/module.go b/modules/caravan/module.go index e6834f2c9..a24eea312 100644 --- a/modules/caravan/module.go +++ b/modules/caravan/module.go @@ -463,7 +463,7 @@ func (this *Caravan) Rpc_ModuleCaravanSettlement(ctx context.Context, args *pb.E if err != nil { return } - model := db.NewDBModelByExpired(comm.TableCaravanRank, conn_) + model := db.NewDBModelByExpired(db.CrossTag(), comm.TableCaravanRank, conn_) if model == nil { return } diff --git a/modules/comp_model.go b/modules/comp_model.go index eaa68f84a..210f307cb 100644 --- a/modules/comp_model.go +++ b/modules/comp_model.go @@ -18,6 +18,7 @@ DB组件也封装进来 */ type MCompModel struct { cbase.ModuleCompBase + service core.IService TableName string Expired time.Duration //过期时间 Redis redis.ISys @@ -35,6 +36,7 @@ func (this *MCompModel) Init(service core.IService, module core.IModule, comp co this.DB = conn.Mgo this.Redis = conn.Redis this.Expired = time.Hour + this.service = service return } @@ -48,7 +50,7 @@ func (this *MCompModel) Start() (err error) { if conn, err = db.Local(); err != nil { return } - this.DBModel = db.NewDBModel(this.TableName, conn) + this.DBModel = db.NewDBModel(this.service.GetId(), this.TableName, conn) return } diff --git a/modules/dragon/module.go b/modules/dragon/module.go index b1b07698b..23fe2f4fd 100644 --- a/modules/dragon/module.go +++ b/modules/dragon/module.go @@ -149,7 +149,7 @@ func (this *Dragon) QueryDragonByTagAndOid(tag string, objId []string) (dragon [ return } dragon = make([]*pb.DBDragon, 0) - model = db.NewDBModel(this.modelDragon.TableName, conn) + model = db.NewDBModel(tag, this.modelDragon.TableName, conn) result := make([]bson.M, 0) diff --git a/modules/enchant/api_ranklist.go b/modules/enchant/api_ranklist.go index a4c0dba71..a38e284cf 100644 --- a/modules/enchant/api_ranklist.go +++ b/modules/enchant/api_ranklist.go @@ -2,6 +2,7 @@ package enchant import ( "context" + "fmt" "go_dreamfactory/comm" "go_dreamfactory/lego/sys/redis/pipe" "go_dreamfactory/pb" @@ -27,12 +28,12 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.EnchantRankList return // 参数校验失败直接返回 } conn, _ := db.Local() - dbModel := db.NewDBModelByExpired(comm.TableEnchantRank, conn) + dbModel := db.NewDBModelByExpired(this.service.GetTag(), comm.TableEnchantRank, conn) if !req.Friend { var ( pipe *pipe.RedisPipe = this.module.modelEnchant.Redis.RedisPipe(context.TODO()) ) - rd = pipe.ZRange("enchantRank"+strconv.Itoa(int(req.BoosType)), 0, comm.MaxRankList) + rd = pipe.ZRange(fmt.Sprintf("%s-%s", this.module.modelEnchant.DBModel.ServiceId, "enchantRank"+strconv.Itoa(int(req.BoosType))), 0, comm.MaxRankList) if _, err := pipe.Exec(); err != nil { this.module.Errorln(err) diff --git a/modules/enchant/module.go b/modules/enchant/module.go index dd4ca6e9c..7848c77cc 100644 --- a/modules/enchant/module.go +++ b/modules/enchant/module.go @@ -89,7 +89,7 @@ func (this *Enchant) CheckUserBaseEnchantInfo(uid string) (data []*pb.DBEnchantR func (this *Enchant) CheckRank(uid string, boosID int32, report *pb.BattleReport, userinfo *pb.DBUser, score int64) { conn_, _ := db.Cross() // 获取跨服数据库对象 - model := db.NewDBModelByExpired(comm.TableEnchantRank, conn_) + model := db.NewDBModelByExpired(db.CrossTag(), comm.TableEnchantRank, conn_) costTime := report.Costtime szLine := make([]*pb.LineUp, len(report.Info.Redflist[0].Team)) diff --git a/modules/entertainment/modelrank.go b/modules/entertainment/modelrank.go index 43b999b28..bc3efe361 100644 --- a/modules/entertainment/modelrank.go +++ b/modules/entertainment/modelrank.go @@ -2,6 +2,7 @@ package entertainment import ( "context" + "fmt" "go_dreamfactory/comm" "go_dreamfactory/lego/core" "go_dreamfactory/lego/sys/redis/pipe" @@ -70,7 +71,7 @@ func (this *modelRank) queryRankUser() (ranks []string, err error) { var ( result []string ) - if result, err = this.DBModel.Redis.ZRevRange(this.TableName, 0, 50).Result(); err != nil { + if result, err = this.DBModel.Redis.ZRevRange(fmt.Sprintf("%s-%s", this.DBModel.ServiceId, this.TableName), 0, 50).Result(); err != nil { this.module.Errorln(err) return } diff --git a/modules/friend/module.go b/modules/friend/module.go index 6d9116479..9861f789a 100644 --- a/modules/friend/module.go +++ b/modules/friend/module.go @@ -271,7 +271,7 @@ func (this *Friend) UpdateUserBaseInfo(session comm.IUserSession, info *pb.BaseU if err != nil { return } - if model = db.NewDBModelByExpired(comm.TableFriend, conn_); model == nil { + if model = db.NewDBModelByExpired(db.CrossTag(), comm.TableFriend, conn_); model == nil { err = fmt.Errorf("cand found table :%s,%v", comm.TableFriend, conn_) return } diff --git a/modules/gourmet/api_getranduser.go b/modules/gourmet/api_getranduser.go index a7a2a939d..5f2c881a1 100644 --- a/modules/gourmet/api_getranduser.go +++ b/modules/gourmet/api_getranduser.go @@ -70,7 +70,7 @@ func (this *apiComp) GetRandUser(session comm.IUserSession, req *pb.GourmetGetRa tag, _, b := utils.UIdSplit(session.GetUserId()) if b { if conn, err := db.ServerDBConn(tag); err == nil { - dbModel := db.NewDBModel(comm.TableHero, conn) + dbModel := db.NewDBModel(tag, comm.TableHero, conn) if _data, err1 := dbModel.DB.Find(core.SqlTable(comm.TableUser), bson.M{}, options.Find().SetSort(bson.M{"lv": -1}).SetLimit(int64(req.People))); err1 == nil { for _data.Next(context.TODO()) { temp := &pb.DBUser{} diff --git a/modules/guildgve/modelUnionRoulette.go b/modules/guildgve/modelUnionRoulette.go index 2b0e62c29..6d2b4c034 100644 --- a/modules/guildgve/modelUnionRoulette.go +++ b/modules/guildgve/modelUnionRoulette.go @@ -60,7 +60,7 @@ func (this *ModelUnionroulette) updateUnionRoulette(data *pb.DBGuildRouletteReco // 分布式锁 func (this *ModelUnionroulette) userlock(id string) (result *redis.RedisMutex, err error) { - return this.DBModel.Redis.NewRedisMutex(fmt.Sprintf("lockunionroulette:%s", id)) + return this.DBModel.Redis.NewRedisMutex(fmt.Sprintf("%s-lockunionroulette:%s", this.DBModel.ServiceId, id)) } // boos 信息变化推送 diff --git a/modules/guildgve/modelUniongve.go b/modules/guildgve/modelUniongve.go index b428c3598..f6d008a7d 100644 --- a/modules/guildgve/modelUniongve.go +++ b/modules/guildgve/modelUniongve.go @@ -181,7 +181,7 @@ func (this *ModelUniongve) refreshGlobalBoos() (conf *pb.DBGuildGveBossConf, err // 分布式锁 func (this *ModelUniongve) userlock(id string) (result *redis.RedisMutex, err error) { - return this.DBModel.Redis.NewRedisMutex(fmt.Sprintf("lockuniongve:%s", id)) + return this.DBModel.Redis.NewRedisMutex(fmt.Sprintf("%s-lockuniongve:%s", this.DBModel.ServiceId, id)) } // boos 血量变化推送 @@ -294,7 +294,7 @@ func (this *ModelUniongve) guildgveModel() (model *guildgveModel, err error) { if conn, err = db.Cross(); err != nil { return } - m = db.NewDBModel(this.TableName, conn) + m = db.NewDBModel(db.CrossTag(), this.TableName, conn) model = &guildgveModel{module: this.module, model: m} } return @@ -308,7 +308,7 @@ type guildgveModel struct { // 分布式锁 func (this *guildgveModel) userlock(id string) (result *redis.RedisMutex, err error) { - return this.model.Redis.NewRedisMutex(fmt.Sprintf("lockuniongve:%s", id)) + return this.model.Redis.NewRedisMutex(fmt.Sprintf("%s-lockuniongve:%s", this.model.ServiceId, id)) } // 获取用户全部的埋点数据 diff --git a/modules/guildgve/modelbattlerank.go b/modules/guildgve/modelbattlerank.go index a4ddba251..6f3006a5f 100644 --- a/modules/guildgve/modelbattlerank.go +++ b/modules/guildgve/modelbattlerank.go @@ -31,7 +31,7 @@ func (this *Modelbattlerank) Start() (err error) { } func (this *Modelbattlerank) key(boos int32) string { - return fmt.Sprintf("%s:%d", this.TableName, boos) + return fmt.Sprintf("%s-%s:%d", this.DBModel.ServiceId, this.TableName, boos) } // 获取排行榜前50的用户名单 diff --git a/modules/guildgve/modelrank.go b/modules/guildgve/modelrank.go index a78bf1739..9ca4ecd67 100644 --- a/modules/guildgve/modelrank.go +++ b/modules/guildgve/modelrank.go @@ -2,6 +2,7 @@ package guildgve import ( "context" + "fmt" "go_dreamfactory/comm" "go_dreamfactory/lego/core" "go_dreamfactory/lego/sys/log" @@ -105,7 +106,7 @@ func (this *modelRank) raceSettlement() { return } for _, v := range reward.GetDataList() { - if result, err = this.DBModel.Redis.ZRevRange(this.TableName, int64(v.RankLow-1), int64(v.RankUp)).Result(); err != nil { + if result, err = this.DBModel.Redis.ZRevRange(fmt.Sprintf("%s-%s", this.DBModel.ServiceId, this.TableName), int64(v.RankLow-1), int64(v.RankUp)).Result(); err != nil { this.module.Errorln(err) return } @@ -115,7 +116,7 @@ func (this *modelRank) raceSettlement() { } } //清理排行榜 - this.DBModel.Redis.Delete(this.TableName) + this.DBModel.Redis.Delete(fmt.Sprintf("%s-%s", this.DBModel.ServiceId, this.TableName)) } // boos 奖励推送 diff --git a/modules/hero/api_info.go b/modules/hero/api_info.go index 4b8e8250d..4fefeccb6 100644 --- a/modules/hero/api_info.go +++ b/modules/hero/api_info.go @@ -36,7 +36,7 @@ func (this *apiComp) Info(session comm.IUserSession, req *pb.HeroInfoReq) (errda if tag, _, ok := utils.UIdSplit(uid); ok { if conn, err := db.ServerDBConn(tag); err == nil { - dbModel := db.NewDBModel(comm.TableHero, conn) + dbModel := db.NewDBModel(tag, comm.TableHero, conn) for _, v := range req.HeroId { if v == "" { continue diff --git a/modules/hero/hero_test.go b/modules/hero/hero_test.go index c21f2aa01..1cfee89a2 100644 --- a/modules/hero/hero_test.go +++ b/modules/hero/hero_test.go @@ -93,11 +93,11 @@ func TimerStar() { if !db.IsCross() { conn, err := db.Cross() if err == nil { - model := db.NewDBModel(comm.TablePagodaRecord, conn) + model := db.NewDBModel(db.CrossTag(), comm.TablePagodaRecord, conn) //model.DB.DeleteMany(comm.TableSeasonPagoda, bson.M{}, options.Delete()) model.DB.DeleteMany(comm.TablePagodaRecord, bson.M{}, options.Delete()) for pos := 0; pos < comm.MaxRankNum; pos++ { - key1 := fmt.Sprintf("pagodaList%d", pos) + key1 := fmt.Sprintf("%s-pagodaList%d", db.CrossTag(), pos) if err := model.Redis.Delete(key1); err != nil { log.Errorf("delete failed") } diff --git a/modules/hunting/model_rank.go b/modules/hunting/model_rank.go index 4ffe418c1..e5939766b 100644 --- a/modules/hunting/model_rank.go +++ b/modules/hunting/model_rank.go @@ -39,7 +39,7 @@ func (this *ModelRank) getHuntingRank(uid string) *pb.DBHuntingRecord { data := &pb.DBHuntingRecord{} if !db.IsCross() { if conn_, err := db.Cross(); err == nil { - model := db.NewDBModelByExpired(comm.TableHuntingRank, conn_) + model := db.NewDBModelByExpired(db.CrossTag(), comm.TableHuntingRank, conn_) if err := model.Get(uid, data); err != nil { return data @@ -88,7 +88,7 @@ func (this *ModelRank) CheckRank(uid string, boosID int32, difficulty int32, lin if err != nil { return } - model := db.NewDBModelByExpired(comm.TableHuntingRank, conn_) + model := db.NewDBModelByExpired(db.CrossTag(), comm.TableHuntingRank, conn_) // 写入排行榜 record := &pb.DBHuntingRecord{ diff --git a/modules/integral/model_rank.go b/modules/integral/model_rank.go index 275dc0514..fafa8775b 100644 --- a/modules/integral/model_rank.go +++ b/modules/integral/model_rank.go @@ -2,6 +2,7 @@ package integral import ( "context" + "fmt" "go_dreamfactory/comm" "go_dreamfactory/lego/core" "go_dreamfactory/lego/sys/redis/pipe" @@ -56,7 +57,7 @@ func (this *modelRank) queryIntegralRankUser(nandu int) (ranks []string, err err var ( result []string ) - if result, err = this.DBModel.Redis.ZRevRange(this.TableName+strconv.Itoa(nandu), 0, 50).Result(); err != nil { + if result, err = this.DBModel.Redis.ZRevRange(fmt.Sprintf("%s-%s", this.DBModel.ServiceId, this.TableName+strconv.Itoa(nandu)), 0, 50).Result(); err != nil { this.module.Errorln(err) return } diff --git a/modules/mail/module.go b/modules/mail/module.go index 91b36d8d8..204e5afdf 100644 --- a/modules/mail/module.go +++ b/modules/mail/module.go @@ -74,7 +74,7 @@ func (this *Mail) SendNewMail(mail *pb.DBMailData, uid ...string) bool { tag, _, b := utils.UIdSplit(id) if b { if conn, err := db.ServerDBConn(tag); err == nil { - dbModel := db.NewDBModel(comm.TableMail, conn) + dbModel := db.NewDBModel(tag, comm.TableMail, conn) mail.ObjId = primitive.NewObjectID().Hex() mail.Check = false mail.Reward = true @@ -198,7 +198,7 @@ func (this *Mail) SendMailByCid(session comm.IUserSession, cid string, res []*pb tag, _, b := utils.UIdSplit(session.GetUserId()) if b { if conn, err := db.ServerDBConn(tag); err == nil { - dbModel := db.NewDBModel(comm.TableMail, conn) + dbModel := db.NewDBModel(tag, comm.TableMail, conn) if _, err = dbModel.DB.InsertOne(comm.TableMail, mail); err != nil { this.Errorf("InsertOne mail failed:%v", err) @@ -275,7 +275,7 @@ func (this *Mail) SendMailByUID(uid string, cid string, res []*cfg.Gameatn, Para tag, _, b := utils.UIdSplit(uid) if b { if conn, err := db.ServerDBConn(tag); err == nil { - dbModel := db.NewDBModel(comm.TableMail, conn) + dbModel := db.NewDBModel(tag, comm.TableMail, conn) if _, err = dbModel.DB.InsertOne(comm.TableMail, mail); err != nil { this.Errorf("InsertOne mail failed:%v", err) @@ -342,7 +342,7 @@ func (this *Mail) SendRewardMailByCid(session comm.IUserSession, cid string, res tag, _, b := utils.UIdSplit(session.GetUserId()) if b { if conn, err := db.ServerDBConn(tag); err == nil { - dbModel := db.NewDBModel(comm.TableMail, conn) + dbModel := db.NewDBModel(tag, comm.TableMail, conn) if _, err = dbModel.DB.InsertOne(comm.TableMail, mail); err != nil { this.Errorf("InsertOne mail failed:%v", err) @@ -399,7 +399,7 @@ func (this *Mail) SendMailToUsers(uids []string, cid string, res []*cfg.Gameatn, Cid: cid, Param: param, } - dbModel := db.NewDBModel(comm.TableMail, conn) + dbModel := db.NewDBModel(tag, comm.TableMail, conn) mail.ObjId = primitive.NewObjectID().Hex() mail.Check = false mail.Reward = true diff --git a/modules/modulebase.go b/modules/modulebase.go index ad71b37b0..6b369cd2a 100644 --- a/modules/modulebase.go +++ b/modules/modulebase.go @@ -603,7 +603,7 @@ func (this *ModuleBase) GetDBNodule(session comm.IUserSession, tableName string, return } } - model = db.NewDBModel(tableName, conn) + model = db.NewDBModel(this.service.GetId(), tableName, conn) return } @@ -621,7 +621,7 @@ func (this *ModuleBase) GetCrossDBModel(tableName string) (model *db.DBModel, er return } } - model = db.NewDBModel(tableName, conn) + model = db.NewDBModel(this.service.GetId(), tableName, conn) return } @@ -643,7 +643,7 @@ func (this *ModuleBase) GetDBModelByUid(uid, tableName string) (model *db.DBMode return } } - model = db.NewDBModel(tableName, conn) + model = db.NewDBModel(this.service.GetId(), tableName, conn) return } diff --git a/modules/pagoda/api_challengeover.go b/modules/pagoda/api_challengeover.go index d1273eba2..823c552a5 100644 --- a/modules/pagoda/api_challengeover.go +++ b/modules/pagoda/api_challengeover.go @@ -176,7 +176,7 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.PagodaChal // 数据写到跨服中 if conn_, err := db.Cross(); err == nil { - dbModel := db.NewDBModel(comm.TablePagodaRecord, conn_) + dbModel := db.NewDBModel(db.CrossTag(), comm.TablePagodaRecord, conn_) dbModel.AddList(session.GetUserId(), newData.Id, newData) } else { this.module.Errorf("db crosserr :%v", err) diff --git a/modules/pagoda/api_crossrank.go b/modules/pagoda/api_crossrank.go index c615102a6..9fcafba4f 100644 --- a/modules/pagoda/api_crossrank.go +++ b/modules/pagoda/api_crossrank.go @@ -2,6 +2,7 @@ package pagoda import ( "context" + "fmt" "go_dreamfactory/comm" "go_dreamfactory/lego/sys/redis/pipe" "go_dreamfactory/pb" @@ -37,10 +38,10 @@ func (this *apiComp) CrossRaceRankList(session comm.IUserSession, req *pb.Pagoda if this.module.IsCross() { conn, _ := db.Local() - dbModel := db.NewDBModel(comm.TableRaceRecord, conn) + dbModel := db.NewDBModel(this.service.GetTag(), comm.TableRaceRecord, conn) pipe = conn.Redis.RedisPipe(context.TODO()) - tablename := "race" + strconv.Itoa(int(req.Raceid)) + tablename := fmt.Sprintf("%s-%s", this.service.GetTag(), "race"+strconv.Itoa(int(req.Raceid))) rd = pipe.ZRevRange(tablename, 0, comm.MaxRankList) if _, err := pipe.Exec(); err != nil { diff --git a/modules/pagoda/api_racechallengeover.go b/modules/pagoda/api_racechallengeover.go index 906a02332..3dae16583 100644 --- a/modules/pagoda/api_racechallengeover.go +++ b/modules/pagoda/api_racechallengeover.go @@ -155,7 +155,7 @@ func (this *apiComp) ChallengeRaceOver(session comm.IUserSession, req *pb.Pagoda // 数据写到跨服中 if conn_, err := db.Cross(); err == nil { - dbModel := db.NewDBModel(comm.TableRaceRecord, conn_) + dbModel := db.NewDBModel(db.CrossTag(), comm.TableRaceRecord, conn_) result := make([]*pb.DBRacePagodaRecord, 0) bRet := false dbModel.GetList(uid, &result) diff --git a/modules/pagoda/model_rank.go b/modules/pagoda/model_rank.go index a4905ef67..84388fc91 100644 --- a/modules/pagoda/model_rank.go +++ b/modules/pagoda/model_rank.go @@ -43,7 +43,7 @@ func (this *ModelRank) getPagodaRankListByFloorid(uid string, cid int32) *pb.DBP } } else { if conn, err := db.Cross(); err == nil { - dbModel := db.NewDBModel(comm.TablePagodaRecord, conn) + dbModel := db.NewDBModel(db.CrossTag(), comm.TablePagodaRecord, conn) if err = dbModel.GetList(uid, &pagodaRank); err != nil { return nil } diff --git a/modules/practice/module.go b/modules/practice/module.go index d11a30227..b9a1cff45 100644 --- a/modules/practice/module.go +++ b/modules/practice/module.go @@ -142,7 +142,7 @@ func (this *Practice) AddItems(session comm.IUserSession, items map[string]int32 this.Errorln(err) return } - model := db.NewDBModel(comm.TablePandata, conn) + model := db.NewDBModel(db.CrossTag(), comm.TablePandata, conn) if err = model.Get(session.GetUserId(), room); err != nil && err != mgo.MongodbNil { this.Errorln(err) return @@ -405,7 +405,7 @@ func (this *Practice) RPC_ModulePracticeUnLockPillar(ctx context.Context, args * // 一键踢馆 (跨服) func (this *Practice) CleanUpNpc(uid string) { conn_, _ := db.Cross() // 获取跨服数据库对象 - model := db.NewDBModel(comm.TablePandata, conn_) + model := db.NewDBModel(db.CrossTag(), comm.TablePandata, conn_) result := &pb.DBPracticeRoom{} if err := model.Get(uid, result); err != nil && err != mgo.MongodbNil { return diff --git a/modules/sociaty/model_sociaty.go b/modules/sociaty/model_sociaty.go index ed8debd9e..251fa6655 100644 --- a/modules/sociaty/model_sociaty.go +++ b/modules/sociaty/model_sociaty.go @@ -180,7 +180,7 @@ func (this *ModelSociaty) getSociaty(sociatyId string) (sociaty *pb.DBSociaty, e if conn, err = db.Cross(); err != nil { return } - model = db.NewDBModel(this.TableName, conn) + model = db.NewDBModel(db.CrossTag(), this.TableName, conn) if err = model.GetListObj(comm.RDS_EMPTY, sociatyId, sociaty); err != nil { this.module.Error("获取工会信息 失败", log.Field{Key: "sociatyId", Value: sociatyId}, log.Field{Key: "err", Value: err.Error()}) return diff --git a/modules/sociaty/module.go b/modules/sociaty/module.go index 39686d08a..982dc8cc0 100644 --- a/modules/sociaty/module.go +++ b/modules/sociaty/module.go @@ -374,9 +374,9 @@ func (this *Sociaty) RpcUpdateUserTask(ctx context.Context, p *TaskParams, reply if err != nil { return err } - model := db.NewDBModel(comm.TableSociatyTask, conn) + model := db.NewDBModel(this.service.GetTag(), comm.TableSociatyTask, conn) - if err := model.Redis.HMSet(fmt.Sprintf("%s:%s-%s", this.modelSociatyTask.TableName, + if err := model.Redis.HMSet(fmt.Sprintf("%s-%s:%s-%s", model.ServiceId, this.modelSociatyTask.TableName, p.SociatyId, p.Uid), p.Data); err != nil { log.Error("DBModel ChangeList", log.Field{Key: "err", Value: err.Error()}) return err diff --git a/modules/timer/module.go b/modules/timer/module.go index 28f4eaae9..7bc57e5c9 100644 --- a/modules/timer/module.go +++ b/modules/timer/module.go @@ -95,7 +95,7 @@ func (this *Timer) getDBModelByUid(uid, tableName string) (model *db.DBModel, er return } } - model = db.NewDBModel(tableName, conn) + model = db.NewDBModel(stag, tableName, conn) return } diff --git a/modules/user/api_getserverdata.go b/modules/user/api_getserverdata.go index df66bdd81..db40d3ab3 100644 --- a/modules/user/api_getserverdata.go +++ b/modules/user/api_getserverdata.go @@ -1,37 +1,37 @@ package user -import ( - "go_dreamfactory/comm" - "go_dreamfactory/pb" - "go_dreamfactory/sys/db" +// import ( +// "go_dreamfactory/comm" +// "go_dreamfactory/pb" +// "go_dreamfactory/sys/db" - "go.mongodb.org/mongo-driver/bson" -) +// "go.mongodb.org/mongo-driver/bson" +// ) -func (this *apiComp) GetServerDataCheck(session comm.IUserSession, req *pb.UserGetServerDataReq) (errdata *pb.ErrorData) { - return -} +// func (this *apiComp) GetServerDataCheck(session comm.IUserSession, req *pb.UserGetServerDataReq) (errdata *pb.ErrorData) { +// return +// } -func (this *apiComp) GetServerData(session comm.IUserSession, req *pb.UserGetServerDataReq) (errdata *pb.ErrorData) { +// func (this *apiComp) GetServerData(session comm.IUserSession, req *pb.UserGetServerDataReq) (errdata *pb.ErrorData) { - rsp := &pb.UserGetServerDataResp{ - Data: &pb.DBServerData{}, - } +// rsp := &pb.UserGetServerDataResp{ +// Data: &pb.DBServerData{}, +// } - if conn, err := db.Cross(); err == nil { - dbModel := db.NewDBModel(comm.TableHero, conn) - if _data := dbModel.DB.FindOne("serverdata", bson.M{}); _data != nil { - _data.Decode(rsp.Data) - } else { - this.module.Errorf("err:%v", err) - } - } - if err := session.SendMsg(string(this.module.GetType()), UserGetServerDataResp, rsp); err != nil { - errdata = &pb.ErrorData{ - Code: pb.ErrorCode_SystemError, - Title: pb.ErrorCode_SystemError.ToString(), - Message: err.Error(), - } - } - return -} +// if conn, err := db.Cross(); err == nil { +// dbModel := db.NewDBModel(comm.TableHero, conn) +// if _data := dbModel.DB.FindOne("serverdata", bson.M{}); _data != nil { +// _data.Decode(rsp.Data) +// } else { +// this.module.Errorf("err:%v", err) +// } +// } +// if err := session.SendMsg(string(this.module.GetType()), UserGetServerDataResp, rsp); err != nil { +// errdata = &pb.ErrorData{ +// Code: pb.ErrorCode_SystemError, +// Title: pb.ErrorCode_SystemError.ToString(), +// Message: err.Error(), +// } +// } +// return +// } diff --git a/modules/user/model_user.go b/modules/user/model_user.go index 1f64a9f36..474c05b58 100644 --- a/modules/user/model_user.go +++ b/modules/user/model_user.go @@ -132,7 +132,7 @@ func (this *ModelUser) GetCrossUsers(uids []string) (users []*pb.DBUser, err err if conn, err = db.ServerDBConn(k); err != nil { return } - model = db.NewDBModel(this.TableName, conn) + model = db.NewDBModel(k, this.TableName, conn) usersSlice = make([]*pb.DBUser, 0) if _, err = model.Gets(v, &usersSlice); err != nil { return diff --git a/modules/user/module.go b/modules/user/module.go index 5acb42a08..27bca10e7 100644 --- a/modules/user/module.go +++ b/modules/user/module.go @@ -227,7 +227,7 @@ func (this *User) CrossUserOnlineList() ([]*pb.CacheUser, error) { if err != nil { return nil, err } - model := db.NewDBModelByExpired(comm.TableSession, conn) + model := db.NewDBModelByExpired(this.service.GetTag(), comm.TableSession, conn) var cache []*pb.CacheUser if err := model.GetList(comm.RDS_EMPTY, &cache); err != nil { return nil, err @@ -241,7 +241,7 @@ func (this *User) crossUser(uid string) (*pb.CacheUser, error) { if err != nil { return nil, err } - model := db.NewDBModelByExpired(comm.TableSession, conn) + model := db.NewDBModelByExpired(this.service.GetTag(), comm.TableSession, conn) cache := &pb.CacheUser{} if err := model.Get(uid, cache); err != nil { return nil, err @@ -289,7 +289,7 @@ func (this *User) RpcCreateSociaty(ctx context.Context, req *pb.RPCGeneralReqA2, if err != nil { return err } - model := db.NewDBModel(comm.TableSociaty, conn) + model := db.NewDBModel(this.service.GetTag(), comm.TableSociaty, conn) sociaty := &pb.DBSociaty{} _id := primitive.NewObjectID().Hex() @@ -948,7 +948,7 @@ func (this *User) getUserFromRemoteDb(uid string, rsp *pb.DBUser) error { if err != nil { return err } - model := db.NewDBModel(comm.TableUser, conn) + model := db.NewDBModel(sid, comm.TableUser, conn) if err := model.Get(uid, rsp); err != nil { this.Errorln("Get User:", err) return err @@ -965,7 +965,7 @@ func (this *User) getUserExpandFromRemoteDb(uid string, rsp *pb.DBUserExpand) er if err != nil { return err } - model := db.NewDBModel(comm.TableUserExpand, conn) + model := db.NewDBModel(sid, comm.TableUserExpand, conn) if err := model.Get(uid, rsp); err != nil { return err @@ -982,7 +982,7 @@ func (this *User) changeUserExpandFromRemoteDb(uid string, data map[string]inter if err != nil { return err } - model := db.NewDBModel(comm.TableUserExpand, conn) + model := db.NewDBModel(sid, comm.TableUserExpand, conn) if err := model.Change(uid, data); err != nil { return err @@ -1021,7 +1021,7 @@ func (this *User) RpcGetAllOnlineUser(ctx context.Context, args *pb.EmptyReq, re if err != nil { return err } - model := db.NewDBModelByExpired(comm.TableSession, conn) + model := db.NewDBModelByExpired(this.service.GetTag(), comm.TableSession, conn) var cache []*pb.CacheUser if err := model.GetList(comm.RDS_EMPTY, &cache); err != nil { return err @@ -1039,7 +1039,7 @@ func (this *User) RpcGetCrossUserSession(ctx context.Context, req *pb.UIdReq, re if err != nil { return err } - model := db.NewDBModelByExpired(comm.TableSession, conn) + model := db.NewDBModelByExpired(this.service.GetTag(), comm.TableSession, conn) if err := model.GetListObj(comm.RDS_EMPTY, req.Uid, reply); err != nil { if err != mongo.ErrNoDocuments { return err diff --git a/modules/viking/api_seasonrank.go b/modules/viking/api_seasonrank.go index 199cc8e0e..a5f87885f 100644 --- a/modules/viking/api_seasonrank.go +++ b/modules/viking/api_seasonrank.go @@ -4,7 +4,6 @@ import ( "go_dreamfactory/comm" "go_dreamfactory/pb" "go_dreamfactory/sys/configure" - "go_dreamfactory/sys/db" "go_dreamfactory/utils" ) @@ -25,17 +24,12 @@ func (this *apiComp) SeasonRank(session comm.IUserSession, req *pb.VikingSeasonR err error ranks []*pb.DBVSeasonRecord players []*pb.DBVikingSRank - conn_ *db.DBConn ) if errdata = this.SeasonRankCheck(session, req); errdata != nil { return // 参数校验失败直接返回 } - conn_, err = db.Cross() - if err != nil { - return - } - if uids, err = this.module.modelsrank.querySRankUser(int(req.BoosType), conn_); err != nil { + if uids, err = this.module.modelsrank.querySRankUser(int(req.BoosType)); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Title: pb.ErrorCode_DBError.ToString(), @@ -43,7 +37,7 @@ func (this *apiComp) SeasonRank(session comm.IUserSession, req *pb.VikingSeasonR } return } - if ranks, err = this.module.modelsrank.queryPlayers(uids, conn_); err != nil { + if ranks, err = this.module.modelsrank.queryPlayers(uids); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Title: pb.ErrorCode_DBError.ToString(), diff --git a/modules/viking/model_rank.go b/modules/viking/model_rank.go index 1895d7161..70d4d56e8 100644 --- a/modules/viking/model_rank.go +++ b/modules/viking/model_rank.go @@ -39,7 +39,7 @@ func (this *ModelRank) getVikingRank(uid string) *pb.DBVikingRecord { data := &pb.DBVikingRecord{} if !db.IsCross() { if conn_, err := db.Cross(); err == nil { - model := db.NewDBModelByExpired(comm.TableVikingRank, conn_) + model := db.NewDBModelByExpired(db.CrossTag(), comm.TableVikingRank, conn_) if err := model.Get(uid, data); err != nil { return data @@ -88,7 +88,7 @@ func (this *ModelRank) CheckRank(uid string, boosID int32, difficulty int32, lin if err != nil { return } - model := db.NewDBModelByExpired(comm.TableVikingRank, conn_) + model := db.NewDBModelByExpired(db.CrossTag(), comm.TableVikingRank, conn_) // 写入排行榜 record := &pb.DBVikingRecord{ diff --git a/modules/viking/model_srank.go b/modules/viking/model_srank.go index 354aa8a14..45f38ba5f 100644 --- a/modules/viking/model_srank.go +++ b/modules/viking/model_srank.go @@ -39,9 +39,14 @@ func (this *ModelSRank) Init(service core.IService, module core.IModule, comp co } // 批量查询 -func (this *ModelSRank) queryPlayers(uIds []string, conn_ *db.DBConn) (result []*pb.DBVSeasonRecord, err error) { +func (this *ModelSRank) queryPlayers(uIds []string) (result []*pb.DBVSeasonRecord, err error) { + var conn *db.DBConn + conn, err = db.Cross() + if err != nil { + return + } result = make([]*pb.DBVSeasonRecord, 0) - model := db.NewDBModelByExpired(comm.TableVikingSRank, conn_) + model := db.NewDBModelByExpired(db.CrossTag(), comm.TableVikingSRank, conn) if _, err = model.GetByUids(uIds, &result); err != nil && err != mgo.MongodbNil { //this.module.Errorln(err) return @@ -117,7 +122,7 @@ func (this *ModelSRank) CheckSeasonRank(uid string, boosID int32, difficulty int if err != nil { return } - model := db.NewDBModelByExpired(comm.TableVikingSRank, conn_) + model := db.NewDBModelByExpired(db.CrossTag(), comm.TableVikingSRank, conn_) // 写入排行榜 record = &pb.DBVSeasonRecord{ @@ -216,13 +221,17 @@ func (this *ModelSRank) CheckSeasonRank(uid string, boosID int32, difficulty int } // 获取排行榜前50的用户名单 -func (this *ModelSRank) querySRankUser(bossid int, conn_ *db.DBConn) (ranks []string, err error) { +func (this *ModelSRank) querySRankUser(bossid int) (ranks []string, err error) { var ( result []string + conn *db.DBConn ) - - tableName := this.TableName + strconv.Itoa(int(bossid)) - if result, err = conn_.Redis.ZRevRange(tableName, 0, comm.MinRankList).Result(); err != nil { + conn, err = db.Cross() + if err != nil { + return + } + tableName := fmt.Sprintf("%s-%s", db.CrossTag(), this.TableName+strconv.Itoa(int(bossid))) + if result, err = conn.Redis.ZRevRange(tableName, 0, comm.MinRankList).Result(); err != nil { //this.module.Errorln(err) return } @@ -246,7 +255,7 @@ func (this *ModelSRank) raceSettlement() { tableName := this.TableName + strconv.Itoa(int(iBossType)) szReward = this.moduleViking.configure.GetVikingRewardConf() - if result, err = this.DBModel.Redis.ZRevRange(tableName, 0, comm.MaxRankList).Result(); err != nil { + if result, err = this.DBModel.Redis.ZRevRange(fmt.Sprintf("%s-%s", this.DBModel, tableName), 0, comm.MaxRankList).Result(); err != nil { this.moduleViking.Errorln(err) return } @@ -279,7 +288,7 @@ func (this *ModelSRank) raceSettlement() { ctx := context.Background() - this.DBModel.Redis.DelAllPrefixkey(ctx, "vikingsrank") + this.DBModel.Redis.DelAllPrefixkey(ctx, fmt.Sprintf("%s-%s", this.DBModel.ServiceId, "vikingsrank")) this.DBModel.DB.DeleteMany(core.SqlTable(this.TableName), bson.M{}) return diff --git a/services/comp_gateroute.go b/services/comp_gateroute.go index 89523d242..c60e35ee2 100644 --- a/services/comp_gateroute.go +++ b/services/comp_gateroute.go @@ -192,7 +192,7 @@ func (this *SCompGateRoute) NoticeUserLogin(ctx context.Context, args *pb.Notice log.Errorf("[RPC] NoticeUserLogin err: %v", err) return err } - model := db.NewDBModelByExpired(comm.TableSession, conn) + model := db.NewDBModelByExpired(this.service.GetTag(), comm.TableSession, conn) user := &pb.CacheUser{ Uid: args.UserId, SessionId: args.UserSessionId, diff --git a/sys/db/dbmodel.go b/sys/db/dbmodel.go index a9cf54af9..0ac89382a 100644 --- a/sys/db/dbmodel.go +++ b/sys/db/dbmodel.go @@ -38,8 +38,9 @@ const ( DB_ModelTable core.SqlTable = "model_log" ) -func NewDBModel(tableName string, conn *DBConn) *DBModel { +func NewDBModel(sid string, tableName string, conn *DBConn) *DBModel { return &DBModel{ + ServiceId: sid, TableName: tableName, Expired: time.Minute * 15, conn: conn, @@ -47,8 +48,9 @@ func NewDBModel(tableName string, conn *DBConn) *DBModel { DB: conn.Mgo, } } -func NewDBModelByExpired(tableName string, conn *DBConn) *DBModel { +func NewDBModelByExpired(sid string, tableName string, conn *DBConn) *DBModel { return &DBModel{ + ServiceId: sid, TableName: tableName, Expired: 0, conn: conn, @@ -59,6 +61,7 @@ func NewDBModelByExpired(tableName string, conn *DBConn) *DBModel { // DB模型 type DBModel struct { + ServiceId string TableName string Expired time.Duration //过期时间 conn *DBConn //数据源 @@ -68,15 +71,15 @@ type DBModel struct { func (this *DBModel) ukey(uid string) string { if uid == "" { - return fmt.Sprintf("%s:member", this.TableName) + return fmt.Sprintf("%s-%s:member", this.ServiceId, this.TableName) } - return fmt.Sprintf("%s:%s", this.TableName, uid) + return fmt.Sprintf("%s-%s:%s", this.ServiceId, this.TableName, uid) } func (this *DBModel) ukeylist(uid string, id string) string { if uid == "" { - return fmt.Sprintf("%s:%s", this.TableName, id) + return fmt.Sprintf("%s-%s:%s", this.ServiceId, this.TableName, id) } - return fmt.Sprintf("%s:%s-%s", this.TableName, uid, id) + return fmt.Sprintf("%s-%s:%s-%s", this.ServiceId, this.TableName, uid, id) } func (this *DBModel) InsertModelLogs(table string, uID string, target interface{}) (err error) {