Verified Commit f5cfc22f authored by Cui's avatar Cui

add send wrapper

parent 72113e39
......@@ -5,6 +5,15 @@ import (
"github.com/sirupsen/logrus"
)
type MessageStruct struct {
AppId string `json:"appId" bson:"appId"`
SmsAppId int `json:"smsAppId" bson:"smsAppId"`
SmsAppKey string `json:"smsAppKey" bson:"smsAppKey"`
MessageType string `json:"messageType" bson:"messageType"` // CUSTOMER TEMPLATE SUBSCRIBE SMS
MessageSubType string `json:"messageSubType" bson:"messageSubType"` // TEXT IMAGE VOICE VIDEO MUSIC NEWS MPNEWS WXCARD MINIPROGRAMPAGE
MessageData json.RawMessage `json:"messageData" bson:"messageData"`
}
type TemplateMessage struct {
Touser string `json:"touser" bson:"touser"` // 接收者openid
TemplateId string `json:"template_id" bson:"template_id"` // 模板ID
......
package sender
import (
"encoding/json"
"github.com/sirupsen/logrus"
. "gitlab.qingclass.cn/cuiweiqiang/utils"
)
func Sender(accessToken string, message MessageStruct) (int, string) {
log := Logger.WithFields(logrus.Fields{
"position": "wrapper.go",
"func": "Sender",
})
switch message.MessageType {
case "CUSTOMER":
var cmi CustomerMessageInterface
err := json.Unmarshal(message.MessageData, &cmi)
if err != nil {
msg := "Unmarshal CustomerMessageInterface failed"
log.
WithField("error", err).
Error(msg)
return -10001, msg
}
return CustomerMessageSender(accessToken, cmi)
case "TEMPLATE":
var tm TemplateMessage
err := json.Unmarshal(message.MessageData, &tm)
if err != nil {
msg := "Unmarshal TemplateMessage failed"
log.
WithField("error", err).
Error(msg)
return -10002, msg
}
return TemplateMessageSender(accessToken, tm)
case "SUBSCRIBE":
var sm SubscribeMessage
err := json.Unmarshal(message.MessageData, &sm)
if err != nil {
msg := "Unmarshal SubscribeMessage failed"
log.
WithField("error", err).
Error(msg)
return -10003, msg
}
return SubscribeMessageSender(accessToken, sm)
case "SMS":
var sm SmsMessage
err := json.Unmarshal(message.MessageData, &sm)
if err != nil {
msg := "Unmarshal SmsMessage failed"
log.
WithField("error", err).
Error(msg)
return -10004, msg
}
return SmsMessageSender(sm, message.SmsAppId, message.SmsAppKey)
default:
msg := "MessageType is not match"
log.WithField("MessageType", message.MessageType).Error(msg)
return -10000, msg
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment