Commit acbbb049 by 杨树贤

实际库存

parent 1b8d5e18
...@@ -205,13 +205,6 @@ func (ls *LyService) LyGoodsDetail(ctx context.Context, params RequestParams, go ...@@ -205,13 +205,6 @@ func (ls *LyService) LyGoodsDetail(ctx context.Context, params RequestParams, go
sku.StockInfo = ls.getStockInfo(sku.SupplierId, sku.OldGoodsId) sku.StockInfo = ls.getStockInfo(sku.SupplierId, sku.OldGoodsId)
} }
//获取新的在途库存信息
sku.OnwayStock = ls.getOnwayStock(sku.GoodsId)
if sku.IsZiying == 1 {
// 计算实物库存:stock - onway_stock
sku.PhysicalStock = sku.Stock - int64(sku.OnwayStock)
}
//格式化为对象返回 //格式化为对象返回
if sku.StockInfo == nil { if sku.StockInfo == nil {
type StockInfoResult struct { type StockInfoResult struct {
...@@ -347,7 +340,7 @@ func (ls *LyService) LyGoodsDetail(ctx context.Context, params RequestParams, go ...@@ -347,7 +340,7 @@ func (ls *LyService) LyGoodsDetail(ctx context.Context, params RequestParams, go
sku.LadderPriceResult = []int{} sku.LadderPriceResult = []int{}
} }
sku.Stock, sku.StockJd = ls.GetStock(sku) sku.Stock, sku.StockJd, sku = ls.GetStock(sku)
//判断是否可以购买 //判断是否可以购买
sku.IsBuy = ls.GetIsBuy(sku) sku.IsBuy = ls.GetIsBuy(sku)
......
...@@ -276,7 +276,11 @@ func (ls *LyService) GetIsBuy(sku model.LySku) (isBuy int) { ...@@ -276,7 +276,11 @@ func (ls *LyService) GetIsBuy(sku model.LySku) (isBuy int) {
} }
// 获取库存 // 获取库存
func (ls *LyService) GetStock(sku model.LySku) (stock_all, jd_stock int64) { func (ls *LyService) GetStock(sku model.LySku) (stock_all int64, jd_stock int64, skuResult model.LySku) {
//获取新的在途库存信息
sku.OnwayStock = ls.getOnwayStock(sku.GoodsId)
//过期修改库存为0 //过期修改库存为0
if sku.IsExpire == 1 && sku.SupplierId != 17 { if sku.IsExpire == 1 && sku.SupplierId != 17 {
sku.Stock = 0 sku.Stock = 0
...@@ -291,6 +295,8 @@ func (ls *LyService) GetStock(sku model.LySku) (stock_all, jd_stock int64) { ...@@ -291,6 +295,8 @@ func (ls *LyService) GetStock(sku model.LySku) (stock_all, jd_stock int64) {
if shouldClose { if shouldClose {
defer redisCon.Close() defer redisCon.Close()
} }
sku.PhysicalStock = sku.Stock - int64(sku.OnwayStock)
stockStr, _ := redis.String(redisCon.Do("HGET", "sku_lock_stock", sku.GoodsId)) stockStr, _ := redis.String(redisCon.Do("HGET", "sku_lock_stock", sku.GoodsId))
lockStock, _ := strconv.ParseInt(stockStr, 10, 64) lockStock, _ := strconv.ParseInt(stockStr, 10, 64)
if sku.Stock < lockStock { if sku.Stock < lockStock {
...@@ -298,12 +304,17 @@ func (ls *LyService) GetStock(sku model.LySku) (stock_all, jd_stock int64) { ...@@ -298,12 +304,17 @@ func (ls *LyService) GetStock(sku model.LySku) (stock_all, jd_stock int64) {
} else { } else {
stock_all_t = sku.Stock - lockStock stock_all_t = sku.Stock - lockStock
} }
skuLockStockOnwayStr, _ := redis.String(redisCon.Do("HGET", "sku_lock_stock_onway", sku.GoodsId))
skuLockStockOnway, _ := strconv.ParseInt(skuLockStockOnwayStr, 10, 64)
//实际库存
sku.PhysicalStock = sku.Stock - int64(sku.OnwayStock) - (lockStock - skuLockStockOnway)
//获取京东库存 //获取京东库存
jdStockShiwuStr, _ := redis.String(redisCon.Do("HGET", "sku_jd_stock", sku.GoodsId)) // 京东单个sku实物总数量 jdStockShiwuStr, _ := redis.String(redisCon.Do("HGET", "sku_jd_stock", sku.GoodsId)) // 京东单个sku实物总数量
jdStockLockStr, _ := redis.String(redisCon.Do("HGET", "sku_lock_stock_jd", sku.GoodsId)) //京东锁库数量 jdStockLockStr, _ := redis.String(redisCon.Do("HGET", "sku_lock_stock_jd", sku.GoodsId)) //京东锁库数量
jd_stock_t = gconv.Int64(jdStockShiwuStr) - gconv.Int64(jdStockLockStr) jd_stock_t = gconv.Int64(jdStockShiwuStr) - gconv.Int64(jdStockLockStr)
} }
return stock_all_t, jd_stock_t return stock_all_t, jd_stock_t, sku
} }
// 合并spu的信息 // 合并spu的信息
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment