From 0c164080b830e556cc7fde1723d3eacc661e635b Mon Sep 17 00:00:00 2001 From: chenweijian <820961417@qq.com> Date: Mon, 29 May 2023 14:51:10 +0800 Subject: [PATCH] =?UTF-8?q?cp=E9=82=80=E8=AF=B7socket?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- protocol/userProxy.proto | 8 ++++++++ rpc/user_center_coder.go | 1 + rpc/user_center_func.go | 25 +++++++++++++++++++++++++ 3 files changed, 34 insertions(+) diff --git a/protocol/userProxy.proto b/protocol/userProxy.proto index 6b765a9..a22fcc6 100644 --- a/protocol/userProxy.proto +++ b/protocol/userProxy.proto @@ -383,4 +383,12 @@ message SheepGamePlayer { message SheepGameResult { uint64 match_id = 1; repeated SheepGamePlayer players = 2; +} + +/* id == 149 cp邀请 */ +message CpInvite { + string user_code = 1; + string name = 2; + string avatar = 3; + string msg = 4; } \ No newline at end of file diff --git a/rpc/user_center_coder.go b/rpc/user_center_coder.go index 78c70a4..daf859d 100644 --- a/rpc/user_center_coder.go +++ b/rpc/user_center_coder.go @@ -63,6 +63,7 @@ const ( MsgTypeGlobalGameBanner = 146 // 游戏横幅 MsgTypeSheepGameMatchSuccess = 147 // 羊羊匹配成功 MsgTypeSheepGameResult = 148 // 羊羊游戏结果 + MsgTypeCpInvite = 149 // cp邀请 ) const ( diff --git a/rpc/user_center_func.go b/rpc/user_center_func.go index c34df4d..a5db00a 100644 --- a/rpc/user_center_func.go +++ b/rpc/user_center_func.go @@ -299,3 +299,28 @@ func SendSheepGameResult(matchId, winId, userId1, userId2 uint64, nick1, nick2, } return nil } + +// cp邀请 +func SendCpInviteNotice(userId uint64, code, name, avatar, content string) error { + msg := &userProxy.CpInvite{UserCode: code, Name: name, Avatar: avatar, Msg: content} + if buffer, err := proto.Marshal(msg); err == nil { + userIds := []uint64{userId} + rspUids, err := multicast(userIds, MsgTypeCpInvite, buffer) + + //记录socket,注意闭包问题 + go func(userIds []uint64, msg *userProxy.CpInvite, rspUids []uint64, err error) { + buf, _ := json.Marshal(msg) + AddRpcLogs(MsgTypeCpInvite, userIds, string(buf[:]), rspUids, err) + }(userIds, msg, rspUids, err) + + if err != nil { + mylogrus.MyLog.Errorf("grpc SendCpInviteNotice send fail") + return err + } else { + mylogrus.MyLog.Info("grpc SendCpInviteNotice send success") + } + } else { + return err + } + return nil +} -- 2.22.0