- 处理美团外卖赠品问题
This commit is contained in:
@@ -151,6 +151,30 @@ func (p *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo
|
|||||||
// }
|
// }
|
||||||
order.Skus = append(order.Skus, sku)
|
order.Skus = append(order.Skus, sku)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 添加需要赠送的东西
|
||||||
|
if result["extras"] != nil {
|
||||||
|
var extraList []*mtwmapi.OrderExtraInfo
|
||||||
|
if err := utils.UnmarshalUseNumber([]byte(result["extras"].(string)), &extraList); err != nil {
|
||||||
|
panic(fmt.Sprintf("mtwm Map2Order vendorID:%s failed with error:%v", vendorOrderID, err))
|
||||||
|
}
|
||||||
|
for _, extra := range extraList {
|
||||||
|
if extra.Type == mtwmapi.ExtrasPromotionTypeTaoCanZeng || extra.Type == mtwmapi.ExtrasPromotionTypeManZeng {
|
||||||
|
sku := &model.OrderSku{
|
||||||
|
VendorOrderID: order.VendorOrderID,
|
||||||
|
VendorID: model.VendorIDMTWM,
|
||||||
|
Count: 1,
|
||||||
|
SkuID: 0,
|
||||||
|
VendorSkuID: "",
|
||||||
|
SkuName: extra.Remark,
|
||||||
|
Weight: 0,
|
||||||
|
SalePrice: 0,
|
||||||
|
}
|
||||||
|
order.Skus = append(order.Skus, sku)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
jxutils.RefreshOrderSkuRelated(order)
|
jxutils.RefreshOrderSkuRelated(order)
|
||||||
return order
|
return order
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -462,12 +462,14 @@ func skuList2Map(skuList []*model.OrderSku) (skuMap map[int]*model.OrderSku) {
|
|||||||
skuMap = make(map[int]*model.OrderSku)
|
skuMap = make(map[int]*model.OrderSku)
|
||||||
for _, sku := range skuList {
|
for _, sku := range skuList {
|
||||||
skuID := jxutils.GetSkuIDFromOrderSku(sku)
|
skuID := jxutils.GetSkuIDFromOrderSku(sku)
|
||||||
|
if sku.SkuID > 0 {
|
||||||
if skuMap[skuID] == nil {
|
if skuMap[skuID] == nil {
|
||||||
skuMap[skuID] = sku
|
skuMap[skuID] = sku
|
||||||
} else {
|
} else {
|
||||||
skuMap[skuID].Count += sku.Count
|
skuMap[skuID].Count += sku.Count
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return skuMap
|
return skuMap
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user