Commit a6d1ac75b71d1a1bee77f7d84afaaeae5354bf9b

Authored by Adhidarma Hadiwinoto
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});