Class: Unidom::Order::OrderItem
- Inherits:
-
ApplicationRecord
- Object
- ActiveRecord::Base
- ApplicationRecord
- Unidom::Order::OrderItem
- Includes:
- Common::Concerns::ModelExtension, Concerns::AsAdjusted
- Defined in:
- app/models/unidom/order/order_item.rb
Overview
Order Item 是订单项。
Class Method Summary collapse
Class Method Details
.order!(ordered, of: nil, by: of.placer, unit_price: 0, quantity: 1) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'app/models/unidom/order/order_item.rb', line 28 def self.order!(ordered, of: nil, by: of.placer, unit_price: 0, quantity: 1) item = of.items.ordered_is(ordered).placed_by(by).valid_at.alive.first if item.present? item.quantity += quantity item.unit_price = unit_price item.purchase_amount = item.unit_price*item.quantity item.subtotal_amount = item.purchase_amount+item.adjustments.valid_at.alive.sum(:amount).to_f item.save! else ordinal = 1+of.items.valid_at.alive.maximum(:ordinal).to_i of.items.create! ordered: ordered, placer: by, ordinal: ordinal, quantity: quantity, unit_price: unit_price, purchase_amount: unit_price*quantity, subtotal_amount: unit_price*quantity, opened_at: Time.now end end |