Source code for q2_cores.Symitar.queries.assess_fee_query

import logging
import uuid

from ...Symitar.queries.base_query import SymitarBaseQuery
from ...Symitar.queries import mock_responses


[docs] class AssessFeeQuery(SymitarBaseQuery): """Assesses a fee for skip a pay using the Q2.SKIP.PAY repgen""" def __init__( self, logger: logging.Logger, customer_id, unit_number, device_type, card_prefix, repgen, startstate, loan_id, share_charged, fee, gl_code, guid=None, comment="SKIP A PAY FEE", use_symxchange=False, ): self.loan_id = loan_id self.share_charged = share_charged self.fee = fee self.gl_code = gl_code self.comment = comment super().__init__( logger, customer_id, unit_number, device_type, card_prefix, repgen, startstate, guid=guid, use_symxchange=use_symxchange, )
[docs] def build(self): if not self.guid: self.guid = str(uuid.uuid4()) call = ( f"TR~{self.guid}" f"~A{self.unit_number}" f"~B{self.device_type}~" "DCARD~" f"F{self.card_prefix}{self.ind_number}" "~JTRCODE=FE" "~JTRFMTYPE=S" f"~JTRFMID={self.share_charged}" f"~JTRAMOUNT={self.fee}" "~JTRCOMMENTCODE=0" f"~JTRCOMMENT={self.comment}" f"~JTRGLCODE={self.gl_code}" ) return call
[docs] def mock_response(self): return mock_responses.mock_assess_fee_response()