Commit f1c3c3e1efaf7e58728b0c89f766e2dc7816b412

Authored by Adhidarma Hadiwinoto
1 parent 6f184db816
Exists in master

sn kirim xltunai

Showing 3 changed files with 24 additions and 9 deletions Side-by-side Diff

... ... @@ -112,28 +112,28 @@ def handleSms(sms):
112 112  
113 113 enablePull()
114 114 return
115   -
  115 +
116 116 if sms.text.find('Maaf, transaksi gagal') >= 0:
117 117 pushTopupStatus(LAST_REQUEST_ID, '40', sms.text)
118 118 return
119 119  
120   - elif sms.text.find('PIN yang Anda masukkan salah. Silahkan ulangi kembali') >= 0:
  120 + if sms.text.find('PIN yang Anda masukkan salah. Silahkan ulangi kembali') >= 0:
121 121 pushTopupStatus(LAST_REQUEST_ID, '91', sms.text)
122 122 return
123 123  
124   - elif sms.text.find('Maaf, saldo XL-Tunai anda tidak cukup') >= 0:
  124 + if sms.text.find('Maaf, saldo XL-Tunai anda tidak cukup') >= 0:
125 125 pushTopupStatus(LAST_REQUEST_ID, '40', sms.text)
126 126 return
127 127  
128   - elif sms.text.find('Maaf, layanan ini hanya untuk nomor tujuan prabayar XL') >= 0:
  128 + if sms.text.find('Maaf, layanan ini hanya untuk nomor tujuan prabayar XL') >= 0:
129 129 pushTopupStatus(LAST_REQUEST_ID, '14', sms.text)
130 130 return
131 131  
132   - elif sms.text.find('Mohon maaf, nomor yang Anda masukkan tidak valid') >= 0:
  132 + if sms.text.find('Mohon maaf, nomor yang Anda masukkan tidak valid') >= 0:
133 133 pushTopupStatus(LAST_REQUEST_ID, '14', sms.text)
134 134 return
135 135  
136   - elif sms.text.find('Mohon maaf, transaksi Anda melebihi limit nominal bulanan') >= 0:
  136 + if sms.text.find('Mohon maaf, transaksi Anda melebihi limit nominal bulanan') >= 0:
137 137 pushTopupStatus(LAST_REQUEST_ID, '40', sms.text)
138 138  
139 139 logger.info('Monthly limit for "{0}" detected, removing from product list'.format(LAST_PRODUCT))
... ... @@ -141,19 +141,24 @@ def handleSms(sms):
141 141 logger.warning('Monthly limit for "{0}" exceeded. New active products: "{1}"'.format(LAST_PRODUCT, PRODUCTS))
142 142 return
143 143  
144   - elif sms.text.find('Maaf, transaksi Anda masih dalam proses') >= 0:
  144 + if sms.text.find('Maaf, transaksi Anda masih dalam proses') >= 0:
145 145 pushTopupStatus(LAST_REQUEST_ID, '68', sms.text)
146 146 return
147 147  
148   - elif sms.text.find('Maaf, saat ini sistem sedang proses maintenance') >= 0:
  148 + if sms.text.find('Maaf, saat ini sistem sedang proses maintenance') >= 0:
149 149 pushTopupStatus(LAST_REQUEST_ID, '91', sms.text)
150 150 return
151 151  
152   - elif sms.text.find('Anda terima uang XLTunai') >= 0:
  152 + if sms.text.find('Anda terima uang XLTunai') >= 0:
153 153 LAST_SN = xltunai.getSNFromReceiveTransferMessage(sms.text)
154 154 logger.info('Override LAST_SN: {0}'.format(LAST_SN))
155 155 return
156 156  
  157 + if sms.text.find('Kirim uang ke ') == 0:
  158 + LAST_SN = xltunai.getSNFromSentTransferMessage(sms.text)
  159 + logger.info('Override LAST_SN: {0}'.format(LAST_SN))
  160 + return
  161 +
157 162 destination = xltunai.getDestinationFromMessage(sms.text)
158 163 if destination == '':
159 164 logger.warning('handleSms: gagal parsing nomor tujuan')
... ... @@ -137,3 +137,6 @@ def test_getSNFromReceiveTransferMessage():
137 137  
138 138 def test_getSNFromCashInMessage():
139 139 assert xltunai.getSNFromCashInMessage('Terimakasih, transaksi CASH IN ke akun 6287886957792 berhasil. Jumlah transaksi Rp 5000000, biaya 0. Saldo anda saat ini 5000000 . Ref ID: 96346333194106') == '96346333194106'
  140 +
  141 +def test_getSNFromSentTransferMessage():
  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'
... ... @@ -90,6 +90,13 @@ def getSNFromReceiveTransferMessage(message):
90 90 except:
91 91 return
92 92  
  93 +def getSNFromSentTransferMessage(message):
  94 + try:
  95 + sn = "".join(re.findall(r'Ref id (\d+)', message))
  96 + return sn
  97 + except:
  98 + return
  99 +
93 100 def getSNFromCashInMessage(message):
94 101 try:
95 102 sn = "".join(re.findall(r'Ref ID: (\d+)$', message))