Commit 50ad7d6d61f1df4a07737d617d894ac489ae5034

Authored by Nattapon Wongpaet
1 parent 53004544
Exists in master and in 1 other branch dev

update get vizcard get customer

ais-structure/.vscode/launch.json 0 → 100644
@@ -0,0 +1,20 @@ @@ -0,0 +1,20 @@
  1 +{
  2 + // Use IntelliSense to learn about possible attributes.
  3 + // Hover to view descriptions of existing attributes.
  4 + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
  5 + "version": "0.2.0",
  6 + "configurations": [
  7 + {
  8 + "type": "node",
  9 + "request": "launch",
  10 + "name": "Launch Program",
  11 + "program": "${workspaceFolder}/index.js"
  12 + },
  13 + {
  14 + "type": "node",
  15 + "request": "attach",
  16 + "name": "Attach by Process ID",
  17 + "processId": "${command:PickProcess}"
  18 + }
  19 + ]
  20 +}
0 \ No newline at end of file 21 \ No newline at end of file
ais-structure/src/modules/customer/customer.ctrl.js
@@ -7,21 +7,25 @@ var log = require('../helper/log.js'); @@ -7,21 +7,25 @@ var log = require('../helper/log.js');
7 exports.customer = async function (req, res, next) { 7 exports.customer = async function (req, res, next) {
8 var getCmd = "Customer"; 8 var getCmd = "Customer";
9 var sendCmd = "Customer"; 9 var sendCmd = "Customer";
  10 + var sacf = "SACF";
  11 + var d01 = "D01"
10 12
11 log.startlog(getCmd,req); 13 log.startlog(getCmd,req);
12 - log.logDetail.addInput("Client",getCmd,"Request",req); 14 + log.logDetail.addInput(sacf,getCmd,"Request",req,req.body);
13 15
14 var err = validator(req,getCmd); 16 var err = validator(req,getCmd);
15 17
16 if(err.length > 0) 18 if(err.length > 0)
17 { 19 {
18 - console.log(err); 20 + log.log(err,'error');
19 var response = responseMsg.error(req,getCmd,40300); 21 var response = responseMsg.error(req,getCmd,40300);
20 // res.status(200).json(response); 22 // res.status(200).json(response);
21 }else 23 }else
22 { 24 {
23 var objectData = req.query; 25 var objectData = req.query;
  26 + log.logDetail.addOutput(d01,sendCmd,"Request",req.url,req.body);
24 const result = await connection.requestJsonToD01(objectData,sendCmd,"GET"); 27 const result = await connection.requestJsonToD01(objectData,sendCmd,"GET");
  28 + log.logDetail.addInput(d01,sendCmd,"Response",result,result.resultData);
25 if(typeof result.err === 'undefined'){ 29 if(typeof result.err === 'undefined'){
26 // console.log(result.response); 30 // console.log(result.response);
27 var resultObj = result.response; 31 var resultObj = result.response;
@@ -30,22 +34,25 @@ exports.customer = async function (req, res, next) { @@ -30,22 +34,25 @@ exports.customer = async function (req, res, next) {
30 if(resultObj.resultData && resultObj.resultData.length>0) 34 if(resultObj.resultData && resultObj.resultData.length>0)
31 { 35 {
32 var response = responseMsg.success(req,getCmd,resultObj); 36 var response = responseMsg.success(req,getCmd,resultObj);
  37 + log.addSuccessSummary(sacf,sendCmd,response);
33 }else 38 }else
34 { 39 {
35 var response = responseMsg.error(req,getCmd,40300); 40 var response = responseMsg.error(req,getCmd,40300);
  41 + log.addErrorSummary(sacf,sendCmd,response);
36 } 42 }
37 } 43 }
38 } else { 44 } else {
39 response = responseMsg.direct(req,getCmd,result.response); 45 response = responseMsg.direct(req,getCmd,result.response);
  46 + log.addErrorSummary(sacf,sendCmd,response);
40 } 47 }
41 } 48 }
42 49
43 - if(!response) 50 + if(!response){
44 var response = responseMsg.error(req,getCmd,50000); 51 var response = responseMsg.error(req,getCmd,50000);
  52 + stats.receiveResponse(sacf,sendCmd,"Error");
  53 + }
45 54
46 - log.logDetail.addOutput("Client",getCmd,"Response",response,response);  
47 - // log.logDetail.write();  
48 - log.logSummary(); 55 + log.logDetail.addOutput(sacf,getCmd,"Response",response,response);
49 res.status(200).json(response); 56 res.status(200).json(response);
50 next(); 57 next();
51 }; 58 };
@@ -67,9 +74,9 @@ function validator(req,api) @@ -67,9 +74,9 @@ function validator(req,api)
67 } 74 }
68 75
69 if(err.length > 0) 76 if(err.length > 0)
70 - stats.reciveRequest(req.method,api,false); 77 + stats.receiveRequest(req.method,api,false);
71 else 78 else
72 - stats.reciveRequest(req.method,api,true); 79 + stats.receiveRequest(req.method,api,true);
73 80
74 return err; 81 return err;
75 } 82 }
ais-structure/src/modules/helper/connection.js
@@ -18,11 +18,34 @@ connection.requestSoapToSACF = async function (soap,cmd,myMethod) { @@ -18,11 +18,34 @@ connection.requestSoapToSACF = async function (soap,cmd,myMethod) {
18 } 18 }
19 19
20 stats.sendSACFRequest(cfg.service.SACF.Name,cmd) 20 stats.sendSACFRequest(cfg.service.SACF.Name,cmd)
21 - log.logDetail.addOutput(cfg.service.SACF.Name,cmd,"Request",params.body,soap);  
22 - log.logDetail.write(); 21 + log.logDetail.addOutput(cfg.service.SACF.Name,cmd,"Request",params.body,soap);
23 22
24 - return asyncRequest(params,cmd,cfg.service.SACF.Name); 23 + var result = await asyncRequest(params,cmd,cfg.service.SACF.Name);
  24 +
  25 + if(result.err)
  26 + {
  27 + result.response = {};
  28 + result.response.resultCode = "50000";
  29 +
  30 + //ETIMEDOUT = timeout
  31 + //ECONNREFUSED = servercode
  32 +
  33 + if(result.err.code == 'ETIMEDOUT'){
  34 + result.response.resultCode = "50003";
  35 + result.response.resultDescription = "Timeout";
  36 + } else if(result.err.code == 'ECONNREFUSED'){
  37 + result.response.resultCode = "50002";
  38 + result.response.resultDescription = "Reject";
  39 + } else {
  40 + result.response.resultCode = "50000";
  41 + result.response.resultDescription = "System error";
  42 + }
  43 + stats.receiveResponse(cfg.service.SACF.Name,cmd,"Error");
  44 + }
  45 +
  46 + return result;
