Commit 41d77373 by solo

dev

1 parent a24b135b
......@@ -402,9 +402,27 @@ import hashlib
def sha256(hash_string):
return hashlib.sha256(hash_string.encode()).hexdigest()
from datetime import datetime
def update_harga(p, k, v):
row = PartnerProduk.query()\
.filter_by(kode=k, partner_id=p.id).first()
if not row:
row = PartnerProduk()
row.kode=k
row.partner_id = p.id
row.created = datetime.now()
else:
row.updated = datetime.now()
row.harga = v
flush_row(row)
return True
import logging
log = logging.getLogger(__name__)
def proses_odeo(request):
settings = get_settings()
data = json.loads('{a:1}')
data = json.loads(request.text)
mid = 'odeo_mid' in settings and settings["odeo_mid"] or None
key = 'odeo_key' in settings and settings["odeo_key"] or None
partner = Partner.query_kode("ODEO").first()
......@@ -414,25 +432,28 @@ def proses_odeo(request):
.format(mid=mid, key=key, status=status))
if signature!=data["signature"]:
return
new_price = data["new_price"]
k, v = new_price
row = PartnerProduk.query().filter_by(kode=k, partner_id=partner.id).first()
if row:
row.harga = v
flush_row(row)
return
log.info("Signature Vendor Different")
log.info("local %s, vendor %s" % (signature, data["signature"]))
return dict(error="Signature different")
new_price = data["new_prices"]
for k in new_price:
v = new_price[k]
update_harga(partner, k, v)
return dict(success=True)
else:
order_id = str(data["order_id"])
signature = sha256("{order_id}{mid}{key}{status}"\
.format(order_id=order_id, mid=mid, key=key,
status=status))
if signature != data["signature"]:
return
log.info("Signature Vendor Different")
log.info("local %s, vendor %s" % (signature, data["signature"]))
return dict(error="Signature Different")
order = PartnerLog.query()\
.filter(vendor_id=partner.id, vend_trx=str(order_id)).first()
.filter(PartnerLog.vendor_id==partner.id,
PartnerLog.vend_trx==str(order_id)).first()
if order:
if status == "COMPLETED":
......@@ -441,9 +462,9 @@ def proses_odeo(request):
order.status = -1
flush_row(order)
customer = Partner.query_id(order.customer_id).first()
if customer and customer.url:
if customer and customer.website:
users = customer.users
url = customer.url
url = customer.website
c_data = dict(trx_id = order.cust_trx,
status = status,
signature = sha256(users.user_name+users.api_key))
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!