Commit db02deb2 by hcy

获取新的在途库存

parent 700776c5
Showing with 85 additions and 85 deletions
package service
import (
"go_sku_server/model"
"go_sku_server/pkg/gredis"
"go_sku_server/pkg/logger"
"go_sku_server/pkg/mongo"
"go_sku_server/pkg/vars"
"time"
"github.com/gogf/gf/util/gconv"
"github.com/gomodule/redigo/redis"
"github.com/syyongx/php2go"
"gopkg.in/mgo.v2"
"gopkg.in/mgo.v2/bson"
)
// 在途库存服务
type StockInfoService struct {
}
// 这个是老的在途库存,基本上就是Digikey用的
func (ss *LyService) getStockInfo(supplierId, oldGoodsId int64) interface{} {
if !php2go.InArray(supplierId, vars.StockInfoSupplierIds) {
return nil
}
var stockInfo model.StockInfo
//去mongodb获取在途库存信息
mongodb := mongo.Conn("default")
defer func() {
mongodb.Close()
}()
//还要判断去哪个集合取值
collectionName := vars.StockInfoSupplierMap[supplierId]
type Goods struct {
StockInfo model.StockInfo `bson:"stock_info"`
}
var goods Goods
err := mongodb.DB("ichunt").C(collectionName).Find(bson.M{"goods_id": int(oldGoodsId)}).One(&goods)
if err != nil && err != mgo.ErrNotFound {
logger.Select("sku_query").Error(err.Error())
}
stockInfo = goods.StockInfo
if stockInfo.PeriodTime > 0 {
stockInfo.PeriodTimeFormat = time.Unix(int64(stockInfo.PeriodTime), 0).Format("2006-01-02")
}
if stockInfo.Stock != 0 || stockInfo.PeriodTime != 0 {
return stockInfo
}
return nil
}
// 获取新的在途库存
func (ss *LyService) getOnwayStock(goodsId string) int {
redisConn := gredis.Conn("search_r")
defer func() {
redisConn.Close()
}()
onWayStockStr, _ := redis.String(redisConn.Do("HGET", "sku_onway_stock", goodsId))
if onWayStockStr == "" {
return 0
}
return gconv.Int(onWayStockStr)
}
// 获取新的在途库存
func (ss *LyService) getLimitStock(goodsId string) (has bool, stock int) {
redisConn := gredis.Conn("search_r")
defer func() {
redisConn.Close()
}()
limitStockStr, _ := redis.String(redisConn.Do("HGET", "limit_stock", goodsId))
if limitStockStr == "" {
return false, 0
}
return true, gconv.Int(limitStockStr)
}
package service
import (
"go_sku_server/model"
"go_sku_server/pkg/gredis"
"go_sku_server/pkg/logger"
"go_sku_server/pkg/mongo"
"go_sku_server/pkg/vars"
"time"
"github.com/gogf/gf/util/gconv"
"github.com/gomodule/redigo/redis"
"github.com/syyongx/php2go"
"gopkg.in/mgo.v2"
"gopkg.in/mgo.v2/bson"
)
// 在途库存服务
type StockInfoService struct {
}
// 这个是老的在途库存,基本上就是Digikey用的
func (ss *LyService) getStockInfo(supplierId, oldGoodsId int64) interface{} {
if !php2go.InArray(supplierId, vars.StockInfoSupplierIds) {
return nil
}
var stockInfo model.StockInfo
//去mongodb获取在途库存信息
mongodb := mongo.Conn("default")
defer func() {
mongodb.Close()
}()
//还要判断去哪个集合取值
collectionName := vars.StockInfoSupplierMap[supplierId]
type Goods struct {
StockInfo model.StockInfo `bson:"stock_info"`
}
var goods Goods
err := mongodb.DB("ichunt").C(collectionName).Find(bson.M{"goods_id": int(oldGoodsId)}).One(&goods)
if err != nil && err != mgo.ErrNotFound {
logger.Select("sku_query").Error(err.Error())
}
stockInfo = goods.StockInfo
if stockInfo.PeriodTime > 0 {
stockInfo.PeriodTimeFormat = time.Unix(int64(stockInfo.PeriodTime), 0).Format("2006-01-02")
}
if stockInfo.Stock != 0 || stockInfo.PeriodTime != 0 {
return stockInfo
}
return nil
}
// 获取新的在途库存
func (ss *LyService) getOnwayStock(goodsId string) int {
redisConn := gredis.Conn("spu")
defer func() {
redisConn.Close()
}()
onWayStockStr, _ := redis.String(redisConn.Do("HGET", "sku_onway_stock", goodsId))
if onWayStockStr == "" {
return 0
}
return gconv.Int(onWayStockStr)
}
// 获取新的在途库存
func (ss *LyService) getLimitStock(goodsId string) (has bool, stock int) {
redisConn := gredis.Conn("search_r")
defer func() {
redisConn.Close()
}()
limitStockStr, _ := redis.String(redisConn.Do("HGET", "limit_stock", goodsId))
if limitStockStr == "" {
return false, 0
}
return true, gconv.Int(limitStockStr)
}
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