当前位置: 首页>>代码示例>>Python>>正文


Python DBSession.query方法代码示例

本文整理汇总了Python中base_models.DBSession.query方法的典型用法代码示例。如果您正苦于以下问题:Python DBSession.query方法的具体用法?Python DBSession.query怎么用?Python DBSession.query使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在base_models.DBSession的用法示例。


在下文中一共展示了DBSession.query方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: _payment_request_handler

# 需要导入模块: from base_models import DBSession [as 别名]
# 或者: from base_models.DBSession import query [as 别名]
 def _payment_request_handler(self):
     inv = self.get_invoice()
     if not inv:
         return
     if self.calc.total != self.get_amount():
         return self.ack_insufficient_fund()
     s_channel_id = self.from_iso.get_channel_id()
     channel_id = int(s_channel_id)
     q = DBSession.query(models.Channel).filter_by(id=channel_id)
     channel = q.first()
     if channel:
         channel_name = channel.nama
     else:
         channel_name = s_channel_id
     pay = self.calc.query_payment(inv).first()
     pay.date_bayar = pay.time_bayar = self.from_iso.get_transaction_datetime()
     pay.cara_bayar = 'Transfer'
     pay.ref_bayar = self.from_iso.get_ntb()
     pay.nominal = self.calc.total - self.calc.denda
     pay.denda = self.calc.denda
     pay.jum_bayar = self.calc.total
     pay.denda_masaberlaku = self.calc.bulan
     pay.is_bayar = 1
     pay.status_pembayaran = 'Lunas'
     pay.pembayaran_melalui = channel_name
     OtherDBSession.add(pay)
     OtherDBSession.flush()
     self.save_iso_payment(pay)
     self.commit()
开发者ID:opensipkd,项目名称:iso8583-forwarder,代码行数:31,代码来源:DbTransaction.py

示例2: show

# 需要导入模块: from base_models import DBSession [as 别名]
# 或者: from base_models.DBSession import query [as 别名]
 def show(self, option):
     sample_count = int(option.sample_count)
     q = DBSession.query(models.Invoice).filter_by(
             status_pembayaran=0).filter(
             models.Invoice.bphtb_harus_dibayarkan > 0)
     offset = -1
     count = 0
     while True:
         if count >= sample_count:
             break
         offset += 1
         row = q.offset(offset).first()
         if not row:
             break
         invoice_id = FixLength(self.get_invoice_id_structure())
         invoice_id['Tahun'] = row.tahun
         invoice_id['Kode'] = row.kode
         invoice_id['SSPD No'] = row.no_sspd
         calc = CalculateInvoice(
                 models, DBSession, invoice_id, persen_denda)
         if calc.total < 1:
             continue
         count += 1
         invoice_id_raw = invoice_id.get_raw()
         self.on_print(option, count, invoice_id_raw, calc)
开发者ID:opensipkd,项目名称:iso8583-forwarder,代码行数:27,代码来源:AvailableInvoice.py

示例3: show

# 需要导入模块: from base_models import DBSession [as 别名]
# 或者: from base_models.DBSession import query [as 别名]
 def show(self, option):
     sample_count = int(option.sample_count)
     q = DBSession.query(models.Invoice).filter(models.Invoice.kode_bayar != None).\
               filter(models.Invoice.kode_bayar != '')
     if option.min:
         n = int(option.min)
         q = q.filter(models.Invoice.nominal >= n)
     if option.max:
         n = int(option.max)
         q = q.filter(models.Invoice.nominal <= n)
     q = q.order_by(models.Invoice.nominal)
     offset = -1
     count = 0
     print('START *************')
     while True:
         if count >= sample_count:
             break
         offset += 1
         row = q.offset(offset).first()
         if not row:
             break
         calc = CalculateInvoice(models, DBSession, row.kode_bayar)
         if calc.invoice and calc.paid:
             continue
         count += 1
         msg = '#{no}/{count} {id} Rp {total}'.format(no=count,
                 id=row.kode_bayar, total=calc.tagihan, count=sample_count)
         print(msg)
     print('SELESAI *************')
