textgistfile1.txt(代码片段)

author author     2022-12-03     281

关键词:

class DirectDebitSummary < ApplicationRecord

  attr_accessor :unbatched_recovered_val

  belongs_to :term

  after_initialize :init

  def init
    self.batched_approved_data    ||= []
    self.batched_declined_data    ||= []
    self.unprocessable_data       ||= []
    self.processable_data         ||= []

    self.batched                  ||= 0
    self.batched_approved         ||= 0
    self.batched_declined         ||= 0
    self.unbatched                ||= 0
    self.unprocessable            ||= 0
    self.processable              ||= 0
  end

  def unbatched_recovered
    unbatched_recovered_val ||= calc_unbatched_recovered
  end

  def unbatched_outstanding
    unbatched - unbatched_recovered
  end

  private

  def calc_unbatched_recovered
    parent_unpro_tx_ids       = unprocessable_data.map   |d| d["transaction_id"] 
    parent_pro_tx_ids         = processable_data.map     |d| d["transaction_id"] 

    parent_tx_ids             = parent_unpro_tx_ids + parent_pro_tx_ids
    parent_txs                = Transaction.where(id: parent_tx_ids).includes(:children)

    target_record_payment_txs  = []

    parent_txs.each do |t|
      t.children.each do |ct|

        is_processed_after_cycle = ct.processed_at >= created_at

        is_success = ct.status == Transaction::STATUSES.Success

        is_correct_tx_type =
          ct.transaction_type == Transaction::TRANSACTION_TYPES.RecordPayment

        if is_correct_tx_type && is_processed_after_cycle && is_success
          target_record_payment_txs.push(ct)
        end
      end
    end

    target_record_payment_txs.map  |t| t.amount.abs .reduce(:+)
  end

end

textgistfile1.txt(代码片段)

查看详情

textgistfile1.txt(代码片段)

查看详情

textgistfile1.txt(代码片段)

查看详情

textgistfile1.txt(代码片段)

查看详情

textgistfile1.txt(代码片段)

查看详情

textgistfile1.txt(代码片段)

查看详情

textgistfile1.txt(代码片段)

查看详情

textgistfile1.txt(代码片段)

查看详情

textgistfile1.txt(代码片段)

查看详情

textgistfile1.txt(代码片段)

查看详情

textgistfile1.txt(代码片段)

查看详情

textgistfile1.txt(代码片段)

查看详情

textgistfile1.txt(代码片段)

查看详情

textgistfile1.txt(代码片段)

查看详情

textgistfile1.txt(代码片段)

查看详情

textgistfile1.txt(代码片段)

查看详情

textgistfile1.txt(代码片段)

查看详情

textgistfile1.txt(代码片段)

查看详情