cygx_tag.go 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  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. }
  45. // 获取tag列表
  46. func GetCygxTagList(cond string) (items []*CygxTagList, err error) {
  47. o := orm.NewOrm()
  48. sql := `SELECT * FROM cygx_tag WHERE 1=1 AND status = 1 `
  49. if cond != "" {
  50. sql += cond
  51. } else {
  52. sql += ` ORDER BY sort ASC `
  53. }
  54. _, err = o.Raw(sql).QueryRows(&items)
  55. return
  56. }
  57. func UpdateCygxTagStatus(id, status int) (err error) {
  58. o := orm.NewOrm()
  59. sql := ``
  60. if status == 1 {
  61. sql = ` UPDATE cygx_tag
  62. SET
  63. status =1,
  64. online_time = NOW(),
  65. modify_time = NOW()
  66. WHERE tag_id = ?`
  67. } else {
  68. sql = ` UPDATE cygx_tag
  69. SET
  70. status =0,
  71. offline_time = NOW(),
  72. modify_time = NOW()
  73. WHERE tag_id = ?`
  74. }
  75. _, err = o.Raw(sql, id).Exec()
  76. return
  77. }
  78. // GetCygxTagByTagId 根据指标id获取指标信息
  79. func GetCygxTagByTagId(tagId int) (item *CygxTag, err error) {
  80. o := orm.NewOrm()
  81. sql := `SELECT * FROM cygx_tag WHERE tag_id=? `
  82. err = o.Raw(sql, tagId).QueryRow(&item)
  83. return
  84. }
  85. // GetCygxTagMinSort 获取最小不等于0的排序
  86. func GetCygxTagMinSort() (sort int, err error) {
  87. o := orm.NewOrm()
  88. sql := `SELECT min(sort) FROM cygx_tag WHERE sort <> 0 `
  89. err = o.Raw(sql).QueryRow(&sort)
  90. return
  91. }
  92. // MoveDownCygxTagBySort 往下移动
  93. func MoveDownCygxTagBySort(prevSort, currentSort int) (err error) {
  94. o := orm.NewOrm()
  95. sql := `update cygx_tag set sort = sort - 1 where sort <= ? and sort> ? `
  96. _, err = o.Raw(sql, prevSort, currentSort).Exec()
  97. return
  98. }
  99. // MoveUpCygxTagBySort 往下移动
  100. func MoveUpCygxTagBySort(prevSort, currentSort int) (err error) {
  101. o := orm.NewOrm()
  102. sql := `update cygx_tag set sort = sort + 1 where sort >= ? and sort< ? `
  103. _, err = o.Raw(sql, prevSort, currentSort).Exec()
  104. return
  105. }
  106. type CygxTagIdReq struct {
  107. TagId int `description:"TagId"`
  108. }