english_report.go 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. package models
  2. import (
  3. "eta/eta_task/global"
  4. "eta/eta_task/utils"
  5. "gorm.io/gorm"
  6. )
  7. type EnglishReport struct {
  8. Id int `gorm:"column:id;primaryKey;autoIncrement" 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. Content string `description:"内容"`
  25. VideoUrl string `description:"音频文件URL"`
  26. VideoName string `description:"音频文件名称"`
  27. VideoPlaySeconds string `description:"音频播放时长"`
  28. VideoSize string `description:"音频文件大小,单位M"`
  29. ContentSub string `description:"内容前两个章节"`
  30. ReportCode string `description:"报告唯一编码"`
  31. Pv int `description:"Pv"`
  32. PvEmail int `description:"邮箱PV"`
  33. EmailState int `description:"群发邮件状态: 0-未发送; 1-已发送"`
  34. Overview string `description:"英文概述部分"`
  35. KeyTakeaways string `description:"关键点"`
  36. FromReportId int `description:"继承的报告ID(英文策略报告ID)"`
  37. AdminId int `description:"创建者账号"`
  38. AdminRealName string `description:"创建者姓名"`
  39. }
  40. func (m *EnglishReport) AfterFind(tx *gorm.DB) (err error) {
  41. m.CreateTime = utils.GormDateStrToDateTimeStr(m.CreateTime)
  42. m.ModifyTime = utils.GormDateStrToDateTimeStr(m.ModifyTime)
  43. m.PublishTime = utils.GormDateStrToDateTimeStr(m.PublishTime)
  44. m.PrePublishTime = utils.GormDateStrToDateTimeStr(m.PrePublishTime)
  45. return
  46. }
  47. type EnglishReportDetail struct {
  48. Id int `gorm:"column:id;primaryKey;autoIncrement" description:"报告Id"`
  49. AddType int `description:"新增方式:1:新增报告,2:继承报告"`
  50. ClassifyIdFirst int `description:"一级分类id"`
  51. ClassifyNameFirst string `description:"一级分类名称"`
  52. ClassifyIdSecond int `description:"二级分类id"`
  53. ClassifyNameSecond string `description:"二级分类名称"`
  54. Title string `description:"标题"`
  55. Abstract string `description:"摘要"`
  56. Author string `description:"作者"`
  57. Frequency string `description:"频度"`
  58. CreateTime string `description:"创建时间"`
  59. ModifyTime string `description:"修改时间"`
  60. State int `description:"1:未发布,2:已发布"`
  61. PublishTime string `description:"发布时间"`
  62. Stage int `description:"期数"`
  63. MsgIsSend int `description:"消息是否已发送,0:否,1:是"`
  64. ReportCode string `description:"报告唯一编码"`
  65. Content string `description:"内容"`
  66. VideoUrl string `description:"音频文件URL"`
  67. VideoName string `description:"音频文件名称"`
  68. VideoPlaySeconds string `description:"音频播放时长"`
  69. ContentSub string `description:"内容前两个章节"`
  70. Pv int `description:"Pv"`
  71. Overview string `description:"英文概述部分"`
  72. FromReportId int `description:"继承的报告ID(英文策略报告ID)"`
  73. KeyTakeaways string `description:"关键点"`
  74. }
  75. func (m *EnglishReportDetail) ConvertTimeStr() {
  76. m.CreateTime = utils.GormDateStrToDateTimeStr(m.CreateTime)
  77. m.ModifyTime = utils.GormDateStrToDateTimeStr(m.ModifyTime)
  78. m.PublishTime = utils.GormDateStrToDateTimeStr(m.PublishTime)
  79. return
  80. }
  81. type ElasticEnglishReportDetail struct {
  82. Id string `description:"报告id或者线上路演Id"`
  83. ReportId int `description:"报告id"`
  84. VideoId int `description:"线上路演Id"`
  85. ClassifyIdFirst int `description:"一级分类id"`
  86. ClassifyNameFirst string `description:"一级分类名称"`
  87. ClassifyIdSecond int `description:"二级分类id"`
  88. ClassifyNameSecond string `description:"二级分类名称"`
  89. StageStr string `description:"报告期数"`
  90. Title string `description:"标题"`
  91. Abstract string `description:"摘要"`
  92. Author string `description:"作者"`
  93. Frequency string `description:"频度"`
  94. PublishState int `description:"状态:1:未发布,2:已发布"`
  95. BodyContent string `description:"内容"`
  96. ContentSub string `description:"前两段内容"`
  97. CreateTime string `description:"创建时间"`
  98. PublishTime string `description:"发布时间"`
  99. ReportCode string `description:"报告唯一编码"`
  100. Overview string `description:"英文概述部分"`
  101. }
  102. // GetPrePublishedEnglishReports 获取定时发布时间为当前时间的未发布的英文报告列表
  103. func GetPrePublishedEnglishReports(startTime, endTime, afterDate string) (list []*EnglishReport, err error) {
  104. o := global.DbMap[utils.DbNameReport]
  105. sql := `SELECT * FROM english_report WHERE state = 1 and pre_publish_time >= ? and pre_publish_time <= ? and modify_time >= ?`
  106. err = o.Raw(sql, startTime, endTime, afterDate).Find(&list).Error
  107. return
  108. }
  109. // PublishEnglishReportById 发布报告
  110. func PublishEnglishReportById(reportId int, publishTime string) (err error) {
  111. o := global.DbMap[utils.DbNameReport]
  112. sql := `UPDATE english_report SET state=2, publish_time=?, modify_time=NOW() WHERE id = ? `
  113. err = o.Exec(sql, publishTime, reportId).Error
  114. return
  115. }
  116. func GetEnglishReportById(reportId int) (item *EnglishReportDetail, err error) {
  117. o := global.DbMap[utils.DbNameReport]
  118. sql := `SELECT * FROM english_report WHERE id=?`
  119. err = o.Raw(sql, reportId).First(&item).Error
  120. if err != nil {
  121. return
  122. }
  123. if item != nil && item.Id > 0 {
  124. item.ConvertTimeStr()
  125. }
  126. return
  127. }
  128. // GetReportByReportId 主键获取报告
  129. func GetReportByReportId(reportId int) (item *Report, err error) {
  130. o := global.DbMap[utils.DbNameReport]
  131. sql := `SELECT * FROM report WHERE id = ?`
  132. err = o.Raw(sql, reportId).First(&item).Error
  133. return
  134. }