dk.go 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package models
  2. import (
  3. "eta/eta_task/global"
  4. "eta/eta_task/utils"
  5. )
  6. type WechatArticleTag struct {
  7. TagName string
  8. ArticleId string
  9. TextContent string
  10. }
  11. type WechatArticle struct {
  12. TextContent string
  13. }
  14. func GetWechatArticleTags(classifyName, startTime, endTime string, startSize, pageSize int) (list []*WechatArticleTag, err error) {
  15. sql := `SELECT a.tag_name,GROUP_CONCAT(DISTINCT a.article_id) AS article_id
  16. FROM article_dfa_tag_mapping AS a
  17. INNER JOIN wechat_article AS b ON a.article_id=b.wechat_article_id
  18. INNER JOIN dfa_tag_sensitive_word_mapping AS c ON a.tag_name=c.tag_name
  19. WHERE a.tag_name<>''
  20. AND b.article_create_time >= ?
  21. AND b.article_create_time <= ?
  22. AND a.source='wechat'
  23. AND c.classify_name=?
  24. GROUP BY a.tag_name LIMIT ?,?`
  25. err = global.DbMap[utils.DbNameAI].Raw(sql, startTime, endTime, classifyName, startSize, pageSize).Find(&list).Error
  26. return list, err
  27. }
  28. func GetWechatArticle(articleId, startTime, endTime string) (list []*WechatArticle, err error) {
  29. sql := `SELECT a.text_content
  30. FROM wechat_article AS a
  31. WHERE a.wechat_article_id IN(` + articleId + `)
  32. AND a.article_create_time >= ?
  33. AND a.article_create_time <= ?`
  34. //AND a.is_summary=0`
  35. err = global.DbMap[utils.DbNameAI].Raw(sql, startTime, endTime).Find(&list).Error
  36. return list, err
  37. }
  38. func ModifyWechatArticleSummary(articleId string, isSummary int) (err error) {
  39. sql := ` UPDATE wechat_article SET is_summary=? WHERE wechat_article_id IN(` + articleId + `)`
  40. err = global.DbMap[utils.DbNameAI].Exec(sql, isSummary).Error
  41. return err
  42. }
  43. func GetWechatArticleTagsTotal(classifyName, startTime, endTime string) (total int, err error) {
  44. sql := `SELECT COUNT(1) AS total
  45. FROM article_dfa_tag_mapping AS a
  46. INNER JOIN wechat_article AS b ON a.article_id=b.wechat_article_id
  47. INNER JOIN dfa_tag_sensitive_word_mapping AS c ON a.tag_name=c.tag_name
  48. WHERE a.tag_name<>''
  49. AND b.article_create_time >= ?
  50. AND b.article_create_time <= ?
  51. AND a.source='wechat'
  52. AND c.classify_name=?
  53. GROUP BY a.tag_name`
  54. err = global.DbMap[utils.DbNameAI].Raw(sql, startTime, endTime, classifyName).Scan(&total).Error
  55. return total, err
  56. }