From 6ad23a038c3526f1476bba6ed3541f6cc50b091c Mon Sep 17 00:00:00 2001 From: gazebo Date: Mon, 1 Jul 2019 10:58:36 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E9=A5=BF=E7=99=BE=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=B5=A0=E5=93=81sku?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/ebai/order.go | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/business/partner/purchase/ebai/order.go b/business/partner/purchase/ebai/order.go index c3f67ac9d..9e0efad2d 100644 --- a/business/partner/purchase/ebai/order.go +++ b/business/partner/purchase/ebai/order.go @@ -99,6 +99,7 @@ func (p *PurchaseHandler) GetOrder4PartRefund(vendorOrderID string) (order *mode order = p.Map2Order(result1) if err2 == nil { order.Skus = p.partRefund2OrderDetailSkuList(utils.Interface2String(result2["order_id"]), result2["order_detail"]) + order.Skus = append(order.Skus, getZengSkus(vendorOrderID, result1)...) order.ActualPayPrice = utils.MustInterface2Int64(result2["user_fee"]) jxutils.RefreshOrderSkuRelated(order) } else if err2Ext, ok := err2.(*utils.ErrorWithCode); !ok || err2Ext.IntCode() != ebaiapi.ErrOrderIsNotPartRefund { @@ -110,6 +111,26 @@ func (p *PurchaseHandler) GetOrder4PartRefund(vendorOrderID string) (order *mode return order, err } +func getZengSkus(orderID string, orderMan map[string]interface{}) (skus []*model.OrderSku) { + discounts, _ := orderMan["discount"].([]interface{}) + for _, v := range discounts { + discount := v.(map[string]interface{}) + if utils.Interface2String(discount["type"]) == ebaiapi.OrderSkuDiscountTypeZeng { + sku := &model.OrderSku{ + VendorOrderID: orderID, + VendorID: model.VendorIDEBAI, + Count: 1, + SkuID: 0, + VendorSkuID: "", + SkuName: utils.Interface2String(discount["desc"]), + VendorPrice: 0, + } + skus = append(skus, sku) + } + } + return skus +} + func (p *PurchaseHandler) partRefund2OrderDetailSkuList(orderID string, orderDetail2 interface{}) (skuList []*model.OrderSku) { orderDetail := orderDetail2.([]interface{}) for _, product2 := range orderDetail { @@ -197,7 +218,6 @@ func (p *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo order.ConsigneeLat = jxutils.StandardCoordinate2Int(originalLat) products := result["products"].([]interface{})[0].([]interface{}) - // discounts := result["discount"].(map[string]interface{}) for _, product2 := range products { product := product2.(map[string]interface{}) skuName := product["product_name"].(string) @@ -224,6 +244,7 @@ func (p *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo // } order.Skus = append(order.Skus, sku) } + order.Skus = append(order.Skus, getZengSkus(vendorOrderID, orderData)...) jxutils.RefreshOrderSkuRelated(order) return order }