Commit 8221da7acd48919ee7150faf689c9de327a14d2f

Authored by Nattapon Wongpaet
1 parent f9f2c679
Exists in master and in 1 other branch dev

update flow membership

ais-structure/src/modules/customer/customer.ctrl.js
... ... @@ -60,7 +60,7 @@ exports.customer = async function (req, res, next) {
60 60 log.addErrorSummary(d01,method+"_"+sendCmd,response.resultCode,response.developerMessage);
61 61 }
62 62 }
63   -
  63 +
64 64 log.logDetail.addOutput(req.query.clientName,method+"_"+getCmd,constant.RESPONSE,response,response);
65 65 res.status(200).json(response);
66 66 next();
... ...
ais-structure/src/modules/customer/postCustomer.ctrl.js
... ... @@ -49,19 +49,19 @@ exports.postCustomer = async function (req, res, next){
49 49 {
50 50 stats.receiveRestResponse(d01,constant.METHOD.POST,sendCmd,"Success");
51 51 var response = responseMsg.direct(req,getCmd,resultObj,{customerId:objectData.customerId});
52   - log.addSuccessSummary(d01,method+"_"+sendCmd,response);
  52 + log.addSuccessSummary(d01,method+"_"+sendCmd,response.resultCode,response.developerMessage);
53 53 } else {
54 54 if(resultObj.resultCode != "40401"){
55 55 resultObj.resultCode = "50000";
56 56 }
57 57 stats.receiveRestResponse(d01,constant.METHOD.POST,sendCmd,"Error");
58 58 var response = responseMsg.direct(req,getCmd,resultObj);
59   - log.addErrorSummary(d01,method+"_"+sendCmd,response);
  59 + log.addErrorSummary(d01,method+"_"+sendCmd,response.resultCode,response.developerMessage);
60 60 }
61 61 } else {
62 62 stats.receiveRestResponse(d01,constant.METHOD.POST,sendCmd,"Error");
63 63 var response = responseMsg.direct(req,getCmd,result.response);
64   - log.addErrorSummary(d01,method+"_"+sendCmd,response);
  64 + log.addErrorSummary(d01,method+"_"+sendCmd,response.resultCode,response.developerMessage);
65 65 }
66 66 }
67 67  
... ...
ais-structure/src/modules/membercard/getMembership.ctrl.js 0 → 100644
... ... @@ -0,0 +1,107 @@
  1 +var parseJson = require('xml-js');
  2 +
  3 +var stats = require('../helper/stats.js');
  4 +var messageSOAP = require('../helper/messageSOAP.js');
  5 +var validatorHelper = require('../helper/validator.js');
  6 +var connection = require('../helper/connection.js');
  7 +var responseMsg = require('../helper/responseMsg.js');
  8 +var log = require('../helper/log.js');
  9 +var constant = require('../helper/constants.js')
  10 +
  11 +exports.getMembership = async function (req, res, next) {
  12 + var getCmd = "VIZCard";
  13 + var sendCmd = "SearchCustomer";
  14 + var sacf = "SACF";
  15 + var method = constant.METHOD.GET;
  16 +
  17 + var customerId = req.query.clientName+"@"+req.query.commandId;
  18 +
  19 + log.startlog(method+"_"+getCmd,req.query.commandId,customerId);
  20 + log.logDetail.addInput(req.query.clientName,method+"_"+getCmd,constant.REQUEST,req,req.body);
  21 +
  22 + var err = validator(req,getCmd);
  23 +
  24 + if(err.length > 0)
  25 + {
  26 + log.addErrorSummary(req.query.clientName,method+"_"+getCmd,"null","Fail");
  27 + log.log(err,'error');
  28 + var response = responseMsg.error(req,getCmd,40300);
  29 + // res.status(200).json(response);
  30 + }else
  31 + {
  32 + log.addSuccessSummary(req.query.clientName,method+"_"+getCmd,"null","Success");
  33 + var objectData = {
  34 + Username : "axviz",
  35 + Password : "1234",
  36 + SystemName : "30",
  37 + QueryType : "1",
  38 + CardId : req.query.commandId,
  39 + firstName : req.query.firstName,
  40 + lastName : req.query.lastName,
  41 + emailAddress : req.query.emailAddress,
  42 + moblieNo : req.query.moblieNo
  43 + };
  44 +
  45 + const result = await connection.requestSoapToSACF(objectData,sendCmd,constant.METHOD.POST);
  46 + // console.log(result.err)
  47 +
  48 + if(typeof result.err === 'undefined'){
  49 +
  50 + try {
  51 + var resultSoap = parseJson.xml2json(result.body, {compact: true, spaces: 4})
  52 + resultSoap = JSON.parse(resultSoap)
  53 + resultSoap = resultSoap['soap:Envelope']['soap:Body']['tem:SearchCustomerResponse']['tem:SearchCustomerResult']['tem:CustomerSearchResult'];
  54 +
  55 + var resultSet = messageSOAP.soapToArray(req,resultSoap);
  56 + stats.receiveSACFResponse(sacf,sendCmd,"Success");
  57 + var response = responseMsg.success(req,getCmd,{resultData:resultSet.returnData,rowCount:resultSet.returnData.length});
  58 +
  59 + log.addSuccessSummary(sacf,method+"_"+sendCmd,response.resultCode,response.developerMessage);
  60 + }
  61 + catch(error) {
  62 + result.response = constant.RESPONSERESULT.ERROR
  63 +
  64 + stats.receiveSACFBadResponse(sacf,sendCmd);
  65 + response = responseMsg.direct(req,getCmd,result.response);
  66 + log.addErrorSummary(sacf,method+"_"+sendCmd,response.resultCode,response.developerMessage);
  67 +
  68 + var resultSet = {rawDataJson : ""}
  69 + }
  70 +
  71 + } else {
  72 + stats.receiveSACFResponse(sacf,sendCmd,"Error");
  73 + response = responseMsg.direct(req,getCmd,result.response);
  74 + log.addErrorSummary(sacf,method+"_"+sendCmd,response.resultCode,response.developerMessage);
  75 + var resultSet = {rawDataJson : ""}
  76 + }
  77 +
  78 + log.logDetail.addInput(sacf,method+"_"+sendCmd,constant.RESPONSE,result,resultSet.rawDataJson);
  79 + }
  80 +
  81 + // console.log(response);
  82 + log.logDetail.addOutput(sacf,method+"_"+getCmd,constant.RESPONSE,response,response);
  83 + res.status(200).json(response);
  84 + next();
  85 +};
  86 +
  87 +
  88 +function validator(req,cmd)
  89 +{
  90 + var list = [];
  91 + list.push([true,"queryStr","commandId","int"]);
  92 + list.push([true,"queryStr","clientName","string"]);
  93 + // list.push([true,"queryStr","lastName","string"]);
  94 + // list.push([true,"queryStr","emailAddress","string"]);
  95 + // list.push([true,"queryStr","mobileNo","string"]);
  96 + // list.push([false,"queryStr","mobileNo","string"]);
  97 +
  98 + var err = validatorHelper(req,list);
  99 + if(err.length > 0)
  100 + stats.receiveBadRequest(req.method,cmd);
  101 + else
  102 + stats.receiveRequest(req.method,cmd);
  103 +
  104 + return err;
  105 +}
  106 +
  107 +
