report.go 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package report
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "time"
  5. )
  6. type Report struct {
  7. Id int `orm:"column(id)" description:"报告Id"`
  8. AddType int `description:"新增方式:1:新增报告,2:继承报告"`
  9. ClassifyIdFirst int `description:"一级分类id"`
  10. ClassifyNameFirst string `description:"一级分类名称"`
  11. ClassifyIdSecond int `description:"二级分类id"`
  12. ClassifyNameSecond string `description:"二级分类名称"`
  13. Title string `description:"标题"`
  14. Abstract string `description:"摘要"`
  15. Author string `description:"作者"`
  16. Frequency string `description:"频度"`
  17. CreateTime time.Time `description:"创建时间"`
  18. ModifyTime time.Time `description:"修改时间"`
  19. State int `description:"1:未发布,2:已发布"`
  20. PublishTime time.Time `description:"发布时间"`
  21. Stage int `description:"期数"`
  22. MsgIsSend int `description:"消息是否已发送,0:否,1:是"`
  23. ThsMsgIsSend int `description:"客户群消息是否已发送,0:否,1:是"`
  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. ReportVersion int `description:"1:旧版,2:新版"`
  31. HasChapter int `description:"是否有章节 0-否 1-是"`
  32. ChapterType string `description:"章节类型 day-晨报 week-周报"`
  33. OldReportId int `description:"research_report表ID(后续一两个版本过渡需要,之后可移除)"`
  34. }
  35. // ReportList 报告列表
  36. type ReportList struct {
  37. Id int `description:"报告Id"`
  38. Title string `description:"标题"`
  39. Author string `description:"作者"`
  40. Stage int `description:"期数" json:"stage"`
  41. CreateTime time.Time `description:"创建时间" json:"create_time"`
  42. HttpUrl string `description:"跳转地址" json:"http_url"`
  43. }
  44. // GetReportList 获取报告列表
  45. func GetReportList(condition string, pars []interface{}, startSize, pageSize int) (total int, items []*ReportList, err error) {
  46. o := orm.NewOrmUsingDB("rddp")
  47. // 汇总数据
  48. totalSql := `SELECT count(1) total FROM report WHERE 1=1`
  49. //报告列表
  50. sql := `SELECT id,title,author,stage,create_time FROM report WHERE 1=1 `
  51. if condition != "" {
  52. totalSql += condition
  53. sql += condition
  54. }
  55. err = o.Raw(totalSql, pars).QueryRow(&total)
  56. if err != nil {
  57. return
  58. }
  59. sql += `ORDER BY modify_time DESC LIMIT ?,?`
  60. _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
  61. return
  62. }
  63. // GetById 根据报告id获取报告详情
  64. func GetById(id int) (item *Report, err error) {
  65. o := orm.NewOrmUsingDB("rddp")
  66. //报告列表
  67. sql := `SELECT * FROM report WHERE id = ? `
  68. err = o.Raw(sql, id).QueryRow(&item)
  69. return
  70. }