article.go 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. package models
  2. import (
  3. "rdluck_tools/orm"
  4. )
  5. type CygxArticle struct {
  6. Id int `orm:"column(id);pk"`
  7. ArticleId int `description:"文章id"`
  8. Title string `description:"标题"`
  9. TitleEn string `description:"英文标题 "`
  10. UpdateFrequency string `description:"更新周期"`
  11. CreateDate string `description:"创建时间"`
  12. PublishDate string `description:"发布时间"`
  13. Body string `description:"内容"`
  14. BodyText string `description:"内容"`
  15. Abstract string `description:"摘要"`
  16. CategoryName string `description:"一级分类"`
  17. SubCategoryName string `description:"二级分类"`
  18. PublishStatus int `description:"发布状态"`
  19. CategoryId int `description:"分类id"`
  20. ExpertBackground string `description:"专家背景"`
  21. ExpertNumber string `description:"专家编号"`
  22. InterviewDate string `description:"访谈日期"`
  23. Department string `description:"作者"`
  24. ArticleIdMd5 string `description:"ID,md5值"`
  25. }
  26. //新增文章
  27. func AddCygxArticle(item *CygxArticle) (lastId int64, err error) {
  28. o := orm.NewOrm()
  29. lastId, err = o.Insert(item)
  30. return
  31. }
  32. type HomeArticle struct {
  33. ArticleId int `description:"文章id"`
  34. Title string `description:"标题"`
  35. TitleEn string `description:"英文标题 "`
  36. UpdateFrequency string `description:"更新周期"`
  37. CreateDate string `description:"创建时间"`
  38. PublishDate string `description:"发布时间"`
  39. Body string `description:"内容"`
  40. Abstract string `description:"摘要"`
  41. CategoryName string `description:"一级分类"`
  42. SubCategoryName string `description:"二级分类"`
  43. ExpertBackground string `description:"专家背景"`
  44. }
  45. type ArticleDetail struct {
  46. ArticleId int `description:"报告id"`
  47. Title string `description:"标题"`
  48. TitleEn string `description:"英文标题 "`
  49. UpdateFrequency string `description:"更新周期"`
  50. CreateDate string `description:"创建时间"`
  51. PublishDate string `description:"发布时间"`
  52. Body string `description:"内容"`
  53. Abstract string `description:"摘要"`
  54. CategoryName string `description:"一级分类"`
  55. SubCategoryName string `description:"二级分类"`
  56. IsCollect bool `description:"是否收藏:true,已收藏,false:未收藏"`
  57. IsInterviewApply bool `description:"是否申请访谈:true,已申请,false:未申请"`
  58. BodyText string `description:"内容"`
  59. InterviewApplyStatus string `description:"当前访谈申请状态:'待邀请','待访谈','已完成','已取消'"`
  60. InterviewDate string `description:"访谈时间"`
  61. ExpertBackground string `description:"专家背景"`
  62. ExpertNumber string `description:"专家编号"`
  63. Department string `description:"作者"`
  64. SellerMobile string `description:"销售手机号"`
  65. SellerName string `description:"销售名称"`
  66. ArticleIdMd5 string `description:"纪要id"`
  67. }
  68. func GetArticleDetailById(articleId int) (item *ArticleDetail, err error) {
  69. o := orm.NewOrm()
  70. sql := `SELECT * FROM cygx_article WHERE article_id = ? `
  71. err = o.Raw(sql, articleId).QueryRow(&item)
  72. return
  73. }
  74. func GetArticleDetailByIdMd5(articleIdMd5 string) (item *ArticleDetail, err error) {
  75. o := orm.NewOrm()
  76. sql := `SELECT * FROM cygx_article WHERE article_id_md5 = ? `
  77. err = o.Raw(sql, articleIdMd5).QueryRow(&item)
  78. return
  79. }
  80. func GetArticleDetailByIdStr(articleIdStr string) (items []*ArticleDetail, err error) {
  81. o := orm.NewOrm()
  82. sql := `SELECT * FROM cygx_article WHERE article_id IN(` + articleIdStr + `) `
  83. _, err = o.Raw(sql).QueryRows(&items)
  84. return
  85. }
  86. func GetArticlePermission(categoryName string) (item *ChartPermission, err error) {
  87. o := orm.NewOrm()
  88. sql := ` SELECT b.* FROM cygx_permission_mapping AS a
  89. INNER JOIN chart_permission AS b ON a.chart_permission_id=b.chart_permission_id
  90. WHERE a.sub_category_name=? `
  91. err = o.Raw(sql, categoryName).QueryRow(&item)
  92. return
  93. }
  94. type ArticleDetailResp struct {
  95. Detail *ArticleDetail
  96. HasPermission int `description:"1:有该行业权限,正常展示,2:无该行业权限,不存在权益客户下,3:无该品类权限,已提交过申请,4:无该行业权限,未提交过申请,5:潜在客户,未提交过申请,6:潜在客户,已提交过申请"`
  97. HasFree int `description:"1:已付费(至少包含一个品类的权限),2:未付费(没有任何品类权限)"`
  98. }
  99. func ModifyArticleExpert(articleId int, expertNumStr, expertContentStr, interviewDateStr, bodyText string) (err error) {
  100. o := orm.NewOrm()
  101. sql := `UPDATE cygx_article SET expert_background=?,expert_number=?,interview_date=?,body_text=? WHERE article_id=? `
  102. _, err = o.Raw(sql, expertContentStr, expertNumStr, interviewDateStr, bodyText, articleId).Exec()
  103. return
  104. }
  105. type ArticleDetailTest struct {
  106. ArticleId int `description:"报告id"`
  107. Title string `description:"标题"`
  108. BodyText string `description:"内容"`
  109. Body string `json:"-" description:"内容"`
  110. }
  111. func GetArticleDetailTestById(articleId int) (item *ArticleDetailTest, err error) {
  112. o := orm.NewOrm()
  113. sql := `SELECT * FROM cygx_article WHERE article_id = ? `
  114. err = o.Raw(sql, articleId).QueryRow(&item)
  115. return
  116. }
  117. func GetArticleAll() (item []*ArticleDetail, err error) {
  118. o := orm.NewOrm()
  119. sql := `SELECT * FROM cygx_article `
  120. _, err = o.Raw(sql).QueryRows(&item)
  121. return
  122. }
  123. func ModifyArticleContent(articleId int, content, expertNumStr, expertContentStr, interviewDateStr string) (err error) {
  124. o := orm.NewOrm()
  125. sql := `UPDATE cygx_article SET body=?,expert_background=?,expert_number=?,interview_date=? WHERE article_id=? `
  126. _, err = o.Raw(sql, content, expertContentStr, expertNumStr, interviewDateStr, articleId).Exec()
  127. return
  128. }
  129. type ElasticArticleDetail struct {
  130. ArticleId int `description:"报告id"`
  131. Title string `description:"标题"`
  132. TitleEn string `description:"英文标题 "`
  133. UpdateFrequency string `description:"更新周期"`
  134. CreateDate string `description:"创建时间"`
  135. PublishDate string `description:"发布时间"`
  136. Abstract string `description:"摘要"`
  137. CategoryName string `description:"一级分类"`
  138. SubCategoryName string `description:"二级分类"`
  139. IsCollect bool `description:"是否收藏:true,已收藏,false:未收藏"`
  140. IsInterviewApply bool `description:"是否申请访谈:true,已申请,false:未申请"`
  141. BodyText string `description:"内容"`
  142. InterviewApplyStatus string `description:"当前访谈申请状态:'待邀请','待访谈','已完成','已取消'"`
  143. InterviewDate string `description:"访谈时间"`
  144. ExpertBackground string `description:"专家背景"`
  145. ExpertNumber string `description:"专家编号"`
  146. Department string `description:"作者"`
  147. SellerMobile string `description:"销售手机号"`
  148. SellerName string `description:"销售名称"`
  149. ArticleIdMd5 string `description:"纪要id"`
  150. }
  151. func GetArticleCountById(articleId int) (count int, err error) {
  152. o := orm.NewOrm()
  153. sql := `SELECT COUNT(1) AS count FROM cygx_article WHERE article_id = ? `
  154. err = o.Raw(sql, articleId).QueryRow(&count)
  155. return
  156. }