385 lines
13 KiB
Go
385 lines
13 KiB
Go
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 // 停留时长(秒)
|
||
}
|