开发者ID:opensipkd,项目名称:iso8583-forwarder,代码行数:31,代码来源:AvailableInvoice.py

示例4: __init__

# 需要导入模块: from base_models import DBSession [as 别名]
# 或者: from base_models.DBSession import query [as 别名]
 def __init__(self, invoice_id_raw):
     Query.__init__(self, models, DBSession)
     self.invoice_id = FixLength(INVOICE_ID)
     self.invoice_id.set_raw(invoice_id_raw)
     q = self.query_invoice(self.invoice_id['Propinsi'],
             self.invoice_id['Kabupaten'], self.invoice_id['Kecamatan'],
             self.invoice_id['Kelurahan'], self.invoice_id['Blok'],
             self.invoice_id['Urut'], self.invoice_id['Jenis'],
             self.invoice_id['Tahun Pajak'])
     self.invoice = q.first()
     self.ket = None
     if not self.invoice:
         return
     self.nama_wp = self.invoice.nm_wp_sppt
     self.payment = self.invoice2payment(self.invoice)
     if self.payment:
         self.total = self.payment.jml_sppt_yg_dibayar
         self.tgl_bayar = self.payment.tgl_rekam_byr_sppt
         self.ket = 'pembayaran ke {n}'.format(n=self.payment.pembayaran_sppt_ke)
         q = DBSession.query(models.TempatPembayaran).filter_by(
             kd_kanwil=self.payment.kd_kanwil_bank,
             kd_kppbb=self.payment.kd_kppbb_bank,
             kd_bank_tunggal=self.payment.kd_bank_tunggal,
             kd_bank_persepsi=self.payment.kd_bank_persepsi,
             kd_tp=self.payment.kd_tp)
         tp = q.first()
         self.tempat_pembayaran = dict()
         if tp:
             self.tempat_pembayaran['nama'] = tp.nm_tp
             alamat = tp.alamat_tp and tp.alamat_tp.strip()
             if alamat:
                 self.tempat_pembayaran['alamat'] = alamat
     self.h2h = self.invoice2iso_pay()
开发者ID:opensipkd,项目名称:iso8583-forwarder,代码行数:35,代码来源:InquiryByQuery.py

示例5: show

# 需要导入模块: from base_models import DBSession [as 别名]
# 或者: from base_models.DBSession import query [as 别名]
 def show(self, option):
     sample_count = int(option.sample_count)
     q = DBSession.query(self.models.Invoice).filter_by(
             status_pembayaran_sppt='0')
     if option.min:
         n = int(option.min)
         q = q.filter(self.models.Invoice.pbb_yg_harus_dibayar_sppt >= n)
     if option.max:
         n = int(option.max)
         q = q.filter(self.models.Invoice.pbb_yg_harus_dibayar_sppt <= n)
     if option.tahun:
         q = q.filter(self.models.Invoice.thn_pajak_sppt == option.tahun)
     offset = -1
     count = 0
     while True:
         if count >= sample_count:
             break
         offset += 1
         row = q.offset(offset).first()
         if not row:
             break
         calc = CalculateInvoice(
                 self.models, DBSession, self.persen_denda, row.kd_propinsi,
                 row.kd_dati2, row.kd_kecamatan, row.kd_kelurahan,
                 row.kd_blok, row.no_urut, row.kd_jns_op,
                 row.thn_pajak_sppt)
         if calc.total < 1:
             continue
         count += 1
         invoice_id_raw = sppt2nop(calc.invoice) + \
             calc.invoice.thn_pajak_sppt
         msg = '#{no}/{count} {id} Rp {total}'.format(
                 no=count, id=invoice_id_raw, total=calc.total,
                 count=sample_count)
         print(msg)
开发者ID:opensipkd,项目名称:iso8583-forwarder,代码行数:37,代码来源:available_invoice.py

示例6: show

