package controllers import ( "git.rosy.net.cn/baseapi/platformapi/jdapi" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/partner/purchase/jd" "git.rosy.net.cn/jx-callback/globals" "git.rosy.net.cn/jx-callback/globals/api" "git.rosy.net.cn/jx-callback/legacy/jd/controller" "github.com/astaxie/beego" ) // Operations about JDOrder type JDOrderController struct { beego.Controller } func (c *JDOrderController) URLMapping() { c.Mapping("NewOrder", c.NewOrder) c.Mapping("OrderAdjust", c.OrderAdjust) c.Mapping("OrderWaitOutStore", c.OrderWaitOutStore) c.Mapping("PickFinishOrder", c.PickFinishOrder) c.Mapping("DeliveryOrder", c.DeliveryOrder) c.Mapping("LockOrder", c.LockOrder) c.Mapping("UserCancelOrder", c.UserCancelOrder) c.Mapping("ApplyCancelOrder", c.ApplyCancelOrder) c.Mapping("PushDeliveryStatus", c.PushDeliveryStatus) } func (c *JDOrderController) orderStatus(isCancelOrder bool) { var obj *jdapi.CallbackOrderMsg var callbackResponse *jdapi.CallbackResponse if isCancelOrder { obj, callbackResponse = api.JdAPI.GetOrderApplyCancelCallbackMsg(c.Ctx.Input.RequestBody) } else { obj, callbackResponse = api.JdAPI.GetOrderCallbackMsg(c.Ctx.Input.RequestBody) } if callbackResponse == nil { if globals.CallLegacyMsgHandler { cc := controller.OrderController{} callbackResponse = cc.OrderStatus(obj) } if globals.CallNewMsgHandler { if globals.CallLegacyMsgHandler { utils.CallFuncAsync(func() { jd.OnOrderMsg(obj) }) } else { callbackResponse = jd.OnOrderMsg(obj) } } } c.Data["json"] = callbackResponse c.ServeJSON() } // @Title newOrder // @Description create object // @Param jd_param_json formData string true "应用级别输入参数" // @Success 200 {string} models.Object.Id // @Failure 403 body is empty // @router /newOrder [post] func (c *JDOrderController) NewOrder() { c.orderStatus(false) } // @Title AdjustOrder // @Description create object // @Param jd_param_json formData string true "应用级别输入参数" // @Success 200 {string} models.Object.Id // @Failure 403 body is empty // @router /orderAdjust [post] func (c *JDOrderController) OrderAdjust() { c.orderStatus(false) } // @Title orderWaitOutStore // @Description create object // @Param jd_param_json formData string true "应用级别输入参数" // @Success 200 {string} models.Object.Id // @Failure 403 body is empty // @router /orderWaitOutStore [post] func (c *JDOrderController) OrderWaitOutStore() { c.orderStatus(false) } // @Title pickFinishOrder // @Description create object // @Param jd_param_json formData string true "应用级别输入参数" // @Success 200 {string} models.Object.Id // @Failure 403 body is empty // @router /pickFinishOrder [post] func (c *JDOrderController) PickFinishOrder() { c.orderStatus(false) } // @Title deliveryOrder // @Description create object // @Param jd_param_json formData string true "应用级别输入参数" // @Success 200 {string} models.Object.Id // @Failure 403 body is empty // @router /deliveryOrder [post] func (c *JDOrderController) DeliveryOrder() { c.orderStatus(false) } // @Title finishOrder // @Description create object // @Param jd_param_json formData string true "应用级别输入参数" // @Success 200 {string} models.Object.Id // @Failure 403 body is empty // @router /finishOrder [post] func (c *JDOrderController) FinishOrder() { c.orderStatus(false) } // @Title lockOrder // @Description create object // @Param jd_param_json formData string true "应用级别输入参数" // @Success 200 {string} models.Object.Id // @Failure 403 body is empty // @router /lockOrder [post] func (c *JDOrderController) LockOrder() { c.orderStatus(false) } // @Title userCancelOrder // @Description create object // @Param jd_param_json formData string true "应用级别输入参数" // @Success 200 {string} models.Object.Id // @Failure 403 body is empty // @router /userCancelOrder [post] func (c *JDOrderController) UserCancelOrder() { c.orderStatus(false) } // @Title applyCancelOrder // @Description create object // @Param jd_param_json formData string true "应用级别输入参数" // @Success 200 {string} models.Object.Id // @Failure 403 body is empty // @router /applyCancelOrder [post] func (c *JDOrderController) ApplyCancelOrder() { c.orderStatus(true) } // @Title pushDeliveryStatus // @Description create object // @Param jd_param_json formData string true "应用级别输入参数" // @Success 200 {string} models.Object.Id // @Failure 403 body is empty // @router /pushDeliveryStatus [post] func (c *JDOrderController) PushDeliveryStatus() { obj, callbackResponse := api.JdAPI.GetOrderDeliveryCallbackMsg(c.Ctx.Input.RequestBody) if callbackResponse == nil { if globals.CallLegacyMsgHandler { cc := controller.OrderController{} callbackResponse = cc.OrderDeliveryStatus(obj) } if globals.CallNewMsgHandler { if globals.CallLegacyMsgHandler { utils.CallFuncAsync(func() { jd.OnWaybillMsg(obj) }) } else { callbackResponse = jd.OnWaybillMsg(obj) } } } c.Data["json"] = callbackResponse c.ServeJSON() } // @Title pushDeliveryStatus // @Description create object // @Param jd_param_json formData string true "应用级别输入参数" // @Success 200 {string} models.Object.Id // @Failure 403 body is empty // @router /orderCommentPush [post] func (c *JDOrderController) OrderComment() { c.orderStatus(false) }