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; |