Files
Message-Push-Nest/service/send_message_service/send_dtalk.go
T

48 lines
1.2 KiB
Go
Raw Normal View History

2024-01-06 17:44:45 +08:00
package send_message_service
import (
"fmt"
"message-nest/models"
"message-nest/pkg/message"
"message-nest/service/send_ins_service"
"message-nest/service/send_way_service"
)
type DtalkService struct {
}
// SendDtalkMessage 执行发送钉钉
2024-01-08 23:35:10 +08:00
func (s *DtalkService) SendDtalkMessage(auth send_way_service.WayDetailDTalk, ins models.SendTasksIns, typeC string, title string, content string) (string, string) {
2024-01-06 17:44:45 +08:00
insService := send_ins_service.SendTaskInsService{}
errStr, c := insService.ValidateDiffIns(ins)
if errStr != "" {
2024-01-08 23:35:10 +08:00
return errStr, ""
2024-01-06 17:44:45 +08:00
}
_, ok := c.(models.InsDtalkConfig)
if !ok {
2024-01-08 23:35:10 +08:00
return "钉钉config校验失败", ""
2024-01-06 17:44:45 +08:00
}
errMsg := ""
2024-01-08 23:35:10 +08:00
var res []byte
var err error
2024-01-06 17:44:45 +08:00
cli := message.Dtalk{
AccessToken: auth.AccessToken,
Secret: auth.Secret,
}
if typeC == "text" {
2024-01-08 23:35:10 +08:00
res, err = cli.SendMessageText(content)
2024-01-06 17:44:45 +08:00
if err != nil {
errMsg = fmt.Sprintf("发送失败:%s", ins.ContentType)
}
} else if typeC == "markdown" {
2024-01-08 23:35:10 +08:00
res, err = cli.SendMessageMarkdown(title, content)
2024-01-06 17:44:45 +08:00
if err != nil {
errMsg = fmt.Sprintf("发送失败:%s", ins.ContentType)
}
} else {
errMsg = fmt.Sprintf("未知的钉钉发送内容类型:%s", ins.ContentType)
}
2024-01-08 23:35:10 +08:00
return string(res), errMsg
2024-01-06 17:44:45 +08:00
}