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"`
	VoiceGenerateType  int8      `description:"音频生成方式，0：系统生成，1：人工上传" json:"voice_generate_type"`
	RaiReportId        int       `description:"权益报告ID" json:"rai_report_id"`
}

type UnReadItem struct {
	ReportID          int
	ClassifyNameFirst string
}

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