- handle vendorSkuID is not numeric in updateOrderSkuOtherInfo

This commit is contained in:
gazebo
2018-11-30 17:19:44 +08:00
parent f2e45c24a8
commit 44a33a9d06

View File

@@ -205,10 +205,14 @@ func (c *OrderManager) updateOrderSkuOtherInfo(order *model.GoodsOrder, db orm.O
var sql string var sql string
if globals.OrderUseNewTable || jxStoreID == globals.DebugStoreID { if globals.OrderUseNewTable || jxStoreID == globals.DebugStoreID {
vendorSkuIDs := make([]int64, len(orderSkus)) vendorSkuIDs := make([]int64, 0)
for k, v := range orderSkus { for _, v := range orderSkus {
vendorSkuIDs[k] = utils.Str2Int64(v.VendorSkuID) intVendorSkuID := utils.Str2Int64WithDefault(v.VendorSkuID, 0)
if intVendorSkuID != 0 {
vendorSkuIDs = append(vendorSkuIDs, intVendorSkuID)
} }
}
if len(vendorSkuIDs) > 0 {
if order.VendorID == model.VendorIDELM { // todo 临时用 if order.VendorID == model.VendorIDELM { // todo 临时用
sql = ` sql = `
SELECT t1.sku_id vendor_sku_id, IF(t1.custom_sku_id = -1, 0, t1.custom_sku_id) sku_id, t2.unit_price, t3.weight SELECT t1.sku_id vendor_sku_id, IF(t1.custom_sku_id = -1, 0, t1.custom_sku_id) sku_id, t2.unit_price, t3.weight
@@ -241,8 +245,9 @@ func (c *OrderManager) updateOrderSkuOtherInfo(order *model.GoodsOrder, db orm.O
} }
for _, v := range orderSkus { for _, v := range orderSkus {
if v.VendorSkuID != "-70000" { // todo hard code intVendorSkuID := utils.Str2Int64WithDefault(v.VendorSkuID, 0)
skuBindInfo := skumapper[utils.Str2Int64(v.VendorSkuID)] if intVendorSkuID != 0 && v.VendorSkuID != "-70000" { // todo hard code
skuBindInfo := skumapper[intVendorSkuID]
if skuBindInfo == nil { if skuBindInfo == nil {
globals.SugarLogger.Infof("updateOrderSkuOtherInfo [运营%s]%s订单sku找不到门店价格或商品映射orderID:%s, StoreID:%d, VendorSkuID:%s, sku:%v", opNum, model.VendorChineseNames[order.VendorID], order.VendorOrderID, jxStoreID, v.VendorSkuID, v) globals.SugarLogger.Infof("updateOrderSkuOtherInfo [运营%s]%s订单sku找不到门店价格或商品映射orderID:%s, StoreID:%d, VendorSkuID:%s, sku:%v", opNum, model.VendorChineseNames[order.VendorID], order.VendorOrderID, jxStoreID, v.VendorSkuID, v)
} else { } else {
@@ -256,6 +261,7 @@ func (c *OrderManager) updateOrderSkuOtherInfo(order *model.GoodsOrder, db orm.O
} }
} }
} }
}
return nil return nil
} }
if order.VendorID == model.VendorIDJD { // todo 为什么要区分京东与其它? if order.VendorID == model.VendorIDJD { // todo 为什么要区分京东与其它?