Sha256: 18bc62955dfe8d32873a141433d164312dc848d6566336760b8f410a1856dc90
Contents?: true
Size: 1.08 KB
Versions: 1
Compression:
Stored size: 1.08 KB
Contents
module Trade module Model::Amount extend ActiveSupport::Concern included do attribute :item_amount, :decimal, default: 0 attribute :overall_additional_amount, :decimal, default: 0 attribute :overall_reduced_amount, :decimal, default: 0 attribute :original_amount, :decimal, default: 0, comment: '原价,应用优惠之前的价格' attribute :amount, :decimal, default: 0 attribute :trade_items_count, :integer, default: 0 attribute :lock_version, :integer before_save :sync_amount, if: -> { (changes.keys & ['item_amount', 'overall_additional_amount', 'overall_reduced_amount']).present? } end def xx trade.amount += changed_amount end def sync_amount self.amount = item_amount + overall_additional_amount + overall_reduced_amount end def reset_amount self.compute_amount self.valid? self.changes end def metering_attributes attributes.slice 'quantity', 'original_amount' end def reset_amount!(*args) self.reset_amount self.save(*args) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rails_trade-0.0.3 | app/models/trade/model/amount.rb |