- dada added.

This commit is contained in:
gazebo
2018-06-21 14:30:45 +08:00
parent 30fac5afa3
commit 50790b3686
9 changed files with 116 additions and 11 deletions

View File

@@ -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))
}

View File

@@ -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)
}

View File

@@ -5,3 +5,5 @@ autorender = false
copyrequestbody = true
EnableDocs = true
RouterCaseSensitive = true
filelinenum = true

36
controllers/dada_order.go Normal file
View File

@@ -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()
}
}

View File

@@ -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)

View File

@@ -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)

View File

@@ -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() {

View File

@@ -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()

View File

@@ -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)
}