wechat_article.go 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. package elastic
  2. import (
  3. "context"
  4. "eta/eta_api/utils"
  5. "fmt"
  6. "time"
  7. )
  8. // WechatArticleAndPlatform
  9. // @Description: 存入ES的数据
  10. type WechatArticleAndPlatform struct {
  11. WechatArticleId int `gorm:"column:wechat_article_id;type:int(10) UNSIGNED;primaryKey;not null;" description:""`
  12. WechatPlatformId int `gorm:"column:wechat_platform_id;type:int(11);comment:归属公众号id;default:0;" description:"归属公众号id"`
  13. FakeId string `gorm:"column:fake_id;type:varchar(255);comment:公众号唯一id;" description:"公众号唯一id"`
  14. Title string `gorm:"column:title;type:varchar(255);comment:标题;" description:"标题"`
  15. Link string `gorm:"column:link;type:varchar(255);comment:链接;" description:"链接"`
  16. CoverUrl string `gorm:"column:cover_url;type:varchar(255);comment:公众号封面;" description:"公众号封面"`
  17. Description string `gorm:"column:description;type:varchar(255);comment:描述;" description:"描述"`
  18. Content string `gorm:"column:content;type:longtext;comment:报告详情;" description:"报告详情"`
  19. TextContent string `gorm:"column:text_content;type:text;comment:文本内容;" description:"文本内容"`
  20. //Abstract string `gorm:"column:abstract;type:text;comment:摘要;" description:"摘要"`
  21. Country string `gorm:"column:country;type:varchar(255);comment:国家;" description:"国家"`
  22. Province string `gorm:"column:province;type:varchar(255);comment:省;" description:"省"`
  23. City string `gorm:"column:city;type:varchar(255);comment:市;" description:"市"`
  24. ArticleCreateTime time.Time `gorm:"column:article_create_time;type:datetime;comment:报告创建时间;default:NULL;" description:"报告创建时间"`
  25. IsDeleted int `gorm:"column:is_deleted;type:tinyint(4);comment:是否删除,0:未删除,1: 已删除;default:0;" description:"是否删除,0:未删除,1: 已删除"`
  26. ModifyTime time.Time `gorm:"column:modify_time;type:datetime;comment:修改时间;default:NULL;" description:"修改时间"`
  27. CreateTime time.Time `gorm:"column:create_time;type:datetime;comment:入库时间;default:NULL;" description:"入库时间"`
  28. Nickname string `gorm:"column:nickname;type:varchar(255);comment:公众号名称;" description:"nickname"` // 公众号名称
  29. Alias string `gorm:"column:alias;type:varchar(255);comment:别名;" description:"alias"` // 别名
  30. RoundHeadImg string `gorm:"column:round_head_img;type:varchar(255);comment:头像;" description:"round_head_img"` // 头像
  31. }
  32. // WechatArticleEsAddOrEdit
  33. // @Description: 新增/编辑微信文章
  34. // @author: Roc
  35. // @datetime 2025-03-13 10:24:05
  36. // @param docId string
  37. // @param item WechatArticleAndPlatform
  38. // @return err error
  39. func WechatArticleEsAddOrEdit(docId string, item WechatArticleAndPlatform) (err error) {
  40. if docId == "" {
  41. return
  42. }
  43. if utils.EsWechatArticleName == `` {
  44. return
  45. }
  46. defer func() {
  47. if err != nil {
  48. fmt.Println("WechatArticleEsAddOrEdit Err:", err.Error())
  49. }
  50. }()
  51. client := utils.EsClient
  52. resp, err := client.Index().Index(utils.EsWechatArticleName).Id(docId).BodyJson(item).Refresh("true").Do(context.Background())
  53. if err != nil {
  54. fmt.Println("新增失败:", err.Error())
  55. return err
  56. }
  57. if resp.Status == 0 {
  58. fmt.Println("新增成功", resp.Result)
  59. err = nil
  60. } else {
  61. fmt.Println("WechatArticleEsAddOrEdit", resp.Status, resp.Result)
  62. }
  63. return
  64. }
  65. // WechatArticleEsDel
  66. // @Description: 删除微信文章
  67. // @author: Roc
  68. // @datetime 2025-03-13 10:23:55
  69. // @param docId string
  70. // @return err error
  71. func WechatArticleEsDel(docId string) (err error) {
  72. if docId == "" {
  73. return
  74. }
  75. if utils.EsWechatArticleName == `` {
  76. return
  77. }
  78. defer func() {
  79. if err != nil {
  80. fmt.Println("EsDeleteEdbInfoData Err:", err.Error())
  81. }
  82. }()
  83. client := utils.EsClient
  84. resp, err := client.Delete().Index(utils.EsWechatArticleName).Id(docId).Refresh(`true`).Do(context.Background())
  85. if err != nil {
  86. return
  87. }
  88. if resp.Status == 0 {
  89. fmt.Println("删除成功")
  90. } else {
  91. fmt.Println("WechatArticleEsDel", resp.Status, resp.Result)
  92. }
  93. return
  94. }