package teleconference

import (
	"time"
)

// Teleconference 电话会
type Teleconference struct {
	TeleconferenceID      uint64    `gorm:"primaryKey;column:teleconference_id;type:bigint(20) unsigned;not null" json:"-"`                     // 电话会id
	TeleconferenceTitle   string    `gorm:"index:teleconference_title;column:teleconference_title;type:varchar(32)" json:"teleconferenceTitle"` // 电话会标题
	Type                  string    `gorm:"index:type;column:type;type:varchar(30);not null" json:"type"`                                       // 电话会类型
	Speaker               string    `gorm:"column:speaker;type:varchar(30)" json:"speaker"`
	Telephone             string    `gorm:"column:telephone;type:varchar(30)" json:"telephone"`                                                // 拨入电话
	Password              string    `gorm:"column:password;type:varchar(30)" json:"password"`                                                  // 参会人密码
	StartTime             time.Time `gorm:"column:start_time;type:datetime" json:"startTime"`                                                  // 会议开始时间
	EndTime               time.Time `gorm:"column:end_time;type:datetime" json:"endTime"`                                                      // 会议结束时间
	ReferResearchReportID int64     `gorm:"column:refer_research_report_id;type:bigint(20)" json:"referResearchReportId"`                      // 关联研报id
	Enabled               int8      `gorm:"index:enabled;column:enabled;type:tinyint(1);default:1" json:"enabled"`                             // 是否删除，1表示已删除，0表示未删除
	CreatedTime           time.Time `gorm:"index:created_time;column:created_time;type:datetime;default:CURRENT_TIMESTAMP" json:"createdTime"` // 创建时间
	LastUpdatedTime       time.Time `gorm:"index:last_updated_time;column:last_updated_time;type:timestamp;not null;default:CURRENT_TIMESTAMP" json:"lastUpdatedTime"`
	ReportPermissionID    int       `gorm:"column:report_permission_id;type:int(10);default:1" json:"reportPermissionId"`   // 权限id,用来查询分类
	SingaporeTelephone    string    `gorm:"column:singapore_telephone;type:varchar(30)" json:"singaporeTelephone"`          // 新加坡拨入电话
	VideoURL              string    `gorm:"column:video_url;type:varchar(500)" json:"videoUrl"`                             // 音频文件URL
	VideoName             string    `gorm:"column:video_name;type:varchar(125);default:''" json:"videoName"`                // 音频文件名称
	VideoPlaySeconds      string    `gorm:"column:video_play_seconds;type:varchar(255);default:''" json:"videoPlaySeconds"` // 音频播放时长
	Remark                string    `gorm:"column:remark;type:varchar(255);default:''" json:"remark"`                       // 简介
	HkTelephone           string    `gorm:"column:hk_telephone;type:varchar(30)" json:"hkTelephone"`                        // 香港拨入电话
}

// TableName get sql table name.获取数据库表名
func (m *Teleconference) TableName() string {
	return "teleconference"
}

// TeleconferenceColumns get sql column name.获取数据库列名
var TeleconferenceColumns = struct {
	TeleconferenceID      string
	TeleconferenceTitle   string
	Type                  string
	Speaker               string
	Telephone             string
	Password              string
	StartTime             string
	EndTime               string
	ReferResearchReportID string
	Enabled               string
	CreatedTime           string
	LastUpdatedTime       string
	ReportPermissionID    string
	SingaporeTelephone    string
	VideoURL              string
	VideoName             string
	VideoPlaySeconds      string
	Remark                string
	HkTelephone           string
}{
	TeleconferenceID:      "teleconference_id",
	TeleconferenceTitle:   "teleconference_title",
	Type:                  "type",
	Speaker:               "speaker",
	Telephone:             "telephone",
	Password:              "password",
	StartTime:             "start_time",
	EndTime:               "end_time",
	ReferResearchReportID: "refer_research_report_id",
	Enabled:               "enabled",
	CreatedTime:           "created_time",
	LastUpdatedTime:       "last_updated_time",
	ReportPermissionID:    "report_permission_id",
	SingaporeTelephone:    "singapore_telephone",
	VideoURL:              "video_url",
	VideoName:             "video_name",
	VideoPlaySeconds:      "video_play_seconds",
	Remark:                "remark",
	HkTelephone:           "hk_telephone",
}
