diff --git a/business/partner/purchase/ebai/callback.go b/business/partner/purchase/ebai/callback.go index aa283022d..e272675c9 100644 --- a/business/partner/purchase/ebai/callback.go +++ b/business/partner/purchase/ebai/callback.go @@ -31,7 +31,11 @@ func OnCallbackMsg(msg *ebaiapi.CallbackMsg) (response *ebaiapi.CallbackResponse } func GetOrderIDFromMsg(msg *ebaiapi.CallbackMsg) string { - if orderID := msg.Body["order_id"]; orderID != nil { + return GetOrderIDFromMap(msg.Body) +} + +func GetOrderIDFromMap(orderMap map[string]interface{}) string { + if orderID := orderMap["order_id"]; orderID != nil { if tryOrderID, ok := orderID.(string); ok { return tryOrderID } diff --git a/business/partner/purchase/ebai/financial.go b/business/partner/purchase/ebai/financial.go index 12a986ddc..2260d5c4c 100644 --- a/business/partner/purchase/ebai/financial.go +++ b/business/partner/purchase/ebai/financial.go @@ -14,7 +14,7 @@ func OnFinancialMsg(msg *ebaiapi.CallbackMsg) (err error) { if msg.Cmd == ebaiapi.CmdOrderPartRefund { // 部分退款处理 if utils.Int64ToStr(utils.MustInterface2Int64(msg.Body["status"])) == ebaiapi.OrderPartRefundSuccess { // 获取到部分退款订单id - afsOrderID := utils.Interface2String(msg.Body["order_id"]) + afsOrderID := GetOrderIDFromMsg(msg) // 处理部分退款信息 orderData, err2 := api.EbaiAPI.OrderPartrefundGet(afsOrderID) if err = err2; err == nil { @@ -26,8 +26,8 @@ func OnFinancialMsg(msg *ebaiapi.CallbackMsg) (err error) { messageType := utils.Int64ToStr(utils.MustInterface2Int64(msg.Body["type"])) if utils.Int64ToStr(utils.MustInterface2Int64(msg.Body["cancel_type"])) == ebaiapi.OrderUserCancelTypeAfterSale && (messageType == ebaiapi.OrderUserCancelCSAgreed || messageType == ebaiapi.OrderUserCancelMerchantAgreed) { - globals.SugarLogger.Debug(utils.Interface2String(msg.Body["order_id"])) // 获得退款订单ID,去本地数据库拿?饿百消息推送只给了订单号,但是没有查询全额退款的接口,只有部分退款才可以查询 - afsOrderID := utils.Interface2String(msg.Body["order_id"]) + afsOrderID := GetOrderIDFromMsg(msg) + // 获得退款订单ID,去本地数据库拿?饿百消息推送只给了订单号,但是没有查询全额退款的接口,只有部分退款才可以查询 orderFinancial, err := partner.CurOrderManager.LoadOrderFinancial(afsOrderID, model.VendorIDEBAI) if err == nil { globals.SugarLogger.Debug(utils.Format4Output(orderFinancial, false)) @@ -51,8 +51,8 @@ func OnFinancialMsg(msg *ebaiapi.CallbackMsg) (err error) { func (p *PurchaseHandler) OrderFinancialDetail2Refund(orderFinancial *model.OrderFinancial, msg *ebaiapi.CallbackMsg) (afsOrder *model.AfsOrder) { afsOrder = &model.AfsOrder{ VendorID: model.VendorIDEBAI, - AfsOrderID: utils.Interface2String(msg.Body["order_id"]), - VendorOrderID: utils.Interface2String(msg.Body["order_id"]), + AfsOrderID: GetOrderIDFromMsg(msg), + VendorOrderID: GetOrderIDFromMsg(msg), AfsCreateAt: utils.Timestamp2Time(msg.Timestamp), // BoxMoney: orderFinancial.BoxMoney, // 饿百的餐盒费已经拆分到单条Sku里面,退款时直接计算用户支付sku金额就好了 // SkuBoxMoney: orderFinancial.SkuBoxMoney, @@ -106,8 +106,8 @@ func (p *PurchaseHandler) OrderFinancialDetail2Refund(orderFinancial *model.Orde func (p *PurchaseHandler) AfsOrderDetail2Financial(orderData map[string]interface{}) (afsOrder *model.AfsOrder) { afsOrder = &model.AfsOrder{ VendorID: model.VendorIDEBAI, - AfsOrderID: utils.Interface2String(orderData["order_id"]), - VendorOrderID: utils.Interface2String(orderData["order_id"]), + AfsOrderID: GetOrderIDFromMap(orderData), + VendorOrderID: GetOrderIDFromMap(orderData), } order, err := partner.CurOrderManager.LoadOrder(afsOrder.VendorOrderID, afsOrder.VendorID) if err == nil { @@ -168,7 +168,7 @@ func (p *PurchaseHandler) OnOrderDetail(result map[string]interface{}, operation // func (p *PurchaseHandler) GetTrueEbaiOrder(result1 map[string]interface{}) (result2 map[string]interface{}) { // order := result1["order"].(map[string]interface{}) // if utils.MustInterface2Int64(order["down_flag"]) == 1 { -// result, err := api.EbaiAPI.OrderGet(utils.Interface2String(order["order_id"])) +// result, err := api.EbaiAPI.OrderGet(GetOrderIDFromMap(order)) // if err == nil { // return p.GetTrueEbaiOrder(result) // } @@ -181,7 +181,7 @@ func (p *PurchaseHandler) OrderDetail2Financial(result map[string]interface{}) ( VendorID: model.VendorIDEBAI, } order1 := result["order"].(map[string]interface{}) - orderFinancial.VendorOrderID = utils.Interface2String(order1["order_id"]) + orderFinancial.VendorOrderID = GetOrderIDFromMap(order1) orderFinancial.VendorOrderID2 = utils.Interface2String(order1["eleme_order_id"]) // orderFinancial.DeliveryConfirmTime = getTimeFromInterface(order1["finished_time"]) orderFinancial.TotalDiscountMoney = utils.MustInterface2Int64(order1["discount_fee"])