report.go 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. package models
  2. import (
  3. "eta/eta_report/global"
  4. "eta/eta_report/utils"
  5. "time"
  6. )
  7. type Report struct {
  8. Id int `description:"报告Id"`
  9. AddType int `description:"新增方式:1:新增报告,2:继承报告"`
  10. ClassifyIdFirst int `description:"一级分类id"`
  11. ClassifyNameFirst string `description:"一级分类名称"`
  12. ClassifyIdSecond int `description:"二级分类id"`
  13. ClassifyNameSecond string `description:"二级分类名称"`
  14. Title string `description:"标题"`
  15. Abstract string `description:"摘要"`
  16. Author string `description:"作者"`
  17. Frequency string `description:"频度"`
  18. CreateTime string `description:"创建时间"`
  19. ModifyTime string `description:"修改时间"`
  20. State int `description:"1:未发布,2:已发布"`
  21. PublishTime string `description:"发布时间"`
  22. PrePublishTime string `description:"预发布时间"`
  23. Stage int `description:"期数"`
  24. MsgIsSend int `description:"消息是否已发送,0:否,1:是"`
  25. Content string `description:"内容"`
  26. VideoUrl string `description:"音频文件URL"`
  27. VideoName string `description:"音频文件名称"`
  28. VideoPlaySeconds string `description:"音频播放时长"`
  29. VideoSize string `description:"音频文件大小,单位M"`
  30. ContentSub string `description:"内容前两个章节"`
  31. IsShowNewLabel int `description:"是否显示新标签"`
  32. IsCurrentDate int `description:"是否当前日期"`
  33. ClassifyName string `description:"分类名称"`
  34. HasChapter int `description:"是否有章节"`
  35. // eta1.8.3(研报改版)相关内容
  36. ContentStruct string `description:"内容组件"`
  37. LastModifyAdminId int `description:"最后更新人ID"`
  38. LastModifyAdminName string `description:"最后更新人姓名"`
  39. ContentModifyTime time.Time `description:"内容更新时间"`
  40. Pv int `description:"pv"`
  41. Uv int `description:"uv"`
  42. HeadImg string `description:"报告头图地址"`
  43. EndImg string `description:"报告尾图地址"`
  44. HeadStyle string `description:"版头样式"`
  45. EndStyle string `description:"版尾样式"`
  46. CanvasColor string `description:"画布颜色"`
  47. NeedSplice int `description:"是否拼接版头版位的标记,主要是为了兼容历史报告。0-不需要 1-需要"`
  48. HeadResourceId int `description:"版头资源ID"`
  49. EndResourceId int `description:"版尾资源ID"`
  50. ClassifyIdThird int `description:"三级分类id"`
  51. ClassifyNameThird string `description:"三级分类名称"`
  52. CollaborateType int8 `description:"协作方式,1:个人,2:多人协作。默认:1"`
  53. ReportLayout int8 `description:"报告布局,1:常规布局,2:智能布局。默认:1"`
  54. IsPublicPublish int8 `description:"是否公开发布,1:是,2:否"`
  55. ReportCreateTime time.Time `description:"报告时间创建时间"`
  56. FreeLayoutConfig string `description:"自由布局配置"`
  57. FreeReportRatio string `description:"自由布局页面比例:A4; 16:9; 4:3; 10:7"`
  58. }
  59. func (m *Report) ConvertTimeStr() {
  60. m.CreateTime = utils.GormDateStrToDateTimeStr(m.CreateTime)
  61. m.ModifyTime = utils.GormDateStrToDateTimeStr(m.ModifyTime)
  62. m.PublishTime = utils.GormDateStrToDateTimeStr(m.PublishTime)
  63. m.PrePublishTime = utils.GormDateStrToDateTimeStr(m.PrePublishTime)
  64. return
  65. }
  66. func GetReportByCode(reportCode string) (item *Report, err error) {
  67. //o := orm.NewOrm()
  68. sql := `SELECT * FROM report WHERE report_code=?`
  69. //err = o.Raw(sql, reportCode).QueryRow(&item)
  70. err = global.DEFAULT_DB.Raw(sql, reportCode).First(&item).Error
  71. if err != nil {
  72. return
  73. }
  74. item.ConvertTimeStr()
  75. return
  76. }
  77. type ReportShareDetailResp struct {
  78. Report *ReportItem `description:"报告"`
  79. Disclaimer string `description:"免责声明"`
  80. H5ShareName string `description:"研报分享抬头"`
  81. H5ReportShareImg string `description:"研报分享图片"`
  82. WatermarkChart string `description:"图表是否需要水印"`
  83. WatermarkReport string `description:"报告是否需要水印"`
  84. Hz int
  85. ReportLogo string `description:"报告logo"`
  86. IsOpenChartExpired bool `description:"是否开启图表有效期鉴权/报告禁止复制"`
  87. }
  88. type ReportItem struct {
  89. *Report
  90. ChapterList []*ReportChapter
  91. FreeLayoutContentPages []*ContentPage
  92. }
  93. // UpdateReportPv
  94. // @Description: 研报pv自增
  95. // @author: Roc
  96. // @datetime 2024-07-19 15:46:58
  97. // @param reportId int
  98. // @return err error
  99. func UpdateReportPv(reportId int) (err error) {
  100. //o := orm.NewOrm()
  101. sql := `UPDATE report SET pv = pv + 1 WHERE id = ?`
  102. //_, err = o.Raw(sql, reportId).Exec()
  103. err = global.DEFAULT_DB.Exec(sql, reportId).Error
  104. return
  105. }