# 需要导入模块: from base_models import DBSession [as 别名]
# 或者: from base_models.DBSession import query [as 别名]
 def show(self, option):
     sample_count = int(option.sample_count)
     q = DBSession.query(models.Invoice).filter_by(status_bayar=0)
     if option.min:
         n = int(option.min)
         q = q.filter(models.Invoice.jml_tagihan >= n)
     if option.max:
         n = int(option.max)
         q = q.filter(models.Invoice.jml_tagihan <= n)
     q = q.order_by(models.Invoice.jml_tagihan)
     offset = -1
     count = 0
     while True:
         if count >= sample_count:
             break
         offset += 1
         row = q.offset(offset).first()
         if not row:
             break
         calc = CalculateInvoice(models, DBSession, row.no_tagihan)
         if calc.tagihan < 1:
             continue
         count += 1
         msg = '#{no}/{count} {id} Rp {total}'.format(no=count,
                 id=row.no_tagihan, total=calc.tagihan, count=sample_count)
         print(msg)
开发者ID:opensipkd,项目名称:iso8583-forwarder,代码行数:28,代码来源:AvailableInvoice.py

示例7: invoice2iso_pay

# 需要导入模块: from base_models import DBSession [as 别名]
# 或者: from base_models.DBSession import query [as 别名]
 def invoice2iso_pay(self):
     q = DBSession.query(models.Payment).filter_by(
             propinsi=self.invoice.kd_propinsi,
             kabupaten=self.invoice.kd_dati2,
             kecamatan=self.invoice.kd_kecamatan,
             kelurahan=self.invoice.kd_kelurahan,
             blok=self.invoice.kd_blok,
             urut=self.invoice.no_urut,
             jenis=self.invoice.kd_jns_op,
             tahun=self.invoice.thn_pajak_sppt).order_by(
             models.Payment.ke)
     r = []
     for iso_pay in q:
         q_inq = DBSession.query(models.Inquiry).filter_by(
                 id=iso_pay.inquiry_id)
         iso_inq = q_inq.first()
         total = iso_inq.tagihan + iso_inq.denda
         ket = 'Pembayaran ke {k}'.format(k=iso_pay.ke)
         d = dict(ket=ket, tgl=iso_inq.tgl, total=total)
         r.append(d)
     return r
开发者ID:opensipkd,项目名称:iso8583-forwarder,代码行数:23,代码来源:InquiryByQuery.py

示例8: set_unpaid

# 需要导入模块: from base_models import DBSession [as 别名]
# 或者: from base_models.DBSession import query [as 别名]
 def set_unpaid(self):
     pay = Reversal.set_unpaid(self)
     if not pay:
         q = DBSession.query(self.models.Payment).filter_by(
             propinsi=self.invoice.kd_propinsi,
             kabupaten=self.invoice.kd_dati2,
             kecamatan=self.invoice.kd_kecamatan,
             kelurahan=self.invoice.kd_kelurahan,
             blok=self.invoice.kd_blok,
             urut=self.invoice.no_urut,
             jenis=self.invoice.kd_jns_op,
             tahun=self.invoice.thn_pajak_sppt)
         q.delete()
     DBSession.commit()
开发者ID:opensipkd,项目名称:iso8583-forwarder,代码行数:16,代码来源:ReversalByQuery.py

示例9: ack_already_paid

# 需要导入模块: from base_models import DBSession [as 别名]
# 或者: from base_models.DBSession import query [as 别名]
 def ack_already_paid(self):
     pay = self.calc.invoice2payment()
     ntp = ''
     if pay and self.is_transaction_owner(pay):
         calc = self.calc
         q = DBSession.query(models.Payment).filter_by(
                 propinsi=calc.propinsi,
                 kabupaten=calc.kabupaten,
                 kecamatan=calc.kecamatan,
                 kelurahan=calc.kelurahan,
                 blok=calc.blok,
                 urut=calc.urut,
                 jenis=calc.jenis,
                 tahun=calc.tahun).order_by(
                 models.Payment.ke.desc())
         iso_pay = q.first()
         if iso_pay:
             ntp = iso_pay.id
     self.set_ntp(ntp)
     return self.parent.ack_already_paid()
开发者ID:opensipkd,项目名称:iso8583-forwarder,代码行数:22,代码来源:__init__.py

示例10: save

