researchSummary.go 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. package models
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "time"
  5. )
  6. type DetailCygxResearchSummaryRep struct {
  7. ArticleId int `description:"报告Id"`
  8. Title string `description:"标题"`
  9. Department string `description:"作者"`
  10. PublishDate string `description:"发布时间"`
  11. VideoUrl string `description:"链接"`
  12. VideoPlaySeconds string `description:"时长"`
  13. VideoName string `description:"音频名称"`
  14. Abstract string `description:"摘要"`
  15. }
  16. type ResearchSummaryLetailResp struct {
  17. Detail *DetailCygxResearchSummaryRep
  18. HasPermission int `description:"1:有该行业权限,正常展示,2:无该行业权限,不存在权益客户下,3:无该品类权限,已提交过申请,4:无该行业权限,未提交过申请,5:潜在客户,未提交过申请,6:潜在客户,已提交过申请"`
  19. List []*ResearchSummaryChartPermission
  20. }
  21. type ResearchSummaryChartPermission struct {
  22. ListName string `description:"列表名称"`
  23. IcoLink string `orm:"column(image_url)"description:"图标链接"`
  24. Type string `description:"类型'SDBG深度报告片篇,’CYDYJY:产业调研纪要’,’SJDP事件点评,’BZCHJH:本周晨会精华’"`
  25. List []*CygxResearchSummaryLogSecond
  26. }
  27. type CygxResearchSummaryLogSecond struct {
  28. PermissionName string `description:"行业名称"`
  29. ChartPermissionId int `description:"行业ID"`
  30. IcoLink string `orm:"column(image_url)"description:"图标链接"`
  31. List []*CygxResearchSummaryLogThird
  32. }
  33. type CygxResearchSummaryLogThird struct {
  34. Body string `description:"内容"`
  35. ReportLink string `orm:"column(link_article_id)"description:"报告链接"`
  36. VideoUrl string `description:"链接"`
  37. IsHaveVideo bool `description:"是否含有音频文件"`
  38. }
  39. type IndustriaResearchSummary struct {
  40. IndustrialManagementId int `description:"产业Id"`
  41. IndustryName string `description:"产业名称"`
  42. }
  43. type ResearchSummaryId struct {
  44. ArticleId int `description:"报告I"`
  45. }
  46. //通过纪要ID获取详情
  47. func GetCygxResearchSummaryInfoById(articleId int) (item *DetailCygxResearchSummaryRep, err error) {
  48. o := orm.NewOrm()
  49. sql := `SELECT * FROM cygx_research_summary WHERE article_id=? AND publish_status = 1 `
  50. err = o.Raw(sql, articleId).QueryRow(&item)
  51. return
  52. }
  53. type CygxResearchSummaryLog struct {
  54. ArticleSunId int `description:"子级报告id"`
  55. ArticleId int `description:"父级报告Id"`
  56. ChartPermissionId int `description:"行业ID"`
  57. PermissionName string `description:"行业ID"`
  58. CreateTime time.Time `description:"创建时间"`
  59. Body string `description:"内容"`
  60. IndustrialSubjectId string `description:"标的ID"`
  61. IndustrialManagementId string `description:"产业资源包Id 多个用 , 隔开"`
  62. SubjectName string `description:"标的名称"`
  63. Type string `description:"类型'SDBG深度报告片篇,’CYDYJY:产业调研纪要’,’SJDP事件点评,’BZCHJH:本周晨会精华’"`
  64. }
  65. //列表
  66. func GetResearchSummarylogListFirst(articleId int) (items []*ResearchSummaryChartPermission, err error) {
  67. o := orm.NewOrm()
  68. sql := `SELECT l.*
  69. FROM cygx_research_summary_log AS l
  70. WHERE l.article_id = ?
  71. GROUP BY l.type
  72. ORDER BY l.sort ASC`
  73. _, err = o.Raw(sql, articleId).QueryRows(&items)
  74. return
  75. }
  76. //列表
  77. func GetResearchSummarylogSonListSecond(articleId int, artType string) (items []*CygxResearchSummaryLogSecond, err error) {
  78. o := orm.NewOrm()
  79. sql := `SELECT c.permission_name ,c.chart_permission_id ,c.image_url, l.*
  80. FROM
  81. cygx_research_summary_log AS l
  82. LEFT JOIN chart_permission AS c ON c.chart_permission_id = l.chart_permission_id
  83. WHERE l.article_id = ? AND l.type =?
  84. GROUP BY l.chart_permission_id
  85. ORDER BY l.chart_permission_sort ASC`
  86. _, err = o.Raw(sql, articleId, artType).QueryRows(&items)
  87. return
  88. }
  89. //列表
  90. func GetResearchSummarylogSonListThird(articleId, chartPermissionId int, artType string) (items []*CygxResearchSummaryLogThird, err error) {
  91. o := orm.NewOrm()
  92. sql := `SELECT l.link_article_id,l.body ,a.video_url
  93. FROM cygx_research_summary_log AS l
  94. LEFT JOIN cygx_article as a ON a.article_id = l.link_article_id
  95. WHERE l.article_id = ? AND l.type =? AND l.chart_permission_id = ?
  96. ORDER BY l.chart_permission_sort ASC `
  97. _, err = o.Raw(sql, articleId, artType, chartPermissionId).QueryRows(&items)
  98. return
  99. }