cygx_tag.go 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. package models
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "time"
  5. )
  6. type CygxTag struct {
  7. TagId int64 `orm:"column(tag_id);pk"`
  8. TagName string `orm:"column(tag_name);NOT NULL"` // 标签名
  9. ArticleTypes string `orm:"column(article_types);NOT NULL"` // 报告系列
  10. ActivityTypes string `orm:"column(activity_types);NOT NULL"` // 活动类型
  11. Industries string `orm:"column(industries);NOT NULL"` // 产业
  12. SubjectNames string `orm:"column(subject_names);NOT NULL"` // 标的
  13. Sort int `orm:"column(sort);"` // 优先级
  14. ModifyTime time.Time `orm:"column(modify_time)"` // 修改时间
  15. CreateTime time.Time `orm:"column(create_time)"` // 创建时间
  16. OnlineTime time.Time `orm:"column(online_time)"` // 上线时间
  17. OfflineTime time.Time `orm:"column(offline_time)"` // 下线时间
  18. Status int `orm:"column(status);NOT NULL"` // 状态:0-禁用 1-启用
  19. }
  20. func (m *CygxTag) Update(cols []string) (err error) {
  21. o := orm.NewOrm()
  22. _, err = o.Update(m, cols...)
  23. return
  24. }
  25. type CygxTagList struct {
  26. TagId int64 `orm:"column(tag_id);pk"`
  27. TagName string `orm:"column(tag_name);NOT NULL"` // 标签名
  28. ArticleTypes string `orm:"column(article_types);NOT NULL"` // 报告系列
  29. ActivityTypes string `orm:"column(activity_types);NOT NULL"` // 活动类型
  30. Industries string `orm:"column(industries);NOT NULL"` // 产业
  31. SubjectNames string `orm:"column(subject_names);NOT NULL"` // 标的
  32. Sort int `orm:"column(sort);"` // 优先级
  33. ModifyTime string `orm:"column(modify_time)"` // 修改时间
  34. CreateTime string `orm:"column(create_time)"` // 创建时间
  35. OnlineTime string `orm:"column(online_time)"` // 上线时间
  36. OfflineTime string `orm:"column(offline_time)"` // 下线时间
  37. Status int `orm:"column(status);NOT NULL"` // 状态:0-禁用 1-启用
  38. Atag bool // A标签是否有值
  39. Btag bool // A标签是否有值
  40. Ctag bool // A标签是否有值
  41. Dtag bool // A标签是否有值
  42. CheckList []string // ABCD勾选了哪几列
  43. }
  44. type CygxTagListResp struct {
  45. List []*CygxTagList
  46. ListPermission []*ChartPermission
  47. }
  48. // 列表
  49. func GetCygxTagListCondition(condition string, pars []interface{}, startSize, pageSize int) (items []*CygxTagList, err error) {
  50. o := orm.NewOrm()
  51. sql := `SELECT * FROM cygx_tag as a WHERE 1= 1 `
  52. if condition != "" {
  53. sql += condition
  54. }
  55. if startSize+pageSize > 0 {
  56. sql += ` LIMIT ?,? `
  57. _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
  58. } else {
  59. _, err = o.Raw(sql, pars).QueryRows(&items)
  60. }
  61. return
  62. }
  63. // 获取tag列表
  64. func GetCygxTagList(cond string) (items []*CygxTagList, err error) {
  65. o := orm.NewOrm()
  66. sql := `SELECT * FROM cygx_tag WHERE 1=1 AND status = 1 `
  67. if cond != "" {
  68. sql += cond
  69. } else {
  70. sql += ` ORDER BY sort ASC `
  71. }
  72. _, err = o.Raw(sql).QueryRows(&items)
  73. return
  74. }
  75. func UpdateCygxTagStatus(id, status int) (err error) {
  76. o := orm.NewOrm()
  77. sql := ``
  78. if status == 1 {
  79. sql = ` UPDATE cygx_tag
  80. SET
  81. status =1,
  82. online_time = NOW(),
  83. modify_time = NOW()
  84. WHERE tag_id = ?`
  85. } else {
  86. sql = ` UPDATE cygx_tag
  87. SET
  88. status =0,
  89. offline_time = NOW(),
  90. modify_time = NOW()
  91. WHERE tag_id = ?`
  92. }
  93. _, err = o.Raw(sql, id).Exec()
  94. return
  95. }
  96. // GetCygxTagByTagId 根据指标id获取指标信息
  97. func GetCygxTagByTagId(tagId int) (item *CygxTag, err error) {
  98. o := orm.NewOrm()
  99. sql := `SELECT * FROM cygx_tag WHERE tag_id=? `
  100. err = o.Raw(sql, tagId).QueryRow(&item)
  101. return
  102. }
  103. // GetCygxTagMinSort 获取最小不等于0的排序
  104. func GetCygxTagMinSort() (sort int, err error) {
  105. o := orm.NewOrm()
  106. sql := `SELECT min(sort) FROM cygx_tag WHERE sort <> 0 `
  107. err = o.Raw(sql).QueryRow(&sort)
  108. return
  109. }
  110. // MoveDownCygxTagBySort 往下移动
  111. func MoveDownCygxTagBySort(prevSort, currentSort int) (err error) {
  112. o := orm.NewOrm()
  113. sql := `update cygx_tag set sort = sort - 1 where sort <= ? and sort> ? `
  114. _, err = o.Raw(sql, prevSort, currentSort).Exec()
  115. return
  116. }
  117. // MoveUpCygxTagBySort 往下移动
  118. func MoveUpCygxTagBySort(prevSort, currentSort int) (err error) {
  119. o := orm.NewOrm()
  120. sql := `update cygx_tag set sort = sort + 1 where sort >= ? and sort< ? `
  121. _, err = o.Raw(sql, prevSort, currentSort).Exec()
  122. return
  123. }
  124. type CygxTagIdReq struct {
  125. TagId int `description:"TagId"`
  126. }