- 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
|
var sql string
|
||||||
if orderSkus[0].VendorID == model.VendorIDJD { // todo 为什么要区分京东与其它?
|
if orderSkus[0].VendorID == model.VendorIDJD { // todo 为什么要区分京东与其它?
|
||||||
sql = `
|
sql = `
|
||||||
SELECT t1.jdskuid, t1.skuid, t2.price
|
SELECT t1.jdskuid, t1.skuid, t2.price, t3.weight
|
||||||
FROM skumapper t1
|
FROM skumapper t1
|
||||||
LEFT JOIN jx_sku_store_bind t2 ON t1.skuid = t2.jxskuid AND t2.jxstoreid = ?
|
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,`
|
WHERE t1.jdskuid IN (-1,`
|
||||||
} else {
|
} else {
|
||||||
sql = `
|
sql = `
|
||||||
SELECT t2.jxskuid, t2.jxskuid, t2.price
|
SELECT t2.jxskuid, t2.jxskuid, t2.price, t3.weight
|
||||||
FROM jx_sku_store_bind t2
|
FROM jx_sku_store_bind t2
|
||||||
|
LEFT JOIN jx_sku t3 ON t2.jxskuid = t3.id
|
||||||
WHERE t2.jxstoreid = ? AND t2.jxskuid IN (-1,`
|
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)
|
// globals.SugarLogger.Debug(skumapper)
|
||||||
for _, v := range orderSkus {
|
for _, v := range orderSkus {
|
||||||
if orderSkus[0].VendorID == model.VendorIDJD {
|
if order.VendorID == model.VendorIDJD {
|
||||||
if values, ok := skumapper[v.VendorSkuID]; ok {
|
if values, ok := skumapper[v.VendorSkuID]; ok {
|
||||||
v.JxSkuID = int(utils.Str2Int64(utils.Interface2String(values[1])))
|
v.JxSkuID = int(utils.Str2Int64(utils.Interface2String(values[1])))
|
||||||
v.ShopPrice = utils.Str2Int64WithDefault(utils.Interface2String(values[2]), 0)
|
v.ShopPrice = utils.Str2Int64WithDefault(utils.Interface2String(values[2]), 0)
|
||||||
@@ -236,6 +238,9 @@ func (c *OrderManager) updateOrderSkuOtherInfo(order *model.GoodsOrder, db orm.O
|
|||||||
} else {
|
} else {
|
||||||
if v.SkuID != 0 {
|
if v.SkuID != 0 {
|
||||||
if values, ok := skumapper[utils.Int2Str(v.SkuID)]; ok {
|
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)
|
v.ShopPrice = utils.Str2Int64WithDefault(utils.Interface2String(values[2]), 0)
|
||||||
order.ShopPrice += v.ShopPrice * int64(v.Count)
|
order.ShopPrice += v.ShopPrice * int64(v.Count)
|
||||||
if v.ShopPrice == 0 {
|
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)
|
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
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -185,7 +185,7 @@ func (c *PurchaseHandler) callbackMsg2Status(msg *ebaiapi.CallbackMsg) *model.Or
|
|||||||
|
|
||||||
func getTimeFromTimestampStr(sendTime string) time.Time {
|
func getTimeFromTimestampStr(sendTime string) time.Time {
|
||||||
timeStamp := utils.Str2Int64WithDefault(sendTime, 0)
|
timeStamp := utils.Str2Int64WithDefault(sendTime, 0)
|
||||||
if timeStamp == 0 {
|
if timeStamp < 1538103149 { // 立即达订单给的是1(而不是空,0),1538103149不是特殊值,只是一个任意之前的时间,这样写可以处理
|
||||||
return utils.DefaultTimeValue
|
return utils.DefaultTimeValue
|
||||||
}
|
}
|
||||||
return utils.Timestamp2Time(timeStamp)
|
return utils.Timestamp2Time(timeStamp)
|
||||||
|
|||||||
Reference in New Issue
Block a user