... ...
ais-structure/src/modules/membercard/membership.route.js 0 → 100644
... ... @@ -0,0 +1,30 @@
  1 +var env = process.env.NODE_ENV || 'development';
  2 +var cfg = require('../../config/config.js').get(env);
  3 +
  4 +module.exports = function (app) {
  5 + var getMembershipCtrl = app.modules.membercard.getMembershipCtrl;
  6 + var postMembershipCtrl = app.modules.membercard.postMembershipCtrl;
  7 +
  8 + app.get(cfg.service.CMF.GET_CustomerMembership_URL[0],
  9 + getMembershipCtrl.getMembership
  10 + );
  11 +
  12 + app.get(cfg.service.CMF.GET_CustomerMembership_URL[1],
  13 + getMembershipCtrl.getMembership
  14 + );
  15 +
  16 + app.get(cfg.service.CMF.GET_CustomerMembership_URL[2],
  17 + getMembershipCtrl.getMembership
  18 + );
  19 +
  20 + app.post(cfg.service.CMF.POST_CustomerMembership_URL[0],
  21 + postMembershipCtrl.postMembership
  22 + );
  23 +
  24 + app.post(cfg.service.CMF.POST_CustomerMembership_URL[1],
  25 + postMembershipCtrl.postMembership
  26 + );
  27 +
  28 +
  29 +
  30 +};
