2023-12-30 17:40:20 +08:00
|
|
|
package v1
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"github.com/gin-gonic/gin"
|
|
|
|
|
"message-nest/pkg/app"
|
|
|
|
|
"message-nest/pkg/e"
|
|
|
|
|
"message-nest/service/send_message_service"
|
|
|
|
|
"net/http"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
type SendMessageReq struct {
|
|
|
|
|
TaskID string `json:"task_id" validate:"required,len=36" label:"任务id"`
|
|
|
|
|
Text string `json:"text" validate:"required" label:"文本内容"`
|
2024-01-06 17:44:45 +08:00
|
|
|
Title string `json:"title" label:"消息标题"`
|
2023-12-30 17:40:20 +08:00
|
|
|
HTML string `json:"html" label:"html内容"`
|
|
|
|
|
MarkDown string `json:"markdown" label:"markdown内容"`
|
2024-01-03 19:55:38 +08:00
|
|
|
Mode string `json:"mode" label:"是否异步发送"`
|
2023-12-30 17:40:20 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// DoSendMassage 外部调用发信接口
|
|
|
|
|
func DoSendMassage(c *gin.Context) {
|
|
|
|
|
var (
|
|
|
|
|
appG = app.Gin{C: c}
|
|
|
|
|
req SendMessageReq
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
errCode, errMsg := app.BindJsonAndPlayValid(c, &req)
|
|
|
|
|
if errCode != e.SUCCESS {
|
|
|
|
|
appG.CResponse(errCode, errMsg, nil)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
msgService := send_message_service.SendMessageService{
|
|
|
|
|
TaskID: req.TaskID,
|
2024-01-06 17:44:45 +08:00
|
|
|
Title: req.Title,
|
2023-12-30 17:40:20 +08:00
|
|
|
Text: req.Text,
|
|
|
|
|
HTML: req.HTML,
|
|
|
|
|
MarkDown: req.MarkDown,
|
|
|
|
|
}
|
2024-01-06 17:44:45 +08:00
|
|
|
if req.Mode == "sync" {
|
2024-01-03 19:55:38 +08:00
|
|
|
// 同步发送
|
|
|
|
|
err := msgService.Send()
|
|
|
|
|
if err != "" {
|
|
|
|
|
appG.CResponse(http.StatusBadRequest, "发送失败!", nil)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
appG.CResponse(http.StatusOK, "发送成功!", nil)
|
|
|
|
|
} else {
|
|
|
|
|
// 异步发送
|
2024-01-14 15:14:51 +08:00
|
|
|
msgService.AsyncSend()
|
2024-01-03 19:55:38 +08:00
|
|
|
appG.CResponse(http.StatusOK, "提交成功!", nil)
|
2023-12-30 17:40:20 +08:00
|
|
|
}
|
|
|
|
|
}
|