report.go 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  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. }
  57. func (m *Report) ConvertTimeStr() {
  58. m.CreateTime = utils.GormDateStrToDateTimeStr(m.CreateTime)
  59. m.ModifyTime = utils.GormDateStrToDateTimeStr(m.ModifyTime)
  60. m.PublishTime = utils.GormDateStrToDateTimeStr(m.PublishTime)
  61. m.PrePublishTime = utils.GormDateStrToDateTimeStr(m.PrePublishTime)
  62. return
  63. }
  64. func GetReportByCode(reportCode string) (item *Report, err error) {
  65. //o := orm.NewOrm()
  66. sql := `SELECT * FROM report WHERE report_code=?`
  67. //err = o.Raw(sql, reportCode).QueryRow(&item)
  68. err = global.DEFAULT_DB.Raw(sql, reportCode).First(&item).Error
  69. if err != nil {
  70. return
  71. }
  72. item.ConvertTimeStr()
  73. return
  74. }
  75. type ReportShareDetailResp struct {
  76. Report *ReportItem `description:"报告"`
  77. Disclaimer string `description:"免责声明"`
  78. H5ShareName string `description:"研报分享抬头"`
  79. H5ReportShareImg string `description:"研报分享图片"`
  80. WatermarkChart string `description:"图表是否需要水印"`
  81. WatermarkReport string `description:"报告是否需要水印"`
  82. Hz int
  83. ReportLogo string `description:"报告logo"`
  84. }
  85. type ReportItem struct {
  86. *Report
  87. ChapterList []*ReportChapter
  88. }
  89. // UpdateReportPv
  90. // @Description: 研报pv自增
  91. // @author: Roc
  92. // @datetime 2024-07-19 15:46:58
  93. // @param reportId int
  94. // @return err error
  95. func UpdateReportPv(reportId int) (err error) {
  96. //o := orm.NewOrm()
  97. sql := `UPDATE report SET pv = pv + 1 WHERE id = ?`
  98. //_, err = o.Raw(sql, reportId).Exec()
  99. err = global.DEFAULT_DB.Exec(sql, reportId).Error
  100. return
  101. }