- recalculate order.Weight when platform not give
This commit is contained in:
@@ -187,14 +187,16 @@ func (c *OrderManager) updateOrderSkuOtherInfo(order *model.GoodsOrder, db orm.O
|
||||
var sql string
|
||||
if orderSkus[0].VendorID == model.VendorIDJD { // todo 为什么要区分京东与其它?
|
||||
sql = `
|
||||
SELECT t1.jdskuid, t1.skuid, t2.price
|
||||
SELECT t1.jdskuid, t1.skuid, t2.price, t3.weight
|
||||
FROM skumapper t1
|
||||
LEFT JOIN jx_sku_store_bind t2 ON t1.skuid = t2.jxskuid AND t2.jxstoreid = ?
|
||||
LEFT JOIN jx_sku t3 ON t2.jxskuid = t3.id
|
||||
WHERE t1.jdskuid IN (-1,`
|
||||
} else {
|
||||
sql = `
|
||||
SELECT t2.jxskuid, t2.jxskuid, t2.price
|
||||
SELECT t2.jxskuid, t2.jxskuid, t2.price, t3.weight
|
||||
FROM jx_sku_store_bind t2
|
||||
LEFT JOIN jx_sku t3 ON t2.jxskuid = t3.id
|
||||
WHERE t2.jxstoreid = ? AND t2.jxskuid IN (-1,`
|
||||
}
|
||||
|
||||
@@ -222,7 +224,7 @@ func (c *OrderManager) updateOrderSkuOtherInfo(order *model.GoodsOrder, db orm.O
|
||||
}
|
||||
// globals.SugarLogger.Debug(skumapper)
|
||||
for _, v := range orderSkus {
|
||||
if orderSkus[0].VendorID == model.VendorIDJD {
|
||||
if order.VendorID == model.VendorIDJD {
|
||||
if values, ok := skumapper[v.VendorSkuID]; ok {
|
||||
v.JxSkuID = int(utils.Str2Int64(utils.Interface2String(values[1])))
|
||||
v.ShopPrice = utils.Str2Int64WithDefault(utils.Interface2String(values[2]), 0)
|
||||
@@ -236,6 +238,9 @@ func (c *OrderManager) updateOrderSkuOtherInfo(order *model.GoodsOrder, db orm.O
|
||||
} else {
|
||||
if v.SkuID != 0 {
|
||||
if values, ok := skumapper[utils.Int2Str(v.SkuID)]; ok {
|
||||
if v.Weight == 0 {
|
||||
v.Weight = jxutils.FloatWeight2Int(float32(utils.Str2Float64WithDefault(utils.Interface2String(values[3]), 0.0)))
|
||||
}
|
||||
v.ShopPrice = utils.Str2Int64WithDefault(utils.Interface2String(values[2]), 0)
|
||||
order.ShopPrice += v.ShopPrice * int64(v.Count)
|
||||
if v.ShopPrice == 0 {
|
||||
@@ -283,7 +288,13 @@ func (c *OrderManager) updateOrderOtherInfo(order *model.GoodsOrder, db orm.Orme
|
||||
globals.SugarLogger.Infof("updateOrderOtherInfo [运营]订单orderID:%s在京西找不到相应的京西门店信息,请处理, VendorStoreID:%s, num:%d, error:%v", order.VendorOrderID, order.VendorStoreID, num, err)
|
||||
}
|
||||
}
|
||||
err = c.updateOrderSkuOtherInfo(order, db)
|
||||
if err = c.updateOrderSkuOtherInfo(order, db); err == nil {
|
||||
if order.Weight == 0 {
|
||||
for _, v := range order.Skus {
|
||||
order.Weight += v.Weight
|
||||
}
|
||||
}
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
@@ -185,7 +185,7 @@ func (c *PurchaseHandler) callbackMsg2Status(msg *ebaiapi.CallbackMsg) *model.Or
|
||||
|
||||
func getTimeFromTimestampStr(sendTime string) time.Time {
|
||||
timeStamp := utils.Str2Int64WithDefault(sendTime, 0)
|
||||
if timeStamp == 0 {
|
||||
if timeStamp < 1538103149 { // 立即达订单给的是1(而不是空,0),1538103149不是特殊值,只是一个任意之前的时间,这样写可以处理
|
||||
return utils.DefaultTimeValue
|
||||
}
|
||||
return utils.Timestamp2Time(timeStamp)
|
||||
|
||||
Reference in New Issue
Block a user