Blame view

ais-structure/src/modules/vizcard/vizCard.ctrl.js 4.14 KB
f9d80b22   Nattapon Wongpaet   update header viz...
1
2
var env = process.env.NODE_ENV || 'development'; 
var conf = require('../../config/config.js').get(env);
ba477a68   Nattapon Wongpaet   change structure ...
3
var parseJson = require('xml-js');
6efce50d   Nattapon Wongpaet   update validate a...
4
5
6
var stats = require('../helper/stats.js'); 
var messageSOAP = require('../helper/messageSOAP.js'); 
var validatorHelper = require('../helper/validator.js');
dd6ce15e   sumatek   add customer
7
8
var connection = require('../helper/connection.js');
var responseMsg = require('../helper/responseMsg.js');
095909b9   sumatek   update log
9
var log = require('../helper/log.js');
3d36a443   Nattapon Wongpaet   add constant
10
var constant = require('../helper/constants.js')
ba477a68   Nattapon Wongpaet   change structure ...
11
12

exports.vizcard = async function (req, res, next) {
dd6ce15e   sumatek   add customer
13
    var getCmd = "VIZCard";
4bcb9ffa   Nattapon Wongpaet   update log vizcard
14
15
16
    var sendCmd = "SearchCustomer";
    var sacf = "SACF";
    var method = constant.METHOD.GET;
c39cf9da   Nattapon Wongpaet   update stat log
17

a7a5d7d4   Nattapon Wongpaet   get header
18
    log.startlog(req,method+"_"+getCmd,req.query.commandId,req.query.commandId);
c4a567d0   sumatek   merge
19
    log.logDetail.addInput(req,req.query.clientName,method+"_"+getCmd,constant.REQUEST,req,req.body);
095909b9   sumatek   update log
20
    
b77690fa   Nattapon Wongpaet   update post custo...
21
    var err = await validator(req,getCmd);
6efce50d   Nattapon Wongpaet   update validate a...
22
23
24
    
    if(err.length > 0)
    {
c4a567d0   sumatek   merge
25
26
        log.addErrorSummary(req,req.query.clientName,method+"_"+getCmd,"null","Fail");
        // log.log(err,'error'); 
dd6ce15e   sumatek   add customer
27
        var response = responseMsg.error(req,getCmd,40300);
50ad7d6d   Nattapon Wongpaet   update get vizcar...
28
        // res.status(200).json(response);
6efce50d   Nattapon Wongpaet   update validate a...
29
30
    }else
    {        
c4a567d0   sumatek   merge
31
        log.addSuccessSummary(req,req.query.clientName,method+"_"+getCmd,"null","Success");
6efce50d   Nattapon Wongpaet   update validate a...
32
33
34
35
36
        var objectData = {
            Username : "axviz",
            Password : "1234",
            SystemName : "30",
            QueryType : "1",
79f1a7b2   Nattapon Wongpaet   update api get vi...
37
38
39
40
41
            CardId : req.query.commandId,
            firstName : req.query.firstName,
            lastName : req.query.lastName,
            emailAddress : req.query.emailAddress,
            moblieNo : req.query.moblieNo
6efce50d   Nattapon Wongpaet   update validate a...
42
        };
ba477a68   Nattapon Wongpaet   change structure ...
43

a7a5d7d4   Nattapon Wongpaet   get header
44
        var objHeader = {
f9d80b22   Nattapon Wongpaet   update header viz...
45
            'X-Redirect-Url' : conf.service.SACF.SPW_SearchCustomer_URL,
a7a5d7d4   Nattapon Wongpaet   get header
46
47
48
49
            'X-Session-Id' : req.get('X-Session-Id')
        }

        const result = await connection.requestSoapToSACF(req,objectData,sendCmd,constant.METHOD.POST,objHeader);
adfb98a7   sumatek   merge
50
51
        // console.log(result.err)

095909b9   sumatek   update log
52
        if(typeof result.err === 'undefined'){  
ed32a9e9   Nattapon Wongpaet   update stats vizcard
53

1b5ca11b   Nattapon Wongpaet   update vizcard
54
55
            console.log(result.response.body);

50ad7d6d   Nattapon Wongpaet   update get vizcar...
56
            try {
1b5ca11b   Nattapon Wongpaet   update vizcard
57
                var resultSoap = parseJson.xml2json(result.response.body, {compact: true, spaces: 4})
50ad7d6d   Nattapon Wongpaet   update get vizcar...
58
59
60
61
62
63
64
                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});

c4a567d0   sumatek   merge
65
                log.addSuccessSummary(req,sacf,method+"_"+sendCmd,response.resultCode,response.developerMessage);
4bcb9ffa   Nattapon Wongpaet   update log vizcard
66
67
            }
            catch(error) {
449b0a7c   Nattapon Wongpaet   fix bug vizcard
68
                log.log(error,'error')
50ad7d6d   Nattapon Wongpaet   update get vizcar...
69
                stats.receiveSACFBadResponse(sacf,sendCmd);
449b0a7c   Nattapon Wongpaet   fix bug vizcard
70
                response = responseMsg.error(req,getCmd,50000);
c4a567d0   sumatek   merge
71
                log.addErrorSummary(req,sacf,method+"_"+sendCmd,response.resultCode,response.developerMessage);
50ad7d6d   Nattapon Wongpaet   update get vizcar...
72
                var resultSet = {rawDataJson : ""}
4bcb9ffa   Nattapon Wongpaet   update log vizcard
73
            }
dd6ce15e   sumatek   add customer
74
            
50ad7d6d   Nattapon Wongpaet   update get vizcar...
75
        } else {
4bcb9ffa   Nattapon Wongpaet   update log vizcard
76
            stats.receiveSACFResponse(sacf,sendCmd,"Error");
449b0a7c   Nattapon Wongpaet   fix bug vizcard
77
            response = responseMsg.error(req,getCmd,50000);
50ad7d6d   Nattapon Wongpaet   update get vizcar...
78
            var resultSet = {rawDataJson : ""}
adfb98a7   sumatek   merge
79
        }
