- mtwm WaybillStatusDelivered
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user