warn.go 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package util
  2. import (
  3. IC "bp.jydev.jianyu360.cn/BaseService/jyMicroservices/jyBXCore/rpc/init"
  4. "bytes"
  5. "encoding/json"
  6. "github.com/zeromicro/go-zero/core/logx"
  7. "net/http"
  8. )
  9. // TODO docin 更新保存异常告警
  10. func SendMsgByWXURL(msg string) {
  11. logx.Info("warn msg:", msg)
  12. if len(IC.C.LimitSearchText.WebhookURL) > 0 {
  13. for _, url := range IC.C.LimitSearchText.WebhookURL {
  14. if ok := SendBot(url, msg); !ok {
  15. logx.Info("数据加载异常 企业微信机器人提醒失败--:", url, msg)
  16. }
  17. }
  18. }
  19. }
  20. func SendBot(webhookURL, msg string) (b bool) {
  21. // 构造请求体
  22. payload := map[string]interface{}{
  23. "msgtype": "text",
  24. "text": map[string]string{
  25. "content": msg,
  26. },
  27. }
  28. // 转换为 JSON 字符串
  29. payloadBytes, err := json.Marshal(payload)
  30. if err != nil {
  31. logx.Info("Error :", err.Error())
  32. return
  33. }
  34. // 发送 POST 请求
  35. resp, err := http.Post(webhookURL, "application/json", bytes.NewReader(payloadBytes))
  36. if err != nil {
  37. logx.Info("Error :", err.Error())
  38. return
  39. }
  40. defer resp.Body.Close()
  41. b = true
  42. return
  43. }