llm.go 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package services
  2. import (
  3. "eta/eta_api/models/rag"
  4. "eta/eta_api/utils"
  5. "fmt"
  6. "os"
  7. "path"
  8. "time"
  9. )
  10. func ReplaceWechatPlatformPic(item *rag.WechatPlatform) {
  11. var err error
  12. defer func() {
  13. if err != nil {
  14. utils.FileLog.Error("替换公众号头像失败,err:%v", err)
  15. fmt.Println("替换公众号头像失败,err:", err)
  16. }
  17. }()
  18. if item.RoundHeadImg == `` {
  19. return
  20. }
  21. resourceUrl, err := downloadWxPicAndUploadToOss(item.RoundHeadImg)
  22. if err != nil {
  23. return
  24. }
  25. item.RoundHeadImg = resourceUrl
  26. err = item.Update([]string{"round_head_img"})
  27. }
  28. func ReplaceWechatArticlePic(item *rag.WechatArticle) {
  29. var err error
  30. defer func() {
  31. if err != nil {
  32. utils.FileLog.Error("替换公众号头像失败,err:%v", err)
  33. fmt.Println("替换公众号头像失败,err:", err)
  34. }
  35. }()
  36. if item.CoverUrl == `` {
  37. return
  38. }
  39. resourceUrl, err := downloadWxPicAndUploadToOss(item.CoverUrl)
  40. if err != nil {
  41. return
  42. }
  43. item.CoverUrl = resourceUrl
  44. err = item.Update([]string{"cover_url"})
  45. }
  46. func downloadWxPicAndUploadToOss(wxPicUrl string) (resourceUrl string, err error) {
  47. localFilePath, err := utils.DownloadWxImage(wxPicUrl)
  48. if err != nil {
  49. return
  50. }
  51. defer func() {
  52. os.Remove(localFilePath)
  53. }()
  54. ossClient := NewOssClient()
  55. if ossClient == nil {
  56. err = fmt.Errorf(`初始化OSS服务失败`)
  57. return
  58. }
  59. ext := path.Ext(localFilePath)
  60. randStr := utils.GetRandStringNoSpecialChar(28)
  61. fileName := randStr + ext
  62. savePath := utils.UploadDir + `wx/wx_article/` + time.Now().Format("200601/20060102/") + fileName
  63. resourceUrl, err = ossClient.UploadFile(fileName, localFilePath, savePath)
  64. if err != nil {
  65. err = fmt.Errorf("文件上传失败,Err:" + err.Error())
  66. return
  67. }
  68. return
  69. }