Files
jx-callback/business/partner/purchase/ebai/callback.go
2018-11-14 07:29:47 +08:00

29 lines
870 B
Go

package ebai
import (
"git.rosy.net.cn/baseapi/platformapi/ebaiapi"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxutils"
"git.rosy.net.cn/jx-callback/business/model"
)
func OnCallbackMsg(msg *ebaiapi.CallbackMsg) (response *ebaiapi.CallbackResponse) {
orderID := GetOrderIDFromMsg(msg)
jxutils.CallMsgHandler(func() {
switch msg.Cmd {
case ebaiapi.CmdOrderCreate, ebaiapi.CmdOrderStatus:
response = curPurchaseHandler.onOrderMsg(msg)
case ebaiapi.CmdOrderDeliveryStatus:
response = curPurchaseHandler.onWaybillMsg(msg)
}
}, jxutils.ComposeUniversalOrderID(orderID, model.VendorIDEBAI))
return response
}
func GetOrderIDFromMsg(msg *ebaiapi.CallbackMsg) string {
if tryOrderID, ok := msg.Body["order_id"].(string); ok {
return tryOrderID
}
return utils.Int64ToStr(utils.MustInterface2Int64(msg.Body["order_id"]))
}