Class: SapModel::SalesDelivery
- Inherits:
-
Object
- Object
- SapModel::SalesDelivery
- Defined in:
- lib/sap_model/sales_delivery.rb
Class Method Summary collapse
-
.find_sale_delivery(source, id) ⇒ Object
根据来源,id获得单个物流信息,当前时间5min前.
-
.get_sale_deliveries(source) ⇒ Object
根据来源获得所有当前时间5min前的所有物流信息.
-
.new_update_all_sales_delivery ⇒ Object
根据来源,同步物流信息,5分钟同步一次,定时任务.
-
.new_update_sales_delivery(source, sale_delivery) ⇒ Object
根据来源,同步物流信息,5分钟同步一次,定时任务(子方法).
Class Method Details
.find_sale_delivery(source, id) ⇒ Object
Note:
根据来源,id获得单个物流信息, 当前时间5min前
根据来源,id获得单个物流信息,当前时间5min前
17 18 19 |
# File 'lib/sap_model/sales_delivery.rb', line 17 def self.find_sale_delivery(source, id) Sap::SalesDelivery.new(source).find(id) end |
.get_sale_deliveries(source) ⇒ Object
Note:
根据来源获得所有当前时间5min前的所有物流信息
根据来源获得所有当前时间5min前的所有物流信息
10 11 12 |
# File 'lib/sap_model/sales_delivery.rb', line 10 def self.get_sale_deliveries(source) Sap::SalesDelivery.new(source).list end |
.new_update_all_sales_delivery ⇒ Object
Note:
根据来源,同步物流信息,5分钟同步一次,定时任务
根据来源,同步物流信息,5分钟同步一次,定时任务
24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/sap_model/sales_delivery.rb', line 24 def self.new_update_all_sales_delivery shop_ids_map = Sap::SalesDelivery.new('').check_function_and_shop shop_ids_map.keys.each do |k| shop_ids = shop_ids_map[k].each do |shop_id| sales_deliveries = self.get_sale_deliveries(k) if sales_deliveries.present? sales_deliveries.each do |sale_delivery| self.new_update_sales_delivery(k, sale_delivery) end end end end end |
.new_update_sales_delivery(source, sale_delivery) ⇒ Object
Note:
根据来源,同步物流信息,5分钟同步一次,定时任务(子方法)
根据来源,同步物流信息,5分钟同步一次,定时任务(子方法)
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/sap_model/sales_delivery.rb', line 41 def self.new_update_sales_delivery(source, sale_delivery) tracking_company = sale_delivery.try(:carrier).try(:name) yun_tracking_company = Express::Company.where(source: source, name: tracking_company).last if yun_tracking_company.present? yun_tracking_company_id = yun_tracking_company.id else yun_tracking_company = Express::Company.create!(source: source, name: tracking_company, code: nil, seq: nil, business_code: nil, status: Express::Company::Status::ENABLE) yun_tracking_company_id = yun_tracking_company.id end tracking_number = sale_delivery.try(:trackingNumber) sap_order_id = sale_delivery.try(:lines).first.try(:baseDocument).try(:baseId) order = SapModel::Order.find_order(source, sap_order_id) extOrderId = order.try(:extOrderId) #extOrderId为云店家order里面的order_number RequestStore.store[:source]= source order = ::Order.where(order_number: extOrderId).last order.update!(status: ::Order::Status::Shipped) yun_order_id = order.try(:id) order_fulfillment = OrderFulfillment.where(order_id: yun_order_id).last if order_fulfillment.present? order_fulfillment.update(tracking_company: tracking_company, tracking_number: tracking_number, order_id: yun_order_id, express_company_id: yun_tracking_company_id) else OrderFulfillment.create!(tracking_company: tracking_company, tracking_number: tracking_number, order_id: yun_order_id, express_company_id: yun_tracking_company_id) end rescue => e yloge e, "更新' 订单id #{extOrderId} 失败" end |