BUG修改

This commit is contained in:
by 2025-01-10 11:41:45 +08:00
parent c885055c71
commit be4fd38ca7
3 changed files with 17 additions and 0 deletions

View File

@ -36,6 +36,9 @@ func (svc *FriendUnreadSvc) UpsertFriendUnread(args *model.FriendUnreadByKey, re
if cc == nil {
return FriendUnreadColError
}
if ret == nil {
ret = &model.FriendUnreadRet{}
}
err := cc.Find(bson.M{"snid": args.SnId}).One(&ret.FU)
if err != nil && err != mgo.ErrNotFound {
logger.Logger.Error("UpsertFriendUnread Find is err: ", err)
@ -76,6 +79,9 @@ func (svc *FriendUnreadSvc) UpdateFriendUnread(args *model.FriendUnreadByKey, re
if cc == nil {
return FriendUnreadColError
}
if ret == nil {
ret = &model.FriendUnreadRet{}
}
err := cc.Find(bson.M{"snid": args.SnId}).One(&ret.FU)
if err != nil && err != mgo.ErrNotFound {
logger.Logger.Error("UpdateFriendUnread Find is err: ", err)
@ -98,6 +104,9 @@ func (svc *FriendUnreadSvc) QueryFriendUnreadByKey(args *model.FriendUnreadByKey
if fc == nil {
return FriendUnreadColError
}
if ret == nil {
ret = &model.FriendUnreadRet{}
}
err := fc.Find(bson.M{"snid": args.SnId}).One(&ret.FU)
if err != nil && err != mgo.ErrNotFound {
logger.Logger.Error("QueryFriendUnreadByKey is err: ", err)

View File

@ -54,6 +54,10 @@ func (svc *FriendSvc) QueryFriendByKey(args *model.FriendByKey, ret *model.Frien
if fc == nil {
return FriendColError
}
if ret == nil {
ret = &model.FriendRet{}
ret.Fri = &model.Friend{}
}
err := fc.Find(bson.M{"platform": args.Platform, "snid": args.SnId}).One(&ret.Fri)
if err != nil && !errors.Is(err, mgo.ErrNotFound) {
logger.Logger.Error("QueryFriendByKey is err: ", err)

View File

@ -9,6 +9,7 @@ import (
"reflect"
"strconv"
"strings"
"sync"
"time"
newMongo "go.mongodb.org/mongo-driver/mongo"
@ -68,6 +69,7 @@ func PlayerDelBackupDataCollection(plt string) *mongo.Collection {
}
type PlayerDataSvc struct {
mu sync.Mutex // 互斥锁
}
func (svc *PlayerDataSvc) InsertPlayerData(args *model.InsertPlayerDataParam, ret *model.PlayerDataRet) (err error) {
@ -323,6 +325,8 @@ func SavePlayerData(pd *model.PlayerData) (err error) {
* 保存玩家的全部信息
*/
func (svc *PlayerDataSvc) SavePlayerData(pd *model.PlayerData, ret *bool) (err error) {
svc.mu.Lock()
defer svc.mu.Unlock()
err = SavePlayerData(pd)
*ret = err == nil
return