Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Kunto
/
backoffice
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 1ea65b75
authored
Jul 22, 2019
by
Solo Group
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
vsi_pln_post
1 parent
f2168af1
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
27 additions
and
25 deletions
src/agratek/api/merchant/views/vendor.py
src/agratek/api/merchant/views/vsi.py
src/agratek/api/merchant/views/vsi_pln_post.py
src/agratek/api/merchant/views/vendor.py
View file @
1ea65b7
...
...
@@ -48,16 +48,21 @@ def build_request(typ, values):
cust_trx_id
=
'cust_trx_id'
in
values
and
values
[
'cust_trx_id'
]
or
None
vendor_product
=
PartnerProduk
.
query
()
\
.
join
(
Produk
,
PartnerProduk
.
produk_id
==
Produk
.
id
)
\
.
join
(
Produk
,
PartnerProduk
.
produk_id
==
Produk
.
id
)
\
.
filter
(
PartnerProduk
.
partner_id
==
vendor_id
,
PartnerProduk
.
produk_id
==
produk_id
)
.
first
()
if
not
vendor_product
:
return
dict
(
error
=
'Data Tidak Ditemukan'
)
row
=
None
if
"trx_id"
in
values
and
values
[
'trx_id'
]:
trx_id
=
int
(
values
[
'trx_id'
])
row
=
PartnerLog
.
query
()
.
filter_by
(
id
=
trx_id
)
.
first
()
modules
=
import_module
(
'.'
+
vendor_product
.
modules
,
'agratek.api.merchant.views'
)
cls_module
=
modules
.
Vendor
(
vendor_
id
,
produk_id
,
bill_no
,
customer_id
,
cust_trx_id
)
cls_module
=
modules
.
Vendor
(
vendor_
product
,
bill_no
,
customer_id
,
cust_trx_id
,
row
)
if
typ
==
'inquiry'
:
return
cls_module
.
inquiry
()
...
...
@@ -298,29 +303,27 @@ class ViewHome(BaseView):
return
dict
(
form
=
form
,
params
=
form_params_edit
)
class
VendorClass
(
object
):
def
__init__
(
self
,
vendor_
id
,
produk_id
,
bill_no
,
customer_id
=
None
,
cust_trx_id
=
None
,
):
def
__init__
(
self
,
vendor_
produk
,
bill_no
,
customer_id
=
None
,
cust_trx_id
=
None
,
row
=
None
):
"""
:param cid:
merupakan customer id seperti MSN dan atu id pelanggaan
"""
self
.
settings
=
get_settings
()
self
.
vendor_id
=
vendor_id
self
.
produk_id
=
produk_id
self
.
vendor_id
=
vendor_
produk
.
id
self
.
produk_id
=
vendor_produk
.
produk_id
self
.
bill_no
=
bill_no
self
.
customer_id
=
customer_id
self
.
cust_trx_id
=
cust_trx_id
self
.
response
=
None
self
.
request
=
None
self
.
partner_log
=
row
self
.
partner_log_id
=
None
row
=
PartnerProduk
.
query
()
\
.
filter_by
(
partner_id
=
self
.
vendor_id
,
produk_id
=
self
.
produk_id
)
.
first
()
self
.
v_produk_kd
=
row
and
row
.
kode
or
None
def
save_log
(
self
,
typ
,
row
=
None
):
if
not
row
:
row
=
PartnerLog
()
self
.
v_produk_kd
=
vendor_produk
.
kode
def
save_log
(
self
,
typ
):
# if not self.partner_log:
row
=
self
.
partner_log
and
self
.
partner_log
or
PartnerLog
()
row
.
vendor_id
=
self
.
vendor_id
row
.
produk_id
=
self
.
produk_id
row
.
bill_no
=
self
.
bill_no
...
...
@@ -340,6 +343,7 @@ class VendorClass(object):
response
=
self
.
response
)
flush_row
(
row
)
self
.
partner_log
=
row
self
.
partner_log_id
=
row
.
id
def
get_product
(
self
):
...
...
src/agratek/api/merchant/views/vsi.py
View file @
1ea65b7
...
...
@@ -13,8 +13,8 @@ from .vendor import VendorClass
class
Vendor
(
VendorClass
):
def
__init__
(
self
,
vendor_
id
,
produk_id
,
bill_no
,
customer_id
=
None
,
cust_trx_id
=
None
):
def
__init__
(
self
,
vendor_
produk
,
bill_no
,
customer_id
=
None
,
cust_trx_id
=
None
,
row
=
None
):
"""
:param produk_kd:
merupakan kode produk versi vendor
...
...
@@ -24,8 +24,8 @@ class Vendor(VendorClass):
:param cid:
merupakan customer id seperti MSN dan atu id pelanggaan
"""
VendorClass
.
__init__
(
self
,
vendor_
id
,
produk_id
,
bill_no
,
customer_id
,
cust_trx_id
)
VendorClass
.
__init__
(
self
,
vendor_
produk
,
bill_no
,
customer_id
,
cust_trx_id
,
row
)
settings
=
self
.
settings
self
.
mid
=
'vsi_mid'
in
settings
and
settings
[
'vsi_mid'
]
or
None
self
.
key
=
'vsi_key'
in
settings
and
settings
[
'vsi_key'
]
or
None
...
...
src/agratek/api/merchant/views/vsi_pln_post.py
View file @
1ea65b7
...
...
@@ -13,8 +13,6 @@ from .vsi import Vendor as VendorClass
class
Vendor
(
VendorClass
):
# def __init__(self, product_kd, trx_id=None, cid=None):
# VendorClass.__init__(self, product_kd, cid)
def
pars_data
(
self
,
data
):
return
{
"bill_no"
:
"subid"
in
data
and
data
[
"subid"
]
or
self
.
bill_no
,
...
...
@@ -98,7 +96,7 @@ class Vendor(VendorClass):
params
[
"idpel"
]
=
self
.
bill_no
# params["voucherid"] = self.v_produk_kd
self
.
request
=
params
row
=
self
.
save_log
(
'inquiry'
)
self
.
save_log
(
'inquiry'
)
params
[
'trxid'
]
=
self
.
partner_log_id
result
=
requests
.
get
(
self
.
url
,
params
=
params
)
if
result
.
ok
:
...
...
@@ -108,7 +106,7 @@ class Vendor(VendorClass):
code
=
result
.
status_code
)
self
.
response
=
data
self
.
save_log
(
'inquiry'
,
row
)
self
.
save_log
(
'inquiry'
)
if
"status"
in
data
and
data
[
"status"
]
and
data
[
"status"
]
==
"SUCCESS"
:
data
=
self
.
pars_data
(
data
)
...
...
@@ -175,7 +173,7 @@ class Vendor(VendorClass):
# params["voucherid"] = self.v_produk_kd
self
.
request
=
params
# todo: apakah harus di cek dulu data inquirynya
row
=
self
.
save_log
(
'payment'
)
self
.
save_log
(
'payment'
)
params
[
'trxid'
]
=
self
.
partner_log_id
result
=
requests
.
get
(
self
.
url
,
params
=
params
)
if
result
.
ok
:
...
...
@@ -183,7 +181,7 @@ class Vendor(VendorClass):
else
:
data
=
dict
(
error
=
result
.
status_code
)
self
.
response
=
data
self
.
save_log
(
'payment'
,
row
)
self
.
save_log
(
'payment'
)
if
"status"
in
data
and
data
[
"status"
]
and
data
[
"status"
]
==
"SUCCESS"
:
data
=
self
.
pars_data
(
data
)
...
...
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment