From 50790b36866a5d0e7c3e48980bfee76892fad92f Mon Sep 17 00:00:00 2001 From: gazebo Date: Thu, 21 Jun 2018 14:30:45 +0800 Subject: [PATCH] - dada added. --- business/dada/controller/order.go | 20 +++++++++++++++++ business/freshfood/freshfood.go | 33 +++++++++++++++++++++++++--- conf/app.conf | 2 ++ controllers/dada_order.go | 36 +++++++++++++++++++++++++++++++ controllers/elm_order.go | 2 +- controllers/jd_order.go | 6 +++--- globals/globals2/globals2.go | 11 ++++++++++ main.go | 4 ++++ routers/router.go | 13 +++++++---- 9 files changed, 116 insertions(+), 11 deletions(-) create mode 100644 business/dada/controller/order.go create mode 100644 controllers/dada_order.go diff --git a/business/dada/controller/order.go b/business/dada/controller/order.go new file mode 100644 index 000000000..6993a448d --- /dev/null +++ b/business/dada/controller/order.go @@ -0,0 +1,20 @@ +package controller + +import ( + "git.rosy.net.cn/baseapi/platform/dadaapi" + "git.rosy.net.cn/jx-callback/globals/globals2" +) + +type OrderController struct { +} + +func Error2Response(err error) *dadaapi.DadaCallbackResponse { + if err != nil { + return dadaapi.FailedResponse + } + return dadaapi.SuccessResponse +} + +func (o *OrderController) OrderStatusChanged(msg *dadaapi.DadaCallbackMsg) *dadaapi.DadaCallbackResponse { + return Error2Response(globals2.FreshFoodAPI.DadaOrderStatusChanged(msg)) +} diff --git a/business/freshfood/freshfood.go b/business/freshfood/freshfood.go index b73aae10a..9e390fa95 100644 --- a/business/freshfood/freshfood.go +++ b/business/freshfood/freshfood.go @@ -5,6 +5,8 @@ import ( "net/url" "time" + "git.rosy.net.cn/baseapi/platform/dadaapi" + "git.rosy.net.cn/baseapi/platform/jdapi" "git.rosy.net.cn/baseapi/platform/mtpsapi" "git.rosy.net.cn/baseapi/utils" @@ -65,6 +67,17 @@ const ( URL_FRESHFOOD_PARA_EXCEPTIONTIME = "exceptionTime" ) +const ( + //转发美团配送配送状态 + URL_FRESHFOOD_DADADELIVERY_STATUS = "dadadelivery/status" + URL_FRESHFOOD_PARA_CLIENTID = "clientId" + URL_FRESHFOOD_PARA_CANCELFROM = "cancelFrom" + URL_FRESHFOOD_PARA_UPDATETIME = "updateTime" + URL_FRESHFOOD_PARA_DMID = "dmId" + URL_FRESHFOOD_PARA_DMNAME = "dmName" + URL_FRESHFOOD_PARA_DMMOBILE = "dmMobile" +) + const ( JD_VENDERID = 0 ELM_VENDERID = 2 @@ -132,7 +145,6 @@ func (f *FreshFoodAPI) JDOrderDeliveryStatus(jdOrderDeliveryStatusMsg *jdapi.JDD params.Set(URL_FRESHFOOD_PARA_ORDERID, jdOrderDeliveryStatusMsg.OrderId) params.Set(URL_FRESHFOOD_PARA_DELIVERYSTATUS, utils.Int2Str(jdOrderDeliveryStatusMsg.DeliveryStatus)) params.Set(URL_FRESHFOOD_PARA_DLIVERYSTATUSTIME, jdOrderDeliveryStatusMsg.DeliveryStatusTime) - params.Set(URL_FRESHFOOD_PARA_DELIVERYCARRIERNO, jdOrderDeliveryStatusMsg.DeliveryCarrierNo) params.Set(URL_FRESHFOOD_PARA_DELIVERYCARRIERNAME, jdOrderDeliveryStatusMsg.DeliveryCarrierName) params.Set(URL_FRESHFOOD_PARA_DELIVERYMANNO, jdOrderDeliveryStatusMsg.DeliveryManNo) @@ -185,12 +197,10 @@ func (f *FreshFoodAPI) MtpsOrderException(order *mtpsapi.MtpsCallbackOrderExcept params.Set(URL_FRESHFOOD_PARA_DELIVERYID, utils.Int64ToStr(order.DeliveryId)) params.Set(URL_FRESHFOOD_PARA_MTPEISONID, order.MtPeisongId) params.Set(URL_FRESHFOOD_PARA_ORDERID, order.OrderId) - params.Set(URL_FRESHFOOD_PARA_EXCEPTIONID, utils.Int64ToStr(order.ExceptionId)) params.Set(URL_FRESHFOOD_PARA_EXCEPTIONCODE, utils.Int2Str(order.ExceptionCode)) params.Set(URL_FRESHFOOD_PARA_EXCEPTIONDESC, order.ExceptionDescr) params.Set(URL_FRESHFOOD_PARA_EXCEPTIONTIME, utils.Int64ToStr(order.ExceptionTime)) - params.Set(URL_FRESHFOOD_PARA_COURIERNAME, order.CourierName) params.Set(URL_FRESHFOOD_PARA_COURIERPHONE, order.CourierPhone) params.Set(URL_FRESHFOOD_PARA_APPKEY, order.AppKey) @@ -199,3 +209,20 @@ func (f *FreshFoodAPI) MtpsOrderException(order *mtpsapi.MtpsCallbackOrderExcept return f.AccessFreshFood(URL_FRESHFOOD_MTPS_EXCEPTION, params) } + +// dada + +func (f *FreshFoodAPI) DadaOrderStatusChanged(msg *dadaapi.DadaCallbackMsg) error { + params := make(url.Values) + params.Set(URL_FRESHFOOD_PARA_CLIENTID, msg.ClientId) + params.Set(URL_FRESHFOOD_PARA_ORDERID, msg.OrderId) + params.Set(URL_FRESHFOOD_PARA_ORDERSTATUS, utils.Int2Str(msg.OrderStatus)) + params.Set(URL_FRESHFOOD_PARA_CANCELREASON, msg.CancelReason) + params.Set(URL_FRESHFOOD_PARA_CANCELFROM, utils.Int2Str(msg.CancelFrom)) + params.Set(URL_FRESHFOOD_PARA_UPDATETIME, utils.Int2Str(msg.UpdateTime)) + params.Set(URL_FRESHFOOD_PARA_DMID, utils.Int2Str(msg.DmId)) + params.Set(URL_FRESHFOOD_PARA_DMNAME, msg.DmName) + params.Set(URL_FRESHFOOD_PARA_DMMOBILE, msg.DmMobile) + + return f.AccessFreshFood(URL_FRESHFOOD_DADADELIVERY_STATUS, params) +} diff --git a/conf/app.conf b/conf/app.conf index 5f5c2efe4..fee32eab6 100644 --- a/conf/app.conf +++ b/conf/app.conf @@ -5,3 +5,5 @@ autorender = false copyrequestbody = true EnableDocs = true RouterCaseSensitive = true + +filelinenum = true \ No newline at end of file diff --git a/controllers/dada_order.go b/controllers/dada_order.go new file mode 100644 index 000000000..22d74bd59 --- /dev/null +++ b/controllers/dada_order.go @@ -0,0 +1,36 @@ +package controllers + +import ( + "git.rosy.net.cn/baseapi/utils" + "git.rosy.net.cn/jx-callback/business/dada/controller" + "git.rosy.net.cn/jx-callback/globals/globals2" + "github.com/astaxie/beego" +) + +// Operations about ELMOrder +type DadaOrderController struct { + beego.Controller +} + +func (c *DadaOrderController) URLMapping() { + c.Mapping("OrderStatusChanged", c.OrderStatusChanged) +} + +// @Title all msg +// @Description create object +// @Success 200 {string} models.Object.Id +// @Failure 403 body is empty +// @router /order [post] +func (c *DadaOrderController) OrderStatusChanged() { + obj, callbackResponse := globals2.DadaAPI.GetOrderCallbackMsg(c.Ctx.Input.RequestBody) + if callbackResponse == nil { + cc := &controller.OrderController{} + callbackResponse = cc.OrderStatusChanged(obj) + } + if callbackResponse.Code != 200 { + c.CustomAbort(callbackResponse.Code, string(utils.MustMarshal(callbackResponse))) + } else { + c.Data["json"] = callbackResponse + c.ServeJSON() + } +} diff --git a/controllers/elm_order.go b/controllers/elm_order.go index 968805057..59839952f 100644 --- a/controllers/elm_order.go +++ b/controllers/elm_order.go @@ -23,7 +23,7 @@ func (c *ELMOrderController) URLMapping() { // @Failure 403 body is empty // @router /msg [post] func (c *ELMOrderController) MsgPost() { - obj, callbackResponse := globals2.ElmAPI.GetMsgFromData(c.Ctx.Input.RequestBody) + obj, callbackResponse := globals2.ElmAPI.GetCallbackMsg(c.Ctx.Input.RequestBody) if callbackResponse == nil { cc := &controller.OrderController{} callbackResponse = cc.OrderMessage(obj) diff --git a/controllers/jd_order.go b/controllers/jd_order.go index 673d1a60f..02b9f9823 100644 --- a/controllers/jd_order.go +++ b/controllers/jd_order.go @@ -24,7 +24,7 @@ func (c *JDOrderController) URLMapping() { } func (c *JDOrderController) orderStatus() { - obj, callbackResponse := globals2.Jdapi.GetOrderMsg(c.Ctx.Request) + obj, callbackResponse := globals2.Jdapi.GetOrderCallbackMsg(c.Ctx.Request) if callbackResponse == nil { cc := controller.OrderController{} callbackResponse = cc.OrderStatus(obj) @@ -120,7 +120,7 @@ func (c *JDOrderController) UserCancelOrder() { // @Failure 403 body is empty // @router /applyCancelOrder [post] func (c *JDOrderController) ApplyCancelOrder() { - obj, callbackResponse := globals2.Jdapi.GetOrderApplyCancelMsg(c.Ctx.Request) + obj, callbackResponse := globals2.Jdapi.GetOrderApplyCancelCallbackMsg(c.Ctx.Request) if callbackResponse == nil { cc := controller.OrderController{} callbackResponse = cc.OrderStatus(obj) @@ -136,7 +136,7 @@ func (c *JDOrderController) ApplyCancelOrder() { // @Failure 403 body is empty // @router /pushDeliveryStatus [post] func (c *JDOrderController) PushDeliveryStatus() { - obj, callbackResponse := globals2.Jdapi.GetOrderDeliveryMsg(c.Ctx.Request) + obj, callbackResponse := globals2.Jdapi.GetOrderDeliveryCallbackMsg(c.Ctx.Request) if callbackResponse == nil { cc := controller.OrderController{} callbackResponse = cc.OrderDeliveryStatus(obj) diff --git a/globals/globals2/globals2.go b/globals/globals2/globals2.go index d33a05bb7..16abf4a6b 100644 --- a/globals/globals2/globals2.go +++ b/globals/globals2/globals2.go @@ -1,6 +1,7 @@ package globals2 import ( + "git.rosy.net.cn/baseapi/platform/dadaapi" "git.rosy.net.cn/baseapi/platform/elmapi" "git.rosy.net.cn/baseapi/platform/jdapi" "git.rosy.net.cn/baseapi/platform/mtpsapi" @@ -49,6 +50,14 @@ const ( mtpsSecret = "b1M}9?:sTbsB[OF2gNORnN(|(iy9rB8(`7]|[wGLnbmt`evfM>E:A90DjHAW:UPE" ) +const ( + dadaAppKey = "dada9623324449cd250" + dadaAppSecret = "30c2abbfe8a8780ad5aace46300c64b9" + dadaIsProd = false + dadaCallbackURL = "http://callback.jxc4.com/dada/order" + dadaSourceId = "73753" +) + const ( dbConnectStr = "root:WebServer@1@tcp(127.0.0.1:3306)/jx-callback?charset=utf8&loc=Local" ) @@ -63,6 +72,7 @@ var ( Jdapi *jdapi.JDAPI ElmAPI *elmapi.ELMAPI MtpsAPI *mtpsapi.MTPSAPI + DadaAPI *dadaapi.DadaAPI ) func init() { @@ -71,6 +81,7 @@ func init() { Jdapi = jdapi.NewJDAPI(jdToken, jdAppKey, jdSecret) initElm() MtpsAPI = mtpsapi.NewMTPSAPI(mtpsAppKey, mtpsSecret) + DadaAPI = dadaapi.NewDadaAPI(dadaAppKey, dadaAppSecret, dadaSourceId, dadaCallbackURL, dadaIsProd) } func initElm() { diff --git a/main.go b/main.go index 102c1181c..74864d141 100644 --- a/main.go +++ b/main.go @@ -6,9 +6,13 @@ import ( "git.rosy.net.cn/jx-callback/globals" _ "git.rosy.net.cn/jx-callback/routers" "github.com/astaxie/beego" + "github.com/astaxie/beego/logs" ) func main() { + logs.SetLogFuncCallDepth(3) + beego.BConfig.Log.AccessLogs = true + baseapi.Init(globals.SugarLogger) controller.InitOrder() diff --git a/routers/router.go b/routers/router.go index 4fad59dda..969a524ce 100644 --- a/routers/router.go +++ b/routers/router.go @@ -14,20 +14,25 @@ import ( ) func init() { - ns := beego.NewNamespace("/djsw", + nsJd := beego.NewNamespace("/djsw", beego.NSInclude( &controllers.JDOrderController{}, ), ) - ns2 := beego.NewNamespace("/eleme", + nsElm := beego.NewNamespace("/eleme", beego.NSInclude( &controllers.ELMOrderController{}, ), ) - ns3 := beego.NewNamespace("/mtps", + nsMtps := beego.NewNamespace("/mtps", beego.NSInclude( &controllers.MTPSOrderController{}, ), ) - beego.AddNamespace(ns, ns2, ns3) + nsDada := beego.NewNamespace("/dada", + beego.NSInclude( + &controllers.DadaOrderController{}, + ), + ) + beego.AddNamespace(nsJd, nsElm, nsMtps, nsDada) }