跨服数据处理

This commit is contained in:
meixiongfeng 2024-01-05 18:43:52 +08:00
parent 49465c8820
commit aaea50dde8
3 changed files with 96 additions and 53 deletions

View File

@ -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

View File

@ -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})
}
}
}

View File

@ -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