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 42227c16
authored
Oct 08, 2019
by
Solo Group
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
odeo inq
1 parent
43664213
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
33 additions
and
19 deletions
src/agratek/api/merchant/views/odeo/__init__.py
src/agratek/api/merchant/views/odeo/__init__.py
View file @
42227c1
...
...
@@ -18,6 +18,8 @@ from . import notify
urllib3
.
disable_warnings
()
timeout
=
30
class
Vendor
(
VendorClass
):
def
__init__
(
self
,
vendor_produk
,
invoice_det
):
VendorClass
.
__init__
(
self
,
vendor_produk
,
invoice_det
=
invoice_det
)
...
...
@@ -59,9 +61,14 @@ class Vendor(VendorClass):
except
Exception
as
e
:
log
.
info
(
e
)
return
return
resp
def
inquiry
(
self
):
if
not
self
.
v_produk_kd
or
not
self
.
id_pel
:
return
self
.
set_response
(
message
=
'Parameter tidak lengkap'
)
resp
=
self
.
_inquiry
()
if
not
resp
.
text
:
log
.
info
(
"Resp Tidak Ada, {}
{}
"
.
format
(
resp
))
log
.
info
(
"Resp Tidak Ada, {}"
.
format
(
resp
))
return
try
:
...
...
@@ -74,21 +81,28 @@ class Vendor(VendorClass):
if
resp
.
status_code
==
200
:
self
.
status
=
1
# sukses
data
=
"data"
in
result
and
result
[
"data"
]
or
None
return
self
.
pars_data
(
data
)
else
:
return
parsd
=
self
.
pars_data
(
data
)
return
self
.
set_success
(
parsd
)
# parsd
elif
resp
.
status_code
==
400
:
data
=
"data"
in
result
and
result
[
"data"
]
or
None
message
=
""
if
data
and
"errors"
in
data
:
msg
=
data
[
"errors"
][
0
]
pos
=
msg
.
find
(
"Sisa saldo"
)
message
=
pos
>
-
1
and
msg
[:
pos
]
or
msg
parsd
=
self
.
pars_data
(
data
)
return
self
.
set_failed
(
parsd
,
message
=
message
,
typ
=
"payment"
)
def
inquiry
(
self
):
if
not
self
.
v_produk_kd
or
not
self
.
id_pel
:
return
self
.
set_response
(
message
=
'Parameter tidak lengkap'
)
parsd
=
self
.
_inquiry
()
if
not
parsd
:
return
self
.
set_failed
()
# parsd
return
self
.
set_success
(
parsd
)
# parsd
return
# parsd = self._inquiry()
# if not parsd:
# return self.set_failed() # parsd
def
payment
(
self
):
#Jika kategory bukan e-pulsa Call Inquiry First
#
Jika kategory bukan e-pulsa Call Inquiry First
parsd
=
None
if
self
.
vendor_produk
.
produk
.
kategori
.
kode
!=
"e-pulsa"
:
parsd
=
self
.
_inquiry
()
...
...
@@ -206,7 +220,7 @@ class Vendor(VendorClass):
self
.
status
=
1
# sukses
data
=
"data"
in
result
and
result
[
"data"
]
or
None
parsd
=
self
.
pars_data
(
data
)
return
self
.
set_success
(
parsd
,
"payment"
)
return
self
.
set_success
(
parsd
,
"payment"
)
elif
resp
.
status_code
==
400
:
self
.
status
=
-
3
parsd
=
dict
(
code
=
resp
.
status_code
,
...
...
@@ -239,21 +253,21 @@ class Vendor(VendorClass):
if
"power"
in
data
:
rincian
[
'power'
]
=
data
[
"power"
]
if
self
.
v_produk_kd
[:
3
]
==
"PLN"
and
self
.
v_produk_kd
!=
"PLNPASCA"
:
#harga = "price" in data and data["price"] or 0
#pokok = harga and int(re.sub("\D","", self.v_produk_kd))*1000 or 0
#
harga = "price" in data and data["price"] or 0
#
pokok = harga and int(re.sub("\D","", self.v_produk_kd))*1000 or 0
pokok
=
int
(
self
.
vendor_produk
.
produk
.
harga
)
admin
=
0
rincian
[
"pokok"
]
=
pokok
rincian
[
"admin"
]
=
admin
rincian
[
"denda"
]
=
0
rincian
[
"total"
]
=
pokok
+
admin
rincian
[
"total"
]
=
pokok
+
admin
rincian
[
"token"
]
=
"token"
in
data
and
data
[
"token"
]
or
""
log
.
info
(
">Rincian: {}"
.
format
(
rincian
))
elif
self
.
v_produk_kd
==
"PLNPASCA"
:
if
'tarif'
in
rincian
and
rincian
[
'tarif'
]:
p
=
rincian
[
'tarif'
]
.
split
(
'/'
)
if
len
(
p
)
>
1
:
if
len
(
p
)
>
1
:
rincian
[
"power"
]
=
p
[
1
][:
-
2
]
if
"subscriber_id"
in
data
and
data
[
"subscriber_id"
]:
rincian
[
'no_meter'
]
=
data
[
"subscriber_id"
]
...
...
@@ -274,7 +288,7 @@ class Vendor(VendorClass):
i
=
0
log
.
info
(
inquirieses
)
for
inquiries
in
inquirieses
:
#odeo ngerubah data inquiry
#
odeo ngerubah data inquiry
if
"tariff"
in
inquiries
and
inquiries
[
"tariff"
]:
rincian
[
'tarif'
]
=
inquiries
[
"tariff"
]
if
"number"
in
inquiries
:
...
...
@@ -360,7 +374,7 @@ class Vendor(VendorClass):
rincian
[
"denda"
]
=
denda
admin
=
int
(
self
.
vendor_produk
.
produk
.
harga
*
i
)
rincian
[
"admin"
]
=
admin
rincian
[
"total"
]
=
pokok
+
denda
+
admin
rincian
[
"total"
]
=
pokok
+
denda
+
admin
rincian
[
"period"
]
=
period
if
not
'jml_bulan'
in
rincian
:
...
...
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