report_pdf.go 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package models
  2. import (
  3. "time"
  4. "github.com/beego/beego/v2/client/orm"
  5. )
  6. type ReportPdf struct {
  7. ReportPdfId int `orm:"pk" description:"id"`
  8. PdfUrl string `description:"pdf文件URL"`
  9. Title string `description:"pdf文件标题"`
  10. Author string `description:"作者"`
  11. Abstract string `description:"摘要"`
  12. ClassifyIdFirst int `description:"一级分类id"`
  13. ClassifyNameFirst string `description:"一级分类名称"`
  14. ClassifyIdSecond int `description:"二级分类id"`
  15. ClassifyNameSecond string `description:"二级分类名称"`
  16. Stage int `description:"期数"`
  17. PublishTime time.Time `description:"发布时间"`
  18. ModifyTime time.Time `description:"更新时间"`
  19. Pv int `description:"pv"`
  20. Uv int `description:"uv"`
  21. SysUserId int `description:"创建人id"`
  22. SysRealName string `description:"创建人姓名"`
  23. State int `description:"状态"`
  24. }
  25. func (r *ReportPdf) Add() (err error) {
  26. o := orm.NewOrm()
  27. // 计算研报期数
  28. sql := `SELECT COUNT(*) + 1 AS count FROM report_pdf WHERE classify_id_second=?`
  29. err = o.Raw(sql, r.ClassifyIdSecond).QueryRow(&r.State)
  30. if err != nil {
  31. return
  32. }
  33. _, err = o.Insert(r)
  34. return
  35. }
  36. func GetReportPdfCountByCondition(condition string, pars []interface{}) (count int, err error) {
  37. o := orm.NewOrm()
  38. sql := `SELECT COUNT(*) AS count FROM report_pdf WHERE 1=1 `
  39. if condition != "" {
  40. sql += condition
  41. }
  42. err = o.Raw(sql, pars).QueryRow(&count)
  43. return
  44. }
  45. func GetReportPdfByCondition(condition, sortCondition string, pars []interface{}, startPage, pageSize int) (items []*ReportPdf, err error) {
  46. o := orm.NewOrm()
  47. sql := `SELECT * FROM report_pdf WHERE 1=1 `
  48. if condition != "" {
  49. sql += condition
  50. }
  51. if sortCondition != "" {
  52. sql += sortCondition // 排序
  53. }
  54. sql += ` LIMIT ?,?`
  55. _, err = o.Raw(sql, pars, startPage, pageSize).QueryRows(&items)
  56. return
  57. }