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"])) }