query.go 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. package classify
  2. import (
  3. "hongze/hongze_yb/global"
  4. "hongze/hongze_yb/utils"
  5. )
  6. func GetSimpleAll()(list []*Classify, err error) {// 过滤权益研报的分类
  7. err = global.MYSQL["rddp"].Select("id, classify_name, yb_icon_url, yb_bg_url, parent_id").Model(Classify{}).Where("is_show = 1 AND parent_id != 56 AND id != 56").Scan(&list).Error
  8. return
  9. }
  10. // GetByClassifyName 根据分类名称查找专栏详情
  11. func GetByClassifyName(classifyName string) (item *Classify, err error) {
  12. err = global.MYSQL["rddp"].Model(Classify{}).Where("classify_name = ?", classifyName).First(&item).Error
  13. if err == utils.ErrNoRow {
  14. err = nil
  15. }
  16. return
  17. }
  18. // GetSecondIdsByClassifyNames 根据权限相关的二级分类名称获取名称ID
  19. func GetSecondIdsByClassifyNames(names []string) (ids []int, err error) {
  20. var list []*Classify
  21. err = global.MYSQL["rddp"].Model(Classify{}).Select("id").Where("classify_name in (?) and parent_id >0 AND is_show = 1 AND parent_id != 56", names).Scan(&list).Error
  22. if err != nil {
  23. if err == utils.ErrNoRow {
  24. err = nil
  25. }
  26. return
  27. }
  28. for _, v := range list {
  29. ids = append(ids, v.Id)
  30. }
  31. return
  32. }
  33. // GetParentList 查询所有一级分类
  34. func GetParentList() (list []*Classify, err error) {
  35. err = global.MYSQL["rddp"].Model(Classify{}).
  36. Select("id, classify_name, show_type, yb_ficc_icon, yb_ficc_pc_icon, yb_ficc_sort").
  37. Where("parent_id = 0 and classify_name != '权益研报' AND is_show = 1").
  38. Order("sort asc, id asc").Scan(&list).Error
  39. if err == utils.ErrNoRow {
  40. err = nil
  41. }
  42. return
  43. }
  44. // GetByClassifyId 根据分类ID查询分类详情
  45. func GetByClassifyId(id int) (item *Classify, err error) {
  46. err = global.MYSQL["rddp"].Model(Classify{}).Where("id = ? AND is_show = 1", id).First(&item).Error
  47. if err == utils.ErrNoRow {
  48. err = nil
  49. }
  50. return
  51. }
  52. // GetListByPid 根据分类名称查找专栏列表
  53. func GetListByPid(pid int) (list []*Classify, err error) {
  54. err = global.MYSQL["rddp"].Model(Classify{}).
  55. Select("id, classify_name, parent_id, abstract, report_author, author_descript, home_img_url, vip_title, avatar_img_url").
  56. Where("parent_id = ? AND is_show = 1 ", pid).Order("sort asc, id asc").Scan(&list).Error
  57. if err == utils.ErrNoRow {
  58. err = nil
  59. }
  60. return
  61. }
  62. // GetIdsByClassifyNameAndParentId 查询
  63. func GetIdsByClassifyNameAndParentId(names []string, parentId int) (ids []int, err error) {
  64. var list []*Classify
  65. err = global.MYSQL["rddp"].Model(Classify{}).Select("id").Where("classify_name in (?) and parent_id = ? AND is_show = 1", names, parentId).Scan(&list).Error
  66. if err != nil {
  67. return
  68. }
  69. for _, v := range list {
  70. ids = append(ids, v.Id)
  71. }
  72. return
  73. }
  74. // GetOtherIdsByClassifyNames 查询
  75. func GetOtherIdsByClassifyNames(names []string) (ids []int, err error) {
  76. var list []*Classify
  77. err = global.MYSQL["rddp"].Model(Classify{}).Select("id").Where("classify_name in (?) and parent_id > 0 AND is_show = 1", names).Scan(&list).Error
  78. if err != nil {
  79. return
  80. }
  81. for _, v := range list {
  82. ids = append(ids, v.Id)
  83. }
  84. return
  85. }
  86. // GetOtherIdsByClassifyNames 查询
  87. func GetOtherSecondIds(names []string) (ids []int, err error) {
  88. var list []*Classify
  89. err = global.MYSQL["rddp"].Model(Classify{}).Select("id").Where("parent_id IN (SELECT id FROM classify WHERE classify_name IN (?) AND parent_id = 0 AND is_show = 1)", names).Scan(&list).Error
  90. if err != nil {
  91. return
  92. }
  93. for _, v := range list {
  94. ids = append(ids, v.Id)
  95. }
  96. return
  97. }
  98. // GetChildByPid 根据一级分类查找二级分类
  99. func GetChildByPid(pid int) (list []*Classify, err error) {
  100. err = global.MYSQL["rddp"].Model(Classify{}).Where("parent_id = ? AND is_show = 1 ", pid).Scan(&list).Error
  101. if err == utils.ErrNoRow {
  102. err = nil
  103. }
  104. return
  105. }
  106. // GetClassifyList 获取全部分类
  107. func GetClassifyList() (list []*Classify, err error) {
  108. err = global.MYSQL["rddp"].Model(Classify{}).Scan(&list).Error
  109. return
  110. }