chart_permission.go 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. package models
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "hongze/hz_crm_api/utils"
  5. "time"
  6. )
  7. // ChartPermission 报告权限表
  8. type ChartPermission struct {
  9. ChartPermissionId int `orm:"column(chart_permission_id);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. YbImgUrl string `description:"研报小程序报告列表icon"`
  27. PriceDrivenState int `description:"品种价格驱动开启状态 0-关闭 1-开启"`
  28. }
  29. // GetChartPermissionById 主键获取权限
  30. func GetChartPermissionById(permissionId int) (item *ChartPermission, err error) {
  31. o := orm.NewOrm()
  32. sql := `SELECT * FROM chart_permission WHERE chart_permission_id = ? LIMIT 1`
  33. err = o.Raw(sql, permissionId).QueryRow(&item)
  34. return
  35. }
  36. // Update 更新
  37. func (chartPermissionInfo *ChartPermission) Update(cols []string) (err error) {
  38. o := orm.NewOrm()
  39. _, err = o.Update(chartPermissionInfo, cols...)
  40. return
  41. }
  42. // YbChartPermissionFirst 研报一级品种分类
  43. type YbChartPermissionFirst struct {
  44. Id int
  45. ClassifyName string `description:"权限一级分类名称,与chart_permission的classify_name一致"`
  46. YbIndexShow int `description:"是否展示在研报小程序首页页面 1-展示;0-不展示"`
  47. YbIndexName string `description:"研报小程序首页简称"`
  48. YbIndexSort string `description:"研报小程序首页排序"`
  49. YbIndexIcon string `description:"研报小程序首页图标地址"`
  50. }
  51. // GetYbChartPermissionFirst 获取研报一级品种分类
  52. func GetYbChartPermissionFirst() (list []*YbChartPermissionFirst, err error) {
  53. o := orm.NewOrm()
  54. sql := `SELECT * FROM chart_permission_first ORDER BY yb_index_sort ASC`
  55. _, err = o.Raw(sql).QueryRows(&list)
  56. return
  57. }
  58. // GetFiccPermissionExceptTactic 获取除了市场策略外的ficc权限
  59. func GetFiccPermissionExceptTactic() (items []*ChartPermission, err error) {
  60. o := orm.NewOrm()
  61. sql := `SELECT * FROM chart_permission WHERE enabled = 1 AND permission_type = 0 AND product_id = 1 and classify_name != '市场策略' ORDER BY sort ASC`
  62. _, err = o.Raw(sql).QueryRows(&items)
  63. return
  64. }
  65. // GetPermissionByProductIdAndClassifyName 获取子分类
  66. func GetPermissionByProductIdAndClassifyName(productId int, classifyName string) (items []*ChartPermission, err error) {
  67. o := orm.NewOrm()
  68. sql := `SELECT * FROM chart_permission WHERE enabled = 1 AND product_id = ? AND classify_name = ? AND permission_type = 0 ORDER BY sort ASC`
  69. _, err = o.Raw(sql, productId, classifyName).QueryRows(&items)
  70. return
  71. }
  72. // GetYbChartPermissionFirstByName 根据分类名称获取一级分类
  73. func GetYbChartPermissionFirstByName(classifyName string) (item *YbChartPermissionFirst, err error) {
  74. o := orm.NewOrm()
  75. sql := `SELECT * FROM chart_permission_first WHERE classify_name = ? LIMIT 1`
  76. err = o.Raw(sql, classifyName).QueryRow(&item)
  77. return
  78. }
  79. // GetChartPermissionById 主键获取权限
  80. func GetChartPermissionByRemark(remark string) (item *ChartPermission, err error) {
  81. o := orm.NewOrm()
  82. sql := `SELECT * FROM chart_permission WHERE remark = ? LIMIT 1`
  83. err = o.Raw(sql, remark).QueryRow(&item)
  84. return
  85. }
  86. // GetChartPermissionByIds 主键获取权限
  87. func GetChartPermissionByIds(permissionIds []string) (list []*ChartPermission, err error) {
  88. qb, _ := orm.NewQueryBuilder("mysql")
  89. // 构建查询对象
  90. qb.Select("*").From("chart_permission").
  91. Where("chart_permission_id").In(permissionIds...)
  92. // 导出 SQL 语句
  93. sql := qb.String()
  94. // 执行 SQL 语句
  95. o := orm.NewOrm()
  96. _, err = o.Raw(sql).QueryRows(&list)
  97. return
  98. }
  99. // GetChartPermissionByIdList 主键获取权限
  100. func GetChartPermissionByIdList(chartPermissionIdList []int) (list []*ChartPermission, err error) {
  101. num := len(chartPermissionIdList)
  102. if num <= 0 {
  103. return
  104. }
  105. o := orm.NewOrm()
  106. sql := `select * from chart_permission where chart_permission_id in (` + utils.GetOrmInReplace(num) + `)`
  107. _, err = o.Raw(sql, chartPermissionIdList).QueryRows(&list)
  108. return
  109. }
  110. // GetChartPermissionByNames 主键获取权限
  111. func GetChartPermissionByNames(permissionNames []string) (list []*ChartPermission, err error) {
  112. qb, _ := orm.NewQueryBuilder("mysql")
  113. // 构建查询对象
  114. qb.Select("*").From("chart_permission").
  115. Where("chart_permission_name").In(permissionNames...)
  116. // 导出 SQL 语句
  117. sql := qb.String()
  118. // 执行 SQL 语句
  119. o := orm.NewOrm()
  120. _, err = o.Raw(sql).QueryRows(&list)
  121. return
  122. }
  123. // GetChartPermissionList 获取品种权限列表
  124. func GetChartPermissionList() (list []*ChartPermission, err error) {
  125. o := orm.NewOrm()
  126. sql := `SELECT * FROM chart_permission ORDER BY product_id ASC, sort ASC`
  127. _, err = o.Raw(sql).QueryRows(&list)
  128. return
  129. }
  130. func GetChartPermissionListRai() (items []*ChartPermission, err error) {
  131. o := orm.NewOrm()
  132. sql := `SELECT * FROM chart_permission WHERE product_id=2 ORDER BY sort ASC `
  133. _, err = o.Raw(sql).QueryRows(&items)
  134. return
  135. }