Commit 47bda1d4 by Solo Group

VSI

1 parent d4d5fc90
...@@ -117,22 +117,6 @@ class Vendor(VendorClass): ...@@ -117,22 +117,6 @@ class Vendor(VendorClass):
# status="PENDING")) # status="PENDING"))
# return self.set_response(data=parsd, typ="payment") # return self.set_response(data=parsd, typ="payment")
def get_price(self):
product_id = self.invoice_det.produk.id
if hasattr(self.invoice_det, "customer_id"):
partner_id = self.invoice_det.customer_id
else:
partner_id = self.invoice_det.h2h_ar_invoice.customer_id
harga = self.vendor_produk.produk.harga
self.discount = PartnerProduk.get_discount(partner_id, product_id)
self.amt_sell = harga - self.discount
return dict(
subtotal=int(harga),
discount=int(self.discount),
total=int(self.amt_sell)
)
def payment(self): def payment(self):
params = dict( params = dict(
data=dict( data=dict(
......
...@@ -102,6 +102,22 @@ class VendorClass(object): ...@@ -102,6 +102,22 @@ class VendorClass(object):
) )
return self.set_response(data, typ=typ) return self.set_response(data, typ=typ)
def get_price(self):
product_id = self.invoice_det.produk.id
if hasattr(self.invoice_det, "customer_id"):
partner_id = self.invoice_det.customer_id
else:
partner_id = self.invoice_det.h2h_ar_invoice.customer_id
harga = self.vendor_produk.produk.harga
self.discount = PartnerProduk.get_discount(partner_id, product_id)
self.amt_sell = harga - self.discount
return dict(
subtotal=int(harga),
discount=int(self.discount),
total=int(self.amt_sell)
)
def save_log(self, typ): def save_log(self, typ):
# if not self.partner_log: # if not self.partner_log:
# row = self.partner_log or PartnerLog() # row = self.partner_log or PartnerLog()
......
...@@ -24,7 +24,7 @@ class Vendor(VendorClass): ...@@ -24,7 +24,7 @@ class Vendor(VendorClass):
:return: :return:
""" """
code = "rc" in data and int(data["rc"]) or 0 code = "rc" in data and int(data["rc"]) or 0
self.status = vsi_status[str(code)]["status"] self.status = code and vsi_status[str(code)]["status"] or 1
status = self.status == -3 and "FAILED" or "PENDING" status = self.status == -3 and "FAILED" or "PENDING"
if status == "PENDING": if status == "PENDING":
code = 68 code = 68
...@@ -55,58 +55,58 @@ class Vendor(VendorClass): ...@@ -55,58 +55,58 @@ class Vendor(VendorClass):
) )
return result return result
def inquiry(self): # def inquiry(self):
params = self.get_params(cmd='INQ', modul='ISI') # params = self.get_params(cmd='INQ', modul='ISI')
params["tujuan"] = self.id_pel # params["tujuan"] = self.id_pel
params["voucherid"] = self.vendor_produk.kode # params["voucherid"] = self.vendor_produk.kode
self.request = params # self.request = params
self.save_log('inquiry') # self.save_log('inquiry')
log.info("Request: %s %s" % (self.url, self.request)) # log.info("Request: %s %s" % (self.url, self.request))
try: # try:
result = requests.get(self.url, params=params, timeout=15) # result = requests.get(self.url, params=params, timeout=15)
if result.ok: # if result.ok:
data = dict(xmltodict.parse(result.text)["root"]) # data = dict(xmltodict.parse(result.text)["root"])
else: # else:
data = dict(code=result.status_code, # data = dict(code=result.status_code,
message=result.text) # message=result.text)
self.response = data # self.response = data
log.info("Response: %s" % (data)) # log.info("Response: %s" % (data))
#
except requests.exceptions.RequestException as e: # except requests.exceptions.RequestException as e:
data = dict(code=e.errno, # data = dict(code=e.errno,
message=e.strerror) # message=e.strerror)
#
self.result = self.pars_data(data) # self.result = self.pars_data(data)
log.info("Result: %s" % (self.result)) # log.info("Result: %s" % (self.result))
self.save_log('inquiry') # self.save_log('inquiry')
return self.result # return self.result
#
def payment(self): def payment(self):
params = self.get_params(cmd='PAY', modul='ISI') params = self.get_params(cmd='PAY', modul='ISI')
params["tujuan"] = self.id_pel params["tujuan"] = self.id_pel
params["voucherid"] = self.vendor_produk.kode params["voucherid"] = self.vendor_produk.kode
self.request = params self.request = params
log.info("Payment Request: %s" % (params)) log.info("Payment Request: %s" % (params))
data = self.get_price()
try: try:
result = requests.get(self.url, params=params, timeout=15) result = requests.get(self.url, params=params, timeout=15)
if result.ok: if result.ok:
data = dict(xmltodict.parse(result.text)["root"]) self.response = dict(xmltodict.parse(result.text)["root"])
log.info("Payment Response: %s" % (self.response ))
else: else:
data = dict(code=result.status_code, self.status = 0
message=result.text) self.response = dict(code=result.status_code, message=result.text)
self.response = data log.info("Payment Response: %s" % (self.response))
log.info("Payment Response: %s" % (data)) return self.set_pending(data, message=result.text)
except requests.exceptions.RequestException as e: except requests.exceptions.RequestException as e:
data = dict(code=e.errno, self.status = 0
message=e.strerror) return self.set_pending(data, message=e.strerror)
self.amt_buy = "harga" in data and data["harga"] or self.amt_buy self.amt_buy = "harga" in data and data["harga"] or self.amt_buy
self.vend_inv_no = "ref_num" in data and data["ref_num"] or self.vend_inv_no self.vend_inv_no = "ref_num" in data and data["ref_num"] or self.vend_inv_no
self.result = self.pars_data(data) data = self.pars_data(self.response)
log.info("Payment Result: %s" % (self.result)) return self.set_success(data)
self.save_log('payment')
return data
def advice(self): def advice(self):
params = self.get_params(cmd='ADV', modul='ISI') params = self.get_params(cmd='ADV', modul='ISI')
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!