package models import ( "github.com/beego/beego/v2/client/orm" "time" ) type DetailCygxResearchSummaryRep struct { ArticleId int `description:"报告Id"` Title string `description:"标题"` Department string `description:"作者"` PublishDate string `description:"发布时间"` VideoUrl string `description:"链接"` VideoPlaySeconds string `description:"时长"` VideoName string `description:"音频名称"` Abstract string `description:"摘要"` VisibleRange int `description:"设置可见范围1全部,0内部"` } type ResearchSummaryLetailResp struct { Detail *DetailCygxResearchSummaryRep HasPermission int `description:"1:有该行业权限,正常展示,2:无该行业权限,不存在权益客户下,3:无该品类权限,已提交过申请,4:无该行业权限,未提交过申请,5:潜在客户,未提交过申请,6:潜在客户,已提交过申请"` List []*ResearchSummaryChartPermission IsShow bool `description:"是否展示"` } type ResearchSummaryChartPermission struct { ListName string `description:"列表名称"` IcoLink string `orm:"column(image_url)"description:"图标链接"` Type string `description:"类型'SDBG深度报告片篇,’CYDYJY:产业调研纪要’,’SJDP事件点评,’BZCHJH:本周晨会精华’"` List []*CygxResearchSummaryLogSecond } type CygxResearchSummaryLogSecond struct { PermissionName string `description:"行业名称"` ChartPermissionId int `description:"行业ID"` IcoLink string `orm:"column(image_url)"description:"图标链接"` List []*CygxResearchSummaryLogThird } type CygxResearchSummaryLogThird struct { Body string `description:"内容"` ReportLink string `orm:"column(link_article_id)"description:"报告链接"` VideoUrl string `description:"链接"` IsHaveVideo bool `description:"是否含有音频文件"` } type IndustriaResearchSummary struct { IndustrialManagementId int `description:"产业Id"` IndustryName string `description:"产业名称"` } type ResearchSummaryId struct { ArticleId int `description:"报告I"` } // 通过纪要ID获取详情 func GetCygxResearchSummaryInfoById(articleId int) (item *DetailCygxResearchSummaryRep, err error) { o := orm.NewOrm() sql := `SELECT * FROM cygx_research_summary WHERE article_id=? AND publish_status = 1 ` err = o.Raw(sql, articleId).QueryRow(&item) return } type CygxResearchSummaryLog struct { ArticleSunId int `description:"子级报告id"` ArticleId int `description:"父级报告Id"` ChartPermissionId int `description:"行业ID"` PermissionName string `description:"行业ID"` CreateTime time.Time `description:"创建时间"` Body string `description:"内容"` IndustrialSubjectId string `description:"标的ID"` IndustrialManagementId string `description:"产业资源包Id 多个用 , 隔开"` SubjectName string `description:"标的名称"` Type string `description:"类型'SDBG深度报告片篇,’CYDYJY:产业调研纪要’,’SJDP事件点评,’BZCHJH:本周晨会精华’"` } // 列表 func GetResearchSummarylogListFirst(articleId int) (items []*ResearchSummaryChartPermission, err error) { o := orm.NewOrm() sql := `SELECT l.* FROM cygx_research_summary_log AS l WHERE l.article_id = ? GROUP BY l.type ORDER BY l.sort ASC` _, err = o.Raw(sql, articleId).QueryRows(&items) return } // 列表 func GetResearchSummarylogSonListSecond(articleId int, artType string) (items []*CygxResearchSummaryLogSecond, err error) { o := orm.NewOrm() sql := `SELECT l.* FROM cygx_research_summary_log AS l WHERE l.article_id = ? AND l.type =? GROUP BY l.chart_permission_id ORDER BY l.chart_permission_sort ASC` _, err = o.Raw(sql, articleId, artType).QueryRows(&items) return } // 列表 func GetResearchSummarylogSonListThird(articleId, chartPermissionId int, artType string) (items []*CygxResearchSummaryLogThird, err error) { o := orm.NewOrm() sql := `SELECT l.link_article_id,l.body ,a.video_url FROM cygx_research_summary_log AS l LEFT JOIN cygx_article as a ON a.article_id = l.link_article_id WHERE l.article_id = ? AND l.type =? AND l.chart_permission_id = ? ORDER BY l.chart_permission_sort ASC ` _, err = o.Raw(sql, articleId, artType, chartPermissionId).QueryRows(&items) return } func UpdateResearchSummaryVoiceCounts(articleId int) (err error) { sql := `UPDATE cygx_research_summary SET voice_counts = voice_counts+1 WHERE article_id = ? ` o := orm.NewOrm() _, err = o.Raw(sql, articleId).Exec() return } func UpdateMinutesSummaryVoiceCounts(articleId int) (err error) { sql := `UPDATE cygx_minutes_summary SET voice_counts = voice_counts+1 WHERE article_id = ? ` o := orm.NewOrm() _, err = o.Raw(sql, articleId).Exec() return } func UpdateReportSelectionVoiceCounts(articleId int) (err error) { sql := `UPDATE cygx_report_selection SET voice_counts = voice_counts+1 WHERE article_id = ? ` o := orm.NewOrm() _, err = o.Raw(sql, articleId).Exec() return }