跨服数据处理
This commit is contained in:
parent
49465c8820
commit
aaea50dde8
@ -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
|
||||
|
@ -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})
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user