29 lines
870 B
Go
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"]))
|
|
}
|