53004544   Nattapon Wongpaet   update customer
80

c4a567d0   sumatek   merge
81
        log.logDetail.addInput(req,sacf,method+"_"+sendCmd,constant.RESPONSE,result,resultSet.rawDataJson);
ba477a68   Nattapon Wongpaet   change structure ...
82
    }
90f9d224   sumatek   update unknow req
83

c4a567d0   sumatek   merge
84
    log.logDetail.addOutput(req,sacf,method+"_"+getCmd,constant.RESPONSE,response,response); 
90f9d224   sumatek   update unknow req
85
86
    res.status(200).json(response);
    next();
ba477a68   Nattapon Wongpaet   change structure ...
87
88
};

6efce50d   Nattapon Wongpaet   update validate a...
89

dd6ce15e   sumatek   add customer
90
function validator(req,cmd)
6efce50d   Nattapon Wongpaet   update validate a...
91
92
{
    var list = [];
f9d80b22   Nattapon Wongpaet   update header viz...
93
94
    // list.push([true,"queryStr","commandId","string"]);
    // list.push([true,"queryStr","clientName","string"]);
c39cf9da   Nattapon Wongpaet   update stat log
95
96
97
98
    // list.push([true,"queryStr","lastName","string"]);
    // list.push([true,"queryStr","emailAddress","string"]);
    // list.push([true,"queryStr","mobileNo","string"]);
    // list.push([false,"queryStr","mobileNo","string"]);
6efce50d   Nattapon Wongpaet   update validate a...
99

dd6ce15e   sumatek   add customer
100
101
    var err = validatorHelper(req,list);
    if(err.length > 0)    
a55a3d02   Nattapon Wongpaet   update post custo...
102
        stats.receiveBadRequest(req.method,cmd);    
dd6ce15e   sumatek   add customer
103
    else
a55a3d02   Nattapon Wongpaet   update post custo...
104
        stats.receiveRequest(req.method,cmd);
dd6ce15e   sumatek   add customer
105
106

    return err;
ba477a68   Nattapon Wongpaet   change structure ...
107
}
6efce50d   Nattapon Wongpaet   update validate a...