diff --git a/internal/push/offlinepush/getui/push.go b/internal/push/offlinepush/getui/push.go index 5ebcaa3b6..1fced52fe 100644 --- a/internal/push/offlinepush/getui/push.go +++ b/internal/push/offlinepush/getui/push.go @@ -9,6 +9,7 @@ import ( http2 "github.com/OpenIMSDK/Open-IM-Server/pkg/common/http" "github.com/OpenIMSDK/Open-IM-Server/pkg/common/log" "github.com/OpenIMSDK/Open-IM-Server/pkg/common/mcontext" + "github.com/OpenIMSDK/Open-IM-Server/pkg/errs" "github.com/OpenIMSDK/Open-IM-Server/pkg/utils/splitter" "github.com/go-redis/redis/v8" @@ -23,8 +24,8 @@ import ( ) var ( - TokenExpireError = errors.New("token expire") - UserIDEmptyError = errors.New("userIDs is empty") + ErrTokenExpire = errors.New("token expire") + ErrUserIDEmpty = errors.New("userIDs is empty") ) const ( @@ -52,7 +53,7 @@ func NewClient(cache cache.MsgModel) *Client { func (g *Client) Push(ctx context.Context, userIDs []string, title, content string, opts *offlinepush.Opts) error { token, err := g.cache.GetGetuiToken(ctx) if err != nil { - if err == redis.Nil { + if errs.Unwrap(err) == redis.Nil { log.ZInfo(ctx, "getui token not exist in redis") token, err = g.getTokenAndSave2Redis(ctx) if err != nil { @@ -86,10 +87,10 @@ func (g *Client) Push(ctx context.Context, userIDs []string, title, content stri } else if len(userIDs) == 1 { err = g.singlePush(ctx, token, userIDs[0], pushReq) } else { - return UserIDEmptyError + return ErrUserIDEmpty } switch err { - case TokenExpireError: + case ErrTokenExpire: token, err = g.getTokenAndSave2Redis(ctx) } return err