cygx_tag.go 4.6 KB

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