diff --git a/ais-structure/src/modules/customer/customer.ctrl.js b/ais-structure/src/modules/customer/customer.ctrl.js index 7436bf4..921b1a9 100644 --- a/ais-structure/src/modules/customer/customer.ctrl.js +++ b/ais-structure/src/modules/customer/customer.ctrl.js @@ -60,7 +60,7 @@ exports.customer = async function (req, res, next) { log.addErrorSummary(d01,method+"_"+sendCmd,response.resultCode,response.developerMessage); } } - + log.logDetail.addOutput(req.query.clientName,method+"_"+getCmd,constant.RESPONSE,response,response); res.status(200).json(response); next(); diff --git a/ais-structure/src/modules/customer/postCustomer.ctrl.js b/ais-structure/src/modules/customer/postCustomer.ctrl.js index 98cee08..b8a3b81 100644 --- a/ais-structure/src/modules/customer/postCustomer.ctrl.js +++ b/ais-structure/src/modules/customer/postCustomer.ctrl.js @@ -49,19 +49,19 @@ exports.postCustomer = async function (req, res, next){ { stats.receiveRestResponse(d01,constant.METHOD.POST,sendCmd,"Success"); var response = responseMsg.direct(req,getCmd,resultObj,{customerId:objectData.customerId}); - log.addSuccessSummary(d01,method+"_"+sendCmd,response); + log.addSuccessSummary(d01,method+"_"+sendCmd,response.resultCode,response.developerMessage); } else { if(resultObj.resultCode != "40401"){ resultObj.resultCode = "50000"; } stats.receiveRestResponse(d01,constant.METHOD.POST,sendCmd,"Error"); var response = responseMsg.direct(req,getCmd,resultObj); - log.addErrorSummary(d01,method+"_"+sendCmd,response); + log.addErrorSummary(d01,method+"_"+sendCmd,response.resultCode,response.developerMessage); } } else { stats.receiveRestResponse(d01,constant.METHOD.POST,sendCmd,"Error"); var response = responseMsg.direct(req,getCmd,result.response); - log.addErrorSummary(d01,method+"_"+sendCmd,response); + log.addErrorSummary(d01,method+"_"+sendCmd,response.resultCode,response.developerMessage); } } diff --git a/ais-structure/src/modules/membercard/getMembership.ctrl.js b/ais-structure/src/modules/membercard/getMembership.ctrl.js new file mode 100644 index 0000000..12ed299 --- /dev/null +++ b/ais-structure/src/modules/membercard/getMembership.ctrl.js @@ -0,0 +1,107 @@ +var parseJson = require('xml-js'); + +var stats = require('../helper/stats.js'); +var messageSOAP = require('../helper/messageSOAP.js'); +var validatorHelper = require('../helper/validator.js'); +var connection = require('../helper/connection.js'); +var responseMsg = require('../helper/responseMsg.js'); +var log = require('../helper/log.js'); +var constant = require('../helper/constants.js') + +exports.getMembership = async function (req, res, next) { + var getCmd = "VIZCard"; + var sendCmd = "SearchCustomer"; + var sacf = "SACF"; + var method = constant.METHOD.GET; + + var customerId = req.query.clientName+"@"+req.query.commandId; + + log.startlog(method+"_"+getCmd,req.query.commandId,customerId); + log.logDetail.addInput(req.query.clientName,method+"_"+getCmd,constant.REQUEST,req,req.body); + + var err = validator(req,getCmd); + + if(err.length > 0) + { + log.addErrorSummary(req.query.clientName,method+"_"+getCmd,"null","Fail"); + log.log(err,'error'); + var response = responseMsg.error(req,getCmd,40300); + // res.status(200).json(response); + }else + { + log.addSuccessSummary(req.query.clientName,method+"_"+getCmd,"null","Success"); + var objectData = { + Username : "axviz", + Password : "1234", + SystemName : "30", + QueryType : "1", + CardId : req.query.commandId, + firstName : req.query.firstName, + lastName : req.query.lastName, + emailAddress : req.query.emailAddress, + moblieNo : req.query.moblieNo + }; + + const result = await connection.requestSoapToSACF(objectData,sendCmd,constant.METHOD.POST); + // console.log(result.err) + + if(typeof result.err === 'undefined'){ + + try { + var resultSoap = parseJson.xml2json(result.body, {compact: true, spaces: 4}) + resultSoap = JSON.parse(resultSoap) + resultSoap = resultSoap['soap:Envelope']['soap:Body']['tem:SearchCustomerResponse']['tem:SearchCustomerResult']['tem:CustomerSearchResult']; + + var resultSet = messageSOAP.soapToArray(req,resultSoap); + stats.receiveSACFResponse(sacf,sendCmd,"Success"); + var response = responseMsg.success(req,getCmd,{resultData:resultSet.returnData,rowCount:resultSet.returnData.length}); + + log.addSuccessSummary(sacf,method+"_"+sendCmd,response.resultCode,response.developerMessage); + } + catch(error) { + result.response = constant.RESPONSERESULT.ERROR + + stats.receiveSACFBadResponse(sacf,sendCmd); + response = responseMsg.direct(req,getCmd,result.response); + log.addErrorSummary(sacf,method+"_"+sendCmd,response.resultCode,response.developerMessage); + + var resultSet = {rawDataJson : ""} + } + + } else { + stats.receiveSACFResponse(sacf,sendCmd,"Error"); + response = responseMsg.direct(req,getCmd,result.response); + log.addErrorSummary(sacf,method+"_"+sendCmd,response.resultCode,response.developerMessage); + var resultSet = {rawDataJson : ""} + } + + log.logDetail.addInput(sacf,method+"_"+sendCmd,constant.RESPONSE,result,resultSet.rawDataJson); + } + + // console.log(response); + log.logDetail.addOutput(sacf,method+"_"+getCmd,constant.RESPONSE,response,response); + res.status(200).json(response); + next(); +}; + + +function validator(req,cmd) +{ + var list = []; + list.push([true,"queryStr","commandId","int"]); + list.push([true,"queryStr","clientName","string"]); + // list.push([true,"queryStr","lastName","string"]); + // list.push([true,"queryStr","emailAddress","string"]); + // list.push([true,"queryStr","mobileNo","string"]); + // list.push([false,"queryStr","mobileNo","string"]); + + var err = validatorHelper(req,list); + if(err.length > 0) + stats.receiveBadRequest(req.method,cmd); + else + stats.receiveRequest(req.method,cmd); + + return err; +} + + diff --git a/ais-structure/src/modules/membercard/membership.route.js b/ais-structure/src/modules/membercard/membership.route.js new file mode 100644 index 0000000..d40aa6a --- /dev/null +++ b/ais-structure/src/modules/membercard/membership.route.js @@ -0,0 +1,30 @@ +var env = process.env.NODE_ENV || 'development'; +var cfg = require('../../config/config.js').get(env); + +module.exports = function (app) { + var getMembershipCtrl = app.modules.membercard.getMembershipCtrl; + var postMembershipCtrl = app.modules.membercard.postMembershipCtrl; + + app.get(cfg.service.CMF.GET_CustomerMembership_URL[0], + getMembershipCtrl.getMembership + ); + + app.get(cfg.service.CMF.GET_CustomerMembership_URL[1], + getMembershipCtrl.getMembership + ); + + app.get(cfg.service.CMF.GET_CustomerMembership_URL[2], + getMembershipCtrl.getMembership + ); + + app.post(cfg.service.CMF.POST_CustomerMembership_URL[0], + postMembershipCtrl.postMembership + ); + + app.post(cfg.service.CMF.POST_CustomerMembership_URL[1], + postMembershipCtrl.postMembership + ); + + + +}; diff --git a/ais-structure/src/modules/membercard/postMembership.ctrl.js b/ais-structure/src/modules/membercard/postMembership.ctrl.js new file mode 100644 index 0000000..0b36693 --- /dev/null +++ b/ais-structure/src/modules/membercard/postMembership.ctrl.js @@ -0,0 +1,93 @@ +var stats = require('../helper/stats.js'); +var validatorHelper = require('../helper/validator.js'); +var connection = require('../helper/connection.js'); +var responseMsg = require('../helper/responseMsg.js'); +var log = require('../helper/log.js'); +var constant = require('../helper/constants.js') + +exports.postMembership = async function (req, res, next){ + var getCmd = "Customer"; + var sendCmd = "Customer"; + var sacf = "SACF"; + var d01 = "D01"; + var method = constant.METHOD.POST; + + if(req.params.userData && req.params.userType){ + var customerId = req.body.user.userData+"@"+req.body.user.userType; + } + + log.startlog(method+"_"+getCmd,req.body.commandId,customerId); + log.logDetail.addInput(req.body.clientName,method+"_"+getCmd,constant.REQUEST,req,req.body); + + var err = validator(req,getCmd); + + if(err.length > 0) + { + log.addErrorSummary(req.query.clientName,method+"_"+getCmd,"null","Fail"); + console.log(err); + var response = responseMsg.error(req,getCmd,40300); + }else + { + log.addSuccessSummary(req.query.clientName,method+"_"+getCmd,"null","Success"); + var objectData = { + customerId : customerId, + userIdData : req.body.user.userData, + userIdType : req.body.user.userType, + firstName : req.body.firstName, + lastName : req.body.lastName, + mobile : req.body.mobile, + emailAddress : req.body.emailAddress, + dateCreated : req.body.dateCreated + }; + + const result = await connection.requestJsonToD01(objectData,sendCmd,"POST"); + log.logDetail.addInput(d01,method+"_"+sendCmd,constant.RESPONSE,result,result.response); + if(typeof result.err === 'undefined'){ + // console.log(result.response.body); + var resultObj = result.response; + if(resultObj.resultCode.startsWith("2")) + { + stats.receiveRestResponse(d01,constant.METHOD.POST,sendCmd,"Success"); + var response = responseMsg.direct(req,getCmd,resultObj,{customerId:objectData.customerId}); + log.addSuccessSummary(d01,method+"_"+sendCmd,response); + } else { + if(resultObj.resultCode != "40401"){ + resultObj.resultCode = "50000"; + } + stats.receiveRestResponse(d01,constant.METHOD.POST,sendCmd,"Error"); + var response = responseMsg.direct(req,getCmd,resultObj); + log.addErrorSummary(d01,method+"_"+sendCmd,response); + } + } else { + stats.receiveRestResponse(d01,constant.METHOD.POST,sendCmd,"Error"); + var response = responseMsg.direct(req,getCmd,result.response); + log.addErrorSummary(d01,method+"_"+sendCmd,response); + } + } + + log.logDetail.addOutput(req.body.clientName,method+"_"+getCmd,constant.RESPONSE,response,response); + res.status(200).json(response); + next(); +}; + +function validator(req,api) +{ + // console.log(req.body); + var list = []; + list.push([true,"body","user.userType","string"]); + list.push([true,"body","user.userData","string"]); + list.push([true,"body","commandId","string"]); + list.push([true,"body","clientName","string"]); + list.push([true,"body","firstName","string"]); + list.push([true,"body","lastName","string"]); + list.push([true,"body","mobile","string"]); + list.push([true,"body","emailAddress","string"]); + var err = validatorHelper(req,list,api) + + if(err.length > 0) + stats.receiveBadRequest(req.method,api); + else + stats.receiveRequest(req.method,api); + + return err; +} \ No newline at end of file -- libgit2 0.21.2