Commit defd7a97651a723c4999cf39a34eeb0bb8a51e95

Authored by Adhidarma Hadiwinoto
1 parent b4dfd3b151
Exists in master

perbaikan penanganan jika last trx non reload

Showing 3 changed files with 15 additions and 6 deletions Side-by-side Diff

... ... @@ -310,6 +310,7 @@ def adviceLastSN(requestId, modem):
310 310 logger.info(u'USSD response: {0}'.format(message))
311 311  
312 312 lastSNFromHistory = xltunai.getLastSNFromHistoryMessage(message)
  313 + lastTrxTypeFromHistory = xltunai.getLastTrxTypeFromMessage(message)
313 314  
314 315 if response.sessionActive:
315 316 response.cancel()
... ... @@ -320,17 +321,16 @@ def adviceLastSN(requestId, modem):
320 321 sleep(15)
321 322 adviceLastSN(requestid, modem)
322 323  
323   - elif lastSNFromHistory == 'NON RELOAD':
  324 + elif lastTrxTypeFromHistory and lastTrxTypeFromHistory.find('RELOAD') < 0:
324 325 topupMessage = "Topup gagal berdasarkan advice. Trx terakhir adalah P2P Transfer."
325 326 pushTopupStatus(requestId, '40', topupMessage)
326 327 DISABLE_SEM = 0
327   -
  328 +
328 329 elif lastSNFromHistory == LAST_SN:
329 330 topupMessage = "Topup gagal berdasarkan advice. {0} = {1}. {2}".format(lastSNFromHistory, LAST_SN, message)
330 331 pushTopupStatus(requestId, '40', topupMessage)
331 332 DISABLE_SEM = 0
332 333  
333   -
334 334 else:
335 335 topupMessage = "SN={0}; Topup berhasil berdasarkan advice. {1}".format(lastSNFromHistory, message)
336 336 LAST_SN = lastSNFromHistory
... ... @@ -140,3 +140,7 @@ def test_getSNFromCashInMessage():
140 140  
141 141 def test_getSNFromSentTransferMessage():
142 142 assert xltunai.getSNFromSentTransferMessage('Kirim uang ke 6287886957795 an DIDIT ARIYANTO sebesar Rp 580000 berhasil pada 20/02/2016 21:48:54.Ref id 79811319924606. Info hub 817') == '79811319924606'
  143 +
  144 +def test_getLastTrxTypeFromMessage():
  145 + assert xltunai.getLastTrxTypeFromMessage('Transaksi Terakhir :\n39535056518697/750000/22-02-2016 08:36:59/P201602181759182040246743/P201602181759182039246781/P2P TRANSFER') == 'P2P TRANSFER'
  146 + assert xltunai.getLastTrxTypeFromMessage('Transaksi Terakhir :\n99345514064378/5500/21-02-2016 15:34:58/M201312021528418273770285/P201511211752675316198716/RELOAD XL 5000') == 'RELOAD XL 5000'
... ... @@ -171,9 +171,14 @@ def getMasaAktifFromUssdResponseMessage(message):
171 171 return time.strftime("%Y-%m-%d", masa_aktif)
172 172  
173 173 def getLastSNFromHistoryMessage(message):
174   - if not re.findall(r"RELOAD", message):
175   - return 'NON RELOAD'
176   -
177 174 sn = re.findall(r"Transaksi Terakhir\s:\s(\d+)", message)
178 175 if sn:
179 176 return sn[0]
  177 +
  178 +def getLastTrxTypeFromMessage(message):
  179 + try:
  180 + trxType = message.split('/')[-1]
  181 + return trxType
  182 + except:
  183 + return
  184 +