package service import ( "go_sku_server/model" "go_sku_server/pkg/logger" "go_sku_server/pkg/mongo" "go_sku_server/pkg/vars" "time" "github.com/syyongx/php2go" "gopkg.in/mgo.v2" "gopkg.in/mgo.v2/bson" ) //在途库存服务 type StockInfoService struct { } 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 }