|
@@ -0,0 +1,100 @@
|
|
|
+package models
|
|
|
+
|
|
|
+import (
|
|
|
+ "fmt"
|
|
|
+ "github.com/beego/beego/v2/client/orm"
|
|
|
+ "time"
|
|
|
+)
|
|
|
+
|
|
|
+// SmartReport 智能研报
|
|
|
+type SmartReport struct {
|
|
|
+ SmartReportId int `orm:"column(smart_report_id)" description:"智能研报ID"`
|
|
|
+ ReportCode string `description:"报告唯一编码"`
|
|
|
+ ClassifyIdFirst int `description:"一级分类ID"`
|
|
|
+ ClassifyNameFirst string `description:"一级分类名称"`
|
|
|
+ ClassifyIdSecond int `description:"二级分类ID"`
|
|
|
+ ClassifyNameSecond string `description:"二级分类名称"`
|
|
|
+ AddType int `description:"新增方式:1-新增报告;2-继承报告"`
|
|
|
+ Title string `description:"标题"`
|
|
|
+ Abstract string `description:"摘要"`
|
|
|
+ Author string `description:"作者"`
|
|
|
+ Frequency string `description:"频度"`
|
|
|
+ Stage int `description:"期数"`
|
|
|
+ Content string `description:"内容"`
|
|
|
+ ContentSub string `description:"内容前两个章节"`
|
|
|
+ ContentStruct string `description:"内容组件"`
|
|
|
+ VideoUrl string `description:"音频文件URL"`
|
|
|
+ VideoName string `description:"音频文件名称"`
|
|
|
+ VideoPlaySeconds string `description:"音频播放时长"`
|
|
|
+ VideoSize string `description:"音频文件大小,单位M"`
|
|
|
+ AdminId int `description:"创建者ID"`
|
|
|
+ AdminRealName string `description:"创建者姓名"`
|
|
|
+ State int `description:"发布状态:1-待发布;2-已发布"`
|
|
|
+ PublishTime time.Time `description:"发布时间"`
|
|
|
+ PrePublishTime time.Time `description:"预发布时间"`
|
|
|
+ PreMsgSend int `description:"定时发布后是否推送模版消息:0-否;1-是"`
|
|
|
+ MsgIsSend int `description:"消息是否已发送:0-否;1-是"`
|
|
|
+ MsgSendTime time.Time `description:"模版消息发送时间"`
|
|
|
+ CreateTime time.Time `description:"创建时间"`
|
|
|
+ ModifyTime time.Time `description:"修改时间"`
|
|
|
+}
|
|
|
+
|
|
|
+func (m *SmartReport) TableName() string {
|
|
|
+ return "smart_report"
|
|
|
+}
|
|
|
+
|
|
|
+func (m *SmartReport) PrimaryId() string {
|
|
|
+ return "smart_report_id"
|
|
|
+}
|
|
|
+
|
|
|
+func (m *SmartReport) Update(cols []string) (err error) {
|
|
|
+ o := orm.NewOrmUsingDB("rddp")
|
|
|
+ _, err = o.Update(m, cols...)
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+func (m *SmartReport) GetItemById(id int) (item *SmartReport, err error) {
|
|
|
+ o := orm.NewOrmUsingDB("rddp")
|
|
|
+ sql := fmt.Sprintf(`SELECT * FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.PrimaryId())
|
|
|
+ err = o.Raw(sql, id).QueryRow(&item)
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// GetPrePublishSmartReports 获取定时发布时间为当前时间的未发布的报告列表
|
|
|
+func GetPrePublishSmartReports(startTime, endTime string) (list []*SmartReport, err error) {
|
|
|
+ o := orm.NewOrmUsingDB("rddp")
|
|
|
+ sql := `SELECT * FROM smart_report WHERE state = 1 AND pre_publish_time >= ? AND pre_publish_time <= ?`
|
|
|
+ _, err = o.Raw(sql, startTime, endTime).QueryRows(&list)
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// PublishSmartReportById 发布智能报告
|
|
|
+func PublishSmartReportById(reportId int, publishTime time.Time) (err error) {
|
|
|
+ o := orm.NewOrmUsingDB("rddp")
|
|
|
+ sql := `UPDATE smart_report SET state = 2, publish_time = ?, msg_is_send = 1, msg_send_time = NOW(), modify_time = NOW() WHERE smart_report_id = ?`
|
|
|
+ _, err = o.Raw(sql, publishTime, reportId).Exec()
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// ElasticSmartReport 智能研报es
|
|
|
+type ElasticSmartReport struct {
|
|
|
+ SmartReportId int `description:"智能研报ID"`
|
|
|
+ Title string `description:"标题"`
|
|
|
+ Abstract string `description:"摘要"`
|
|
|
+ BodyContent string `description:"内容"`
|
|
|
+ PublishTime string `description:"发布时间"`
|
|
|
+ PublishState int `description:"发布状态 1-未发布 2-已发布"`
|
|
|
+ Author string `description:"作者"`
|
|
|
+ ClassifyIdFirst int `description:"一级分类ID"`
|
|
|
+ ClassifyNameFirst string `description:"一级分类名称"`
|
|
|
+ ClassifyIdSecond int `description:"二级分类ID"`
|
|
|
+ ClassifyNameSecond string `description:"二级分类名称"`
|
|
|
+ StageStr string `description:"报告期数"`
|
|
|
+ Frequency string `description:"频度"`
|
|
|
+}
|
|
|
+
|
|
|
+// Report2ImgQueueReq 报告详情生成长图队列请求体
|
|
|
+type Report2ImgQueueReq struct {
|
|
|
+ ReportType int `description:"报告类型: 1-研报; 2-智能研报"`
|
|
|
+ ReportCode string `description:"报告唯一编码"`
|
|
|
+}
|