# 需要导入模块: from base_models import DBSession [as 别名]
# 或者: from base_models.DBSession import query [as 别名]
def save():
    vals = dict()
    data = r_iso.to_dict()
    for key in ('tgl', 'mti', 'bit_003', 'bit_004', 'bit_032'):
        vals[key] = data[key]
    tgl = r_iso.tgl.date()
    amount = float(r_iso.bit_004)
    if r_iso.mti == '0210':
        if r_iso.bit_003 in INQUIRY_CODES:
            method_id = 1
        else:
            method_id = 2
    else:
        method_id = 3
    method_name = methods[method_id]
    bank_id = r_iso.bit_032[-3:]
    bank_id = int(bank_id)
    bank_name = banks[bank_id]
    msg = '{id} {data} -> {tgl} {bank} {method} {amount}'.format(
            id=r_iso.id, tgl=tgl, bank=bank_name, method=method_name,
            amount=amount, data=vals)
    print(msg)
    q = DBSession.query(Summary).filter_by(
            jenis_id=r_iso.jenis_id, tgl=tgl, method_id=method_id,
            bank_id=bank_id)
    r_sum = q.first()
    if r_sum:
        r_sum.trx_count += 1
        r_sum.trx_amount += amount
    else:
        r_sum = Summary()
        r_sum.jenis_id = r_iso.jenis_id
        r_sum.tgl = tgl
        r_sum.method_id = method_id
        r_sum.bank_id = bank_id
        r_sum.trx_count = 1
        r_sum.trx_amount = amount
    DBSession.add(r_sum)
    save_conf()
开发者ID:opensipkd,项目名称:iso8583-forwarder,代码行数:41,代码来源:iso-summary.py

示例11: print

# 需要导入模块: from base_models import DBSession [as 别名]
# 或者: from base_models.DBSession import query [as 别名]
if option.stop:
    print('Stop Daemon')
    stop_daemon(pid_file)
    sys.exit()

make_pid(pid_file)

limit = int(option.limit)

engine = create_engine(db_url)
Base.metadata.bind = engine
DBSession.configure(bind=engine)

methods = dict()
q = DBSession.query(Method)
for row in q:
    methods[row.id] = row.nama

banks = dict()
q = DBSession.query(Bank)
for row in q:
    banks[row.id] = row.nama

q_conf = DBSession.query(Conf).filter_by(nama='last id iso summary')
conf = q_conf.first()
offset = 0
while True:
    q_iso = DBSession.query(Iso).filter(Iso.id > conf.nilai_int)
    q_iso = q_iso.filter_by(bit_039='00')
    q_iso = q_iso.order_by(Iso.id).offset(offset).limit(limit)
开发者ID:opensipkd,项目名称:iso8583-forwarder,代码行数:32,代码来源:iso-summary.py

示例12: make_pid

# 需要导入模块: from base_models import DBSession [as 别名]
# 或者: from base_models.DBSession import query [as 别名]
make_pid(pid_file)

limit = int(option.limit)

REGEX_ISO = 'INFO ([\d]*)\.([\d]*)\.([\d]*)\.([\d]*) (.*) (Encode|Decode) MTI'\
        ' ([\d]*) Data (.*)'
REGEX_ISO = re.compile(REGEX_ISO)

REGEX_FORWARDER = '^([a-b]*)'
REGEX_FORWARDER = re.compile(REGEX_FORWARDER)

engine = create_engine(db_url)
Base.metadata.bind = engine
DBSession.configure(bind=engine)

q_conf = DBSession.query(Conf).filter_by(nama='last id log to iso')
conf = q_conf.first()
offset = 0
while True:
    q_log = DBSession.query(Log).filter(Log.id > conf.nilai_int).\
            order_by(Log.id).offset(offset).limit(limit)
    found = False
    for r_log in q_log:
        found = True
        match = REGEX_ISO.search(r_log.line)
        if not match:
            continue
        ip1, ip2, ip3, ip4, forwarder, arus, mti, bits = match.groups()
        ip = '.'.join([ip1, ip2, ip3, ip4])
        forwarder = get_forwarder_name()
        is_send = arus == 'Encode'
开发者ID:opensipkd,项目名称:iso8583-forwarder,代码行数:33,代码来源:log2iso.py


注:本文中的base_models.DBSession.query方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。