fix: user status change.

pull/1171/head
Gordon 2 years ago
parent 60422a9fce
commit 9a29a32b43

@ -246,17 +246,18 @@ func (u *UserCacheRedis) SetUserStatus(ctx context.Context, userID string, statu
return errs.Wrap(err) return errs.Wrap(err)
} }
} }
var onlineStatus user.OnlineStatus
err = json.Unmarshal([]byte(result), &onlineStatus)
if err != nil {
return errs.Wrap(err)
}
if status == constant.Offline { if status == constant.Offline {
if isNil { if isNil {
log.ZWarn(ctx, "this user not online,maybe trigger order not right", log.ZWarn(ctx, "this user not online,maybe trigger order not right",
err, "userStatus", status) err, "userStatus", status)
return nil return nil
} }
var onlineStatus user.OnlineStatus
err = json.Unmarshal([]byte(result), &onlineStatus)
if err != nil {
return errs.Wrap(err)
}
var newPlatformIDs []int32 var newPlatformIDs []int32
for _, val := range onlineStatus.PlatformIDs { for _, val := range onlineStatus.PlatformIDs {
if val != platformID { if val != platformID {
@ -280,6 +281,13 @@ func (u *UserCacheRedis) SetUserStatus(ctx context.Context, userID string, statu
} }
} }
} else { } else {
var onlineStatus user.OnlineStatus
if !isNil {
err = json.Unmarshal([]byte(result), &onlineStatus)
if err != nil {
return errs.Wrap(err)
}
}
onlineStatus.Status = constant.Online onlineStatus.Status = constant.Online
onlineStatus.UserID = userID onlineStatus.UserID = userID
onlineStatus.PlatformIDs = append(onlineStatus.PlatformIDs, platformID) onlineStatus.PlatformIDs = append(onlineStatus.PlatformIDs, platformID)

Loading…
Cancel
Save