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

Loading…
Cancel
Save