Class: SapModel::Sku
- Inherits:
-
Object
- Object
- SapModel::Sku
- Defined in:
- lib/sap_model/sku.rb
Class Method Summary collapse
-
.find_salespricelists_sku(source, id, skuid) ⇒ Object
根据来源,id获得单个商品.
-
.find_sku(source, id) ⇒ Object
根据来源,id获得单个商品规格.
-
.find_sku_channelprice(source, id) ⇒ Object
根据来源,id获得单个商品.
-
.find_sku_standprice(source, id) ⇒ Object
根据来源,id获得单个商品售价.
-
.find_sku_warehouseinfo(source, id) ⇒ Object
根据来源,id获得单个商品库存.
-
.find_variantvalue(source, id) ⇒ Object
根据来源,id获得单个商品variantvalue.
-
.get_salespricelists(source) ⇒ Object
根据来源获得所有商品价格.
-
.get_skus(source) ⇒ Object
根据来源获得所有商品规格.
-
.get_variantvalues(source) ⇒ Object
根据来源获得所有商品规格variantvalue.
-
.query(sku, source) ⇒ Object
为从sap接口获得的商品保存在云店家分装参数.
Class Method Details
.find_salespricelists_sku(source, id, skuid) ⇒ Object
Note:
根据来源,id获得单个商品
根据来源,id获得单个商品
41 42 43 44 |
# File 'lib/sap_model/sku.rb', line 41 def self.find_salespricelists_sku(source, id, skuid) params = {skuid: skuid} Sap::SalesPriceList.new(source).find(id, params) end |
.find_sku(source, id) ⇒ Object
Note:
根据来源,id获得单个商品规格
根据来源,id获得单个商品规格
49 50 51 |
# File 'lib/sap_model/sku.rb', line 49 def self.find_sku(source, id) Sap::Sku.new(source).find(id) end |
.find_sku_channelprice(source, id) ⇒ Object
Note:
根据来源,id获得单个商品
根据来源,id获得单个商品
66 67 68 69 70 71 |
# File 'lib/sap_model/sku.rb', line 66 def self.find_sku_channelprice(source, id) params = { warehouseinfo: 'getChannelPrices' } Sap::Sku.new(source).find(id, params) end |
.find_sku_standprice(source, id) ⇒ Object
Note:
根据来源,id获得单个商品售价
根据来源,id获得单个商品售价
76 77 78 79 80 81 |
# File 'lib/sap_model/sku.rb', line 76 def self.find_sku_standprice(source, id) params = { warehouseinfo: 'StandardPrice' } Sap::Sku.new(source).find(id, params) end |
.find_sku_warehouseinfo(source, id) ⇒ Object
Note:
根据来源,id获得单个商品库存
根据来源,id获得单个商品库存
56 57 58 59 60 61 |
# File 'lib/sap_model/sku.rb', line 56 def self.find_sku_warehouseinfo(source, id) params = { warehouseinfo: 'WarehouseInfos' } Sap::Sku.new(source).find(id, params) end |
.find_variantvalue(source, id) ⇒ Object
Note:
根据来源,id获得单个商品variantvalue
根据来源,id获得单个商品variantvalue
33 34 35 36 |
# File 'lib/sap_model/sku.rb', line 33 def self.find_variantvalue(source, id) Sap::VariantValue.new(source).find(id) end |
.get_salespricelists(source) ⇒ Object
Note:
根据来源获得商品价格
根据来源获得所有商品价格
26 27 28 |
# File 'lib/sap_model/sku.rb', line 26 def self.get_salespricelists(source) Sap::SalesPriceList.new(source).list end |
.get_skus(source) ⇒ Object
Note:
根据来源获得所有商品规格
根据来源获得所有商品规格
10 11 12 |
# File 'lib/sap_model/sku.rb', line 10 def self.get_skus(source) Sap::Sku.new(source).list end |
.get_variantvalues(source) ⇒ Object
Note:
根据来源获得所有商品规格variantvalue
根据来源获得所有商品规格variantvalue
18 19 20 |
# File 'lib/sap_model/sku.rb', line 18 def self.get_variantvalues(source) Sap::VariantValue.new(source).list end |
.query(sku, source) ⇒ Object
Note:
为从sap接口获得的商品保存在云店家分装参数
为从sap接口获得的商品保存在云店家分装参数
86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
# File 'lib/sap_model/sku.rb', line 86 def self.query(sku, source) # if sku.try(:status) == 'Active' # status = ::ProductVariant::Status::Published # else # status = ::ProductVariant::Status::Closed # end sku_warehouseinfos = SapModel::Sku.find_sku_warehouseinfo(source, sku.id) inStocks = sku_warehouseinfos.warehouseInfoList.map(&:inStock).sum sku_standprice = SapModel::Sku.find_sku_standprice(source, sku.id).first price = sku_standprice.try(:price).present? ? sku_standprice.try(:price):0 = { # sku_code: sku.try(:code), inventory_quantity: inStocks, price: price, cost_price: sku.try(:grossPurchasePrice).present? ? sku.try(:grossPurchasePrice):0, market_price: price, art_no: sku.try(:code), weight: sku.try(:weight) } variantvalues = sku.try(:relatedVariantValues) if variantvalues.present? variantvalue_ids = variantvalues.map(&:id).first 3 end if variantvalue_ids.present? variantvalue_ids.each_with_index do |variantvalue_id, i| variantvalue = SapModel::Sku.find_variantvalue(source, variantvalue_id) key = variantvalue.try(:variant).try(:name) value = variantvalue.try(:value) .merge!({"key#{i + 1}".to_sym => key, "value#{i + 1}".to_sym => value}) end end Rails.logger.info "variantvalue.........#{}" return end |