From 5a89b9991e8a3032fa289958df48aff7b68e2615 Mon Sep 17 00:00:00 2001 From: hujiebin Date: Tue, 21 Feb 2023 16:01:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B8=B8=E6=88=8F=E6=A8=AA=E5=B9=85?= 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 | 31 +++++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+) diff --git a/protocol/userProxy.proto b/protocol/userProxy.proto index 2a5883b..ff525b8 100644 --- a/protocol/userProxy.proto +++ b/protocol/userProxy.proto @@ -349,4 +349,12 @@ message GroupActivity { /* id == 144 邀请用户成为房间会员 */ message RoomInviteMember { string group_id = 1; +} + +/* id == 146 游戏横幅 */ +message GlobalGameBanner { + uint32 gameType = 1; // 0.h5游戏 1.ludo 2.uno 3.dice 4.lucky wheel 5.lucky box 6.fruit + uint64 userId = 2; + string avatar = 3; + uint64 diamond = 4; } \ No newline at end of file diff --git a/rpc/user_center_coder.go b/rpc/user_center_coder.go index c65d95b..2df110b 100644 --- a/rpc/user_center_coder.go +++ b/rpc/user_center_coder.go @@ -60,6 +60,7 @@ const ( MsgTypeMatchV2AddTimeGift = 143 // 匹配-v2-送礼加时长 MsgRoomInviteMember = 144 // 邀请用户成为房间会员 MsgDiamondChange = 145 // 钻石数变化 + MsgTypeGlobalGameBanner = 146 // 游戏横幅 ) const ( diff --git a/rpc/user_center_func.go b/rpc/user_center_func.go index aa8448b..7fc07b8 100644 --- a/rpc/user_center_func.go +++ b/rpc/user_center_func.go @@ -66,6 +66,7 @@ func SendGlobalRocketNotice(groupId string, period string, round uint32, stage u return nil } +// 发送钻石变化通知 func SendDiamondChange(userId uint64) error { rspUids, err := multicast([]uint64{userId}, MsgDiamondChange, []byte("")) //记录socket,注意闭包问题 @@ -81,3 +82,33 @@ func SendDiamondChange(userId uint64) error { } return nil } + +// 发送游戏横幅 +// param winUserId:胜利的用户id +func SendGlobalGameBanner(winUserId uint64, diamond uint64, avatar string, gameType uint32) error { + msg := &userProxy.GlobalGameBanner{ + GameType: gameType, + UserId: winUserId, + Avatar: avatar, + Diamond: diamond, + } + if buffer, err := proto.Marshal(msg); err == nil { + rspUids, err := broadcast(MsgTypeGlobalGameBanner, buffer) + + //记录socket,注意闭包问题 + go func(userId uint64, msg *userProxy.GlobalGameBanner, rspUids []uint64, err error) { + buf, _ := json.Marshal(msg) + AddRpcLog(MsgTypeGlobalGameBanner, userId, string(buf[:]), rspUids, err) + }(winUserId, msg, rspUids, err) + + if err != nil { + mylogrus.MyLog.Errorf("grpc SendGlobalGameBanner send fail") + return err + } else { + mylogrus.MyLog.Info("grpc SendGlobalGameBanner send success") + } + } else { + return err + } + return nil +} -- 2.22.0