diff --git a/domain/service/event_s/mic_change.go b/domain/service/event_s/mic_change.go index 25323120860832f9b3e61bd7374a0c8a3d808a35..30b473f00362019cb06ad83a95f1ea78ac791d71 100644 --- a/domain/service/event_s/mic_change.go +++ b/domain/service/event_s/mic_change.go @@ -46,25 +46,44 @@ func MicAllRPush(model *domain.Model, imGroupId string, userId uint64, externalI if err != nil { continue } - tmpMicUser := new(group_m.MicUserData) + var micExternalId string + var micUserData *userProxy.MicUserData if micContent.User != nil { - tmpMicUser = micContent.User + micExternalId = micContent.ExternalId + micUserData = &userProxy.MicUserData{ + Id: micContent.User.Id, + ExternalId: micContent.User.ExternalId, + Avatar: micContent.User.Avatar, + Nick: micContent.User.Nick, + Sex: uint32(micContent.User.Sex), + Code: micContent.User.Code, + IsVip: micContent.User.IsVip, + Noble: uint32(micContent.User.NobleLeave), + HeadwearPicUrl: micContent.User.HeadwearPicUrl, + HeadwearEffectUrl: micContent.User.HeadwearEffectUrl, + HeadwearReverseEffectUrl: micContent.User.HeadwearReverseEffectUrl, + SvipLevel: uint32(micContent.User.SvipLevel), + MicEffect: micContent.User.MicEffect, + HeadwearIcon: micContent.User.HeadwearIcon, + Svip: nil, + } + if micContent.User.Svip.SvipLevel > 0 || len(micContent.User.Svip.Privileges) > 0 { + micUserData.Svip = &userProxy.Svip{ + SvipLevel: uint64(micContent.User.SvipLevel), + } + for _, v := range micContent.User.Svip.Privileges { + micUserData.Svip.Privileges = append(micUserData.Svip.Privileges, &userProxy.SvipPrivilege{ + Type: int32(v.Type), + CanSwitch: v.CanSwitch, + UserSwitch: v.UserSwitch, + MysteryCode: v.MysteryCode, + }) + } + } } seqId := uuid.NewV4().String() - svip := &userProxy.Svip{ - SvipLevel: uint64(tmpMicUser.SvipLevel), - } - for _, v := range tmpMicUser.Svip.Privileges { - svip.Privileges = append(svip.Privileges, &userProxy.SvipPrivilege{ - Type: int32(v.Type), - CanSwitch: v.CanSwitch, - UserSwitch: v.UserSwitch, - MysteryCode: v.MysteryCode, - }) - } - if err := rpc.SendSocketMicChange(seqId, userId, externalId, txGroupId, uint32(micContent.I), micContent.Lock, micContent.Forbid, micContent.MicForbid, micContent.AgoraId, - tmpMicUser.Id, tmpMicUser.ExternalId, tmpMicUser.Avatar, tmpMicUser.Nick, uint32(tmpMicUser.Sex), tmpMicUser.Code, tmpMicUser.IsVip, uint32(tmpMicUser.NobleLeave), - tmpMicUser.HeadwearPicUrl, tmpMicUser.HeadwearEffectUrl, tmpMicUser.HeadwearReverseEffectUrl, uint32(tmpMicUser.SvipLevel), tmpMicUser.MicEffect, tmpMicUser.HeadwearIcon, svip); err != nil { + + if err := rpc.SendSocketMicChange(seqId, userId, micExternalId, txGroupId, uint32(micContent.I), micContent.Lock, micContent.Forbid, micContent.MicForbid, micContent.AgoraId, micUserData); err != nil { model.Log.Errorf("MicAllRPush err:%+v, groupUuid:%v, externalId:%v, micContent:%+v", err, txGroupId, externalId, string(micContentStr)) } else { model.Log.Infof("MicChangeRPush MicAllRPush Marshal micContent, groupUuid:%v, externalId:%v, micContent:%+v", txGroupId, externalId, string(micContentStr))