Commit f40deb5d245335c4e4f98bb05b4c181d26780075
1 parent
29faa44b
Exists in
master
and in
1 other branch
update api vizCard
Showing
3 changed files
with
215 additions
and
5 deletions
Show diff stats
package-lock.json
@@ -153,6 +153,11 @@ | @@ -153,6 +153,11 @@ | ||
153 | "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-1.2.1.tgz", | 153 | "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-1.2.1.tgz", |
154 | "integrity": "sha1-wN3kqxgnE7kZuXCVmhI+zBow/NY=" | 154 | "integrity": "sha1-wN3kqxgnE7kZuXCVmhI+zBow/NY=" |
155 | }, | 155 | }, |
156 | + "circular-json": { | ||
157 | + "version": "0.5.5", | ||
158 | + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.5.tgz", | ||
159 | + "integrity": "sha512-13YaR6kiz0kBNmIVM87Io8Hp7bWOo4r61vkEANy8iH9R9bc6avud/1FT0SBpqR1RpIQADOh/Q+yHZDA1iL6ysA==" | ||
160 | + }, | ||
156 | "clean-css": { | 161 | "clean-css": { |
157 | "version": "3.4.28", | 162 | "version": "3.4.28", |
158 | "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.28.tgz", | 163 | "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.28.tgz", |
@@ -276,6 +281,16 @@ | @@ -276,6 +281,16 @@ | ||
276 | "assert-plus": "1.0.0" | 281 | "assert-plus": "1.0.0" |
277 | } | 282 | } |
278 | }, | 283 | }, |
284 | + "date-format": { | ||
285 | + "version": "1.2.0", | ||
286 | + "resolved": "https://registry.npmjs.org/date-format/-/date-format-1.2.0.tgz", | ||
287 | + "integrity": "sha1-YV6CjiM90aubua4JUODOzPpuytg=" | ||
288 | + }, | ||
289 | + "dateformat": { | ||
290 | + "version": "3.0.3", | ||
291 | + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", | ||
292 | + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==" | ||
293 | + }, | ||
279 | "debug": { | 294 | "debug": { |
280 | "version": "2.6.9", | 295 | "version": "2.6.9", |
281 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", | 296 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", |
@@ -543,6 +558,11 @@ | @@ -543,6 +558,11 @@ | ||
543 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", | 558 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", |
544 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" | 559 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" |
545 | }, | 560 | }, |
561 | + "isarray": { | ||
562 | + "version": "1.0.0", | ||
563 | + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", | ||
564 | + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" | ||
565 | + }, | ||
546 | "isstream": { | 566 | "isstream": { |
547 | "version": "0.1.2", | 567 | "version": "0.1.2", |
548 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", | 568 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", |
@@ -619,6 +639,27 @@ | @@ -619,6 +639,27 @@ | ||
619 | "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", | 639 | "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", |
620 | "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" | 640 | "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" |
621 | }, | 641 | }, |
642 | + "log4js": { | ||
643 | + "version": "3.0.4", | ||
644 | + "resolved": "https://registry.npmjs.org/log4js/-/log4js-3.0.4.tgz", | ||
645 | + "integrity": "sha512-4rQ1TrOf85lxB0+hBiPF27Zw8pGTHxKZq8FYfum1TNhx/KMUlQ+LL4bMKcdzc7zoAFF992w8+MFQm3BQbUgePA==", | ||
646 | + "requires": { | ||
647 | + "circular-json": "0.5.5", | ||
648 | + "date-format": "1.2.0", | ||
649 | + "debug": "3.1.0", | ||
650 | + "streamroller": "0.7.0" | ||
651 | + }, | ||
652 | + "dependencies": { | ||
653 | + "debug": { | ||
654 | + "version": "3.1.0", | ||
655 | + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", | ||
656 | + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", | ||
657 | + "requires": { | ||
658 | + "ms": "2.0.0" | ||
659 | + } | ||
660 | + } | ||
661 | + } | ||
662 | + }, | ||
622 | "longest": { | 663 | "longest": { |
623 | "version": "1.0.1", | 664 | "version": "1.0.1", |
624 | "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", | 665 | "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", |
@@ -733,6 +774,11 @@ | @@ -733,6 +774,11 @@ | ||
733 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", | 774 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", |
734 | "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" | 775 | "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" |
735 | }, | 776 | }, |
777 | + "process-nextick-args": { | ||
778 | + "version": "2.0.0", | ||
779 | + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", | ||
780 | + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" | ||
781 | + }, | ||
736 | "promise": { | 782 | "promise": { |
737 | "version": "6.1.0", | 783 | "version": "6.1.0", |
738 | "resolved": "https://registry.npmjs.org/promise/-/promise-6.1.0.tgz", | 784 | "resolved": "https://registry.npmjs.org/promise/-/promise-6.1.0.tgz", |
@@ -776,6 +822,20 @@ | @@ -776,6 +822,20 @@ | ||
776 | "unpipe": "1.0.0" | 822 | "unpipe": "1.0.0" |
777 | } | 823 | } |
778 | }, | 824 | }, |
825 | + "readable-stream": { | ||
826 | + "version": "2.3.6", | ||
827 | + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", | ||
828 | + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", | ||
829 | + "requires": { | ||
830 | + "core-util-is": "1.0.2", | ||
831 | + "inherits": "2.0.3", | ||
832 | + "isarray": "1.0.0", | ||
833 | + "process-nextick-args": "2.0.0", | ||
834 | + "safe-buffer": "5.1.1", | ||
835 | + "string_decoder": "1.1.1", | ||
836 | + "util-deprecate": "1.0.2" | ||
837 | + } | ||
838 | + }, | ||
779 | "repeat-string": { | 839 | "repeat-string": { |
780 | "version": "1.6.1", | 840 | "version": "1.6.1", |
781 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", | 841 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", |
@@ -915,6 +975,35 @@ | @@ -915,6 +975,35 @@ | ||
915 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", | 975 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", |
916 | "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" | 976 | "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" |
917 | }, | 977 | }, |
978 | + "streamroller": { | ||
979 | + "version": "0.7.0", | ||
980 | + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-0.7.0.tgz", | ||
981 | + "integrity": "sha512-WREzfy0r0zUqp3lGO096wRuUp7ho1X6uo/7DJfTlEi0Iv/4gT7YHqXDjKC2ioVGBZtE8QzsQD9nx1nIuoZ57jQ==", | ||
982 | + "requires": { | ||
983 | + "date-format": "1.2.0", | ||
984 | + "debug": "3.1.0", | ||
985 | + "mkdirp": "0.5.1", | ||
986 | + "readable-stream": "2.3.6" | ||
987 | + }, | ||
988 | + "dependencies": { | ||
989 | + "debug": { | ||
990 | + "version": "3.1.0", | ||
991 | + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", | ||
992 | + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", | ||
993 | + "requires": { | ||
994 | + "ms": "2.0.0" | ||
995 | + } | ||
996 | + } | ||
997 | + } | ||
998 | + }, | ||
999 | + "string_decoder": { | ||
1000 | + "version": "1.1.1", | ||
1001 | + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", | ||
1002 | + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", | ||
1003 | + "requires": { | ||
1004 | + "safe-buffer": "5.1.1" | ||
1005 | + } | ||
1006 | + }, | ||
918 | "tough-cookie": { | 1007 | "tough-cookie": { |
919 | "version": "2.3.4", | 1008 | "version": "2.3.4", |
920 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", | 1009 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", |
@@ -1021,6 +1110,11 @@ | @@ -1021,6 +1110,11 @@ | ||
1021 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", | 1110 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", |
1022 | "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" | 1111 | "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" |
1023 | }, | 1112 | }, |
1113 | + "util-deprecate": { | ||
1114 | + "version": "1.0.2", | ||
1115 | + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", | ||
1116 | + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" | ||
1117 | + }, | ||
1024 | "utils-merge": { | 1118 | "utils-merge": { |
1025 | "version": "1.0.0", | 1119 | "version": "1.0.0", |
1026 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", | 1120 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", |
@@ -1086,6 +1180,28 @@ | @@ -1086,6 +1180,28 @@ | ||
1086 | "xmldoc": "1.1.2" | 1180 | "xmldoc": "1.1.2" |
1087 | } | 1181 | } |
1088 | }, | 1182 | }, |
1183 | + "xml-js": { | ||
1184 | + "version": "1.6.7", | ||
1185 | + "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.7.tgz", | ||
1186 | + "integrity": "sha512-1hn0xwwfMcWywnJxqiOXiv+pZaOJyf/YWcUeqJICF0BFb+IOkRFSkKyeA0V62WqTHXNdBxNuCFHhS/w2DtYpoA==", | ||
1187 | + "requires": { | ||
1188 | + "sax": "1.2.4" | ||
1189 | + } | ||
1190 | + }, | ||
1191 | + "xml2js": { | ||
1192 | + "version": "0.4.19", | ||
1193 | + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", | ||
1194 | + "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", | ||
1195 | + "requires": { | ||
1196 | + "sax": "1.2.4", | ||
1197 | + "xmlbuilder": "9.0.7" | ||
1198 | + } | ||
1199 | + }, | ||
1200 | + "xmlbuilder": { | ||
1201 | + "version": "9.0.7", | ||
1202 | + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", | ||
1203 | + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" | ||
1204 | + }, | ||
1089 | "xmldoc": { | 1205 | "xmldoc": { |
1090 | "version": "1.1.2", | 1206 | "version": "1.1.2", |
1091 | "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-1.1.2.tgz", | 1207 | "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-1.1.2.tgz", |
package.json
@@ -8,11 +8,16 @@ | @@ -8,11 +8,16 @@ | ||
8 | "dependencies": { | 8 | "dependencies": { |
9 | "body-parser": "~1.18.2", | 9 | "body-parser": "~1.18.2", |
10 | "cookie-parser": "~1.4.3", | 10 | "cookie-parser": "~1.4.3", |
11 | + "dateformat": "^3.0.3", | ||
11 | "debug": "~2.6.9", | 12 | "debug": "~2.6.9", |
12 | "easysoap": "^2.0.1", | 13 | "easysoap": "^2.0.1", |
13 | "express": "^4.15.5", | 14 | "express": "^4.15.5", |
14 | "jade": "~1.11.0", | 15 | "jade": "~1.11.0", |
16 | + "log4js": "^3.0.4", | ||
15 | "morgan": "~1.9.0", | 17 | "morgan": "~1.9.0", |
16 | - "serve-favicon": "~2.4.5" | 18 | + "request": "^2.87.0", |
19 | + "serve-favicon": "~2.4.5", | ||
20 | + "xml-js": "^1.6.7", | ||
21 | + "xml2js": "^0.4.19" | ||
17 | } | 22 | } |
18 | } | 23 | } |
routes/CMF/vizCard.js
1 | 'use strict'; | 1 | 'use strict'; |
2 | var express = require('express'); | 2 | var express = require('express'); |
3 | var router = express.Router(); | 3 | var router = express.Router(); |
4 | -const EasySoap = require('easysoap'); | 4 | +const request = require('request'); |
5 | +var parseJson = require('xml-js'); | ||
6 | +var custom_log = require('../../config/logger'); | ||
7 | +var config = require('../../config/config'); | ||
8 | +var stat = require('../../utils/SutisStat'); | ||
9 | +var alarm = require('../../utils/SutisAlarm'); | ||
10 | +var detail = require('../../utils/SutisDetail'); | ||
11 | +var logger = require('../../utils/SutisLogSummary'); | ||
5 | 12 | ||
6 | -/* GET users listing. */ | ||
7 | -router.get('/', function(req, res, next) { | ||
8 | - res.send('viz card id'); | 13 | +var _url = `http://localhost:8080` |
14 | + | ||
15 | +router.get('/',async function(req, res, next) { | ||
16 | + | ||
17 | + var cmd = 'vizCard' | ||
18 | + | ||
19 | + var requestXml = `<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tem="http://tempuri.org/"> | ||
20 | + <soap:Header/> | ||
21 | + <soap:Body> | ||
22 | + <tem:SearchCustomer> | ||
23 | + <tem:username>axviz</tem:username> | ||
24 | + <tem:password>1234</tem:password> | ||
25 | + <tem:systemName>30</tem:systemName> | ||
26 | + <tem:queryType>0</tem:queryType> | ||
27 | + <tem:cardId>${req.query.id}</tem:cardId> | ||
28 | + </tem:SearchCustomer> | ||
29 | + </soap:Body> | ||
30 | + </soap:Envelope>` | ||
31 | + | ||
32 | + console.log(requestXml); | ||
33 | + // console.log(req.query.fields) | ||
34 | + | ||
35 | + const result = await asyncRequest({ | ||
36 | + url : _url, | ||
37 | + body : requestXml, | ||
38 | + method : 'POST' | ||
39 | + }); | ||
40 | + | ||
41 | + // parseString(result.body, function (err, result1) { | ||
42 | + // console.log(result1); | ||
43 | + // }); | ||
44 | + | ||
45 | + var result1 = parseJson.xml2json(result.body, {compact: true, spaces: 4}) | ||
46 | + result1 = JSON.parse(result1) | ||
47 | + result1 = result1['soap:Envelope']['soap:Body']['tem:SearchCustomerResponse']['tem:SearchCustomerResult']['tem:CustomerSearchResult']; | ||
48 | + delete result1._comment; | ||
49 | + | ||
50 | + var response = {}; | ||
51 | + | ||
52 | + if(req.query.fields){ | ||
53 | + var listFields = req.query.fields.split(","); | ||
54 | + // console.log(listFields) | ||
55 | + } | ||
56 | + | ||
57 | + for(var key in result1){ | ||
58 | + var keyObj = capitalizeFirstLetter(key.replace('tem:','')) | ||
59 | + // console.log(keyObj+' : '+result1[key]['_text']); | ||
60 | + if(listFields){ | ||
61 | + if(listFields.includes(keyObj)){ | ||
62 | + response[keyObj] = result1[key]['_text']; | ||
63 | + } | ||
64 | + } else { | ||
65 | + response[keyObj] = result1[key]['_text']; | ||
66 | + } | ||
67 | + } | ||
68 | + | ||
69 | + stat.recv(cmd, '20000'); | ||
70 | + stat.retn(cmd, '20000'); | ||
71 | + | ||
72 | + res.status(200).json({ | ||
73 | + resultCode: '20000', | ||
74 | + resultDescription: 'Success', | ||
75 | + resultData: response | ||
76 | + }); | ||
9 | }); | 77 | }); |
10 | 78 | ||
79 | +function capitalizeFirstLetter(string) { | ||
80 | + return string.charAt(0).toLowerCase() + string.slice(1); | ||
81 | +} | ||
82 | + | ||
83 | +function asyncRequest (params = {}) { | ||
84 | + return new Promise((resolve, reject) => { | ||
85 | + request(params, function (error, response, body) { | ||
86 | + if (error) { | ||
87 | + | ||
88 | + | ||
89 | + (error); | ||
90 | + } else { | ||
91 | + resolve({ | ||
92 | + 'body' : body, | ||
93 | + 'response': response | ||
94 | + }); | ||
95 | + } | ||
96 | + }); | ||
97 | + }); | ||
98 | +} | ||
99 | + | ||
11 | module.exports = router; | 100 | module.exports = router; |