Blame view

ais-structure/src/modules/vizcard/vizCard.ctrl.js 3.64 KB
f9d80b22   Nattapon Wongpaet   update header viz...
1
2
var fs = require('fs'); 
var moment = require('moment');
ba477a68   Nattapon Wongpaet   change structure ...
3
var _ = require('lodash');  
6efce50d   Nattapon Wongpaet   update validate a...
4
5
6
var env = process.env.NODE_ENV || 'development'; 
var rp = require('request-promise'); 
var logger = require('../../logger/logger');
dd6ce15e   sumatek   add customer
7
8
var cfg = require('../../config/config.js').get(env);
var request = require('request');
095909b9   sumatek   update log
9
var parseJson = require('xml-js');
3d36a443   Nattapon Wongpaet   add constant
10
var _url = `http://localhost:8080`;
ba477a68   Nattapon Wongpaet   change structure ...
11
12

var stats = require('../helper/stats.js'); 
dd6ce15e   sumatek   add customer
13
var messageSOAP = require('../helper/messageSOAP.js'); 
4bcb9ffa   Nattapon Wongpaet   update log vizcard
14
15
16
var validatorHelper = require('../helper/validator.js');

exports.vizcard = async function (req, res, next) {
c39cf9da   Nattapon Wongpaet   update stat log
17

a7a5d7d4   Nattapon Wongpaet   get header
18
    var err = validator(req,"GET VIZCard");
c4a567d0   sumatek   merge
19
    
095909b9   sumatek   update log
20
    if(err.length > 0)
b77690fa   Nattapon Wongpaet   update post custo...
21
    {
6efce50d   Nattapon Wongpaet   update validate a...
22
23
24
        var response = {
            resultCode : "40300",
            developerMessage : "Missing or invalid parameter"
c4a567d0   sumatek   merge
25
26
        };

dd6ce15e   sumatek   add customer
27
        res.status(200).json(response);
50ad7d6d   Nattapon Wongpaet   update get vizcar...
28
    }else
6efce50d   Nattapon Wongpaet   update validate a...
29
30
    {        
        // var requestXml = `<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tem="http://tempuri.org/">
c4a567d0   sumatek   merge
31
        // <soap:Header/>
6efce50d   Nattapon Wongpaet   update validate a...
32
33
34
35
36
        // <soap:Body>
        //     <tem:SearchCustomer>
        //         <tem:username>axviz</tem:username>
        //         <tem:password>1234</tem:password>
        //         <tem:systemName>30</tem:systemName>
79f1a7b2   Nattapon Wongpaet   update api get vi...
37
38
39
40
41
        //         <tem:queryType>1</tem:queryType>
        //         <tem:cardId>${req.params.id}</tem:cardId>
        //     </tem:SearchCustomer>
        // </soap:Body>
        // </soap:Envelope>`
6efce50d   Nattapon Wongpaet   update validate a...
42

ba477a68   Nattapon Wongpaet   change structure ...
43
        var objectData = {
a7a5d7d4   Nattapon Wongpaet   get header
44
            Username : "axviz",
f9d80b22   Nattapon Wongpaet   update header viz...
45
            Password : "1234",
a7a5d7d4   Nattapon Wongpaet   get header
46
47
48
49
            SystemName : "30",
            QueryType : "1",
            CardId : req.params.id
        };
adfb98a7   sumatek   merge
50
51

        var soap = messageSOAP.objectToSOAP(objectData,"SearchCustomer")
095909b9   sumatek   update log
52
        // console.log(soap);
ed32a9e9   Nattapon Wongpaet   update stats vizcard
53

1b5ca11b   Nattapon Wongpaet   update vizcard
54
55
        // console.log(requestXml);
        // console.log(req.query.fields)
50ad7d6d   Nattapon Wongpaet   update get vizcar...
56

1b5ca11b   Nattapon Wongpaet   update vizcard
57
        const result = await asyncRequest({
50ad7d6d   Nattapon Wongpaet   update get vizcar...
58
59
60
61
62
63
64
            url               : _url,
            body              : soap,
            method            : 'POST'
        });

        console.log(result.err)

c4a567d0   sumatek   merge
65
        // parseString(result.body, function (err, result1) {
4bcb9ffa   Nattapon Wongpaet   update log vizcard
66
67
        //     console.log(result1);
        // });
449b0a7c   Nattapon Wongpaet   fix bug vizcard
68
        if(typeof result.err === 'undefined'){
50ad7d6d   Nattapon Wongpaet   update get vizcar...
69
            var resultSoap = parseJson.xml2json(result.body, {compact: true, spaces: 4})
449b0a7c   Nattapon Wongpaet   fix bug vizcard
70
            resultSoap = JSON.parse(resultSoap)
c4a567d0   sumatek   merge
71
            resultSoap = resultSoap['soap:Envelope']['soap:Body']['tem:SearchCustomerResponse']['tem:SearchCustomerResult']['tem:CustomerSearchResult'];
50ad7d6d   Nattapon Wongpaet   update get vizcar...
72

4bcb9ffa   Nattapon Wongpaet   update log vizcard
73
            var resultData = messageSOAP.soapToArray(req,resultSoap);
dd6ce15e   sumatek   add customer
74

50ad7d6d   Nattapon Wongpaet   update get vizcar...
75
            var response = {
4bcb9ffa   Nattapon Wongpaet   update log vizcard
76
                resultCode : "20000",
449b0a7c   Nattapon Wongpaet   fix bug vizcard
77
                developerMessage : "Success",
50ad7d6d   Nattapon Wongpaet   update get vizcar...
78
                resultData : resultData,
adfb98a7   sumatek   merge
79
                rowCount : resultData.length
53004544   Nattapon Wongpaet   update customer
80
            };
c4a567d0   sumatek   merge
81
        } else {
ba477a68   Nattapon Wongpaet   change structure ...
82
            var response = {
90f9d224   sumatek   update unknow req
83
                resultCode : "50000",
c4a567d0   sumatek   merge
84
                developerMessage : "System error"
90f9d224   sumatek   update unknow req
85
86
            };
        }
ba477a68   Nattapon Wongpaet   change structure ...
87
88
        
        res.status(200).json(response);
6efce50d   Nattapon Wongpaet   update validate a...
89
    }
dd6ce15e   sumatek   add customer
90
};
6efce50d   Nattapon Wongpaet   update validate a...
91
92


f9d80b22   Nattapon Wongpaet   update header viz...
93
94
function validator(req,api)
{
c39cf9da   Nattapon Wongpaet   update stat log
95
96
97
98
    var list = [];
    list.push("commandId");
    list.push("firstName");
    list.push("lastName");
6efce50d   Nattapon Wongpaet   update validate a...
99
    list.push("emailAddress");
dd6ce15e   sumatek   add customer
100
101
    list.push("moblieNo");

a55a3d02   Nattapon Wongpaet   update post custo...
102
    return validatorHelper(req,list,api);
dd6ce15e   sumatek   add customer
103
}
a55a3d02   Nattapon Wongpaet   update post custo...
104

dd6ce15e   sumatek   add customer
105
106


ba477a68   Nattapon Wongpaet   change structure ...
107
108


6efce50d   Nattapon Wongpaet   update validate a...
109
function asyncRequest (params = {}) {