Module: RailsTrade::Cart

Extended by:
ActiveSupport::Concern
Included in:
Cart
Defined in:
app/models/rails_trade/cart.rb

Overview

数据定期清理 改变数据动作:

* 新增(check)
* 更新数量
* 选择或更换优惠券
* 选择服务

Instance Method Summary collapse

Instance Method Details

#compute_priceObject



38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'app/models/rails_trade/cart.rb', line 38

def compute_price
  self.retail_price = trade_items.checked.sum(&:retail_price)
  self.discount_price = trade_items.checked.sum(&:discount_price)
  self.bulk_price = self.retail_price - self.discount_price

  self.reduced_amount = trade_items.checked.sum(&:reduced_amount)
  self.additional_amount = trade_items.checked.sum(&:additional_amount)

  self.amount = trade_items.checked.sum(&:amount)

  self.total_quantity = trade_items.checked.sum(&:original_quantity)
  self
end

#set_defaultObject



52
53
54
# File 'app/models/rails_trade/cart.rb', line 52

def set_default
  self.class.where.not(id: self.id).where(user_id: self.user_id).update_all(default: false)
end