Commit a6d1ac75b71d1a1bee77f7d84afaaeae5354bf9b
1 parent
68c4947a41
Exists in
master
hapus trx gagal dari redis agar dapat diulang
Showing 1 changed file with 16 additions and 2 deletions Side-by-side Diff
partner-masterpulsa-voucher.js
... | ... | @@ -23,6 +23,15 @@ function callbackReportWrapper(requestId, rc, message) { |
23 | 23 | logger.warn('Exception on callbackReportWrapper: ' + err); |
24 | 24 | } |
25 | 25 | } |
26 | + | |
27 | + if (rc != '00' && rc != '68') { | |
28 | + try { | |
29 | + var key = dupcheckKey(config.globals.gateway_name, task); | |
30 | + redisClient.del(key); | |
31 | + } | |
32 | + catch(delErr) { | |
33 | + } | |
34 | + } | |
26 | 35 | |
27 | 36 | callbackReport(requestId, rc, message); |
28 | 37 | } |
... | ... | @@ -56,8 +65,13 @@ function getRedisKey(task) { |
56 | 65 | return config.globals.gateway_name + '.tid:' + task.requestId; |
57 | 66 | } |
58 | 67 | |
68 | +function dupcheckKey(gatewayName, task) { | |
69 | + return 'DUPCHECK.gw:' + gatewayName + '.prod:' + task.remoteProduct + '.dest:' + task.destination + '.date:' + strftime('%Y%m%d', new Date); | |
70 | +} | |
71 | + | |
59 | 72 | function topupRequest(task, retry) { |
60 | - var key = 'DUPCHECK.gw:' + config.globals.gateway_name + '.prod:' + task.remoteProduct + '.dest:' + task.destination + '.date:' + strftime('%Y%m%d', new Date); | |
73 | + var key = dupcheckKey(config.globals.gateway_name, task); | |
74 | + | |
61 | 75 | redisClient.get(key, function(err, data) { |
62 | 76 | if (err) { |
63 | 77 | callbackReportWrapper(task.requestId, '40', 'Gagal cek anti transaksi duplikat (redis error)'); |
... | ... | @@ -258,7 +272,7 @@ function advice(task, retry) { |
258 | 272 | logger.info('Requesting advice to supplier', {requestOptions: requestOptions}); |
259 | 273 | request(requestOptions, function(requestError, requestResponse, requestResponseBody) { |
260 | 274 | if (requestError || requestResponse.statusCode != 200) { |
261 | - logger.warn('Advice error', {error: request_error, http_response: requestResponse.statusCode}); | |
275 | + logger.warn('Advice error', {error: requestError, http_response: requestResponse.statusCode}); | |
262 | 276 | |
263 | 277 | if (retry > 0) { |
264 | 278 | logger.warn('Going to retry advice in ' + adviceDelay + 'ms', {task: task, retry: retry}); |