chart_permission.go 2.6 KB

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