Files
open-im-server/internal/rpc/friend/is_friend.go
T

30 lines
1012 B
Go
Raw Normal View History

2021-06-28 15:35:41 +08:00
package friend
import (
"Open_IM/pkg/common/constant"
"Open_IM/pkg/common/db/mysql_model/im_mysql_model"
"Open_IM/pkg/common/log"
2021-11-25 14:12:52 +08:00
"Open_IM/pkg/common/token_verify"
2021-10-11 22:00:38 +08:00
pbFriend "Open_IM/pkg/proto/friend"
2021-06-28 15:35:41 +08:00
"context"
"fmt"
)
func (s *friendServer) IsFriend(ctx context.Context, req *pbFriend.IsFriendReq) (*pbFriend.IsFriendResp, error) {
log.InfoByArgs("rpc is friend is server,args=%s", req.String())
var isFriend int32
2021-11-25 14:12:52 +08:00
claims, err := token_verify.ParseToken(req.Token)
2021-06-28 15:35:41 +08:00
if err != nil {
log.Error(req.Token, req.OperationID, "err=%s,parse token failed", err.Error())
2021-11-25 14:12:52 +08:00
return &pbFriend.IsFriendResp{ErrorCode: constant.ErrParseToken.ErrCode, ErrorMsg: constant.ErrParseToken.ErrMsg}, nil
2021-06-28 15:35:41 +08:00
}
_, err = im_mysql_model.FindFriendRelationshipFromFriend(claims.UID, req.ReceiveUid)
if err == nil {
isFriend = constant.FriendFlag
} else {
isFriend = constant.ApplicationFriendFlag
}
log.InfoByArgs(fmt.Sprintf("rpc is friend success return"))
return &pbFriend.IsFriendResp{ShipType: isFriend}, nil
}