cygx_yanxuan_special.go 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. package models
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "time"
  5. )
  6. type CygxYanxuanSpecial struct {
  7. Id int `orm:"column(id);pk"`
  8. UserId int // 用户ID
  9. CreateTime time.Time // 创建时间
  10. ModifyTime time.Time // 修改时间
  11. PublishTime time.Time // 提审过审或驳回时间
  12. Content string // 内容
  13. Tags string // 标签
  14. Status int // 1:未发布,2:审核中 3:已发布 4:驳回
  15. ImgUrl string // 图片链接
  16. DocUrl string // 文档链接
  17. Reason string // 理由
  18. Title string // 标题
  19. Type int // 类型1:笔记,2:观点
  20. }
  21. type CygxYanxuanSpecialItem struct {
  22. Id int `orm:"column(id);pk"`
  23. UserId int // 用户ID
  24. CreateTime string // 创建时间
  25. ModifyTime string // 修改时间
  26. PublishTime string // 提审过审或驳回时间
  27. Content string // 内容
  28. Tags string // 标签
  29. Status int // 1:未发布,2:审核中 3:已发布 4:驳回
  30. ImgUrl string // 图片链接
  31. DocUrl string // 文档链接
  32. SpecialName string // 专栏名称
  33. Introduction string // 介绍
  34. Label string // 标签
  35. NickName string // 昵称
  36. RealName string // 姓名
  37. Mobile string // 手机号
  38. HeadImg string // 头像
  39. BgImg string // 背景图
  40. Reason string // 理由
  41. Title string // 标题
  42. Type string // 类型1:笔记,2:观点
  43. CollectNum int
  44. MyCollectNum int
  45. IsCollect int
  46. ContentHasImg int //正文是否包含图片 1包含 0不包含
  47. }
  48. func GetYanxuanSpecialList(userId int, condition string, pars []interface{}) (items []*CygxYanxuanSpecialItem, err error) {
  49. o := orm.NewOrm()
  50. sql := ``
  51. sql = `SELECT a.*,b.bg_img,b.head_img,b.introduction,b.label,b.mobile,b.nick_name,b.real_name,b.special_name,
  52. ( SELECT count( 1 ) FROM cygx_yanxuan_special_collect AS ac INNER JOIN wx_user as u ON u.user_id = ac.user_id WHERE ac.yanxuan_special_id = a.id ) AS collect_num,
  53. ( SELECT count( 1 ) FROM cygx_yanxuan_special_collect AS ac WHERE ac.yanxuan_special_id = a.id AND user_id = ? ) AS my_collect_num
  54. FROM cygx_yanxuan_special AS a
  55. JOIN cygx_yanxuan_special_author AS b ON a.user_id = b.user_id
  56. WHERE 1=1 `
  57. if condition != "" {
  58. sql += condition
  59. }
  60. sql += `ORDER BY a.publish_time DESC `
  61. _, err = o.Raw(sql, userId, pars).QueryRows(&items)
  62. return
  63. }
  64. type EnableCygxYanxuanSpecialReq struct {
  65. Id int // 文章id
  66. Status int // 1通过2驳回
  67. Reason string //理由
  68. }
  69. func EnableYanxuanSpecial(id, status int, reason string) (err error) {
  70. o := orm.NewOrm()
  71. sql := ``
  72. sql = `UPDATE cygx_yanxuan_special SET status=?,reason=?,publish_time=NOW() WHERE id = ? `
  73. _, err = o.Raw(sql, status, reason, id).Exec()
  74. return
  75. }
  76. type SpecialListResp struct {
  77. List []*CygxYanxuanSpecialItem
  78. IsAuthor bool
  79. }
  80. func GetYanxuanSpecialById(specialId, userId int) (item *CygxYanxuanSpecialItem, err error) {
  81. o := orm.NewOrm()
  82. sql := ``
  83. sql = `SELECT a.*,b.bg_img,b.head_img,b.introduction,b.label,b.mobile,
  84. b.nick_name,b.real_name,b.special_name,
  85. ( SELECT count( 1 ) FROM cygx_yanxuan_special_collect AS ac INNER JOIN wx_user as u ON u.user_id = ac.user_id WHERE ac.yanxuan_special_id = a.id ) AS collect_num,
  86. ( SELECT count( 1 ) FROM cygx_yanxuan_special_collect AS ac WHERE ac.yanxuan_special_id = a.id AND user_id = ? ) AS my_collect_num
  87. FROM cygx_yanxuan_special AS a
  88. JOIN cygx_yanxuan_special_author AS b ON a.user_id = b.user_id
  89. WHERE a.id=? `
  90. err = o.Raw(sql, userId, specialId).QueryRow(&item)
  91. return
  92. }
  93. type CygxYanxuanSpecialReq struct {
  94. Id int `orm:"column(id);pk"`
  95. Content string // 内容
  96. Tags string // 标签
  97. DoType int // 1保存 2发布
  98. ImgUrl string // 图片链接
  99. DocUrl string // 文档链接
  100. Title string // 标题
  101. Type int // 类型1:笔记,2:观点
  102. }
  103. func AddCygxYanxuanSpecial(item *CygxYanxuanSpecial) (lastId int64, err error) {
  104. o := orm.NewOrm()
  105. lastId, err = o.Insert(item)
  106. return
  107. }
  108. func UpdateYanxuanSpecial(item *CygxYanxuanSpecial) (err error) {
  109. o := orm.NewOrm()
  110. sql := ``
  111. sql = `UPDATE cygx_yanxuan_special SET title=?,content=?,tags=?,img_url=?,doc_url=?,type=?,status=?,
  112. modify_time=NOW(),publish_time=NOW() WHERE id = ? `
  113. _, err = o.Raw(sql, item.Title, item.Content, item.Tags, item.ImgUrl, item.DocUrl, item.Type, item.Status, item.Id).Exec()
  114. return
  115. }
  116. func GetYanxuanSpecialIndustry(keyword string) (IndustryNames []string, err error) {
  117. o := orm.NewOrm()
  118. sql := ``
  119. if keyword == "" {
  120. sql = `SELECT industry_name FROM cygx_yanxuan_special_industry `
  121. } else {
  122. sql = `SELECT industry_name FROM cygx_yanxuan_special_industry WHERE industry_name LIKE '%` + keyword + `%' `
  123. }
  124. _, err = o.Raw(sql).QueryRows(&IndustryNames)
  125. return
  126. }
  127. type CancelPublishCygxYanxuanSpecialReq struct {
  128. Id int // 文章id
  129. }
  130. func CancelPublishYanxuanSpecial(id int) (err error) {
  131. o := orm.NewOrm()
  132. sql := ``
  133. sql = `UPDATE cygx_yanxuan_special SET status=1,publish_time=NOW() WHERE id = ? `
  134. _, err = o.Raw(sql, id).Exec()
  135. return
  136. }