diff --git a/package-lock.json b/package-lock.json index 8eda2af..8c99af8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -153,6 +153,11 @@ "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-1.2.1.tgz", "integrity": "sha1-wN3kqxgnE7kZuXCVmhI+zBow/NY=" }, + "circular-json": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.5.tgz", + "integrity": "sha512-13YaR6kiz0kBNmIVM87Io8Hp7bWOo4r61vkEANy8iH9R9bc6avud/1FT0SBpqR1RpIQADOh/Q+yHZDA1iL6ysA==" + }, "clean-css": { "version": "3.4.28", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.28.tgz", @@ -276,6 +281,16 @@ "assert-plus": "1.0.0" } }, + "date-format": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-1.2.0.tgz", + "integrity": "sha1-YV6CjiM90aubua4JUODOzPpuytg=" + }, + "dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==" + }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -543,6 +558,11 @@ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", @@ -619,6 +639,27 @@ "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" }, + "log4js": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-3.0.4.tgz", + "integrity": "sha512-4rQ1TrOf85lxB0+hBiPF27Zw8pGTHxKZq8FYfum1TNhx/KMUlQ+LL4bMKcdzc7zoAFF992w8+MFQm3BQbUgePA==", + "requires": { + "circular-json": "0.5.5", + "date-format": "1.2.0", + "debug": "3.1.0", + "streamroller": "0.7.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } + } + }, "longest": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", @@ -733,6 +774,11 @@ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + }, "promise": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/promise/-/promise-6.1.0.tgz", @@ -776,6 +822,20 @@ "unpipe": "1.0.0" } }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.1", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", @@ -915,6 +975,35 @@ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" }, + "streamroller": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-0.7.0.tgz", + "integrity": "sha512-WREzfy0r0zUqp3lGO096wRuUp7ho1X6uo/7DJfTlEi0Iv/4gT7YHqXDjKC2ioVGBZtE8QzsQD9nx1nIuoZ57jQ==", + "requires": { + "date-format": "1.2.0", + "debug": "3.1.0", + "mkdirp": "0.5.1", + "readable-stream": "2.3.6" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "5.1.1" + } + }, "tough-cookie": { "version": "2.3.4", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", @@ -1021,6 +1110,11 @@ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, "utils-merge": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", @@ -1086,6 +1180,28 @@ "xmldoc": "1.1.2" } }, + "xml-js": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.7.tgz", + "integrity": "sha512-1hn0xwwfMcWywnJxqiOXiv+pZaOJyf/YWcUeqJICF0BFb+IOkRFSkKyeA0V62WqTHXNdBxNuCFHhS/w2DtYpoA==", + "requires": { + "sax": "1.2.4" + } + }, + "xml2js": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", + "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", + "requires": { + "sax": "1.2.4", + "xmlbuilder": "9.0.7" + } + }, + "xmlbuilder": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" + }, "xmldoc": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-1.1.2.tgz", diff --git a/package.json b/package.json index 0078b82..2934ca8 100644 --- a/package.json +++ b/package.json @@ -8,11 +8,16 @@ "dependencies": { "body-parser": "~1.18.2", "cookie-parser": "~1.4.3", + "dateformat": "^3.0.3", "debug": "~2.6.9", "easysoap": "^2.0.1", "express": "^4.15.5", "jade": "~1.11.0", + "log4js": "^3.0.4", "morgan": "~1.9.0", - "serve-favicon": "~2.4.5" + "request": "^2.87.0", + "serve-favicon": "~2.4.5", + "xml-js": "^1.6.7", + "xml2js": "^0.4.19" } } diff --git a/routes/CMF/vizCard.js b/routes/CMF/vizCard.js index 08ad338..3054623 100644 --- a/routes/CMF/vizCard.js +++ b/routes/CMF/vizCard.js @@ -1,11 +1,100 @@ 'use strict'; var express = require('express'); var router = express.Router(); -const EasySoap = require('easysoap'); +const request = require('request'); +var parseJson = require('xml-js'); +var custom_log = require('../../config/logger'); +var config = require('../../config/config'); +var stat = require('../../utils/SutisStat'); +var alarm = require('../../utils/SutisAlarm'); +var detail = require('../../utils/SutisDetail'); +var logger = require('../../utils/SutisLogSummary'); -/* GET users listing. */ -router.get('/', function(req, res, next) { - res.send('viz card id'); +var _url = `http://localhost:8080` + +router.get('/',async function(req, res, next) { + + var cmd = 'vizCard' + + var requestXml = ` + + + + axviz + 1234 + 30 + 0 + ${req.query.id} + + + ` + + console.log(requestXml); + // console.log(req.query.fields) + + const result = await asyncRequest({ + url : _url, + body : requestXml, + method : 'POST' + }); + + // parseString(result.body, function (err, result1) { + // console.log(result1); + // }); + + 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']; + delete result1._comment; + + var response = {}; + + if(req.query.fields){ + var listFields = req.query.fields.split(","); + // console.log(listFields) + } + + for(var key in result1){ + var keyObj = capitalizeFirstLetter(key.replace('tem:','')) + // console.log(keyObj+' : '+result1[key]['_text']); + if(listFields){ + if(listFields.includes(keyObj)){ + response[keyObj] = result1[key]['_text']; + } + } else { + response[keyObj] = result1[key]['_text']; + } + } + + stat.recv(cmd, '20000'); + stat.retn(cmd, '20000'); + + res.status(200).json({ + resultCode: '20000', + resultDescription: 'Success', + resultData: response + }); }); +function capitalizeFirstLetter(string) { + return string.charAt(0).toLowerCase() + string.slice(1); +} + +function asyncRequest (params = {}) { + return new Promise((resolve, reject) => { + request(params, function (error, response, body) { + if (error) { + + + (error); + } else { + resolve({ + 'body' : body, + 'response': response + }); + } + }); + }); +} + module.exports = router; -- libgit2 0.21.2