package report

import "time"

type Report struct {
	Id                 int       `gorm:"primaryKey;column:id;" description:"报告Id" json:"-"`
	AddType            int       `description:"新增方式:1:新增报告,2:继承报告" json:"add_type"`
	ClassifyIdFirst    int       `description:"一级分类id" json:"classify_id_first"`
	ClassifyNameFirst  string    `description:"一级分类名称" json:"classify_name_first"`
	ClassifyIdSecond   int       `description:"二级分类id" json:"classify_id_second"`
	ClassifyNameSecond string    `description:"二级分类名称" json:"classify_name_second"`
	ClassifyIdThird    int       `description:"三级分类id" json:"classify_id_third"`
	ClassifyNameThird  string    `description:"三级分类名称" json:"classify_name_third"`
	Title              string    `description:"标题" json:"title"`
	Abstract           string    `description:"摘要" json:"abstract"`
	Author             string    `description:"作者" json:"author"`
	Frequency          string    `description:"频度" json:"frequency"`
	CreateTime         time.Time `description:"创建时间" json:"create_time"`
	ModifyTime         time.Time `description:"修改时间" json:"modify_time"`
	State              int       `description:"1:未发布,2:已发布" json:"state"`
	PublishTime        time.Time `description:"发布时间" json:"publish_time"`
	Stage              int       `description:"期数" json:"stage"`
	MsgIsSend          int       `description:"消息是否已发送,0:否,1:是" json:"msg_is_send"`
	Content            string    `description:"内容" json:"content"`
	VideoUrl           string    `description:"音频文件URL" json:"video_url"`
	VideoName          string    `description:"音频文件名称" json:"video_name"`
	VideoSize          string    `description:"音频文件大小,单位M" json:"video_size"`
	VideoPlaySeconds   string    `description:"音频播放时长" json:"video_play_seconds"`
	ContentSub         string    `description:"内容前两个章节" json:"content_sub"`
	ThsMsgIsSend       int       `description:"客户群消息是否已发送,0:否,1:是" json:"ths_msg_is_send"`
	StageStr           string    `description:"期数" json:"stage_str"`
	HasChapter         int       `description:"是否有章节" json:"has_chapter"`
	ReportLayout       int8      `description:"报告布局,1:常规布局,2:智能布局。默认:1" json:"report_layout"`
	HeadImg            string    `description:"报告头图地址" json:"head_img"`
	EndImg             string    `description:"报告尾图地址" json:"end_img"`
	CanvasColor        string    `description:"画布颜色" json:"canvas_color"`
	HeadResourceId     int       `description:"版头资源ID" json:"head_resource_id"`
	EndResourceId      int       `description:"版尾资源ID" json:"end_resource_id"`
}

type UnReadItem struct {
	ReportID          int
	ClassifyNameFirst string
}

func (r *Report) TableName() string {
	return "report"
}