package qs_event

import (
	"github.com/beego/beego/v2/client/orm"
	"time"
)

// QsEvent 全时会议表
type QsEvent struct {
	QsId         int       `orm:"column(qs_id);pk" description:"自增id"`
	YbActivityId int       `orm:"column(yb_activity_id)" description:"活动ID"`
	QsEventId    int       `description:"全时会议id"`
	Time         int       `description:"会议时长，单位：分"`
	StartTime    time.Time `description:"会议开始时间"`
	EndTime      time.Time `description:"会议结束时间"`
	People       int       `description:"参会人数"`
	QsStatus     int       `description:"全时会议状态，0：未开始，1：进行中，2：已完成，3：已取消"`
	Status       int       `description:"状态，0：未同步，1：已创建，2：已取消"`
	VideoUrl     string    `description:"录制的流媒体文件下载地址"`
	IsSync       int8      `description:"是否已经同步，0：未同步，1：已同步"`
	ModifyTime   time.Time `description:"修改时间"`
	CreateTime   time.Time `description:"创建时间"`
}

// TableName 表名变更
func (qsEventInfo *QsEvent) TableName() string {
	return "qs_event"
}

// GetQsEventByActivityId 根据活动id获取已同步的全时会议（已同步）
func GetQsEventByActivityId(activityId int) (item *QsEvent, err error) {
	o := orm.NewOrm()
	sql := "select * from qs_event where yb_activity_id=? AND status = 1 "
	err = o.Raw(sql, activityId).QueryRow(&item)
	return
}

// GetQsEventByQsEventId 根据全时会议id获取全时会议（已同步）
func GetQsEventByQsEventId(qsEventId int) (item *QsEvent, err error) {
	o := orm.NewOrm()
	sql := "select * from qs_event where qs_event_id=? "
	err = o.Raw(sql, qsEventId).QueryRow(&item)
	return
}

// Update 更新全时会议
func (qsEventInfo *QsEvent) Update(cols []string) (err error) {
	o := orm.NewOrm()
	_, err = o.Update(qsEventInfo, cols...)
	return
}
