diff --git a/protocol/userProxy.proto b/protocol/userProxy.proto index 2a5883be58bc10304f361ad1eea3cebe1b2adf00..ff525b88fd6961a99b7581ed08107291345138d7 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 c65d95b3a11870fe8332690c4549417399930bed..2df110b906d4ae0a1e1b1d9ea9ad4125e9a12f34 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 aa8448b10f6269bdf3697ebf16520b4e22693816..7fc07b89229c87cfe2d423513c7fd5a8c7072751 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 +}