chart_permission.go 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. package advisory
  2. import (
  3. "fmt"
  4. "github.com/beego/beego/v2/client/orm"
  5. )
  6. type ChartPermission struct {
  7. ChartPermissionId int `description:"权限id"`
  8. ClassifyName string `description:"分类名称"`
  9. PermissionName string `description:"名称"`
  10. ImageUrl string `description:"图片地址"`
  11. IsHaveNoRead bool `description:"是否存在未阅读的文章"`
  12. ChildPermission []*ChartPermission
  13. }
  14. type ChartPermissionResp struct {
  15. List []*ChartPermission
  16. }
  17. //用户关注的分类
  18. type ChartPermissionListResp struct {
  19. ChartPermissionId int `description:"权限id"`
  20. ChartPermissionName string `description:"名称"`
  21. PermissionName string `description:"名称"`
  22. ClassifyName string `description:"分类名称"`
  23. ImageUrl string `description:"图片地址"`
  24. IsFllow bool `description:"是否关注过分类"`
  25. }
  26. type GetChartPermissionAllByChartIdResp struct {
  27. ChartPermissionId int `description:"权限id"`
  28. }
  29. //用户关注的分类
  30. type MyChartPermission struct {
  31. ChartPermissionId int `description:"权限id"`
  32. ClassifyName string `description:"分类名称"`
  33. PermissionName string `description:"名称"`
  34. ChartPermissionName string `description:"名称"`
  35. ImageUrl string `description:"图片地址"`
  36. }
  37. type MyChartPermissionResp struct {
  38. List []*MyChartPermission
  39. }
  40. type AdminInfoResp struct {
  41. AdminName string `description:"系统用户名称"`
  42. CreatedTime string `description:"注册时间"`
  43. Headimgurl string `description:"头像"`
  44. Mobile string `description:"手机号"`
  45. ArticleNum int `description:"文章数量"`
  46. IsFllow bool `description:"是否关注过分类"`
  47. List []*MyChartPermission
  48. }
  49. type NoAdminInfoResp struct {
  50. List []*MyChartPermission
  51. }
  52. //获取一级分类名称
  53. func AdvisoryGetFirstChartPermissionAll() (items []*ChartPermission, err error) {
  54. o := orm.NewOrm()
  55. sql := `SELECT * FROM chart_permission as ch WHERE product_id = 1 AND product_name = 'ficc' GROUP BY ch.classify_name ORDER BY sort ASC; `
  56. _, err = o.Raw(sql).QueryRows(&items)
  57. return
  58. }
  59. //获取关注分类名称
  60. func GetChartPermissionByIds(Ids string) (items []*MyChartPermission, err error) {
  61. o := orm.NewOrm()
  62. sql := `SELECT * FROM chart_permission WHERE chart_permission_id IN (` + Ids + `)`
  63. fmt.Println(sql)
  64. _, err = o.Raw(sql).QueryRows(&items)
  65. return
  66. }
  67. func AdvisoryGetChartToClassifyName(ClassifyName string) (items []*ChartPermission, err error) {
  68. o := orm.NewOrm()
  69. sql := `SELECT * FROM chart_permission WHERE product_id = 1 AND product_name = 'ficc' AND classify_name = ? ORDER BY sort ASC `
  70. _, err = o.Raw(sql, ClassifyName).QueryRows(&items)
  71. return
  72. }
  73. func GetCategoryInfoById(chartPermissionId int) (item *ChartPermission, err error) {
  74. o := orm.NewOrm()
  75. //o.Using("rddp")
  76. sql := `SELECT * FROM chart_permission WHERE chart_permission_id=? AND product_id = 1 AND product_name = 'ficc' `
  77. err = o.Raw(sql, chartPermissionId).QueryRow(&item)
  78. return
  79. }
  80. //获取分类列表
  81. func GetChartPermissionList() (items []*MyChartPermission, err error) {
  82. o := orm.NewOrm()
  83. sql := `SELECT * FROM chart_permission as ch WHERE product_id = 1 AND product_name = 'ficc' ORDER BY sort ASC; `
  84. _, err = o.Raw(sql).QueryRows(&items)
  85. return
  86. }
  87. type GetBuChartPermissionResp struct {
  88. ChartPermissionId int `description:"权限id"`
  89. PermissionName string `description:"分类名称"`
  90. ImageUrl string `description:"图片链接"`
  91. }
  92. type GetBuChartPermissionRespLIst struct {
  93. List []*GetBuChartPermissionResp
  94. }
  95. //获取用户购买的分类信息
  96. func GetBuChartPermission(CompanyId int, pars []interface{}) (items []*GetBuChartPermissionResp, err error) {
  97. o := orm.NewOrm()
  98. sql := `SELECT ch.chart_permission_id , ch.permission_name ,ch.image_url FROM chart_permission as ch INNER JOIN company_report_permission as co ON co.chart_permission_id = ch.chart_permission_id WHERE co.company_id = ? `
  99. _, err = o.Raw(sql, CompanyId, pars).QueryRows(&items)
  100. return
  101. }
  102. //获取分类列表
  103. func GetPermissionList(condition string, pars []interface{}, startSize, pageSize int) (items []*ChartPermission, err error) {
  104. sql := ` SELECT * FROM chart_permission WHERE 1=1 `
  105. if condition != "" {
  106. sql += condition
  107. }
  108. sql += ` ORDER BY sort ASC LIMIT ?,? `
  109. o := orm.NewOrm()
  110. _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
  111. return
  112. }
  113. //获取用户权限的一级分类名称
  114. func GetFirstChartPermissionAllByUser(Ids string) (items []*ChartPermission, err error) {
  115. o := orm.NewOrm()
  116. sql := `SELECT * FROM chart_permission as ch WHERE product_id = 1 AND product_name = 'ficc' AND chart_permission_id IN (` + Ids + `)` + ` GROUP BY ch.classify_name ORDER BY sort ASC; `
  117. _, err = o.Raw(sql).QueryRows(&items)
  118. return
  119. }
  120. //获取用户权限的二级分类名称
  121. func GetChartToClassifyNameByUser(ClassifyName, Ids string) (items []*ChartPermission, err error) {
  122. o := orm.NewOrm()
  123. sql := `SELECT * FROM chart_permission WHERE product_id = 1 AND product_name = 'ficc' AND classify_name = ? AND chart_permission_id IN (` + Ids + `)`
  124. _, err = o.Raw(sql, ClassifyName).QueryRows(&items)
  125. return
  126. }
  127. func GetChartPermissionAllByChartId(chartPermissionId int) (items []*GetChartPermissionAllByChartIdResp, err error) {
  128. o := orm.NewOrm()
  129. sql := `SELECT chart_permission_id FROM chart_permission WHERE classify_name = (SELECT classify_name FROM chart_permission WHERE chart_permission_id = ?)`
  130. _, err = o.Raw(sql, chartPermissionId).QueryRows(&items)
  131. return
  132. }