diff --git a/modules/friend/model_friend.go b/modules/friend/model_friend.go index 4b1d9e2c6..892536535 100644 --- a/modules/friend/model_friend.go +++ b/modules/friend/model_friend.go @@ -6,6 +6,7 @@ import ( "go_dreamfactory/lego/sys/mgo" "go_dreamfactory/modules" "go_dreamfactory/pb" + "go_dreamfactory/sys/db" "go.mongodb.org/mongo-driver/bson/primitive" "go.mongodb.org/mongo-driver/mongo" @@ -34,37 +35,85 @@ func (this *ModelFriend) Init(service core.IService, module core.IModule, comp c // 查询好友 func (this *ModelFriend) GetFriend(uid string) (info *pb.DBFriend, err error) { - info = &pb.DBFriend{} - if err = this.Get(uid, info); err != nil && err != mgo.MongodbNil { - this.moduole.Errorln(err) - return - } - var user *pb.DBUser - if err == mgo.MongodbNil { - if user, err = this.moduole.ModuleUser.GetUser(uid); err != nil { + // 增加跨服处理 + if db.IsCross() { + info = &pb.DBFriend{} + if err = this.Get(uid, info); err != nil && err != mgo.MongodbNil { this.moduole.Errorln(err) return } - info = &pb.DBFriend{ - Id: primitive.NewObjectID().Hex(), - Uid: uid, - Info: comm.GetUserBaseInfo(user), - FriendIds: make([]string, 0), - ApplyIds: make([]string, 0), - BlackIds: make([]string, 0), - GetZandIds: make([]string, 0), - Record: make([]*pb.AssistRecord, 0), - Beblackids: make([]string, 0), + var user *pb.DBUser + if err == mgo.MongodbNil { + if user, err = this.moduole.ModuleUser.GetUser(uid); err != nil { + this.moduole.Errorln(err) + return + } + info = &pb.DBFriend{ + Id: primitive.NewObjectID().Hex(), + Uid: uid, + Info: comm.GetUserBaseInfo(user), + FriendIds: make([]string, 0), + ApplyIds: make([]string, 0), + BlackIds: make([]string, 0), + GetZandIds: make([]string, 0), + Record: make([]*pb.AssistRecord, 0), + Beblackids: make([]string, 0), + } + err = this.Add(uid, info) + } + } else { + var ( + conn_ *db.DBConn + ) + if conn_, err = db.Cross(); err == nil { + model := db.NewDBModel(db.CrossTag(), this.TableName, conn_) + + info = &pb.DBFriend{} + if err = model.Get(uid, info); err != nil && err != mgo.MongodbNil { + this.moduole.Errorln(err) + return + } + var user *pb.DBUser + if err == mgo.MongodbNil { + if user, err = this.moduole.ModuleUser.GetUser(uid); err != nil { + this.moduole.Errorln(err) + return + } + info = &pb.DBFriend{ + Id: primitive.NewObjectID().Hex(), + Uid: uid, + Info: comm.GetUserBaseInfo(user), + FriendIds: make([]string, 0), + ApplyIds: make([]string, 0), + BlackIds: make([]string, 0), + GetZandIds: make([]string, 0), + Record: make([]*pb.AssistRecord, 0), + Beblackids: make([]string, 0), + } + err = model.Add(uid, info) + } } - err = this.Add(uid, info) } + return } func (this *ModelFriend) GetFriends(uids []string) (friends []*pb.DBFriend, err error) { friends = make([]*pb.DBFriend, 0) - if _, err = this.GetByUids(uids, &friends); err != nil { - this.moduole.Errorln(err) + if db.IsCross() { + if _, err = this.GetByUids(uids, &friends); err != nil { + this.moduole.Errorln(err) + } + } else { + var ( + conn_ *db.DBConn + ) + if conn_, err = db.Cross(); err == nil { + model := db.NewDBModel(db.CrossTag(), this.TableName, conn_) + if _, err = model.GetByUids(uids, &friends); err != nil { + this.moduole.Errorln(err) + } + } } return diff --git a/modules/friend/module.go b/modules/friend/module.go index 9861f789a..083d77aa9 100644 --- a/modules/friend/module.go +++ b/modules/friend/module.go @@ -83,23 +83,25 @@ func (this *Friend) Start() (err error) { } func (this *Friend) ResetFriend(uid string) { - // 重置点赞列表 - zanUpdate := map[string]interface{}{ - "zanIds": []string{}, - "getZandIds": []string{}, - "received": 0, //奖励状态重置 - } - if err := this.modelFriend.Change(uid, zanUpdate); err != nil { - log.Error("重置玩家点赞数据", log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err}) - } + if db.IsCross() { // 只针对跨服 + // 重置点赞列表 + zanUpdate := map[string]interface{}{ + "zanIds": []string{}, + "getZandIds": []string{}, + "received": 0, //奖励状态重置 + } + if err := this.modelFriend.Change(uid, zanUpdate); err != nil { + log.Error("重置玩家点赞数据", log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err}) + } - // 重置今日友情点 - update := map[string]interface{}{ - "friendPointID": 0, - "friendPointOD": 0, - } - if err := this.ModuleUser.ChangeUserExpand(uid, update); err != nil { - log.Error("重置今日友情点", log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err}) + // 重置今日友情点 + update := map[string]interface{}{ + "friendPointID": 0, + "friendPointOD": 0, + } + if err := this.ModuleUser.ChangeUserExpand(uid, update); err != nil { + log.Error("重置今日友情点", log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err}) + } } } diff --git a/modules/user/model_user.go b/modules/user/model_user.go index 474c05b58..0bf47c749 100644 --- a/modules/user/model_user.go +++ b/modules/user/model_user.go @@ -310,8 +310,11 @@ func (this *ModelUser) changelv(session comm.IUserSession, lv int32, exp int64, } func (this *ModelUser) CleanUserMerchantmoney(session comm.IUserSession) (err error) { + // 只处理跨服 + if !db.IsCross() { + return + } var ( - model *db.DBModel update map[string]interface{} uid string ) @@ -325,22 +328,11 @@ func (this *ModelUser) CleanUserMerchantmoney(session comm.IUserSession) (err er user.Caravanlv = 1 update["caravanlv"] = user.Caravanlv } - if db.IsCross() { - if model, err = this.module.GetDBModelByUid(uid, this.TableName); err == nil { - if err := this.Get(uid, user); err == nil { - err = model.Change(uid, update) - } else { - this.module.Errorf("err:%v", err) - } - } else { - this.module.Errorln(err) - } + + if err := this.Get(uid, user); err == nil { + err = this.Change(uid, update) } else { - if err := this.Get(uid, user); err == nil { - err = this.Change(uid, update) - } else { - this.module.Errorf("err:%v", err) - } + this.module.Errorf("err:%v", err) } return