修改http请求返回数据/钉钉消息通知文案修改
This commit is contained in:
12
jobs/job.go
12
jobs/job.go
@@ -353,21 +353,19 @@ func (j *Job) Run() {
|
||||
} else if j.task.NotifyType == 2 && len(dingtalk) > 0 {
|
||||
|
||||
TextStatus := []string{
|
||||
" 超时",
|
||||
" 错误",
|
||||
" 正常",
|
||||
"超时",
|
||||
"错误",
|
||||
"正常",
|
||||
}
|
||||
content := fmt.Sprintf(
|
||||
`定时任务异常:%s:
|
||||
任务执行详情:
|
||||
`任务执行异常详情:
|
||||
任务 ID:%d
|
||||
任务名称:%s
|
||||
执行时间:%s
|
||||
执行耗时:%f秒
|
||||
执行状态:%s
|
||||
任务执行输出
|
||||
任务执行输出:
|
||||
%s`,
|
||||
j.task.TaskName,
|
||||
j.task.Id,
|
||||
j.task.TaskName,
|
||||
beego.Date(time.Unix(log.CreateTime, 0), "Y-m-d H:i:s"),
|
||||
|
||||
37
libs/http.go
37
libs/http.go
@@ -8,24 +8,17 @@
|
||||
package libs
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"github.com/pkg/errors"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"strings"
|
||||
"net/http"
|
||||
"io"
|
||||
)
|
||||
|
||||
type AjaxReturn struct {
|
||||
Status int `json:"status"`
|
||||
Message string `json:"message"`
|
||||
Data interface{} `json:"data"`
|
||||
}
|
||||
|
||||
func HttpGet(url string, param map[string]string) error {
|
||||
func HttpGet(url string, param map[string]string) (string, error) {
|
||||
|
||||
if url == "" {
|
||||
return errors.Errorf("url %s is not exists", url)
|
||||
return "", errors.Errorf("url %s is not exists", url)
|
||||
}
|
||||
paramStr := ""
|
||||
for k, v := range param {
|
||||
@@ -40,7 +33,7 @@ func HttpGet(url string, param map[string]string) error {
|
||||
resp, err := http.Get(url)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
return "", err
|
||||
}
|
||||
|
||||
defer resp.Body.Close()
|
||||
@@ -48,31 +41,27 @@ func HttpGet(url string, param map[string]string) error {
|
||||
body, err := ioutil.ReadAll(resp.Body)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
return "", err
|
||||
}
|
||||
ajaxData := AjaxReturn{}
|
||||
json.Unmarshal(body, &ajaxData)
|
||||
if ajaxData.Status != 200 {
|
||||
return errors.Errorf("msg %s", ajaxData.Message)
|
||||
}
|
||||
return nil
|
||||
|
||||
return string(body), nil
|
||||
}
|
||||
|
||||
func HttpPost(url string, contentType string, body io.Reader) error {
|
||||
func HttpPost(url string, contentType string, body io.Reader) (string, error) {
|
||||
|
||||
resp, err := http.Post(url, contentType, body)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
return "", err
|
||||
}
|
||||
|
||||
defer resp.Body.Close()
|
||||
|
||||
_, resErr := ioutil.ReadAll(resp.Body)
|
||||
resBody, err := ioutil.ReadAll(resp.Body)
|
||||
|
||||
if resErr != nil {
|
||||
return resErr
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
return nil
|
||||
return string(resBody), nil
|
||||
}
|
||||
|
||||
@@ -17,6 +17,15 @@ import (
|
||||
"bytes"
|
||||
)
|
||||
|
||||
type Msg struct {
|
||||
MsgType string `json:"msgtype"`
|
||||
Text *Text `json:"text"`
|
||||
}
|
||||
|
||||
type Text struct {
|
||||
Content string `json:"content"`
|
||||
}
|
||||
|
||||
type Dingtalk struct {
|
||||
Dingtalks []string
|
||||
Content string
|
||||
@@ -39,7 +48,7 @@ func init() {
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
if err := m.SendDingtalk(); err != nil {
|
||||
if _, err := m.SendDingtalk(); err != nil {
|
||||
beego.Error("SendDingtalk:", err.Error())
|
||||
}
|
||||
}
|
||||
@@ -62,16 +71,7 @@ func SendDingtalkToChan(dingtalks []string, content string) bool {
|
||||
}
|
||||
}
|
||||
|
||||
type Msg struct {
|
||||
MsgType string `json:"msgtype"`
|
||||
Text *Text `json:"text"`
|
||||
}
|
||||
|
||||
type Text struct {
|
||||
Content string `json:"content"`
|
||||
}
|
||||
|
||||
func (s *Dingtalk) SendDingtalk() error {
|
||||
func (s *Dingtalk) SendDingtalk() (string, error) {
|
||||
|
||||
for _, v := range s.Dingtalks {
|
||||
|
||||
@@ -83,13 +83,16 @@ func (s *Dingtalk) SendDingtalk() error {
|
||||
msgJson, err := json.Marshal(msg)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return "", err
|
||||
}
|
||||
|
||||
url := fmt.Sprintf(DingtalkUrl, v)
|
||||
resErr := libs.HttpPost(url, "application/json;charset=utf-8", bytes.NewBuffer(msgJson))
|
||||
if resErr != nil {
|
||||
res, err := libs.HttpPost(url, "application/json;charset=utf-8", bytes.NewBuffer(msgJson))
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return "", err
|
||||
}
|
||||
return res, err
|
||||
}
|
||||
return nil
|
||||
return "", nil
|
||||
}
|
||||
|
||||
@@ -12,8 +12,16 @@ import (
|
||||
"github.com/george518/PPGo_Job/libs"
|
||||
"log"
|
||||
"time"
|
||||
"encoding/json"
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
type AjaxReturn struct {
|
||||
Status int `json:"status"`
|
||||
Message string `json:"message"`
|
||||
Data interface{} `json:"data"`
|
||||
}
|
||||
|
||||
type Sms struct {
|
||||
Mobiles []string
|
||||
Param map[string]string
|
||||
@@ -36,7 +44,7 @@ func init() {
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
if err := m.SendSms(); err != nil {
|
||||
if _, err := m.SendSms(); err != nil {
|
||||
beego.Error("SendSms:", err.Error())
|
||||
}
|
||||
}
|
||||
@@ -59,13 +67,30 @@ func SendSmsToChan(mobiles []string, param map[string]string) bool {
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Sms) SendSms() error {
|
||||
func (s *Sms) SendSms() (string, error) {
|
||||
|
||||
for _, v := range s.Mobiles {
|
||||
s.Param["mobile"] = v
|
||||
err := libs.HttpGet(SmsUrl, s.Param)
|
||||
res, err := libs.HttpGet(SmsUrl, s.Param)
|
||||
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return "", err
|
||||
}
|
||||
|
||||
ajaxData := AjaxReturn{}
|
||||
jsonErr := json.Unmarshal([]byte(res), &ajaxData)
|
||||
|
||||
if jsonErr != nil {
|
||||
return "", jsonErr
|
||||
}
|
||||
|
||||
if ajaxData.Status != 200 {
|
||||
return "", errors.Errorf("msg %s", ajaxData.Message)
|
||||
}
|
||||
|
||||
return res, nil
|
||||
|
||||
}
|
||||
return nil
|
||||
return "", nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user