maycur.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package maycur
  2. import (
  3. "context"
  4. "encoding/json"
  5. "fmt"
  6. "hongze/hongze_task/models"
  7. "hongze/hongze_task/utils"
  8. "io/ioutil"
  9. "net/http"
  10. "strings"
  11. )
  12. const (
  13. SyncMaycurCompanyProfileUrl = "http://127.0.0.1:8602/adminapi/maycur/company_profile/daily_sync"
  14. )
  15. // DailyUpdateCompanyProfile 每日更新客户档案-请求hongze_admin同步接口
  16. func DailyUpdateCompanyProfile(cont context.Context) (err error) {
  17. defer func() {
  18. if err != nil {
  19. utils.FileLog.Info("DailyUpdateCompanyProfile ErrMsg: %s", err.Error())
  20. // 出错的话hongze_admin那边有报错, 这边只要定时请求了就行...
  21. //alarm_msg.SendAlarmMsg(fmt.Sprintf("每日更新客户档案失败, ErrMsg: %s", err.Error()), 3)
  22. }
  23. }()
  24. body := ioutil.NopCloser(strings.NewReader(""))
  25. client := &http.Client{}
  26. req, e := http.NewRequest("POST", SyncMaycurCompanyProfileUrl, body)
  27. if e != nil {
  28. err = fmt.Errorf("http create request err: %s", e.Error())
  29. return
  30. }
  31. contentType := "application/json;charset=utf-8"
  32. req.Header.Set("Content-Type", contentType)
  33. //req.Header.Set("Authorization", utils.SendTemplateMsgAuthorization)
  34. resp, e := client.Do(req)
  35. if e != nil {
  36. err = fmt.Errorf("http client do err: %s", e.Error())
  37. return err
  38. }
  39. defer func() {
  40. _ = resp.Body.Close()
  41. }()
  42. b, e := ioutil.ReadAll(resp.Body)
  43. if e != nil {
  44. err = fmt.Errorf("resp body read err: %s", e.Error())
  45. return
  46. }
  47. if len(b) == 0 {
  48. err = fmt.Errorf("resp body is empty")
  49. return
  50. }
  51. // 解密
  52. bo := utils.DesBase64Decrypt(b)
  53. result := new(models.BaseResponse)
  54. if e = json.Unmarshal(bo, &result); e != nil {
  55. err = fmt.Errorf("result unmarshal err: %s\nresult: %s", e.Error(), string(b))
  56. return
  57. }
  58. if result.Ret != 200 {
  59. err = fmt.Errorf("result: %s", string(b))
  60. return err
  61. }
  62. return
  63. }