Commit 14c35798bc345b43403fecd6b6e773f2f67987cb
1 parent
5d7d942633
Exists in
master
reverse trx SUKSES
Showing 1 changed file with 30 additions and 10 deletions Side-by-side Diff
partner-sc.js
... | ... | @@ -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); |