Files
servicebase/pkg/dto/yunxin/ImChatroomBizData.go
2025-11-19 14:24:13 +08:00

385 lines
13 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package yunxin
import (
"encoding/json"
"gitea.ddegame.cn/open/servicebase/pkg/dto"
"gitea.ddegame.cn/open/servicebase/pkg/htools"
)
// 聊天室有随机结果表情消息data数据结构
type ChatRoomEmojiMsgBizData struct {
ChatroomId string
UserId string
NickName string
Avatar string
Gender string
Birthday string
SuperManager string
IsHost string
EmojiId string
EmojiUrl string
EmojiType string
ResultArray []string
IsAdmin bool
GameType string // 游戏类型
VipConfig dto.UserVipConfigDTO //VIP相关信息
}
// 聊天室打赏消息data数据结构 303 309 411
type ChatroomPresentGiftMsgBizData struct {
PresentId string
ChatroomId string
UserId string
NickName string
Avatar string
Gender string
Birthday string
VipLevel string
VipIcon string
VipName string
ToUserId string
ToUserNickName string
GiftId string
GiftName string
GiftCount string // 礼物数量
GiftStaticUrl string
AnimationGifUrl string
AnimationApngUrl string
AnimationPcUrl string //pc特效
AnimationFormat string
ComboHitCount string // 连击次数
ChatroomTotalIncome string // 聊天室总的收益
TotalDiamond string // 本次打赏钻石数
Charm string // 本次打赏产生的魅力 交友使用
ToPrevRoomWeeklyRevenue string // 距离上一个房主周收入差异
NameColor string // 打赏人昵称颜色
ToUserTotalCharm string // 被打赏人头上总的魅力值
FillMode string // 填充模式 1=左右拉满 2=上下拉满
}
// 上麦排队对象
type ChatroomWaitUpData struct {
UserId string // 排队的用户ID
SeatType string // 要上座位类型
SeatName string // 要上的座位描述
ApplyTime string // 申请时间
}
type RoomSeatList []RoomSeatModel
// 获取此 slice 的长度
func (p RoomSeatList) Len() int {
return len(p)
}
// 根据麦序排序 (此处按照自己的业务逻辑写)
func (p RoomSeatList) Less(i, j int) bool {
return htools.StringToInt(p[i].SeatIndex) < htools.StringToInt(p[j].SeatIndex)
}
// 交换数据
func (p RoomSeatList) Swap(i, j int) {
p[i], p[j] = p[j], p[i]
}
// 房间座位对象
type RoomSeatModel struct {
SeatIndex string // 座位编号
UserId string // 座位上用户ID
NickName string // 用户昵称
Avatar string // 用户头像
Gender string
UserNo string
IsMute string // 是否静音
IsOpen string // 是否打开座位
IsTop string `json:"IsTop,omitempty"` // 是否魅力值最高
Charm string `json:"Charm,omitempty"` // 魅力值
SelectedIndex string `json:"SelectedIndex,omitempty"` // 选择的麦序
SelectedUserId string `json:"SelectedUserId,omitempty"` // 选择的用户ID
Published string `json:"Published,omitempty"` // 该位置是否已公布
UpSeatTime string `json:"UpSeatTime,omitempty"` // 上麦时间
CountDown string `json:"CountDown,omitempty"` // 座位倒计时时间默认为0
AvatarDecoration string `json:"AvatarDecoration,omitempty"` // 用户头饰 上麦时带上自己的头饰
DecorationFormat string `json:"DecorationFormat,omitempty"` // 头饰类型
SkewerIconUrl string `json:"SkewerIconUrl,omitempty"`
CountDownStartTime string `json:"CountDownStartTime,omitempty"` // 倒计时开始时间
CountDownSeconds string `json:"CountDownSeconds,omitempty"` // 倒计时时长
TopOneHatIcon string `json:"TopOneHatIcon,omitempty"` // top1的帽子链接
NobilitySeatNameColor []string `json:"NobilitySeatNameColor,omitempty"` // 贵族昵称颜色
}
func (d RoomSeatModel) ToJson() string {
bytes, _ := json.Marshal(d)
return string(bytes)
}
func (d *RoomSeatModel) FromJson(src []byte) RoomSeatModel {
_ = json.Unmarshal(src, d)
return *d
}
// 关闭聊天室消息 302
type ChatroomCloseBizData struct {
ChatroomId string
MasterUserId string // 房主ID
MasterNickName string // 昵称
CloseBy string // 被关闭的来源
}
// 用户被踢出房间的消息体 407
type ChatroomKickedUserBizData struct {
ChatroomId string
KickedUserId string // 被踢用户ID
KickedNickName string // 被踢用户昵称
KickedUserAvatar string // 被踢用户头像
KickedUserGender string // 被踢用户性别
KickedUserBirthday string // 被踢用户生日
KickedUserVipLevel string // 被踢用户VIP
MsgContent string // 消息
OperationUserId string // 操作人
KickedUserIsAdmin string // 被踢用户是否是管理员
}
// 系统消息 412
type ChatroomSystemMsgBizData struct {
ChatroomId string
UserId string // 用户ID
MsgContent string // 消息内容
MsgColor string // 消息字体颜色
}
// 聊天室全服消息 405
type FullServiceMsgBizData struct {
ChatroomId string // 聊天室ID
ChatroomName string // 聊天室名称
UserId string // 发送人
Avatar string // 发送人头像
NickName string // 发送人头像
GiftId string // 礼物ID
GiftCount string // 数量
ComboHitCount string // 连击数量
Diamond string // 当次打赏金额
ComboHitTotalDiamond string // 连击累计打赏金额
ToUserNickName string // 被打赏人昵称
ToAvatar string // 被打赏人头像
ToGender string // 被打赏人性别
Type string // 业务类型 chatroom
GiftName string // 礼物名称
GiftStaticUrl string // 礼物图片
}
// 聊天室礼物飞行消息 433
type RoomGiftFlyMsgBizData struct {
ChatroomId string // 聊天室ID
FromUserId string // 发送人
ToUserIdList []string // 被打赏人
GiftCount string // 数量
GiftStaticUrl string // 礼物图片
}
// 聊天室榜一变化的消息 403
type ChatroomChangeTopOneBizData struct {
ChatroomId string
UserId string // 用户ID
}
// 聊天室榜设置和取消管理员的消息 501
type ChatroomSetAdminBizData struct {
ChatroomId string
UserId string // 管理原ID
Type string // 1=设置 0=取消
}
// 聊天室购买守护位成功 317
type ChatroomBuyGuardSuccessBizData struct {
ChatroomId string
UserId string // 购买人
NickName string // 购买人昵称
HostUserId string // 主持人ID
HostNickName string // 主持人昵称
VipLevel string //VIP等级
VipIcon string //VIP icon
TotalIncome string // 房间总人气
SeatType string // 座位类型
SeatName string // 座位名称
NameColor string // 昵称颜色
}
// 有守护位的人进入电台模板房间 318
type ChatroomGuardUserEnterBizData struct {
ChatroomId string
UserId string // 购买人
GuardSeatValue string // 守护权限
SeatType string // 守护权限
Type string // 1=进入 2=离开
Icon string // 1=进入 2=离开
IconWidth int // 1=进入 2=离开
IconHeight int // 1=进入 2=离开
}
// 热度更新消息 338
type ChatroomHotUpdatedBizData struct {
ChatroomId string
Hot string // 热度
}
// 用户装饰了头饰 321 == 暂不用发,设置头饰,如果在座位更新座位头饰,等下次同步
type UserSetDecorationBizData struct {
ChatroomId string
UserId string // 用户ID
AvatarDecoration string // 头饰url
ActionType string // 0= 取消 1=设置
}
// 有礼物更新发聊天室通知 630
type ChatroomUpdateGiftBizData struct {
ChatroomId string
}
// 锁状态更新发聊天室通知 631
type ChatroomLockStatusUpdateBizData struct {
ChatroomId string
LockStatus string // 1=上锁 0=解锁
}
// 聊天室摇签消息 632
type ChatroomRockSkewerBizData struct {
DataType string // 1= 摇签 2=解签 3= 弃签
ChatroomId string
UserId string
NickName string
Avatar string
Gender string
Birthday string
VipStatus string
VipLevel string
VipName string
SuperManager string
IsHost string
IsAdmin bool
MsgContent string // 摇签和弃签给内容 显示到公屏
SkewerIconUrl string // 摇签给icon ,显示到座位上
RockSkewerResult []string // 解签给结果显示到座位2秒 显示到公屏
SkewerLevelIcon string // 签等级icon
NameColor string // 昵称颜色
}
// 聊天室进入和离开消息 633
type ChatroomComeInOrLeaveBizData struct {
DataType string // 1= 进入 2=离开
ChatroomId string
UserId string
UserNo string
NickName string
Avatar string
AvatarDecoration string
Gender string
Birthday string
SuperManager string
IsRewardTopOne string //1=是房间榜一
MountName string // 座驾名字
MountUrl string // 座驾地址
MountAnimationFormat string // 座驾动画格式
VipIconList string //VIP ICONS JSON字符串数组
EnterRoomScene *dto.EnterRoomSceneDTO `json:"EnterRoomScene,omitempty"` // 进入场景
VipConfig dto.UserVipConfigDTO `json:"VipConfig,omitempty"` //VipConfig
HiddenEnterMsg string // 隐藏进入消息
}
// 聊天室更改上麦方式的通知 634
type ChatroomUpdateUpSeatTypeBizData struct {
ChatroomId string
UpSeatType string // 上麦方式 1=排麦 2=自由麦
IsRecordCharm string // 记录魅力值 1=记录 0=不记录
SendMessageTimeGap string // 发送消息的频率 -1=关闭
SeatCountDown string
}
// 聊天室清除魅力的通知 635
type ChatroomClearCharmBizData struct {
ChatroomId string
ActionType string // 操作类型 1=清楚房间所有人的魅力 2= 清除房间某个人的魅力
UserId string
}
// 聊天室更改麦序倒计时通知 637
type ChatroomUpdateSeatCountdownBizData struct {
ChatroomId string
SeatCountDown string // 麦序倒计时
}
// 聊天室派单对象数据 413
type ChatroomDispatchOrderBizData struct {
ChatroomId string
DispatchOrderId string // 派单的订单ID
Status string // 状态 1=派单中 2=完成 3=弃单
}
// 聊天室设置背景通知 415
type ChatroomSetBackgroundBizData struct {
ChatroomId string
BackgroundUrl string
}
// 聊天室变更气泡背景通知 415
type ChatroomUpdateChatBackgroundBizData struct {
ChatroomId string
UserId string
RoomMsgBgForIOS string
RoomMsgBgForAndroid string
RoomMsgBgForPc string
}
type TextAndColor struct {
Text string
Color string
}
// 聊天室打赏活动消息data数据结构
type ChatroomPresentActivityMsgBizData struct {
ChatroomId string
FromUserId string
FromNickName string
FromAvatar string
FromNickNameColor string // 打赏人昵称颜色
ActionText string // 动作文本 :赠送一个盲盒给
ActionTextColor string // 动作文本颜色
ToNickName string
ToNickNameColor string // 被打赏人昵称颜色
PresentCount string // 物品个数
PresentGoodsName string
PresentGoodsIcon string
PresentGoodsNameColor string
ResultGoodsIcon string
ComboHitCount string // 连击次数
AnimationApngUrl string // 加入播放礼物动效队列 有的话显示播放动画
AnimationFormat string // 动画格式 SVGA APNG
FillMode string // 填充模式 1=左右 2=上下
IsViewFlyView string // 是否显示飘屏view 有的话显示连击信息
// 显示到信息流
TextList []TextAndColor // 信息流文字颜色列表
}
// 聊天室活动全服飘屏通知
type ChatroomFullScreenNoticeMsgBizData struct {
ChatroomId string
ContentIcon string
ContentText string
ContentTextColor string // 内容字体颜色
ContentBgColor string // 背景颜色
AnimationApngUrl string // 加入播放礼物动效队列
BgImgUrl string // 背景图
TextList []TextAndColor // 文字颜色列表
StayTime string // 停留时长(秒)
}