- 处理美团外卖赠品问题

This commit is contained in:
gazebo
2019-05-20 14:16:52 +08:00
parent 5cee1ffe0d
commit e4645a5032
2 changed files with 30 additions and 4 deletions

View File

@@ -151,6 +151,30 @@ func (p *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo
// }
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)
return order
}

View File

@@ -462,10 +462,12 @@ func skuList2Map(skuList []*model.OrderSku) (skuMap map[int]*model.OrderSku) {
skuMap = make(map[int]*model.OrderSku)
for _, sku := range skuList {
skuID := jxutils.GetSkuIDFromOrderSku(sku)
if skuMap[skuID] == nil {
skuMap[skuID] = sku
} else {
skuMap[skuID].Count += sku.Count
if sku.SkuID > 0 {
if skuMap[skuID] == nil {
skuMap[skuID] = sku
} else {
skuMap[skuID].Count += sku.Count
}
}
}
return skuMap