chart_permission.go 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. package models
  2. import (
  3. "fmt"
  4. "strings"
  5. "time"
  6. "github.com/beego/beego/v2/client/orm"
  7. )
  8. type ChartPermission struct {
  9. ChartPermissionId int `orm:"pk" description:"权限ID"`
  10. ChartPermissionName string `description:"名称"`
  11. PermissionName string `description:"权限名"`
  12. Sort int `description:"排序"`
  13. Enabled int `description:"是否可用"`
  14. CreatedTime time.Time `description:"创建时间"`
  15. LastUpdatedTime time.Time `description:"更新时间"`
  16. TeleconferenceSort int `description:"电话会类型排序"`
  17. Remark string `description:"备注"`
  18. ClassifyName string `description:"分类名称"`
  19. ProductName string `description:"产品名称" `
  20. ProductId int `description:"产品ID"`
  21. ImageURL string `description:"图片地址"`
  22. ShowType int `description:"1:查研观向小程序展示"`
  23. IsOther int `description:"是否是其他,用于查研观向小程序后台展示"`
  24. IsReport int `description:"是否是报告,用于查研观向小程序前台报告展示"`
  25. CygxAuth int `description:"是否是权限,用于查研观向小程序前台权限校验"`
  26. PermissionType int `description:"1主观,2客观"`
  27. YbImgUrl string `description:"研报小程序报告列表icon"`
  28. ProductPermissionName string `description:"种类权限名称"`
  29. PriceDrivenState int `description:"品种价格驱动开启状态 0-关闭 1-开启"`
  30. ImageUrlM string `description:"图片地址(查研观向移动端)"`
  31. ParentId int `description:"父级权限id"`
  32. IsPublic int `description:"是否是公有权限1:公有权限,0私有权限"`
  33. }
  34. type ChartPermissionView struct {
  35. ChartPermissionId int `orm:"pk" description:"权限ID"`
  36. PermissionName string `description:"权限名"`
  37. Child []*ChartPermissionView `description:"子权限"`
  38. IsPublic int `description:"是否是公有权限1:公有权限,0私有权限"`
  39. ParentId int `description:"父级权限id"`
  40. Sort int `description:"排序"`
  41. }
  42. type BySortChartPermissionView []*ChartPermissionView
  43. func (a BySortChartPermissionView) Len() int { return len(a) }
  44. func (a BySortChartPermissionView) Swap(i, j int) { a[i], a[j] = a[j], a[i] }
  45. func (a BySortChartPermissionView) Less(i, j int) bool { return a[i].Sort < a[j].Sort }
  46. // GetChartPermissionList 获取全部权限品种权限列表
  47. func GetChartPermissionList() (items []*ChartPermission, err error) {
  48. o := orm.NewOrmUsingDB("rddp")
  49. sql := `SELECT * FROM chart_permission WHERE enabled=1 ORDER BY sort ASC`
  50. _, err = o.Raw(sql).QueryRows(&items)
  51. return
  52. }
  53. // GetChildChartPermissionListById 获取子品种权限列表
  54. func GetChildChartPermissionListById(id int) (items []*ChartPermission, err error) {
  55. o := orm.NewOrmUsingDB("rddp")
  56. sql := `SELECT * FROM chart_permission WHERE enabled=1 AND parent_id=? ORDER BY sort ASC`
  57. _, err = o.Raw(sql, id).QueryRows(&items)
  58. return
  59. }
  60. // GetChartPermissionListByIds 根据品种ids获取品种权限列表
  61. func GetChartPermissionIdsByIds(chartPermissionIds []string) (items []*ChartPermission, err error) {
  62. o := orm.NewOrmUsingDB("rddp")
  63. sql := `SELECT * FROM chart_permission WHERE enabled=1 `
  64. if len(chartPermissionIds) > 0 {
  65. sql += fmt.Sprintf(" AND chart_permission_id IN (%s) ", strings.Join(chartPermissionIds, ","))
  66. }
  67. sql += ` ORDER BY sort ASC `
  68. _, err = o.Raw(sql).QueryRows(&items)
  69. return
  70. }
  71. // GetChildChartPermissionListById 获取品种权限id列表
  72. func GetChildChartPermissionIdsById(chartPermissionId int) (items []string, err error) {
  73. o := orm.NewOrmUsingDB("rddp")
  74. sql := `SELECT chart_permission_id FROM chart_permission WHERE enabled=1 AND parent_id=? ORDER BY sort ASC`
  75. _, err = o.Raw(sql, chartPermissionId).QueryRows(&items)
  76. return
  77. }
  78. // GetDefaultChartPermissionCount 获取默认的权限数目
  79. func GetDefaultChartPermissionCount(productId int) (count int, err error) {
  80. sql := ` select count(1) COUNT from chart_permission where product_id=?`
  81. o := orm.NewOrm()
  82. err = o.Raw(sql, productId).QueryRow(&count)
  83. return
  84. }