Commit acbbb049 by 杨树贤

实际库存

parent 1b8d5e18
......@@ -205,13 +205,6 @@ func (ls *LyService) LyGoodsDetail(ctx context.Context, params RequestParams, go
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 {
type StockInfoResult struct {
......@@ -347,7 +340,7 @@ func (ls *LyService) LyGoodsDetail(ctx context.Context, params RequestParams, go
sku.LadderPriceResult = []int{}
}
sku.Stock, sku.StockJd = ls.GetStock(sku)
sku.Stock, sku.StockJd, sku = ls.GetStock(sku)
//判断是否可以购买
sku.IsBuy = ls.GetIsBuy(sku)
......
......@@ -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
if sku.IsExpire == 1 && sku.SupplierId != 17 {
sku.Stock = 0
......@@ -291,6 +295,8 @@ func (ls *LyService) GetStock(sku model.LySku) (stock_all, jd_stock int64) {
if shouldClose {
defer redisCon.Close()
}
sku.PhysicalStock = sku.Stock - int64(sku.OnwayStock)
stockStr, _ := redis.String(redisCon.Do("HGET", "sku_lock_stock", sku.GoodsId))
lockStock, _ := strconv.ParseInt(stockStr, 10, 64)
if sku.Stock < lockStock {
......@@ -298,12 +304,17 @@ func (ls *LyService) GetStock(sku model.LySku) (stock_all, jd_stock int64) {
} else {
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实物总数量
jdStockLockStr, _ := redis.String(redisCon.Do("HGET", "sku_lock_stock_jd", sku.GoodsId)) //京东锁库数量
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的信息
......
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