class BlsmVdCore::Order

Private Class Methods

latest_notes(clearing_item, user, action) click to toggle source
# File lib/blsm-vd-core/model/order.rb, line 120
def self.latest_notes(clearing_item, user, action)
  notes = "#{user[:username] if user}"
  date_now = DateTime.parse(Time.now.to_s).strftime('%Y-%m-%d %H:%M:%S').to_s
  notes = (clearing_item[:notes] ? clearing_item[:notes]+'<br>' : '')+"#{date_now} #{notes} #{action}"
  return notes
end
valid_update?(clearing_item) click to toggle source
# File lib/blsm-vd-core/model/order.rb, line 113
def self.valid_update?(clearing_item)
  if clearing_item[:state] == 'CASH_BACK'
    return false
  end
  return true
end

Public Instance Methods

get_vd_score(role) click to toggle source
# File lib/blsm-vd-core/model/order.rb, line 16
def get_vd_score(role)
  fee = 0.0
  if "black" == role
    self.line_items.each do |item|
      next if item.product_prop.nil?
      (fee += item.quantity * item.product_prop.black_integral ) if item.sale_price!=0
    end
  else
    self.line_items.each do |item|
      next if item.product_prop.nil?
      rate = item.product_prop.ordinary_rate
      rate = VdUserScore::SCORES[:SALE_OUT_DIRECT] if rate.nil? && "normal" == role
      (fee += ((item.quantity * item.franchise_price.to_f) * rate) ) if item.sale_price!=0
    end
  end
  sprintf('%0.2f', fee.to_f).to_f
end
jm_fee() click to toggle source

总的加盟费(供货价)

# File lib/blsm-vd-core/model/order.rb, line 71
def jm_fee
  fee = 0
  if self.line_items
    self.line_items.each do |item|
      fee += item.quantity * item.franchise_price.to_f
    end
  end
  sprintf('%0.2f', fee.to_f).to_f
end
Also aliased as: franchise_sum
jm_profit() click to toggle source

加盟商(微店主)赚取的利润(直接利润)

# File lib/blsm-vd-core/model/order.rb, line 57
def jm_profit
  jm_cost = 0
  if self.line_items
    self.line_items.each do |item|
      unless item && item.franchise_price
        next
      end
      jm_cost += item.quantity * (item.franchise_price.to_f)
    end
  end
  ubox_order? ? sprintf('%0.2f', self.total_fee).to_f : sprintf('%0.2f', (self.total_fee - self.shipping_charge - jm_cost).to_f).to_f
end
number() click to toggle source
# File lib/blsm-vd-core/model/order.rb, line 52
def number
  created_at.to_i.to_s + (id * 2 + 19871030).to_s
end
pay_off_line?() click to toggle source
# File lib/blsm-vd-core/model/order.rb, line 44
def pay_off_line?
  self.pay_type == 1
end
pay_on_line?() click to toggle source
# File lib/blsm-vd-core/model/order.rb, line 48
def pay_on_line?
  !(self.pay_off_line?)
end
real_shipping_charge() click to toggle source

真实的运费

# File lib/blsm-vd-core/model/order.rb, line 87
def real_shipping_charge
  if self.shipping_charge > 0
    return self.shipping_charge
  end

  conn = Faraday.new(:url => 'http://'+"api.aihuo360.com")
  response = conn.get do |req|
    req.url '/v2/shipping_charges'
    req.params[:province] = self.shipping_province
    req.params[:city] = self.shipping_city
    req.params[:district] = self.shipping_district
  end
  begin
    result = JSON.parse(response.body)
    if self.pay_type==1
      result['shipping_charges'][0]['cash_on_delivery'].to_f
    else
      result['shipping_charges'][0]['pay_online'].to_f
    end
  rescue
    15
  end
end
toggle_delivery_deposit() click to toggle source

到付押金开关状态

# File lib/blsm-vd-core/model/order.rb, line 35
def toggle_delivery_deposit
  (self.toggle_setting.to_i & 0b00000001) == 1
end
total_fee() click to toggle source

订单总金额

# File lib/blsm-vd-core/model/order.rb, line 82
def total_fee
  sprintf('%0.2f', (self.item_total + self.shipping_charge).to_f).to_f
end
ubox_order?() click to toggle source

是否是自动售货机的订单

# File lib/blsm-vd-core/model/order.rb, line 40
def ubox_order?
  self.ubox_vm
end

Private Instance Methods

franchise_sum()
Alias for: jm_fee