- mtps added.
- refactor.
This commit is contained in:
@@ -1,17 +1,11 @@
|
||||
package controllers
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"net/url"
|
||||
|
||||
"git.rosy.net.cn/baseapi/platform/jdapi"
|
||||
"git.rosy.net.cn/jx-callback/business/jd/controller"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"github.com/astaxie/beego"
|
||||
)
|
||||
|
||||
const JD_PARAM_JSON = "jd_param_json"
|
||||
|
||||
// Operations about JDOrder
|
||||
type JDOrderController struct {
|
||||
beego.Controller
|
||||
@@ -29,31 +23,14 @@ func (c *JDOrderController) URLMapping() {
|
||||
c.Mapping("PushDeliveryStatus", c.PushDeliveryStatus)
|
||||
}
|
||||
|
||||
func (c *JDOrderController) handleJDCallback(obj interface{}, needUnescape bool, hanlder func() interface{}) {
|
||||
jdParamJSON := c.GetString(JD_PARAM_JSON)
|
||||
if needUnescape {
|
||||
jdParamJSON2, err := url.QueryUnescape(jdParamJSON)
|
||||
if err != nil {
|
||||
globals.SugarLogger.Warnf("can not escape data:%v, error:%v", jdParamJSON, err)
|
||||
}
|
||||
jdParamJSON = jdParamJSON2
|
||||
}
|
||||
err := json.Unmarshal([]byte(jdParamJSON), obj)
|
||||
if err != nil {
|
||||
globals.SugarLogger.Warnf("error when Unmarshal data:%v, error:%v", jdParamJSON, err)
|
||||
c.Data["json"] = jdapi.JDOrderMsgResponse{jdapi.JDerrorCodeMissingMandatoryParam, "jd_param_json format is wrong", jdParamJSON}
|
||||
} else {
|
||||
c.Data["json"] = hanlder()
|
||||
}
|
||||
c.ServeJSON()
|
||||
}
|
||||
|
||||
func (c *JDOrderController) orderStatus() {
|
||||
var ob jdapi.JDOrderMsg
|
||||
c.handleJDCallback(&ob, false, func() interface{} {
|
||||
obj, callbackResponse := globals.Jdapi.GetOrderMsg(c.Ctx.Request)
|
||||
if callbackResponse == nil {
|
||||
cc := controller.OrderController{}
|
||||
return cc.OrderStatus(&ob)
|
||||
})
|
||||
callbackResponse = cc.OrderStatus(obj)
|
||||
}
|
||||
c.Data["json"] = callbackResponse
|
||||
c.ServeJSON()
|
||||
}
|
||||
|
||||
// @Title newOrder
|
||||
@@ -153,9 +130,11 @@ func (c *JDOrderController) ApplyCancelOrder() {
|
||||
// @Failure 403 body is empty
|
||||
// @router /pushDeliveryStatus [post]
|
||||
func (c *JDOrderController) PushDeliveryStatus() {
|
||||
var ob jdapi.JDDeliveryStatusMsg
|
||||
c.handleJDCallback(&ob, true, func() interface{} {
|
||||
obj, callbackResponse := globals.Jdapi.GetOrderDeliveryMsg(c.Ctx.Request)
|
||||
if callbackResponse == nil {
|
||||
cc := controller.OrderController{}
|
||||
return cc.OrderDeliveryStatus(&ob)
|
||||
})
|
||||
callbackResponse = cc.OrderDeliveryStatus(obj)
|
||||
}
|
||||
c.Data["json"] = callbackResponse
|
||||
c.ServeJSON()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user