25 }; 47 };
  48 +
26 connection.requestJsonToD01 = async function (obj,cmd,myMethod) { 49 connection.requestJsonToD01 = async function (obj,cmd,myMethod) {
27 50
28 var service = cfg.service.D01; 51 var service = cfg.service.D01;
@@ -157,7 +180,7 @@ connection.requestJsonToD01 = async function (obj,cmd,myMethod) { @@ -157,7 +180,7 @@ connection.requestJsonToD01 = async function (obj,cmd,myMethod) {
157 if(result.response.resultCode == "40300"){ 180 if(result.response.resultCode == "40300"){
158 stats.receiveBadRestResponse(service.Name,params.method,cmd); 181 stats.receiveBadRestResponse(service.Name,params.method,cmd);
159 } else { 182 } else {
160 - stats.reciveResponse(service.Name,cmd,"Error"); 183 + stats.receiveResponse(service.Name,cmd,"Error");
161 } 184 }
162 185
163 186
@@ -184,7 +207,7 @@ async function parallelRequest(multiParams,cmd,node) @@ -184,7 +207,7 @@ async function parallelRequest(multiParams,cmd,node)
184 for(var i=0;i<res.length;i++) 207 for(var i=0;i<res.length;i++)
185 { 208 {
186 if(!res[i].err) 209 if(!res[i].err)
187 - stats.reciveResponse(node,cmd,"Success"); 210 + stats.receiveResponse(node,cmd,"Success");
188 211
189 } 212 }
190 213
@@ -208,7 +231,7 @@ function asyncRequest (params = {},cmd,node) { @@ -208,7 +231,7 @@ function asyncRequest (params = {},cmd,node) {
208 }); 231 });
209 } else { 232 } else {
210 233
211 - // stats.reciveResponse(node,cmd,"Success"); 234 + // stats.receiveResponse(node,cmd,"Success");
212 resolve({ 235 resolve({
213 'body' : body, 236 'body' : body,
214 'response' : response 237 'response' : response
ais-structure/src/modules/helper/log.js
@@ -101,7 +101,7 @@ logger.logSummary = function (response) @@ -101,7 +101,7 @@ logger.logSummary = function (response)
101 log.addErrorBlock(row.node,row.cmd,row.resultCode,row.resultDesc); 101 log.addErrorBlock(row.node,row.cmd,row.resultCode,row.resultDesc);
102 } 102 }
103 } 103 }
104 - 104 +
105 if(response){ 105 if(response){
106 log.end(response.resultCode,response.developerMessage) 106 log.end(response.resultCode,response.developerMessage)
107 } else { 107 } else {
@@ -120,7 +120,7 @@ var addlogDetailData = function(inputType,node,cmd,type,rawData,data){ @@ -120,7 +120,7 @@ var addlogDetailData = function(inputType,node,cmd,type,rawData,data){
120 params : rawData.params 120 params : rawData.params
121 }; 121 };
122 } else { 122 } else {
123 - var raw = { 123 + var raw = {
124 }; 124 };
125 } 125 }
126 126
@@ -144,20 +144,24 @@ var addlogDetailData = function(inputType,node,cmd,type,rawData,data){ @@ -144,20 +144,24 @@ var addlogDetailData = function(inputType,node,cmd,type,rawData,data){
144 data : data 144 data : data
145 }; 145 };
146 146
  147 + var log = logg.detail(start.session, start.cmd, start.identity);
  148 + log.addInput( detail.input.node, detail.input.cmd, detail.input.type, detail.input.rawData, detail.input.data );
  149 + log.addOutput( detail.output.node, detail.output.cmd, detail.output.type, detail.output.rawData, detail.output.data );
  150 + log.end();
147 // console.log(detail.output); 151 // console.log(detail.output);
148 } 152 }
149 } 153 }
150 154
151 var logDetailData = { 155 var logDetailData = {
152 addInput : function(node,cmd,type,rawData,data){addlogDetailData('input',node,cmd,type,rawData,data)}, 156 addInput : function(node,cmd,type,rawData,data){addlogDetailData('input',node,cmd,type,rawData,data)},
153 - addOutput : function(node,cmd,type,rawData,data){addlogDetailData('output',node,cmd,type,rawData,data)},  
154 - write : function ()  
155 - {  
156 - var log = logg.detail(start.session, start.cmd, start.identity);  
157 - log.addInput( detail.input.node, detail.input.cmd, detail.input.type, detail.input.rawData, detail.input.data );  
158 - log.addOutput( detail.output.node, detail.output.cmd, detail.output.type, detail.output.rawData, detail.output.data );  
159 - log.end();  
160 - } 157 + addOutput : function(node,cmd,type,rawData,data){addlogDetailData('output',node,cmd,type,rawData,data)}
  158 + // write : function ()
  159 + // {
  160 + // var log = logg.detail(start.session, start.cmd, start.identity);
  161 + // log.addInput( detail.input.node, detail.input.cmd, detail.input.type, detail.input.rawData, detail.input.data );
  162 + // log.addOutput( detail.output.node, detail.output.cmd, detail.output.type, detail.output.rawData, detail.output.data );
  163 + // log.end();
  164 + // }
161 }; 165 };
162 166
163 logger.logDetail = logDetailData; 167 logger.logDetail = logDetailData;
ais-structure/src/modules/helper/messageSOAP.js
@@ -37,11 +37,12 @@ soap.soapToArray = function(req,resultSoap) @@ -37,11 +37,12 @@ soap.soapToArray = function(req,resultSoap)
37 37
38 // console.log(resultSet); 38 // console.log(resultSet);
39 39
40 - 40 + var rawDataArr = [];
41 41
42 for(var i=0;i<resultSet.length;i++) 42 for(var i=0;i<resultSet.length;i++)
43 { 43 {
44 var data = {} 44 var data = {}
  45 + var rawData = {}
45 for(var key in resultSet[i]){ 46 for(var key in resultSet[i]){
46 var keyObj = capitalizeFirstLetter(key.replace('tem:','')) 47 var keyObj = capitalizeFirstLetter(key.replace('tem:',''))
47 // console.log(keyObj+' : '+resultSet[i][key]['_text']); 48 // console.log(keyObj+' : '+resultSet[i][key]['_text']);
@@ -52,13 +53,13 @@ soap.soapToArray = function(req,resultSoap) @@ -52,13 +53,13 @@ soap.soapToArray = function(req,resultSoap)
52 } else { 53 } else {
53 data[keyObj] = resultSet[i][key]['_text']; 54 data[keyObj] = resultSet[i][key]['_text'];
54 } 55 }
  56 + rawData[keyObj] = resultSet[i][key]['_text'];
55 } 57 }
  58 + rawDataArr.push(rawData);
