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