Error code standardization

This commit is contained in:
skiffer-git
2023-02-07 20:28:34 +08:00
parent d59c4367fb
commit 0a2e55311c
20 changed files with 802 additions and 1422 deletions
+2 -3
View File
@@ -11,8 +11,8 @@ import (
"context"
)
func (s *friendServer) GetBlacks(ctx context.Context, req *pbFriend.GetBlacksReq) (*pbFriend.GetBlacksResp, error) {
resp := &pbFriend.GetBlacksResp{}
func (s *friendServer) GetPaginationBlacks(ctx context.Context, req *pbFriend.GetPaginationBlacksReq) (resp *pbFriend.GetPaginationBlacksResp, err error) {
resp = &pbFriend.GetPaginationBlacksResp{}
if err := check.Access(ctx, req.UserID); err != nil {
return nil, err
}
@@ -24,7 +24,6 @@ func (s *friendServer) GetBlacks(ctx context.Context, req *pbFriend.GetBlacksReq
if err != nil {
return nil, err
}
resp.Total = int32(total)
return resp, nil
}
+61 -59
View File
@@ -14,7 +14,6 @@ import (
"Open_IM/pkg/common/token_verify"
"Open_IM/pkg/common/tracelog"
pbFriend "Open_IM/pkg/proto/friend"
sdkws "Open_IM/pkg/proto/sdk_ws"
pbUser "Open_IM/pkg/proto/user"
"Open_IM/pkg/utils"
"context"
@@ -128,22 +127,22 @@ func (s *friendServer) Run() {
}
}
func (s *friendServer) AddFriend(ctx context.Context, req *pbFriend.AddFriendReq) (*pbFriend.AddFriendResp, error) {
resp := &pbFriend.AddFriendResp{}
// ok
func (s *friendServer) ApplyToAddFriend(ctx context.Context, req *pbFriend.ApplyToAddFriendReq) (resp *pbFriend.ApplyToAddFriendResp, err error) {
resp = &pbFriend.ApplyToAddFriendResp{}
if err := token_verify.CheckAccessV3(ctx, req.FromUserID); err != nil {
return nil, err
}
if err := callbackBeforeAddFriendV1(ctx, req); err != nil {
return nil, err
}
//检查toUserID fromUserID是否存在
if req.ToUserID == req.FromUserID {
return nil, constant.ErrCanNotAddYourself.Wrap()
}
if _, err := check.GetUsersInfo(ctx, req.ToUserID, req.FromUserID); err != nil {
return nil, err
}
//from是否在to的好友列表里面
err, in1, in2 := s.FriendInterface.CheckIn(ctx, req.FromUserID, req.ToUserID)
in1, in2, err := s.FriendInterface.CheckIn(ctx, req.FromUserID, req.ToUserID)
if err != nil {
return nil, err
}
@@ -153,34 +152,36 @@ func (s *friendServer) AddFriend(ctx context.Context, req *pbFriend.AddFriendReq
if err = s.FriendInterface.AddFriendRequest(ctx, req.FromUserID, req.ToUserID, req.ReqMsg, req.Ex); err != nil {
return nil, err
}
chat.FriendApplicationNotification(ctx, req)
chat.FriendApplicationAddNotification(ctx, req)
return resp, nil
}
func (s *friendServer) ImportFriends(ctx context.Context, req *pbFriend.ImportFriendReq) (*pbFriend.ImportFriendResp, error) {
resp := &pbFriend.ImportFriendResp{}
// ok
func (s *friendServer) ImportFriends(ctx context.Context, req *pbFriend.ImportFriendReq) (resp *pbFriend.ImportFriendResp, err error) {
resp = &pbFriend.ImportFriendResp{}
if err := token_verify.CheckAdmin(ctx); err != nil {
return nil, err
}
if _, err := check.GetUsersInfo(ctx, req.OwnerUserID); err != nil {
if _, err := check.GetUsersInfo(ctx, req.OwnerUserID, req.FriendUserIDs); err != nil {
return nil, err
}
var friends []*relation2.FriendModel
for _, userID := range utils.RemoveDuplicateElement(req.FriendUserIDs) {
friends = append(friends, &relation2.FriendModel{OwnerUserID: userID, FriendUserID: req.OwnerUserID, AddSource: constant.BecomeFriendByImport, OperatorUserID: tracelog.GetOpUserID(ctx)})
if utils.Contain(req.FriendUserIDs, req.OwnerUserID) {
return nil, constant.ErrCanNotAddYourself.Wrap()
}
if len(friends) > 0 {
if err := s.FriendInterface.BecomeFriend(ctx, friends); err != nil {
return nil, err
}
if utils.Duplicate(req.FriendUserIDs) {
return nil, constant.ErrArgs.Wrap("friend userID repeated")
}
if err := s.FriendInterface.BecomeFriends(ctx, req.OwnerUserID, req.FriendUserIDs, constant.BecomeFriendByImport, tracelog.GetOpUserID(ctx)); err != nil {
return nil, err
}
return resp, nil
}
// process Friend application
func (s *friendServer) RespondFriendApply(ctx context.Context, req *pbFriend.RespondFriendApplyReq) (*pbFriend.RespondFriendApplyResp, error) {
resp := &pbFriend.RespondFriendApplyResp{}
// ok
func (s *friendServer) RespondFriendApply(ctx context.Context, req *pbFriend.RespondFriendApplyReq) (resp *pbFriend.RespondFriendApplyResp, err error) {
resp = &pbFriend.RespondFriendApplyResp{}
if err := check.Access(ctx, req.ToUserID); err != nil {
return nil, err
}
@@ -190,7 +191,7 @@ func (s *friendServer) RespondFriendApply(ctx context.Context, req *pbFriend.Res
if err != nil {
return nil, err
}
chat.FriendApplicationApprovedNotification(ctx, req)
chat.FriendApplicationAgreedNotification(ctx, req)
return resp, nil
}
if req.HandleResult == constant.FriendResponseRefuse {
@@ -198,29 +199,39 @@ func (s *friendServer) RespondFriendApply(ctx context.Context, req *pbFriend.Res
if err != nil {
return nil, err
}
chat.FriendApplicationRejectedNotification(ctx, req)
chat.FriendApplicationRefusedNotification(ctx, req)
return resp, nil
}
return nil, constant.ErrArgs.Wrap("req.HandleResult != -1/1")
}
func (s *friendServer) DeleteFriend(ctx context.Context, req *pbFriend.DeleteFriendReq) (*pbFriend.DeleteFriendResp, error) {
resp := &pbFriend.DeleteFriendResp{}
// ok
func (s *friendServer) DeleteFriend(ctx context.Context, req *pbFriend.DeleteFriendReq) (resp *pbFriend.DeleteFriendResp, err error) {
resp = &pbFriend.DeleteFriendResp{}
if err := check.Access(ctx, req.OwnerUserID); err != nil {
return nil, err
}
if err := s.FriendInterface.Delete(ctx, req.OwnerUserID, req.FriendUserID); err != nil {
_, err = s.FindFriends(ctx, req.OwnerUserID, []string{req.FriendUserID})
if err != nil {
return nil, err
}
if err := s.FriendInterface.Delete(ctx, req.OwnerUserID, []string{req.FriendUserID}); err != nil {
return nil, err
}
chat.FriendDeletedNotification(ctx, req)
return resp, nil
}
func (s *friendServer) SetFriendRemark(ctx context.Context, req *pbFriend.SetFriendRemarkReq) (*pbFriend.SetFriendRemarkResp, error) {
resp := &pbFriend.SetFriendRemarkResp{}
// ok
func (s *friendServer) SetFriendRemark(ctx context.Context, req *pbFriend.SetFriendRemarkReq) (resp *pbFriend.SetFriendRemarkResp, err error) {
resp = &pbFriend.SetFriendRemarkResp{}
if err := check.Access(ctx, req.OwnerUserID); err != nil {
return nil, err
}
_, err = s.FindFriends(ctx, req.OwnerUserID, []string{req.FriendUserID})
if err != nil {
return nil, err
}
if err := s.FriendInterface.UpdateRemark(ctx, req.OwnerUserID, req.FriendUserID, req.Remark); err != nil {
return nil, err
}
@@ -228,8 +239,9 @@ func (s *friendServer) SetFriendRemark(ctx context.Context, req *pbFriend.SetFri
return resp, nil
}
func (s *friendServer) GetFriends(ctx context.Context, req *pbFriend.GetFriendsReq) (*pbFriend.GetFriendsResp, error) {
resp := &pbFriend.GetFriendsResp{}
// ok
func (s *friendServer) GetDesignatedFriendsReq(ctx context.Context, req *pbFriend.GetDesignatedFriendsReq) (resp *pbFriend.GetDesignatedFriendsResp, err error) {
resp = &pbFriend.GetDesignatedFriendsResp{}
if err := check.Access(ctx, req.UserID); err != nil {
return nil, err
}
@@ -237,18 +249,6 @@ func (s *friendServer) GetFriends(ctx context.Context, req *pbFriend.GetFriendsR
if err != nil {
return nil, err
}
userIDList := make([]string, 0, len(friends))
for _, f := range friends {
userIDList = append(userIDList, f.FriendUserID)
}
users, err := check.GetUsersInfo(ctx, userIDList)
if err != nil {
return nil, err
}
userMap := make(map[string]*sdkws.UserInfo)
for i, user := range users {
userMap[user.UserID] = users[i]
}
resp.FriendsInfo, err = (*convert.DBFriend)(nil).DB2PB(friends)
if err != nil {
return nil, err
@@ -257,9 +257,9 @@ func (s *friendServer) GetFriends(ctx context.Context, req *pbFriend.GetFriendsR
return resp, nil
}
// 获取接收到的好友申请(即别人主动申请的)
func (s *friendServer) GetToFriendsApply(ctx context.Context, req *pbFriend.GetToFriendsApplyReq) (*pbFriend.GetToFriendsApplyResp, error) {
resp := &pbFriend.GetToFriendsApplyResp{}
// ok 获取接收到的好友申请(即别人主动申请的)
func (s *friendServer) GetPaginationFriendsApplyTo(ctx context.Context, req *pbFriend.GetPaginationFriendsApplyToReq) (resp *pbFriend.GetPaginationFriendsApplyToResp, err error) {
resp = &pbFriend.GetPaginationFriendsApplyToResp{}
if err := check.Access(ctx, req.UserID); err != nil {
return nil, err
}
@@ -275,9 +275,9 @@ func (s *friendServer) GetToFriendsApply(ctx context.Context, req *pbFriend.GetT
return resp, nil
}
// 获取主动发出去的好友申请列表
func (s *friendServer) GetFromFriendsApply(ctx context.Context, req *pbFriend.GetFromFriendsApplyReq) (*pbFriend.GetFromFriendsApplyResp, error) {
resp := &pbFriend.GetFromFriendsApplyResp{}
// ok 获取主动发出去的好友申请列表
func (s *friendServer) GetPaginationFriendsApplyFrom(ctx context.Context, req *pbFriend.GetPaginationFriendsApplyFromReq) (resp *pbFriend.GetPaginationFriendsApplyFromResp, err error) {
resp = &pbFriend.GetPaginationFriendsApplyFromResp{}
if err := check.Access(ctx, req.UserID); err != nil {
return nil, err
}
@@ -293,26 +293,28 @@ func (s *friendServer) GetFromFriendsApply(ctx context.Context, req *pbFriend.Ge
return resp, nil
}
func (s *friendServer) IsFriend(ctx context.Context, req *pbFriend.IsFriendReq) (*pbFriend.IsFriendResp, error) {
resp := &pbFriend.IsFriendResp{}
err, in1, in2 := s.FriendInterface.CheckIn(ctx, req.UserID1, req.UserID2)
// ok
func (s *friendServer) IsFriend(ctx context.Context, req *pbFriend.IsFriendReq) (resp *pbFriend.IsFriendResp, err error) {
resp = &pbFriend.IsFriendResp{}
resp.InUser1Friends, resp.InUser2Friends, err = s.FriendInterface.CheckIn(ctx, req.UserID1, req.UserID2)
if err != nil {
return nil, err
}
resp.InUser1Friends = in1
resp.InUser2Friends = in2
return resp, nil
}
func (s *friendServer) GetFriendsInfo(ctx context.Context, req *pbFriend.GetFriendsInfoReq) (*pbFriend.GetFriendsInfoResp, error) {
resp := pbFriend.GetFriendsInfoResp{}
// ok
func (s *friendServer) GetPaginationFriends(ctx context.Context, req *pbFriend.GetPaginationFriendsReq) (resp *pbFriend.GetPaginationFriendsResp, err error) {
resp = &pbFriend.GetPaginationFriendsResp{}
if utils.Duplicate(req.FriendUserIDs) {
return nil, constant.ErrArgs.Wrap("friend userID repeated")
}
friends, err := s.FriendInterface.FindFriends(ctx, req.OwnerUserID, req.FriendUserIDs)
if err != nil {
return nil, err
}
resp.FriendsInfo, err = (*convert.DBFriend)(nil).DB2PB(friends)
if err != nil {
if resp.FriendsInfo, err = (*convert.DBFriend)(nil).DB2PB(friends); err != nil {
return nil, err
}
return &resp, nil
return resp, nil
}
+3 -3
View File
@@ -91,14 +91,14 @@ func friendNotification(operationID, fromUserID, toUserID string, contentType in
Notification(&n)
}
func FriendApplicationNotification(ctx context.Context, req *pbFriend.AddFriendReq) {
func FriendApplicationAddNotification(ctx context.Context, req *pbFriend.AddFriendReq) {
FriendApplicationTips := open_im_sdk.FriendApplicationTips{FromToUserID: &open_im_sdk.FromToUserID{}}
FriendApplicationTips.FromToUserID.FromUserID = req.FromUserID
FriendApplicationTips.FromToUserID.ToUserID = req.ToUserID
friendNotification(tracelog.GetOperationID(ctx), req.FromUserID, req.ToUserID, constant.FriendApplicationNotification, &FriendApplicationTips)
}
func FriendApplicationApprovedNotification(ctx context.Context, req *pbFriend.RespondFriendApplyReq) {
func FriendApplicationAgreedNotification(ctx context.Context, req *pbFriend.RespondFriendApplyReq) {
FriendApplicationApprovedTips := open_im_sdk.FriendApplicationApprovedTips{FromToUserID: &open_im_sdk.FromToUserID{}}
FriendApplicationApprovedTips.FromToUserID.FromUserID = req.FromUserID
FriendApplicationApprovedTips.FromToUserID.ToUserID = req.ToUserID
@@ -106,7 +106,7 @@ func FriendApplicationApprovedNotification(ctx context.Context, req *pbFriend.Re
friendNotification(tracelog.GetOperationID(ctx), req.ToUserID, req.FromUserID, constant.FriendApplicationApprovedNotification, &FriendApplicationApprovedTips)
}
func FriendApplicationRejectedNotification(ctx context.Context, req *pbFriend.RespondFriendApplyReq) {
func FriendApplicationRefusedNotification(ctx context.Context, req *pbFriend.RespondFriendApplyReq) {
FriendApplicationApprovedTips := open_im_sdk.FriendApplicationApprovedTips{FromToUserID: &open_im_sdk.FromToUserID{}}
FriendApplicationApprovedTips.FromToUserID.FromUserID = req.FromUserID
FriendApplicationApprovedTips.FromToUserID.ToUserID = req.ToUserID
+31 -23
View File
@@ -15,6 +15,7 @@ import (
"Open_IM/pkg/getcdv3"
pbFriend "Open_IM/pkg/proto/friend"
pbGroup "Open_IM/pkg/proto/group"
server_api_params "Open_IM/pkg/proto/sdk_ws"
pbUser "Open_IM/pkg/proto/user"
"Open_IM/pkg/utils"
"context"
@@ -167,6 +168,7 @@ func (s *userServer) SyncJoinedGroupMemberNickname(ctx context.Context, userID s
}
}
// ok
func (s *userServer) GetUsersInfo(ctx context.Context, req *pbUser.GetUsersInfoReq) (*pbUser.GetUsersInfoResp, error) {
resp := &pbUser.GetUsersInfoResp{}
users, err := s.Find(ctx, req.UserIDs)
@@ -228,21 +230,24 @@ func (s *userServer) UpdateUserInfo(ctx context.Context, req *pbUser.UpdateUserI
return &resp, nil
}
func (s *userServer) SetGlobalRecvMessageOpt(ctx context.Context, req *pbUser.SetGlobalRecvMessageOptReq) (*pbUser.SetGlobalRecvMessageOptResp, error) {
resp := pbUser.SetGlobalRecvMessageOptResp{}
func (s *userServer) SetGlobalRecvMessageOpt(ctx context.Context, req *pbUser.SetGlobalRecvMessageOptReq) (resp *pbUser.SetGlobalRecvMessageOptResp, err error) {
resp = &pbUser.SetGlobalRecvMessageOptResp{}
if _, err := s.Find(ctx, []string{req.UserID}); err != nil {
return nil, err
}
m := make(map[string]interface{}, 1)
m["global_recv_msg_opt"] = req.GlobalRecvMsgOpt
err := s.UpdateByMap(ctx, req.UserID, m)
if err != nil {
if err := s.UpdateByMap(ctx, req.UserID, m); err != nil {
return nil, err
}
chat.UserInfoUpdatedNotification(ctx, req.UserID, req.UserID)
return &resp, nil
return resp, nil
}
func (s *userServer) AccountCheck(ctx context.Context, req *pbUser.AccountCheckReq) (*pbUser.AccountCheckResp, error) {
resp := pbUser.AccountCheckResp{}
err := token_verify.CheckAdmin(ctx)
func (s *userServer) AccountCheck(ctx context.Context, req *pbUser.AccountCheckReq) (resp *pbUser.AccountCheckResp, err error) {
resp = &pbUser.AccountCheckResp{}
err = token_verify.CheckAdmin(ctx)
if err != nil {
return nil, err
}
@@ -250,24 +255,23 @@ func (s *userServer) AccountCheck(ctx context.Context, req *pbUser.AccountCheckR
if err != nil {
return nil, err
}
uidList := make([]string, 0)
userIDs := make(map[string]interface{}, 0)
for _, v := range user {
uidList = append(uidList, v.UserID)
userIDs[v.UserID] = nil
}
var r []*pbUser.AccountCheckRespSingleUserStatus
for _, v := range req.CheckUserIDs {
temp := new(pbUser.AccountCheckRespSingleUserStatus)
temp.UserID = v
if utils.IsContain(v, uidList) {
temp := &pbUser.AccountCheckRespSingleUserStatus{UserID: v}
if _, ok := userIDs[v]; ok {
temp.AccountStatus = constant.Registered
} else {
temp.AccountStatus = constant.UnRegistered
}
r = append(r, temp)
resp.Results = append(resp.Results, temp)
}
return &resp, nil
return resp, nil
}
// todo
func (s *userServer) GetUsers(ctx context.Context, req *pbUser.GetUsersReq) (*pbUser.GetUsersResp, error) {
resp := pbUser.GetUsersResp{}
var err error
@@ -286,7 +290,7 @@ func (s *userServer) GetUsers(ctx context.Context, req *pbUser.GetUsersReq) (*pb
}
if req.UserName != "" {
usersDB, total, err := s.GetByName(ctx, req.UserName, req.Pagination.ShowNumber, req.Pagination.PageNumber)
usersDB, total, err := s.GetByName(ctx, req.UserName, req.Pagination.PageNumber, req.Pagination.ShowNumber)
if err != nil {
return nil, err
}
@@ -300,7 +304,7 @@ func (s *userServer) GetUsers(ctx context.Context, req *pbUser.GetUsersReq) (*pb
}
return &resp, nil
} else if req.Content != "" {
usersDB, total, err := s.GetByNameAndID(ctx, req.UserName, req.Pagination.ShowNumber, req.Pagination.PageNumber)
usersDB, total, err := s.GetByNameAndID(ctx, req.UserName, req.Pagination.PageNumber, req.Pagination.ShowNumber)
if err != nil {
return nil, err
}
@@ -315,7 +319,7 @@ func (s *userServer) GetUsers(ctx context.Context, req *pbUser.GetUsersReq) (*pb
return &resp, nil
}
usersDB, total, err := s.Get(ctx, req.Pagination.ShowNumber, req.Pagination.PageNumber)
usersDB, total, err := s.Get(ctx, req.Pagination.PageNumber, req.Pagination.ShowNumber)
if err != nil {
return nil, err
}
@@ -332,18 +336,22 @@ func (s *userServer) GetUsers(ctx context.Context, req *pbUser.GetUsersReq) (*pb
return &resp, nil
}
func (s *userServer) UserRegister(ctx context.Context, req *pbUser.UserRegisterReq) (*pbUser.UserRegisterResp, error) {
resp := pbUser.UserRegisterResp{}
func (s *userServer) UserRegister(ctx context.Context, req *pbUser.UserRegisterReq) (resp *pbUser.UserRegisterResp, err error) {
resp = &pbUser.UserRegisterResp{}
if utils.DuplicateAny(req.Users, func(e *server_api_params.UserInfo) string { return e.UserID }) {
return nil, constant.ErrArgs.Wrap("userID repeated")
}
userIDs := make([]string, 0)
for _, v := range req.Users {
userIDs = append(userIDs, v.UserID)
}
exist, err := s.IsExist(ctx, userIDs)
if err != nil {
return nil, err
}
if exist {
return nil, constant.ErrRegisteredAlready.Wrap("exist")
return nil, constant.ErrRegisteredAlready.Wrap("userID exist in db")
}
users, err := (*convert.PBUser)(nil).PB2DB(req.Users)
if err != nil {
@@ -353,5 +361,5 @@ func (s *userServer) UserRegister(ctx context.Context, req *pbUser.UserRegisterR
if err != nil {
return nil, err
}
return &resp, nil
return resp, nil
}