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
|
exports.vizcard = async function (req, res, next) {
|
dd6ce15e
sumatek
add customer
|
13
|
var requestXml = `<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tem="http://tempuri.org/">
|
4bcb9ffa
Nattapon Wongpaet
update log vizcard
|
14
15
16
|
<soap:Header/>
<soap:Body>
<tem:SearchCustomer>
|
c39cf9da
Nattapon Wongpaet
update stat log
|
17
|
<tem:username>axviz</tem:username>
|
a7a5d7d4
Nattapon Wongpaet
get header
|
18
|
<tem:password>1234</tem:password>
|
c4a567d0
sumatek
merge
|
19
|
<tem:systemName>30</tem:systemName>
|
095909b9
sumatek
update log
|
20
|
<tem:queryType>1</tem:queryType>
|
b77690fa
Nattapon Wongpaet
update post custo...
|
21
|
<tem:cardId>${req.params.id}</tem:cardId>
|
6efce50d
Nattapon Wongpaet
update validate a...
|
22
23
24
|
</tem:SearchCustomer>
</soap:Body>
</soap:Envelope>`
|
c4a567d0
sumatek
merge
|
25
26
|
// console.log(requestXml);
|
dd6ce15e
sumatek
add customer
|
27
|
// console.log(req.query.fields)
|
50ad7d6d
Nattapon Wongpaet
update get vizcar...
|
28
|
|
6efce50d
Nattapon Wongpaet
update validate a...
|
29
30
|
const result = await asyncRequest({
url : _url,
|
c4a567d0
sumatek
merge
|
31
|
body : requestXml,
|
6efce50d
Nattapon Wongpaet
update validate a...
|
32
33
34
35
36
|
method : 'POST'
});
// parseString(result.body, function (err, result1) {
// console.log(result1);
|
79f1a7b2
Nattapon Wongpaet
update api get vi...
|
37
38
39
40
41
|
// });
var result1 = parseJson.xml2json(result.body, {compact: true, spaces: 4})
result1 = JSON.parse(result1)
result1 = result1['soap:Envelope']['soap:Body']['tem:SearchCustomerResponse']['tem:SearchCustomerResult']['tem:CustomerSearchResult'];
|
6efce50d
Nattapon Wongpaet
update validate a...
|
42
|
delete result1._comment;
|
ba477a68
Nattapon Wongpaet
change structure ...
|
43
|
|
a7a5d7d4
Nattapon Wongpaet
get header
|
44
|
var response = {};
|
f9d80b22
Nattapon Wongpaet
update header viz...
|
45
|
|
a7a5d7d4
Nattapon Wongpaet
get header
|
46
47
48
49
|
response['resultCode'] = '20000';
response['developerMessage'] = 'Success';
if(req.query.fields){
|
adfb98a7
sumatek
merge
|
50
51
|
var listFields = req.query.fields.split(",");
// console.log(listFields)
|
095909b9
sumatek
update log
|
52
|
}
|
ed32a9e9
Nattapon Wongpaet
update stats vizcard
|
53
|
|
1b5ca11b
Nattapon Wongpaet
update vizcard
|
54
55
|
for(var key in result1){
var keyObj = capitalizeFirstLetter(key.replace('tem:',''))
|
50ad7d6d
Nattapon Wongpaet
update get vizcar...
|
56
|
// console.log(keyObj+' : '+result1[key]['_text']);
|
1b5ca11b
Nattapon Wongpaet
update vizcard
|
57
|
if(listFields){
|
50ad7d6d
Nattapon Wongpaet
update get vizcar...
|
58
59
60
61
62
63
64
|
if(listFields.includes(keyObj)){
response[keyObj] = result1[key]['_text'];
}
} else {
response[keyObj] = result1[key]['_text'];
}
}
|
c4a567d0
sumatek
merge
|
65
|
|
4bcb9ffa
Nattapon Wongpaet
update log vizcard
|
66
67
|
res.status(200).json(response);
};
|
449b0a7c
Nattapon Wongpaet
fix bug vizcard
|
68
|
|
50ad7d6d
Nattapon Wongpaet
update get vizcar...
|
69
|
function capitalizeFirstLetter(string) {
|
449b0a7c
Nattapon Wongpaet
fix bug vizcard
|
70
|
return string.charAt(0).toLowerCase() + string.slice(1);
|
c4a567d0
sumatek
merge
|
71
|
}
|
50ad7d6d
Nattapon Wongpaet
update get vizcar...
|
72
|
|
4bcb9ffa
Nattapon Wongpaet
update log vizcard
|
73
|
function asyncRequest (params = {}) {
|
dd6ce15e
sumatek
add customer
|
74
|
return new Promise((resolve, reject) => {
|
50ad7d6d
Nattapon Wongpaet
update get vizcar...
|
75
|
request(params, function (error, response, body) {
|
4bcb9ffa
Nattapon Wongpaet
update log vizcard
|
76
|
if (error) {
|
449b0a7c
Nattapon Wongpaet
fix bug vizcard
|
77
|
reject(error);
|
50ad7d6d
Nattapon Wongpaet
update get vizcar...
|
78
|
} else {
|
adfb98a7
sumatek
merge
|
79
|
resolve({
|
53004544
Nattapon Wongpaet
update customer
|
80
|
'body' : body,
|
c4a567d0
sumatek
merge
|
81
|
'response': response
|
ba477a68
Nattapon Wongpaet
change structure ...
|
82
|
});
|
90f9d224
sumatek
update unknow req
|
83
|
}
|
c4a567d0
sumatek
merge
|
84
|
});
|
90f9d224
sumatek
update unknow req
|
85
86
|
});
}
|
ba477a68
Nattapon Wongpaet
change structure ...
|
|
|
6efce50d
Nattapon Wongpaet
update validate a...
|
|
|
dd6ce15e
sumatek
add customer
|
|
|
6efce50d
Nattapon Wongpaet
update validate a...
|
|
|
f9d80b22
Nattapon Wongpaet
update header viz...
|
|
|
c39cf9da
Nattapon Wongpaet
update stat log
|
|
|
6efce50d
Nattapon Wongpaet
update validate a...
|
|
|
dd6ce15e
sumatek
add customer
|
|
|
a55a3d02
Nattapon Wongpaet
update post custo...
|
|
|
dd6ce15e
sumatek
add customer
|
|
|
a55a3d02
Nattapon Wongpaet
update post custo...
|
|
|
dd6ce15e
sumatek
add customer
|
|
|
ba477a68
Nattapon Wongpaet
change structure ...
|
|
|
6efce50d
Nattapon Wongpaet
update validate a...
|
|
|