修改http请求返回数据/钉钉消息通知文案修改

This commit is contained in:
linxiaozhi
2019-02-15 14:26:42 +08:00
parent 09fdd8ad31
commit 7f3ce29b08
4 changed files with 64 additions and 49 deletions

View File

@@ -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"),

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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
}