- mtwm WaybillStatusDelivered

This commit is contained in:
gazebo
2018-11-28 20:06:16 +08:00
parent 7810741a14
commit fa92bb8a18
2 changed files with 35 additions and 1 deletions

View File

@@ -1,5 +1,13 @@
package mtwmapi
import (
"net/http"
"net/url"
"strings"
"git.rosy.net.cn/baseapi/utils"
)
const (
MsgTypeWaybillStatus = "waybillStatus"
MsgTypeNewOrder = "newOrder"
@@ -15,15 +23,40 @@ type CallbackResponse struct {
Data string `json:"data"`
}
// !!!特别注意Data中的数据
type CallbackMsg struct {
Data url.Values
Cmd string
}
var (
SuccessResponse = &CallbackResponse{Data: "ok"}
SuccessResponse = &CallbackResponse{Data: "ok"}
SignatureIsNotOk = &CallbackResponse{Data: "sign failed"}
)
func Err2CallbackResponse(err error, data string) *CallbackResponse {
if err == nil {
return SuccessResponse
}
if data == "" {
data = err.Error()
}
return &CallbackResponse{
Data: data,
}
}
func (a *API) GetCallbackMsg(request *http.Request) (msg *CallbackMsg, callbackResponse *CallbackResponse) {
data := utils.URLValues2Map(request.PostForm)
fullURL := strings.TrimRight(request.URL.String(), "/")
sign := a.signParams(fullURL+"?", data)
if sign != data[signKey] {
return nil, SignatureIsNotOk
}
cmd := strings.Trim(request.URL.EscapedPath(), "/")
msg = &CallbackMsg{
Cmd: cmd,
Data: request.PostForm,
}
return msg, nil
}