Sha256: bab4fecdbf7a4d6386a2f508c9de36cef348c1dc0833735c7898a4dc384d5c66
Contents?: true
Size: 1.17 KB
Versions: 1
Compression:
Stored size: 1.17 KB
Contents
module Trade module Ext::Payable extend ActiveSupport::Concern included do has_many :payouts, as: :payable end def payout_amount self.amount.to_d end def to_advance_payout return unless payment_method payout = self.payouts.find_or_initialize_by(advance: true) payout.requested_amount = self.advance payout.payment_method_id = self.payment_method_id self.do_trigger state: 'advance_pay' end def advance_payout_id self.payouts.find_by(advance: true)&.id end def to_payout(type: 'WxpayPayout', account_num: nil) payout = self.payouts.find_or_initialize_by(type: type, advance: false) payout.requested_amount = self.payout_amount if self.cash payout.cash = cash payout.account_bank = cash.account_bank payout.account_name = cash.account_name payout.account_num = cash.account_num else payout.account_num = account_num end self.class.transaction do #self.do_trigger state: 'to_pay' payout.save! end payout end def payout_id self.payouts.find_by(advance: false)&.id end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rails_trade-0.0.3 | app/models/trade/ext/payable.rb |