Commit 14c35798bc345b43403fecd6b6e773f2f67987cb

Authored by Adhidarma Hadiwinoto
1 parent 5d7d942633
Exists in master

reverse trx SUKSES

Showing 1 changed file with 30 additions and 10 deletions Side-by-side Diff

... ... @@ -7,9 +7,10 @@ var xml2js = require('xml2js').parseString;
7 7 var strftime = require('strftime');
8 8 var math = require('mathjs');
9 9 var winston = require('winston');
10   -var cekstatus = require('./cekstatus.js');
  10 +//var cekstatus = require('./cekstatus.js');
11 11 var mongoClient = require('mongodb').MongoClient;
12 12 var LRU = require('lru-cache');
  13 +var reverseParser = require('./reverse-parser');
13 14  
14 15 var config;
15 16 var httpServer;
... ... @@ -513,7 +514,9 @@ function callbackFromWebReport(status) {
513 514  
514 515 } else if ((status.status == 'P') || (status.status == 'W')) {
515 516  
516   - callbackReport(status.response.reffid[0].trim(), '68', responseMessage);
  517 + return callbackReport(status.response.reffid[0].trim(), '68', responseMessage);
  518 +
  519 + /*
517 520 logger.info('Got pending status, requesting advice from webreport in ' + sleep_before_retry + 'ms');
518 521  
519 522 setTimeout(function () {
... ... @@ -521,7 +524,7 @@ function callbackFromWebReport(status) {
521 524 cekstatus.advice({trxid: status.trxId,}, callbackFromWebReport);
522 525  
523 526 }, sleep_before_retry);
524   - return;
  527 + */
525 528  
526 529 } else {
527 530 responseCode = status.response.resultcode[0].replace(/^00/, "");
... ... @@ -531,7 +534,7 @@ function callbackFromWebReport(status) {
531 534 }
532 535  
533 536  
534   - callbackReport(status.response.reffid[0].trim(), responseCode, responseMessage);
  537 + return callbackReport(status.response.reffid[0].trim(), responseCode, responseMessage);
535 538 }
536 539  
537 540 function createHttpReportServer() {
... ... @@ -546,14 +549,32 @@ function createHttpReportServer() {
546 549 var resultCode = qs.rescode;
547 550  
548 551 if (requestId && resultCode && resultCode != '0') {
549   - if (pendingResultCode.indexOf(resultCode) >= 0) {
550   - callbackReport(requestId, '68', 'Got reverse report: ' + qs.msg);
551   - } else {
552   - callbackReport(requestId, '40', 'Got reverse report: ' + qs.msg);
  552 +
  553 + }
  554 +
  555 + if (requestId && resultCode)
  556 + if (resultCode == '0') {
  557 + var responseData = reverseParser.parseMessage(qs.msg);
  558 + var sn = [
  559 + qs.token,
  560 + responseData.namapel,
  561 + responseData.tarifdaya,
  562 + responseData.jumlahkwh
  563 + ].join('/');
  564 +
  565 + return callbackReport(requestId, '00', 'SN=' + sn + ';' + 'Got reverse report: ' + qs.msg);
  566 + }
  567 + else if (pendingResultCode.indexOf(resultCode) >= 0) {
  568 + return callbackReport(requestId, '68', 'Got reverse report: ' + qs.msg);
  569 + }
  570 + else {
  571 + return callbackReport(requestId, '40', 'Got reverse report: ' + qs.msg);
553 572 }
554   - return;
555 573 }
556 574  
  575 +
  576 + /*
  577 +
557 578 var trxid;
558 579 try {
559 580 trxid = qs.transid;
... ... @@ -561,7 +582,6 @@ function createHttpReportServer() {
561 582 catch(err) {
562 583 }
563 584  
564   - /*
565 585 if (trxid) {
566 586 logger.info('Requesting advice from webreport', {trxid: trxid})
567 587 cekstatus.advice({trxid: trxid}, callbackFromWebReport);