Merge remote-tracking branch 'origin/main'

This commit is contained in:
wenxu12345 2021-05-27 19:38:57 +08:00
commit b1d4d3c850
3 changed files with 11 additions and 7 deletions

View File

@ -5,12 +5,12 @@ import (
"time" "time"
) )
func InsertIntoFriendReq(reqId, userId string, flag int32, reqMessage string) error { func ReplaceIntoFriendReq(reqId, userId string, flag int32, reqMessage string) error {
dbConn, err := db.DB.MysqlDB.DefaultGormDB() dbConn, err := db.DB.MysqlDB.DefaultGormDB()
if err != nil { if err != nil {
return err return err
} }
err = dbConn.Exec("insert into friend_request(req_id,user_id,flag,req_message,create_time) values(?,?,?,?,?)", reqId, userId, flag, reqMessage, time.Now()).Error err = dbConn.Exec("replace into friend_request(req_id,user_id,flag,req_message,create_time) values(?,?,?,?,?)", reqId, userId, flag, reqMessage, time.Now()).Error
if err != nil { if err != nil {
return err return err
} }

View File

@ -11,7 +11,6 @@ import (
"Open_IM/src/push/logic" "Open_IM/src/push/logic"
"Open_IM/src/utils" "Open_IM/src/utils"
"context" "context"
"fmt"
) )
func (s *friendServer) AddFriend(ctx context.Context, req *pbFriend.AddFriendReq) (*pbFriend.CommonResp, error) { func (s *friendServer) AddFriend(ctx context.Context, req *pbFriend.AddFriendReq) (*pbFriend.CommonResp, error) {
@ -22,10 +21,10 @@ func (s *friendServer) AddFriend(ctx context.Context, req *pbFriend.AddFriendReq
log.Error(req.Token, req.OperationID, "err=%s,parse token failed", err.Error()) log.Error(req.Token, req.OperationID, "err=%s,parse token failed", err.Error())
return &pbFriend.CommonResp{ErrorCode: config.ErrParseToken.ErrCode, ErrorMsg: config.ErrParseToken.ErrMsg}, nil return &pbFriend.CommonResp{ErrorCode: config.ErrParseToken.ErrCode, ErrorMsg: config.ErrParseToken.ErrMsg}, nil
} }
//Establish a relationship in the friend request table //Establish a latest relationship in the friend request table
err = im_mysql_model.InsertIntoFriendReq(claims.UID, req.Uid, constant.NotFriendFlag, req.ReqMessage) err = im_mysql_model.ReplaceIntoFriendReq(claims.UID, req.Uid, constant.NotFriendFlag, req.ReqMessage)
if err != nil { if err != nil {
log.Error(req.Token, req.OperationID, fmt.Sprintf("err=%s,create friend request ship failed", err.Error())) log.Error(req.Token, req.OperationID, "err=%s,create friend request ship failed", err.Error())
return &pbFriend.CommonResp{ErrorCode: config.ErrAddFriend.ErrCode, ErrorMsg: config.ErrAddFriend.ErrMsg}, nil return &pbFriend.CommonResp{ErrorCode: config.ErrAddFriend.ErrCode, ErrorMsg: config.ErrAddFriend.ErrMsg}, nil
} }
log.Info(req.Token, req.OperationID, "rpc add friend is success return,uid=%s", req.Uid) log.Info(req.Token, req.OperationID, "rpc add friend is success return,uid=%s", req.Uid)

View File

@ -28,7 +28,12 @@ func (s *friendServer) AddedFriend(ctx context.Context, req *pbFriend.AddedFrien
} }
log.Info(req.Token, req.OperationID, "rpc add friend response success return,userid=%s,flag=%d", req.Uid, req.Flag) log.Info(req.Token, req.OperationID, "rpc add friend response success return,userid=%s,flag=%d", req.Uid, req.Flag)
//Change the status of the friend request form //Change the status of the friend request form
if req.Flag == 1 { if req.Flag == constant.FriendFlag {
//Establish friendship after find friend relationship not exists
_, err := im_mysql_model.FindFriendRelationshipFromFriend(claims.UID, req.Uid)
if err == nil {
return &pbFriend.CommonResp{ErrorCode: 0, ErrorMsg: "You are already friends"}, nil
}
//Establish two single friendship //Establish two single friendship
err = im_mysql_model.InsertToFriend(claims.UID, req.Uid, req.Flag) err = im_mysql_model.InsertToFriend(claims.UID, req.Uid, req.Flag)
if err != nil { if err != nil {