59 lines
1.4 KiB
Go
59 lines
1.4 KiB
Go
package controllers
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"git.rosy.net.cn/jx-callback/business/partner/delivery/mtps"
|
|
"git.rosy.net.cn/jx-callback/globals/api"
|
|
beego "github.com/astaxie/beego/adapter"
|
|
)
|
|
|
|
// Operations about ELMOrder
|
|
type MtpsController struct {
|
|
beego.Controller
|
|
}
|
|
|
|
func (c *MtpsController) Status() {
|
|
if c.Ctx.Input.Method() == http.MethodPost {
|
|
if c.GetString("exception_id") != "" { // 美团配送的回调设置好象有问题,配送异常也会发到这里来,作一下兼容处理
|
|
c.Except()
|
|
return
|
|
}
|
|
|
|
obj, callbackResponse := api.MtpsAPI.GetOrderCallbackMsg(c.Ctx.Request)
|
|
if callbackResponse == nil {
|
|
callbackResponse = mtps.OnWaybillMsg(obj)
|
|
}
|
|
c.Data["json"] = callbackResponse
|
|
c.ServeJSON()
|
|
} else {
|
|
c.Abort("404")
|
|
}
|
|
}
|
|
|
|
func (c *MtpsController) Except() {
|
|
if c.Ctx.Input.Method() == http.MethodPost {
|
|
obj, callbackResponse := api.MtpsAPI.GetOrderExceptionCallbackMsg(c.Ctx.Request)
|
|
if callbackResponse == nil {
|
|
callbackResponse = mtps.OnWaybillExcept(obj)
|
|
}
|
|
c.Data["json"] = callbackResponse
|
|
c.ServeJSON()
|
|
} else {
|
|
c.Abort("404")
|
|
}
|
|
}
|
|
|
|
func (c *MtpsController) StoreStatus() {
|
|
if c.Ctx.Input.Method() == http.MethodPost {
|
|
obj, callbackResponse := api.MtpsAPI.GetShopStatusCallbackMsg(c.Ctx.Request)
|
|
if callbackResponse == nil {
|
|
callbackResponse = mtps.OnStoreStatus(obj)
|
|
}
|
|
c.Data["json"] = callbackResponse
|
|
c.ServeJSON()
|
|
} else {
|
|
c.Abort("404")
|
|
}
|
|
}
|