From 50ad7d6d61f1df4a07737d617d894ac489ae5034 Mon Sep 17 00:00:00 2001 From: Nattapon Wongpaet Date: Wed, 22 Aug 2018 11:31:14 +0700 Subject: [PATCH] update get vizcard get customer --- ais-structure/.vscode/launch.json | 20 ++++++++++++++++++++ ais-structure/src/modules/customer/customer.ctrl.js | 23 +++++++++++++++-------- ais-structure/src/modules/helper/connection.js | 35 +++++++++++++++++++++++++++++------ ais-structure/src/modules/helper/log.js | 24 ++++++++++++++---------- ais-structure/src/modules/helper/messageSOAP.js | 9 +++++---- ais-structure/src/modules/helper/stats.js | 24 ++++++++++++------------ ais-structure/src/modules/vizcard/vizCard.ctrl.js | 47 ++++++++++++++++++++++++++++++----------------- 7 files changed, 125 insertions(+), 57 deletions(-) create mode 100644 ais-structure/.vscode/launch.json diff --git a/ais-structure/.vscode/launch.json b/ais-structure/.vscode/launch.json new file mode 100644 index 0000000..2e54454 --- /dev/null +++ b/ais-structure/.vscode/launch.json @@ -0,0 +1,20 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "type": "node", + "request": "launch", + "name": "Launch Program", + "program": "${workspaceFolder}/index.js" + }, + { + "type": "node", + "request": "attach", + "name": "Attach by Process ID", + "processId": "${command:PickProcess}" + } + ] +} \ No newline at end of file diff --git a/ais-structure/src/modules/customer/customer.ctrl.js b/ais-structure/src/modules/customer/customer.ctrl.js index daba487..6d99bb8 100644 --- a/ais-structure/src/modules/customer/customer.ctrl.js +++ b/ais-structure/src/modules/customer/customer.ctrl.js @@ -7,21 +7,25 @@ var log = require('../helper/log.js'); exports.customer = async function (req, res, next) { var getCmd = "Customer"; var sendCmd = "Customer"; + var sacf = "SACF"; + var d01 = "D01" log.startlog(getCmd,req); - log.logDetail.addInput("Client",getCmd,"Request",req); + log.logDetail.addInput(sacf,getCmd,"Request",req,req.body); var err = validator(req,getCmd); if(err.length > 0) { - console.log(err); + log.log(err,'error'); var response = responseMsg.error(req,getCmd,40300); // res.status(200).json(response); }else { var objectData = req.query; + log.logDetail.addOutput(d01,sendCmd,"Request",req.url,req.body); const result = await connection.requestJsonToD01(objectData,sendCmd,"GET"); + log.logDetail.addInput(d01,sendCmd,"Response",result,result.resultData); if(typeof result.err === 'undefined'){ // console.log(result.response); var resultObj = result.response; @@ -30,22 +34,25 @@ exports.customer = async function (req, res, next) { if(resultObj.resultData && resultObj.resultData.length>0) { var response = responseMsg.success(req,getCmd,resultObj); + log.addSuccessSummary(sacf,sendCmd,response); }else { var response = responseMsg.error(req,getCmd,40300); + log.addErrorSummary(sacf,sendCmd,response); } } } else { response = responseMsg.direct(req,getCmd,result.response); + log.addErrorSummary(sacf,sendCmd,response); } } - if(!response) + if(!response){ var response = responseMsg.error(req,getCmd,50000); + stats.receiveResponse(sacf,sendCmd,"Error"); + } - log.logDetail.addOutput("Client",getCmd,"Response",response,response); - // log.logDetail.write(); - log.logSummary(); + log.logDetail.addOutput(sacf,getCmd,"Response",response,response); res.status(200).json(response); next(); }; @@ -67,9 +74,9 @@ function validator(req,api) } if(err.length > 0) - stats.reciveRequest(req.method,api,false); + stats.receiveRequest(req.method,api,false); else - stats.reciveRequest(req.method,api,true); + stats.receiveRequest(req.method,api,true); return err; } diff --git a/ais-structure/src/modules/helper/connection.js b/ais-structure/src/modules/helper/connection.js index 6861b37..0b29fb5 100644 --- a/ais-structure/src/modules/helper/connection.js +++ b/ais-structure/src/modules/helper/connection.js @@ -18,11 +18,34 @@ connection.requestSoapToSACF = async function (soap,cmd,myMethod) { } stats.sendSACFRequest(cfg.service.SACF.Name,cmd) - log.logDetail.addOutput(cfg.service.SACF.Name,cmd,"Request",params.body,soap); - log.logDetail.write(); + log.logDetail.addOutput(cfg.service.SACF.Name,cmd,"Request",params.body,soap); - return asyncRequest(params,cmd,cfg.service.SACF.Name); + var result = await asyncRequest(params,cmd,cfg.service.SACF.Name); + + if(result.err) + { + result.response = {}; + result.response.resultCode = "50000"; + + //ETIMEDOUT = timeout + //ECONNREFUSED = servercode + + if(result.err.code == 'ETIMEDOUT'){ + result.response.resultCode = "50003"; + result.response.resultDescription = "Timeout"; + } else if(result.err.code == 'ECONNREFUSED'){ + result.response.resultCode = "50002"; + result.response.resultDescription = "Reject"; + } else { + result.response.resultCode = "50000"; + result.response.resultDescription = "System error"; + } + stats.receiveResponse(cfg.service.SACF.Name,cmd,"Error"); + } + + return result; }; + connection.requestJsonToD01 = async function (obj,cmd,myMethod) { var service = cfg.service.D01; @@ -157,7 +180,7 @@ connection.requestJsonToD01 = async function (obj,cmd,myMethod) { if(result.response.resultCode == "40300"){ stats.receiveBadRestResponse(service.Name,params.method,cmd); } else { - stats.reciveResponse(service.Name,cmd,"Error"); + stats.receiveResponse(service.Name,cmd,"Error"); } @@ -184,7 +207,7 @@ async function parallelRequest(multiParams,cmd,node) for(var i=0;i CMF -stat.reciveRequest = function (method,cmd){ - writeStats(nodeName+" Recive "+method+" "+cmd+" Request"); +stat.receiveRequest = function (method,cmd){ + writeStats(nodeName+" Receive "+method+" "+cmd+" Request"); }; -stat.reciveBadRequest = function (method,cmd){ - writeStats(nodeName+" Recive Bad "+method+" "+cmd+" Request"); +stat.receiveBadRequest = function (method,cmd){ + writeStats(nodeName+" Receive Bad "+method+" "+cmd+" Request"); }; stat.sendResponse = function (method,cmd,result){ @@ -49,12 +49,12 @@ stat.sendRequest = function (toNode,cmd){ writeStats(nodeName+" Send "+toNode+" "+cmd+" Request"); }; -stat.reciveResponse = function (fromNode,cmd,result){ - writeStats(nodeName+" Recive "+fromNode+" "+cmd+" Response "+result); +stat.receiveResponse = function (fromNode,cmd,result){ + writeStats(nodeName+" Receive "+fromNode+" "+cmd+" Response "+result); }; -stat.reciveBadResponse = function (fromNode,cmd,result){ - writeStats(nodeName+" Recive "+fromNode+" Bad "+cmd+" Response "); +stat.receiveBadResponse = function (fromNode,cmd,result){ + writeStats(nodeName+" Receive "+fromNode+" Bad "+cmd+" Response "); }; diff --git a/ais-structure/src/modules/vizcard/vizCard.ctrl.js b/ais-structure/src/modules/vizcard/vizCard.ctrl.js index 97b7d08..097f548 100644 --- a/ais-structure/src/modules/vizcard/vizCard.ctrl.js +++ b/ais-structure/src/modules/vizcard/vizCard.ctrl.js @@ -19,9 +19,9 @@ exports.vizcard = async function (req, res, next) { if(err.length > 0) { - log.log(err); + log.log(err,'error'); var response = responseMsg.error(req,getCmd,40300); - res.status(200).json(response); + // res.status(200).json(response); }else { @@ -41,30 +41,43 @@ exports.vizcard = async function (req, res, next) { // console.log(result.err) if(typeof result.err === 'undefined'){ - stats.reciveSACFResponse(sacf,sendCmd,"Success"); - var resultSoap = parseJson.xml2json(result.body, {compact: true, spaces: 4}) - resultSoap = JSON.parse(resultSoap) - resultSoap = resultSoap['soap:Envelope']['soap:Body']['tem:SearchCustomerResponse']['tem:SearchCustomerResult']['tem:CustomerSearchResult']; + try { + var resultSoap = parseJson.xml2json(result.body, {compact: true, spaces: 4}) + resultSoap = JSON.parse(resultSoap) + resultSoap = resultSoap['soap:Envelope']['soap:Body']['tem:SearchCustomerResponse']['tem:SearchCustomerResult']['tem:CustomerSearchResult']; + + var resultSet = messageSOAP.soapToArray(req,resultSoap); + stats.receiveSACFResponse(sacf,sendCmd,"Success"); + var response = responseMsg.success(req,getCmd,{resultData:resultSet.returnData,rowCount:resultSet.returnData.length}); + + log.addSuccessSummary(sacf,sendCmd,response); + // log.addErrorSummary("ABCD","EFGH",{resultCode : '50000',developerMessage : "error"}); + } + catch(error) { + result.response.resultCode = "50000"; + result.response.resultDescription = "Bad Response"; - var resultSet = messageSOAP.soapToArray(req,resultSoap); - var response = responseMsg.success(req,getCmd,{resultData:resultSet.returnData,rowCount:resultSet.returnData.length}); + stats.receiveSACFBadResponse(sacf,sendCmd); + log.addErrorSummary(sacf,sendCmd,response); - log.addSuccessSummary(sacf,sendCmd,response); - // log.addErrorSummary("ABCD","EFGH",{resultCode : '50000',developerMessage : "error"}); + response = responseMsg.direct(req,getCmd,result.response); + var resultSet = {rawDataJson : ""} + } + } else { + response = responseMsg.direct(req,getCmd,result.response); + var resultSet = {rawDataJson : ""} } - log.logDetail.addInput(sacf,getCmd,"Response",result,resultSet.rawDataJson); + log.logDetail.addInput(sacf,sendCmd,"Response",result,resultSet.rawDataJson); if(!response){ var response = responseMsg.error(req,getCmd,50000); - stats.reciveResponse(sacf,"SPW_"+sendCmd,"Error"); + stats.receiveSACFResponse(sacf,sendCmd,"Error"); } - log.logDetail.addOutput(sacf,sendCmd,"Response",response,response); - log.logDetail.write(); - log.logSummary(response); + log.logDetail.addOutput(sacf,getCmd,"Response",response,response); res.status(200).json(response); next(); } @@ -83,9 +96,9 @@ function validator(req,cmd) var err = validatorHelper(req,list); if(err.length > 0) - stats.reciveRequest(req.method,cmd,false); + stats.receiveRequest(req.method,cmd,false); else - stats.reciveRequest(req.method,cmd,true); + stats.receiveRequest(req.method,cmd,true); return err; } -- libgit2 0.21.2