package yb_bullet_chat

import "time"

// YbBulletChat 研报-弹幕表
type YbBulletChat struct {
	ID          int       `gorm:"primaryKey;column:id;type:int(10) unsigned;not null" json:"-"`                                     // 弹幕ID
	UserID      int       `gorm:"index:idx_user_id;column:user_id;type:int(10) unsigned;not null;default:0" json:"userId"`          // 用户ID
	PrimaryID   int       `gorm:"index:idx_primary_id;column:primary_id;type:int(10) unsigned;not null;default:0" json:"primaryId"` // 视频社区/线上路演ID
	Content     string    `gorm:"column:content;type:varchar(255);not null;default:''" json:"content"`                              // 弹幕内容
	Seconds     float64   `gorm:"column:seconds;type:decimal(10,2);not null;default:0.00" json:"seconds"`                           // 时间点（秒）
	Color       string    `gorm:"column:color;type:varchar(100);not null;default:''" json:"color"`                                  // 颜色#号
	Title       string    `gorm:"column:title;type:varchar(255);not null;default:''" json:"title"`                                  // 标题(冗余)
	Source      int       `gorm:"column:source;type:tinyint(4) unsigned;not null;default:0" json:"source"`                          // 来源：1-视频社区；2-线上路演
	SourceAgent int       `gorm:"column:source_agent;type:tinyint(4) unsigned;not null;default:0" json:"sourceAgent"`               // 来源：1-小程序 2-小程序 PC 3-弘则研究公众号 4-Web PC
	CreateTime  time.Time `gorm:"column:create_time;type:datetime" json:"createTime"`                                               // 创建时间
	ModifyTime  time.Time `gorm:"column:modify_time;type:datetime" json:"modifyTime"`                                               // 更新时间
	OpAdminID   int       `gorm:"column:op_admin_id;type:int(10) unsigned;not null;default:0" json:"opAdminId"`                     // 删除操作管理员ID
	IsDeleted   int       `gorm:"column:is_deleted;type:tinyint(4) unsigned;not null;default:0" json:"isDeleted"`                   // 是否已删除：0-未删除 1-已删除
	DeleteTime  time.Time `gorm:"column:delete_time;type:datetime" json:"deleteTime"`                                               // 删除时间
}

func (m *YbBulletChat) TableName() string {
	return "yb_bullet_chat"
}

const (
	SourceBulletVideo = iota + 1
	SourceBulletChatVideo
)