56 returnData.push(data); 59 returnData.push(data);
57 } 60 }
58 61
59 - console.log(resultSet)  
60 -  
61 - return { returnData : returnData, rawDataJson : resultSet}; 62 + return { returnData : returnData, rawDataJson : rawDataArr};
62 }; 63 };
63 64
64 function getBodySOAP(objectData) 65 function getBodySOAP(objectData)
ais-structure/src/modules/helper/stats.js
@@ -10,21 +10,21 @@ stat.sendSACFRequest = function (toNode,cmd){ @@ -10,21 +10,21 @@ stat.sendSACFRequest = function (toNode,cmd){
10 writeStats(nodeName+" Send "+toNode+" OutRedirect SPW_"+cmd+" Request"); 10 writeStats(nodeName+" Send "+toNode+" OutRedirect SPW_"+cmd+" Request");
11 }; 11 };
12 12
13 -stat.reciveSACFResponse = function (fromNode,cmd,result){  
14 - writeStats(nodeName+" Recive "+fromNode+" OutRedirect SPW_"+cmd+" Response "+result); 13 +stat.receiveSACFResponse = function (fromNode,cmd,result){
  14 + writeStats(nodeName+" Receive "+fromNode+" OutRedirect SPW_"+cmd+" Response "+result);
15 }; 15 };
16 16
17 -stat.reciveSACFBadResponse = function (fromNode,cmd){  
18 - writeStats(nodeName+" Recive "+fromNode+" Bad OutRedirect SPW_"+cmd+" Response"); 17 +stat.receiveSACFBadResponse = function (fromNode,cmd){
  18 + writeStats(nodeName+" Receive "+fromNode+" Bad OutRedirect SPW_"+cmd+" Response");
19 }; 19 };
20 20
21 //client => CMF 21 //client => CMF
22 -stat.reciveRequest = function (method,cmd){  
23 - writeStats(nodeName+" Recive "+method+" "+cmd+" Request"); 22 +stat.receiveRequest = function (method,cmd){
  23 + writeStats(nodeName+" Receive "+method+" "+cmd+" Request");
24 }; 24 };
25 25
26 -stat.reciveBadRequest = function (method,cmd){  
27 - writeStats(nodeName+" Recive Bad "+method+" "+cmd+" Request"); 26 +stat.receiveBadRequest = function (method,cmd){
  27 + writeStats(nodeName+" Receive Bad "+method+" "+cmd+" Request");
28 }; 28 };
29 29
30 stat.sendResponse = function (method,cmd,result){ 30 stat.sendResponse = function (method,cmd,result){
@@ -49,12 +49,12 @@ stat.sendRequest = function (toNode,cmd){ @@ -49,12 +49,12 @@ stat.sendRequest = function (toNode,cmd){
49 writeStats(nodeName+" Send "+toNode+" "+cmd+" Request"); 49 writeStats(nodeName+" Send "+toNode+" "+cmd+" Request");
50 }; 50 };
51 51
52 -stat.reciveResponse = function (fromNode,cmd,result){  
53 - writeStats(nodeName+" Recive "+fromNode+" "+cmd+" Response "+result); 52 +stat.receiveResponse = function (fromNode,cmd,result){
  53 + writeStats(nodeName+" Receive "+fromNode+" "+cmd+" Response "+result);
54 }; 54 };
55 55
56 -stat.reciveBadResponse = function (fromNode,cmd,result){  
57 - writeStats(nodeName+" Recive "+fromNode+" Bad "+cmd+" Response "); 56 +stat.receiveBadResponse = function (fromNode,cmd,result){
  57 + writeStats(nodeName+" Receive "+fromNode+" Bad "+cmd+" Response ");
58 }; 58 };
59 59
60 60
ais-structure/src/modules/vizcard/vizCard.ctrl.js
@@ -19,9 +19,9 @@ exports.vizcard = async function (req, res, next) { @@ -19,9 +19,9 @@ exports.vizcard = async function (req, res, next) {
19 19
20 if(err.length > 0) 20 if(err.length > 0)
21 { 21 {
22 - log.log(err); 22 + log.log(err,'error');
23 var response = responseMsg.error(req,getCmd,40300); 23 var response = responseMsg.error(req,getCmd,40300);
24 - res.status(200).json(response); 24 + // res.status(200).json(response);
25 }else 25 }else
26 { 26 {
27 27
@@ -41,30 +41,43 @@ exports.vizcard = async function (req, res, next) { @@ -41,30 +41,43 @@ exports.vizcard = async function (req, res, next) {
41 // console.log(result.err) 41 // console.log(result.err)
42 42
43 if(typeof result.err === 'undefined'){ 43 if(typeof result.err === 'undefined'){
44 - stats.reciveSACFResponse(sacf,sendCmd,"Success");  
45 44
46 - var resultSoap = parseJson.xml2json(result.body, {compact: true, spaces: 4})  
47 - resultSoap = JSON.parse(resultSoap)  
48 - resultSoap = resultSoap['soap:Envelope']['soap:Body']['tem:SearchCustomerResponse']['tem:SearchCustomerResult']['tem:CustomerSearchResult']; 45 + try {
  46 + var resultSoap = parseJson.xml2json(result.body, {compact: true, spaces: 4})
  47 + resultSoap = JSON.parse(resultSoap)
  48 + resultSoap = resultSoap['soap:Envelope']['soap:Body']['tem:SearchCustomerResponse']['tem:SearchCustomerResult']['tem:CustomerSearchResult'];
  49 +
  50 + var resultSet = messageSOAP.soapToArray(req,resultSoap);
  51 + stats.receiveSACFResponse(sacf,sendCmd,"Success");
  52 + var response = responseMsg.success(req,getCmd,{resultData:resultSet.returnData,rowCount:resultSet.returnData.length});
  53 +
  54 + log.addSuccessSummary(sacf,sendCmd,response);
  55 + // log.addErrorSummary("ABCD","EFGH",{resultCode : '50000',developerMessage : "error"});
  56 + }
  57 + catch(error) {
  58 + result.response.resultCode = "50000";
  59 + result.response.resultDescription = "Bad Response";
49 60
50 - var resultSet = messageSOAP.soapToArray(req,resultSoap);  
51 - var response = responseMsg.success(req,getCmd,{resultData:resultSet.returnData,rowCount:resultSet.returnData.length}); 61 + stats.receiveSACFBadResponse(sacf,sendCmd);
  62 + log.addErrorSummary(sacf,sendCmd,response);
52 63
53 - log.addSuccessSummary(sacf,sendCmd,response);  
54 - // log.addErrorSummary("ABCD","EFGH",{resultCode : '50000',developerMessage : "error"}); 64 + response = responseMsg.direct(req,getCmd,result.response);
  65 + var resultSet = {rawDataJson : ""}
  66 + }
55 67
  68 + } else {
  69 + response = responseMsg.direct(req,getCmd,result.response);
  70 + var resultSet = {rawDataJson : ""}
56 } 71 }
57 72
58 - log.logDetail.addInput(sacf,getCmd,"Response",result,resultSet.rawDataJson); 73 + log.logDetail.addInput(sacf,sendCmd,"Response",result,resultSet.rawDataJson);
59 74
60 if(!response){ 75 if(!response){
61 var response = responseMsg.error(req,getCmd,50000); 76 var response = responseMsg.error(req,getCmd,50000);
62 - stats.reciveResponse(sacf,"SPW_"+sendCmd,"Error"); 77 + stats.receiveSACFResponse(sacf,sendCmd,"Error");
63 } 78 }
64 79
65 - log.logDetail.addOutput(sacf,sendCmd,"Response",response,response);  
66 - log.logDetail.write();  
67 - log.logSummary(response); 80 + log.logDetail.addOutput(sacf,getCmd,"Response",response,response);
68 res.status(200).json(response); 81 res.status(200).json(response);
69 next(); 82 next();
70 } 83 }
@@ -83,9 +96,9 @@ function validator(req,cmd) @@ -83,9 +96,9 @@ function validator(req,cmd)
83 96
84 var err = validatorHelper(req,list); 97 var err = validatorHelper(req,list);
85 if(err.length > 0) 98 if(err.length > 0)
86 - stats.reciveRequest(req.method,cmd,false); 99 + stats.receiveRequest(req.method,cmd,false);
87 else 100 else
88 - stats.reciveRequest(req.method,cmd,true); 101 + stats.receiveRequest(req.method,cmd,true);
89 102
90 return err; 103 return err;
91 } 104 }