classify.go 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package models
  2. import (
  3. "github.com/rdlucklib/rdluck_tools/orm"
  4. "time"
  5. )
  6. type Classify struct {
  7. Id int `orm:"column(id);pk"`
  8. ClassifyName string `description:"分类名称"`
  9. Sort int `json:"-"`
  10. ParentId int `description:"父级分类id"`
  11. CreateTime time.Time `description:"创建时间"`
  12. ModifyTime time.Time `description:"修改时间"`
  13. Abstract string `description:"栏目简介"`
  14. Descript string `description:"分享描述"`
  15. ReportAuthor string `description:"栏目作者"`
  16. AuthorDescript string `description:"作者简介"`
  17. ColumnImgUrl string `description:"栏目配图"`
  18. HeadImgUrl string `description:"头部banner"`
  19. AvatarImgUrl string `description:"头像"`
  20. ReportImgUrl string `description:"报告配图"`
  21. HomeImgUrl string `description:"首页配图"`
  22. }
  23. func GetClassifyById(classifyId int) (item *Classify, err error) {
  24. sql := ` SELECT * FROM classify WHERE id = ? `
  25. o := orm.NewOrm()
  26. o.Using("rddp")
  27. err = o.Raw(sql, classifyId).QueryRow(&item)
  28. return
  29. }
  30. func GetClassifyList() (item []*Classify, err error) {
  31. sql := ` SELECT * FROM classify WHERE parent_id = 0 AND classify_name not in("权益研报","双周报","月报","晨报","周报","草根调研","需求报告","会议纪要","大事点评","年报合集","宏观点评") `
  32. o := orm.NewOrm()
  33. o.Using("rddp")
  34. _, err = o.Raw(sql).QueryRows(&item)
  35. return
  36. }
  37. func GetClassifySecondList(classifyId int) (item []*ClassifyDetail, err error) {
  38. sql := ` SELECT a.id AS classify_id,a.classify_name,a.sort,a.parent_id,a.create_time,a.modify_time,a.abstract,a.descript,a.report_author,a.author_descript,a.report_img_url,a.head_img_url,a.avatar_img_url,a.column_img_url,a.home_img_url,a.is_home_column,MAX(b.stage) AS stage
  39. FROM classify AS a
  40. LEFT JOIN report AS b ON a.id=b.classify_id_second
  41. WHERE a.parent_id = ?
  42. GROUP BY a.id
  43. ORDER BY sort ASC `
  44. o := orm.NewOrm()
  45. o.Using("rddp")
  46. _, err = o.Raw(sql, classifyId).QueryRows(&item)
  47. return
  48. }
  49. type ClassifyDetail struct {
  50. ClassifyId int `description:"分类id"`
  51. ClassifyName string `description:"分类名称"`
  52. Sort int `json:"-"`
  53. ParentId int `description:"父级分类id"`
  54. CreateTime time.Time `description:"创建时间"`
  55. ModifyTime time.Time `description:"修改时间"`
  56. Abstract string `description:"栏目简介"`
  57. Descript string `description:"分享描述"`
  58. ReportAuthor string `description:"栏目作者"`
  59. AuthorDescript string `description:"作者简介"`
  60. ColumnImgUrl string `description:"栏目配图"`
  61. HeadImgUrl string `description:"头部banner"`
  62. AvatarImgUrl string `description:"头像"`
  63. ReportImgUrl string `description:"报告配图"`
  64. HomeImgUrl string `description:"首页配图"`
  65. Stage int `description:"最新期数"`
  66. CommentList []*CustomerComment
  67. }
  68. func GetClassifyDetailById(classifyId int) (item *ClassifyDetail, err error) {
  69. sql := ` SELECT id AS classify_id,classify_name,sort,parent_id,create_time,modify_time,abstract,descript,report_author,author_descript,report_img_url,head_img_url,avatar_img_url,column_img_url FROM classify WHERE id = ? `
  70. o := orm.NewOrm()
  71. o.Using("rddp")
  72. err = o.Raw(sql, classifyId).QueryRow(&item)
  73. return
  74. }