chart_permission.go 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package models
  2. import "rdluck_tools/orm"
  3. type ChartPermission struct {
  4. ChartPermissionId int `description:"权限id"`
  5. PermissionName string `description:"权限名称"`
  6. }
  7. type ActivityChartPermission struct {
  8. ChartPermissionId int `description:"权限id"`
  9. PermissionName string `description:"权限名称"`
  10. IsChoose bool `description:"是否选择"`
  11. }
  12. type ChartPermissionResp struct {
  13. List []*ChartPermission
  14. }
  15. func GetChartPermissionAll() (items []*ChartPermission, err error) {
  16. o := orm.NewOrm()
  17. sql := `SELECT * FROM chart_permission WHERE product_id=2 AND show_type=1 ORDER BY sort ASC `
  18. _, err = o.Raw(sql).QueryRows(&items)
  19. return
  20. }
  21. func GetCategoryId(chartPermissionId int) (category_id string, err error) {
  22. o := orm.NewOrm()
  23. sql := ` SELECT GROUP_CONCAT(a.category_id) AS category_id
  24. FROM cygx_permission_mapping AS a
  25. WHERE a.chart_permission_id=?
  26. GROUP BY a.chart_permission_id `
  27. err = o.Raw(sql, chartPermissionId).QueryRow(&category_id)
  28. return
  29. }
  30. func GetChartPermissionReportAll() (items []*ChartPermission, err error) {
  31. o := orm.NewOrm()
  32. sql := `SELECT * FROM chart_permission WHERE product_id=2 AND is_report=1 ORDER BY sort ASC `
  33. _, err = o.Raw(sql).QueryRows(&items)
  34. return
  35. }
  36. func GetChartPermissionById(chartPermissionId int) (item *ChartPermission, err error) {
  37. o := orm.NewOrm()
  38. sql := `SELECT * FROM chart_permission WHERE chart_permission_id = ? `
  39. err = o.Raw(sql, chartPermissionId).QueryRow(&item)
  40. return
  41. }
  42. func GetChartPermissionActivity() (items []*ActivityChartPermission, err error) {
  43. o := orm.NewOrm()
  44. sql := `SELECT * FROM chart_permission WHERE chart_permission_id IN (19,20,21,22,23) ORDER BY sort ASC `
  45. _, err = o.Raw(sql).QueryRows(&items)
  46. return
  47. }
  48. func GetUserCompanyPermission(companyId int) (items []*ActivityChartPermission, err error) {
  49. sql := ` SELECT b.*
  50. FROM company_report_permission AS a
  51. INNER JOIN chart_permission AS b ON a.chart_permission_id=b.chart_permission_id
  52. INNER JOIN company_product AS c ON a.company_id=c.company_id AND a.product_id=c.product_id
  53. WHERE a.company_id=?
  54. AND a.product_id=2
  55. AND c.is_suspend=0
  56. AND b.cygx_auth=1
  57. AND b.is_other=0
  58. AND c.status IN('正式','试用','永续')
  59. AND a.status IN('正式','试用','永续')
  60. AND b.chart_permission_id IN (19,20,21,22,23)
  61. ORDER BY b.sort ASC `
  62. o := orm.NewOrm()
  63. _, err = o.Raw(sql, companyId).QueryRows(&items)
  64. return
  65. }