... ...
ais-structure/src/modules/membercard/postMembership.ctrl.js 0 → 100644
... ... @@ -0,0 +1,93 @@
  1 +var stats = require('../helper/stats.js');
  2 +var validatorHelper = require('../helper/validator.js');
  3 +var connection = require('../helper/connection.js');
  4 +var responseMsg = require('../helper/responseMsg.js');
  5 +var log = require('../helper/log.js');
  6 +var constant = require('../helper/constants.js')
  7 +
  8 +exports.postMembership = async function (req, res, next){
  9 + var getCmd = "Customer";
  10 + var sendCmd = "Customer";
  11 + var sacf = "SACF";
  12 + var d01 = "D01";
  13 + var method = constant.METHOD.POST;
  14 +
  15 + if(req.params.userData && req.params.userType){
  16 + var customerId = req.body.user.userData+"@"+req.body.user.userType;
  17 + }
  18 +
  19 + log.startlog(method+"_"+getCmd,req.body.commandId,customerId);
  20 + log.logDetail.addInput(req.body.clientName,method+"_"+getCmd,constant.REQUEST,req,req.body);
  21 +
  22 + var err = validator(req,getCmd);
  23 +
  24 + if(err.length > 0)
  25 + {
  26 + log.addErrorSummary(req.query.clientName,method+"_"+getCmd,"null","Fail");
  27 + console.log(err);
  28 + var response = responseMsg.error(req,getCmd,40300);
  29 + }else
  30 + {
  31 + log.addSuccessSummary(req.query.clientName,method+"_"+getCmd,"null","Success");
  32 + var objectData = {
  33 + customerId : customerId,
  34 + userIdData : req.body.user.userData,
  35 + userIdType : req.body.user.userType,
  36 + firstName : req.body.firstName,
  37 + lastName : req.body.lastName,
  38 + mobile : req.body.mobile,
  39 + emailAddress : req.body.emailAddress,
  40 + dateCreated : req.body.dateCreated
  41 + };
  42 +
  43 + const result = await connection.requestJsonToD01(objectData,sendCmd,"POST");
  44 + log.logDetail.addInput(d01,method+"_"+sendCmd,constant.RESPONSE,result,result.response);
  45 + if(typeof result.err === 'undefined'){
  46 + // console.log(result.response.body);
  47 + var resultObj = result.response;
  48 + if(resultObj.resultCode.startsWith("2"))
  49 + {
  50 + stats.receiveRestResponse(d01,constant.METHOD.POST,sendCmd,"Success");
  51 + var response = responseMsg.direct(req,getCmd,resultObj,{customerId:objectData.customerId});
  52 + log.addSuccessSummary(d01,method+"_"+sendCmd,response);
  53 + } else {
  54 + if(resultObj.resultCode != "40401"){
  55 + resultObj.resultCode = "50000";
  56 + }
  57 + stats.receiveRestResponse(d01,constant.METHOD.POST,sendCmd,"Error");
  58 + var response = responseMsg.direct(req,getCmd,resultObj);
  59 + log.addErrorSummary(d01,method+"_"+sendCmd,response);
  60 + }
  61 + } else {
  62 + stats.receiveRestResponse(d01,constant.METHOD.POST,sendCmd,"Error");
  63 + var response = responseMsg.direct(req,getCmd,result.response);
  64 + log.addErrorSummary(d01,method+"_"+sendCmd,response);
  65 + }
  66 + }
  67 +
  68 + log.logDetail.addOutput(req.body.clientName,method+"_"+getCmd,constant.RESPONSE,response,response);
  69 + res.status(200).json(response);
  70 + next();
  71 +};
  72 +
  73 +function validator(req,api)
  74 +{
  75 + // console.log(req.body);
  76 + var list = [];
  77 + list.push([true,"body","user.userType","string"]);
  78 + list.push([true,"body","user.userData","string"]);
  79 + list.push([true,"body","commandId","string"]);
  80 + list.push([true,"body","clientName","string"]);
  81 + list.push([true,"body","firstName","string"]);
  82 + list.push([true,"body","lastName","string"]);
  83 + list.push([true,"body","mobile","string"]);
  84 + list.push([true,"body","emailAddress","string"]);
  85 + var err = validatorHelper(req,list,api)
  86 +
  87 + if(err.length > 0)
  88 + stats.receiveBadRequest(req.method,api);
  89 + else
  90 + stats.receiveRequest(req.method,api);
  91 +
  92 + return err;
  93 +}
0 94 \ No newline at end of file
... ...