- ebai.financial中,获取order_id全用GetOrderIDFromMsg或GetOrderIDFromMap

This commit is contained in:
gazebo
2019-04-28 17:40:49 +08:00
parent 7fa0911495
commit f403a74bc0
2 changed files with 14 additions and 10 deletions

View File

@@ -31,7 +31,11 @@ func OnCallbackMsg(msg *ebaiapi.CallbackMsg) (response *ebaiapi.CallbackResponse
} }
func GetOrderIDFromMsg(msg *ebaiapi.CallbackMsg) string { 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 { if tryOrderID, ok := orderID.(string); ok {
return tryOrderID return tryOrderID
} }

View File

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