Verified Commit c73409ed authored by Cui's avatar Cui

add subtype judge

parent c7189e64
......@@ -16,19 +16,141 @@ func Sender(accessToken string, message MessageStruct) (code int, msg string) {
case "CUSTOMER":
fallthrough
case "MASS":
var cmi TextCustomerMessage
err := json.Unmarshal(message.MessageData, &cmi)
if err != nil {
msg := "Unmarshal TextCustomerMessage failed"
switch message.MessageSubType {
case "TEXT":
var cmi TextCustomerMessage
err := json.Unmarshal(message.MessageData, &cmi)
if err != nil {
msg := "Unmarshal TextCustomerMessage failed"
log.
WithField("error", err).
Error(msg)
code = -10011
break
}
code, msg = CustomerMessageSender(accessToken, &cmi)
case "IMAGE":
var cmi ImageCustomerMessage
err := json.Unmarshal(message.MessageData, &cmi)
if err != nil {
msg := "Unmarshal ImageCustomerMessage failed"
log.
WithField("error", err).
Error(msg)
code = -10012
break
}
code, msg = CustomerMessageSender(accessToken, &cmi)
case "VOICE":
var cmi VoiceCustomerMessage
err := json.Unmarshal(message.MessageData, &cmi)
if err != nil {
msg := "Unmarshal VoiceCustomerMessage failed"
log.
WithField("error", err).
Error(msg)
code = -10013
break
}
code, msg = CustomerMessageSender(accessToken, &cmi)
case "VIDEO":
var cmi VideoCustomerMessage
err := json.Unmarshal(message.MessageData, &cmi)
if err != nil {
msg := "Unmarshal VideoCustomerMessage failed"
log.
WithField("error", err).
Error(msg)
code = -10014
break
}
code, msg = CustomerMessageSender(accessToken, &cmi)
case "MUSIC":
var cmi MusicCustomerMessage
err := json.Unmarshal(message.MessageData, &cmi)
if err != nil {
msg := "Unmarshal MusicCustomerMessage failed"
log.
WithField("error", err).
Error(msg)
code = -10015
break
}
code, msg = CustomerMessageSender(accessToken, &cmi)
case "NEWS":
var cmi NewsCustomerMessage
err := json.Unmarshal(message.MessageData, &cmi)
if err != nil {
msg := "Unmarshal NewsCustomerMessage failed"
log.
WithField("error", err).
Error(msg)
code = -10016
break
}
code, msg = CustomerMessageSender(accessToken, &cmi)
case "MPNEWS":
var cmi MpnewsCustomerMessage
err := json.Unmarshal(message.MessageData, &cmi)
if err != nil {
msg := "Unmarshal MpnewsCustomerMessage failed"
log.
WithField("error", err).
Error(msg)
code = -10017
break
}
code, msg = CustomerMessageSender(accessToken, &cmi)
case "WXCARD":
var cmi WxcardCustomerMessage
err := json.Unmarshal(message.MessageData, &cmi)
if err != nil {
msg := "Unmarshal WxcardCustomerMessage failed"
log.
WithField("error", err).
Error(msg)
code = -10018
break
}
code, msg = CustomerMessageSender(accessToken, &cmi)
case "MINIPROGRAMPAGE":
var cmi MiniprogrampageCustomerMessage
err := json.Unmarshal(message.MessageData, &cmi)
if err != nil {
msg := "Unmarshal MiniprogrampageCustomerMessage failed"
log.
WithField("error", err).
Error(msg)
code = -10019
break
}
code, msg = CustomerMessageSender(accessToken, &cmi)
default:
msg := "MessageSubType is match failed"
log.
WithField("error", err).
Error(msg)
code = -10001
code = -10020
break
}
code, msg = CustomerMessageSender(accessToken, &cmi)
break
case "TEMPLATE":
var tm TemplateMessage
......
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