user_read_record.go 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package models
  2. import (
  3. "fmt"
  4. "time"
  5. "github.com/beego/beego/v2/client/orm"
  6. )
  7. // UserReadRecord 用户阅读统计表
  8. type UserReadRecord struct {
  9. Id int `orm:"column(id);pk"`
  10. UserId int `description:"用户ID"`
  11. ReportId int `description:"报告ID"`
  12. ReportTitle string `description:"报告标题"`
  13. ClassifyIdFirst int `description:"一级分类ID"`
  14. ClassifyNameFirst string `description:"一级分类名称"`
  15. ClassifyIdSecond int `description:"二级分类ID"`
  16. ClassifyNameSecond string `description:"二级分类名称"`
  17. ClassifyIdThird int `description:"三级分类ID"`
  18. ClassifyNameThird string `description:"三级分类名称"`
  19. StartTimestamp int `description:"阅读开始时间戳"`
  20. EndTimestamp int `description:"阅读结束时间戳"`
  21. ReportSource int `description:"报告来源:1-研报中心;2-文档管理库"`
  22. CreateTime time.Time `description:"创建时间"`
  23. }
  24. func (m *UserReadRecord) TableName() string {
  25. return "user_read_record"
  26. }
  27. type UserReadRecordCols struct {
  28. PrimaryId string
  29. UserId string
  30. ReportId string
  31. ReportTitle string
  32. ClassifyIdFirst string
  33. ClassifyNameFirst string
  34. ClassifyIdSecond string
  35. ClassifyNameSecond string
  36. ClassifyIdThird string
  37. ClassifyNameThird string
  38. StartTimestamp string
  39. EndTimestamp string
  40. ReportSource string
  41. CreateTime string
  42. }
  43. func (m *UserReadRecord) Cols() UserReadRecordCols {
  44. return UserReadRecordCols{
  45. PrimaryId: "id",
  46. UserId: "user_id",
  47. ReportId: "report_id",
  48. ReportTitle: "report_title",
  49. ClassifyIdFirst: "classify_id_first",
  50. ClassifyNameFirst: "classify_name_first",
  51. ClassifyIdSecond: "classify_id_second",
  52. ClassifyNameSecond: "classify_name_second",
  53. ClassifyIdThird: "classify_id_third",
  54. ClassifyNameThird: "classify_name_third",
  55. StartTimestamp: "start_timestamp",
  56. EndTimestamp: "end_timestamp",
  57. ReportSource: "report_source",
  58. CreateTime: "create_time",
  59. }
  60. }
  61. func (m *UserReadRecord) Create() (err error) {
  62. o := orm.NewOrm()
  63. id, err := o.Insert(m)
  64. if err != nil {
  65. return
  66. }
  67. m.Id = int(id)
  68. return
  69. }
  70. func (m *UserReadRecord) Update(cols []string) (err error) {
  71. o := orm.NewOrm()
  72. _, err = o.Update(m, cols...)
  73. return
  74. }
  75. func (m *UserReadRecord) GetItemById(id int) (item *UserReadRecord, err error) {
  76. o := orm.NewOrm()
  77. sql := fmt.Sprintf(`SELECT * FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
  78. err = o.Raw(sql, id).QueryRow(&item)
  79. return
  80. }