Commit 27aed23144aeb5822fef716cf31ba0d328d3f4e9

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

update post membership

ais-structure/src/modules/helper/constants.js
... ... @@ -37,6 +37,10 @@ module.exports = Object.freeze({
37 37 SUCCESS:{
38 38 resultCode : '20000',
39 39 resultDescription : 'Success'
  40 + },
  41 + EXCEED:{
  42 + resultCode : '40302',
  43 + resultDescription : 'Exceed data allowances'
40 44 }
41 45 }
42 46 },
... ...
ais-structure/src/modules/helper/log.js
... ... @@ -247,43 +247,43 @@ logger.endEC = function(res)
247 247 messageRes += newLine+"Use times : "+Math.abs(endTime - startTime)+" ms";
248 248  
249 249  
250   - messageRes += `
251   - ________________________________________________________________________________________________________________________
252   - __________#####___________________________________#####___________________________________#####_________________________
253   - _________##____#_________________________________##____#_________________________________##____#________________________
254   - ________##______#_______________________________##______#_______________________________##______#_______________________
255   - ________#________#______________________________#________#______________________________#________#______________________
256   - _________________#######_________________________________#######_________________________________#######________________
257   - _________________#########_______________________________#########_______________________________#########______________
258   - __________##_____###########______________________##_____###########______________________##_____###########____________
259   - ___________#_____#############_____________________#_____#############_____________________#_____#############__________
260   - _________________##############___###____________________##############___###____________________##############___###___
261   - _______##________###############_##_##_________##________###############_##_##_________##________###############_##_##__
262   - ______###_______#################____#________###_______#################____#________###_______#################____#__
263   - ____#######___##________#########____#______#######___##________#########____#______#######___##________#########____#__
264   - ___#___####___#______________###_____#_____#___####___#______________###_____#_____#___####___#______________###_____#__
265   - ___#___##______#__#__________________#_____#___##______#__#__________________#_____#___##______#__#__________________#__
266   - ___#_________________________________#_____#_________________________________#_____#_________________________________#__
267   - ___#______________##_________________#_____#______________##_________________#_____#______________##_________________#__
268   - __#___________#_________________#___#_____#___________#_________________#___#_____#___________#_________________#___#___
269   - ___#__________#________________###__#______#__________#________________###__#______#__________#________________###__#___
270   - ____##_______#_________________#_###________##_______#_________________#_###________##_______#_________________#_###____
271   - _____#________________________##_____________#________________________##_____________#________________________##________
272   - _____#________________________#______________#________________________#______________#________________________#_________
273   - _____#_______________________#_______________#_______________________#_______________#_______________________#__________
274   - _____#______________________##_______________#______________________##_______________#______________________##__________
275   - _____##_____________________#________________##_____________________#________________##_____________________#___________
276   - ______#____________________#__________________#____________________#__________________#____________________#____________
277   - ______#___________________#___________________#___________________#___________________#___________________#_____________
278   - _______#_________________#_____________________#_________________#_____________________#_________________#______________
279   - _______##_______________#______________________##_______________#______________________##_______________#_______________
280   - ________##____________##________________________##____________##________________________##____________##________________
281   - __________##________###___________________________##________###___________________________##________###_________________
282   - ____________#########_______________________________#########_______________________________#########___________________
283   - ________________________________________________________________________________________________________________________
  250 + // messageRes += `
  251 + // ________________________________________________________________________________________________________________________
  252 + // __________#####___________________________________#####___________________________________#####_________________________
  253 + // _________##____#_________________________________##____#_________________________________##____#________________________
  254 + // ________##______#_______________________________##______#_______________________________##______#_______________________
  255 + // ________#________#______________________________#________#______________________________#________#______________________
  256 + // _________________#######_________________________________#######_________________________________#######________________
  257 + // _________________#########_______________________________#########_______________________________#########______________
  258 + // __________##_____###########______________________##_____###########______________________##_____###########____________
  259 + // ___________#_____#############_____________________#_____#############_____________________#_____#############__________
  260 + // _________________##############___###____________________##############___###____________________##############___###___
  261 + // _______##________###############_##_##_________##________###############_##_##_________##________###############_##_##__
  262 + // ______###_______#################____#________###_______#################____#________###_______#################____#__
  263 + // ____#######___##________#########____#______#######___##________#########____#______#######___##________#########____#__
  264 + // ___#___####___#______________###_____#_____#___####___#______________###_____#_____#___####___#______________###_____#__
  265 + // ___#___##______#__#__________________#_____#___##______#__#__________________#_____#___##______#__#__________________#__
  266 + // ___#_________________________________#_____#_________________________________#_____#_________________________________#__
  267 + // ___#______________##_________________#_____#______________##_________________#_____#______________##_________________#__
  268 + // __#___________#_________________#___#_____#___________#_________________#___#_____#___________#_________________#___#___
  269 + // ___#__________#________________###__#______#__________#________________###__#______#__________#________________###__#___
  270 + // ____##_______#_________________#_###________##_______#_________________#_###________##_______#_________________#_###____
  271 + // _____#________________________##_____________#________________________##_____________#________________________##________
  272 + // _____#________________________#______________#________________________#______________#________________________#_________
  273 + // _____#_______________________#_______________#_______________________#_______________#_______________________#__________
  274 + // _____#______________________##_______________#______________________##_______________#______________________##__________
  275 + // _____##_____________________#________________##_____________________#________________##_____________________#___________
  276 + // ______#____________________#__________________#____________________#__________________#____________________#____________
  277 + // ______#___________________#___________________#___________________#___________________#___________________#_____________
  278 + // _______#_________________#_____________________#_________________#_____________________#_________________#______________
  279 + // _______##_______________#______________________##_______________#______________________##_______________#_______________
  280 + // ________##____________##________________________##____________##________________________##____________##________________
  281 + // __________##________###___________________________##________###___________________________##________###_________________
  282 + // ____________#########_______________________________#########_______________________________#########___________________
  283 + // ________________________________________________________________________________________________________________________
284 284  
285   - ________________________________________________________________________________________________________________________
286   - `;
  285 + // ________________________________________________________________________________________________________________________
  286 + // `;
287 287  
288 288 logger.log(messageRes);
289 289 messageRes += newLine
... ...
ais-structure/src/modules/helper/responseMsg.js
... ... @@ -7,7 +7,7 @@ responseMsg.error = function (req,cmd,code){
7 7  
8 8 // var devMsg = "System error";
9 9 var response;
10   - switch(code) {
  10 + switch(code) {
11 11 case 40300:
12 12 response = constants.RESPONSERESULT.MISSING_INVALID
13 13 break;
... ... @@ -49,8 +49,6 @@ responseMsg.direct = function (req,cmd,result,data)
49 49 developerMessage : result.resultDescription
50 50 };
51 51  
52   -
53   -
54 52 if(result.resultCode == constants.RESPONSERESULT.SUCCESS.resultCode)
55 53 {
56 54 stats.sendResponse(req.method,cmd,constants.SUCCESS);
... ...
ais-structure/src/modules/membercard/getMembership.ctrl.js
... ... @@ -79,40 +79,39 @@ exports.getMembership = async function (req, res, next) {
79 79 log.addErrorSummary(d01,method+"_"+sendCusCmd,response.resultCode,response.developerMessage);
80 80 }
81 81 } else if(resultObj.resultCode.startsWith("404")){
82   - stats.receiveRestResponse(d01,method,sendCmd,constant.RESPONSERESULT.DATA_NOT_FOUND.developerMessage);
  82 + stats.receiveRestResponse(d01,method,sendCusCmd,constant.RESPONSERESULT.DATA_NOT_FOUND.developerMessage);
83 83 var response = responseMsg.direct(req,getCmd,resultObj);
84   - log.addErrorSummary(d01,method+"_"+sendCmd,resultObj.resultCode,resultObj.developerMessage);
  84 + log.addErrorSummary(d01,method+"_"+sendCusCmd,resultObj.resultCode,resultObj.developerMessage);
85 85 } else if(resultObj.resultCode.startsWith("5")){
86   - stats.receiveRestResponse(d01,method,sendCmd,constant.ERROR);
  86 + stats.receiveRestResponse(d01,method,sendCusCmd,constant.ERROR);
87 87 var response = responseMsg.direct(req,getCmd,resultObj);
88   - log.addErrorSummary(d01,method+"_"+sendCmd,resultObj.resultCode,resultObj.developerMessage);
  88 + log.addErrorSummary(d01,method+"_"+sendCusCmd,resultObj.resultCode,resultObj.developerMessage);
89 89 } else {
90   - stats.receiveRestResponse(d01,method,sendCmd,constant.ERROR);
  90 + stats.receiveRestResponse(d01,method,sendCusCmd,constant.ERROR);
91 91 var response = responseMsg.error(req,getCmd,50000);
92 92 }
93 93 } else {
94 94 stats.receiveRestResponse(d01,method,sendCusCmd,constant.ERROR);
95   - var response = responseMsg.direct(req,getCmd,resultObj);
96   - log.addErrorSummary(d01,method+"_"+sendCusCmd,resultObj.resultCode,resultObj.developerMessage);
  95 + var response = responseMsg.error(req,getCmd,50000);
  96 + // log.addErrorSummary(d01,method+"_"+sendCusCmd,resultObj.resultCode,resultObj.developerMessage);
97 97 }//End get MemberCard
98 98  
99 99  
100   - }else
101   - {
  100 + } else {
102 101 stats.receiveRestResponse(d01,method,sendCusCmd,constant.RESPONSERESULT.DATA_NOT_FOUND.developerMessage);
103 102 var response = responseMsg.error(req,getCmd,40300);
104 103 log.addErrorSummary(d01,method+"_"+sendCusCmd,response.resultCode,response.developerMessage);
105 104 }
106 105 } else if(resultObj.resultCode.startsWith("404")){
107   - stats.receiveRestResponse(d01,method,sendCmd,constant.ERROR);
  106 + stats.receiveRestResponse(d01,method,sendMemCmd,constant.ERROR);
108 107 var response = responseMsg.direct(req,getCmd,resultObj);
109   - log.addErrorSummary(d01,method+"_"+sendCmd,resultObj.resultCode,resultObj.developerMessage);
  108 + log.addErrorSummary(d01,method+"_"+sendMemCmd,resultObj.resultCode,resultObj.developerMessage);
110 109 } else if(resultObj.resultCode.startsWith("5")){
111   - stats.receiveRestResponse(d01,method,sendCmd,constant.ERROR);
  110 + stats.receiveRestResponse(d01,method,sendMemCmd,constant.ERROR);
112 111 var response = responseMsg.direct(req,getCmd,resultObj);
113   - log.addErrorSummary(d01,method+"_"+sendCmd,resultObj.resultCode,resultObj.developerMessage);
  112 + log.addErrorSummary(d01,method+"_"+sendMemCmd,resultObj.resultCode,resultObj.developerMessage);
114 113 } else {
115   - stats.receiveRestResponse(d01,method,sendCmd,constant.ERROR);
  114 + stats.receiveRestResponse(d01,method,sendMemCmd,constant.ERROR);
116 115 var response = responseMsg.error(req,getCmd,50000);
117 116 }
118 117 } else {
... ...
ais-structure/src/modules/membercard/postMembership.ctrl.js
... ... @@ -4,175 +4,172 @@ var connection = require('../helper/connection.js');
4 4 var responseMsg = require('../helper/responseMsg.js');
5 5 var log = require('../helper/log.js');
6 6 var constant = require('../helper/constants.js')
  7 +var env = process.env.NODE_ENV || 'development';
  8 +var cfg = require('../../config/config.js').get(env);
7 9  
8   -exports.postMembership = async function (req, res, next){
9   - var getCmd = "CustomerMembership";
10   - var sendCustomerCmd = "Customer";
11   - var sendMemberCardCmd = "MemberCard";
12   - var d01 = "D01";
13   - var postMethod = constant.METHOD.POST;
14   - var putMethod = constant.METHOD.PUT;
15   - var getMethod = constant.METHOD.GET;
  10 +const getCmd = "CustomerMembership";
  11 +const sendCustomerCmd = "Customer";
  12 +const sendMemberCardCmd = "MemberCard";
  13 +const d01 = "D01";
  14 +const postMethod = constant.METHOD.POST;
  15 +const putMethod = constant.METHOD.PUT;
  16 +const getMethod = constant.METHOD.GET;
16 17  
  18 +exports.postMembership = async function (req, res, next){
  19 +
  20 + var customerId;
17 21 if(req.params.customerId){
18   - var customerId = req.params.customerId
  22 + customerId = req.params.customerId
19 23 } else if(req.params.userData && req.params.userType){
20   - var customerId = req.params.userData+"@"+req.params.userType
  24 + customerId = req.params.userData+"@"+req.params.userType
21 25 } else if(req.body.clientName && req.body.commandId){
22   - var customerId = req.body.clientName+"@"+req.body.commandId;
  26 + customerId = req.body.clientName+"@"+req.body.commandId;
23 27 }
24 28  
25   - log.startlog(postMethod+"_"+getCmd,req.body.commandId,customerId);
26   - log.logDetail.addInput(req.body.clientName,postMethod+"_"+getCmd,constant.REQUEST,req,req.body);
  29 + log.startlog(postMethod+"_"+getCmd, req.body.commandId, customerId);
  30 + log.logDetail.addInput(req.body.clientName, postMethod+"_"+getCmd, constant.REQUEST, req, req.body);
27 31  
28   - var err = validator(req,getCmd);
  32 + var err = validator(req, getCmd);
29 33  
30 34 if(err.length > 0)
31 35 {
32   - log.addErrorSummary(req.body.clientName,postMethod+"_"+getCmd,"null","Fail");
33   - console.log(err);
34   - var response = responseMsg.error(req,getCmd,40300);
  36 + log.addErrorSummary(req.body.clientName, postMethod+"_"+getCmd, "null", "Fail");
  37 + // console.log(err);
  38 + var response = responseMsg.error(req, getCmd, 40300);
35 39 }else
36 40 {
37   - log.addSuccessSummary(req.body.clientName,postMethod+"_"+getCmd,"null","Success");
  41 + log.addSuccessSummary(req.body.clientName, postMethod+"_"+getCmd, "null", "Success");
38 42  
39 43 var objectData = {
40   - cardId : req.body.cardId,
  44 + cardId : req.body.cardId,
41 45 cardOwnerIdList : customerId
42 46 // _flag : "or"
43 47 }
44 48  
45 49 //GET Customer with cardId and cardOwnerIdList
46   - const result = await connection.requestJsonToD01(objectData,sendMemberCardCmd,getMethod);
47   - log.logDetail.addInput(d01,getMethod+"_"+sendMemberCardCmd,constant.RESPONSE,result,result.response);
  50 + const result = await connection.requestJsonToD01(objectData, sendMemberCardCmd, getMethod);
  51 + log.logDetail.addInput(d01, getMethod+"_"+sendMemberCardCmd, constant.RESPONSE, result, result.response);
48 52  
49 53 var objDataGetCustomer = {
50   - req : req,
  54 + req : req,
51 55 reqCustomer : {
52 56 customerId : customerId
53   - },
54   - cmd : sendCustomerCmd,
55   - method : getMethod,
  57 + },
  58 + cmd : sendCustomerCmd,
  59 + method : getMethod,
56 60 resultData : result.response.resultData
57 61 }
58 62  
59   - var objDataPostCustomer = {
60   - req : req,
61   - reqCustomer : {
62   - cardId : req.body.cardId,
63   - cardOwnerIdList:[customerId]
64   - },
65   - cmd : sendCustomerCmd,
66   - method : postMethod,
67   - resultData : result.response.resultData
  63 + var objDataMembership = {
  64 + POST : {
  65 + req : req,
  66 + reqMembership : {
  67 + cardId : req.body.cardId,
  68 + cardOwnerIdList : [customerId]
  69 + },
  70 + cmd : sendCustomerCmd,
  71 + method : postMethod,
  72 + resultData : result.response.resultData
  73 + },
  74 + PUT : {
  75 + req : req,
  76 + reqMembership : {
  77 + // {"add":{"@cardOwnerIdList":"testAddedCard"}}
  78 + add : {
  79 + cardOwnerIdList : customerId
  80 + }
  81 + },
  82 + cmd : sendCustomerCmd,
  83 + method : putMethod,
  84 + resultData : result.response.resultData
  85 + }
  86 +
68 87 }
69 88  
70 89 if(typeof result.err === 'undefined'){
71 90 var resultObj = result.response;
72 91 if(resultObj.resultCode.startsWith("2")){
73 92 if(resultObj.resultData && resultObj.resultData.length>0){
  93 +
74 94 stats.receiveRestResponse(d01,getMethod,sendMemberCardCmd,constant.SUCCESS);
75   - var response = responseMsg.success(req,getCmd,resultObj);
76   - log.addSuccessSummary(d01,getMethod+"_"+sendMemberCardCmd,response.resultCode,response.developerMessage);
77   - } else { //data not found
78   - //get customer
79   - var getCustomer = await getCustomerD01(objDataGetCustomer);
80   - //if get data exits post membercard
81   - if(!getCustomer.isErr){
82   - if(!getCustomer.isDataNotFound){
83   - //post membercard
84   - stats.receiveRestResponse(d01,getMethod,sendCustomerCmd,constant.SUCCESS);
85   - log.addSuccessSummary(d01,getMethod+"_"+sendCustomerCmd,getCustomer.response.resultCode,getCustomer.response.developerMessage);
86   -
87   - var postCustomer = await postCustomerD01(objDataPostCustomer);
88   -
89   - if(!postCustomer.isErr){
90   - stats.receiveRestResponse(d01,postMethod,sendCustomerCmd,constant.SUCCESS);
91   - var response = responseMsg.direct(req,getCmd,postCustomer.response);
92   - log.addSuccessSummary(d01,postMethod+"_"+sendCustomerCmd,response.resultCode,response.developerMessage);
93   - } else if(getCustomer.isDirect){
94   - stats.receiveRestResponse(d01,method,sendCustomerCmd,constant.ERROR);
95   - var response = responseMsg.direct(req,getCmd,getCustomer.response);
96   - log.addErrorSummary(d01,method+"_"+sendCmd,getCustomer.response.resultCode,getCustomer.response.developerMessage);
97   - } else {
98   - stats.receiveRestResponse(d01,method,sendCmd,constant.ERROR);
99   - var response = responseMsg.error(req,getCmd,50000);
100   - }
101   -
102   - } else {
103   - stats.receiveRestResponse(d01,method,sendCmd,constant.RESPONSERESULT.DATA_NOT_FOUND.developerMessage);
104   - var response = responseMsg.error(req,getCmd,40401);
105   - log.addErrorSummary(d01,method+"_"+sendCmd,response.resultCode,response.developerMessage);
106   - }
107   - } else if(getCustomer.isDirect){
108   - stats.receiveRestResponse(d01,method,sendCmd,constant.ERROR);
109   - var response = responseMsg.direct(req,getCmd,getCustomer.response);
110   - log.addErrorSummary(d01,method+"_"+sendCmd,getCustomer.response.resultCode,getCustomer.response.developerMessage);
  95 + log.addSuccessSummary(d01,getMethod+"_"+sendMemberCardCmd,resultObj.resultCode,resultObj.resultDescription);
  96 +
  97 + var todo = await checkOwnerCard(resultObj.resultData,objectData);
  98 + // console.log(todo);
  99 + if(todo){
  100 + var getCustomer = await getCustomerD01(objDataGetCustomer);
  101 + var response = await getCustomerHandler(req, getCustomer, resultObj, objDataMembership);
111 102 } else {
112   - stats.receiveRestResponse(d01,method,sendCmd,constant.ERROR);
113   - var response = responseMsg.error(req,getCmd,50000);
  103 + stats.receiveRestResponse(d01,getMethod,sendMemberCardCmd,constant.SUCCESS);
  104 + var response = responseMsg.direct(req,getCmd,constant.RESPONSECONN.MESSAGE.EXCEED);
  105 + log.addSuccessSummary(d01, getMethod+"_"+sendMemberCardCmd, response.resultCode, response.developerMessage);
114 106 }
115   - //else end flow
  107 +
  108 + } else { //data not found
  109 +
  110 + stats.receiveRestResponse(d01,getMethod,sendMemberCardCmd,constant.RESPONSERESULT.DATA_NOT_FOUND.developerMessage);
  111 + log.addSuccessSummary(d01,getMethod+"_"+sendMemberCardCmd,constant.RESPONSERESULT.DATA_NOT_FOUND.resultCode,constant.RESPONSERESULT.DATA_NOT_FOUND.developerMessage);
  112 +
  113 + //get customer
116 114  
  115 + var getCustomer = await getCustomerD01(objDataGetCustomer);
  116 + var response = await getCustomerHandler(req, getCustomer, resultObj, objDataMembership);
117 117 }
118   - } else if(resultObj.resultCode.startsWith("404")){
  118 + } else if(resultObj.resultCode.startsWith("404")){ //data not found
119 119 //get customer
120   - //if get data exits post member card
121   - //else end flow
122   - stats.receiveRestResponse(d01,method,sendCmd,constant.ERROR);
123   - var response = responseMsg.direct(req,getCmd,resultObj);
124   - log.addErrorSummary(d01,method+"_"+sendCmd,resultObj.resultCode,resultObj.developerMessage);
  120 + var getCustomer = await getCustomerD01(objDataGetCustomer);
  121 + var response = await getCustomerHandler(req, getCustomer, resultObj, objDataMembership);
  122 +
125 123 } else if(resultObj.resultCode.startsWith("5")){
126   - stats.receiveRestResponse(d01,method,sendCmd,constant.ERROR);
127   - var response = responseMsg.direct(req,getCmd,resultObj);
128   - log.addErrorSummary(d01,method+"_"+sendCmd,resultObj.resultCode,resultObj.developerMessage);
  124 + stats.receiveRestResponse(d01, getMethod, sendMemberCardCmd, constant.ERROR);
  125 + var response = responseMsg.direct(req, getCmd, resultObj);
  126 + log.addErrorSummary(d01, getMethod+"_"+sendMemberCardCmd, resultObj.resultCode, resultObj.developerMessage);
129 127 } else {
130   - stats.receiveRestResponse(d01,method,sendCmd,constant.ERROR);
131   - var response = responseMsg.error(req,getCmd,50000);
  128 + stats.receiveRestResponse(d01, getMethod, sendMemberCardCmd, constant.ERROR);
  129 + var response = responseMsg.error(req, getCmd, 50000);
132 130 }
133 131 } else {
134   - stats.receiveRestResponse(d01,constant.METHOD.POST,sendCmd,"Error");
135   - var response = responseMsg.direct(req,getCmd,result.response);
136   - log.addErrorSummary(d01,method+"_"+sendCmd,response);
  132 + stats.receiveRestResponse(d01,method,sendCusCmd,constant.ERROR);
  133 + var response = responseMsg.error(req,getCmd,50000);
137 134 }
138 135 }
139 136  
140   - log.logDetail.addOutput(req.body.clientName,postMethod+"_"+getCmd,constant.RESPONSE,response,response);
  137 + log.logDetail.addOutput(req.body.clientName, postMethod+"_"+getCmd, constant.RESPONSE, response, response);
141 138 res.status(200).json(response);
142 139 next();
143 140 };
144 141  
145   -function validator(req,api)
  142 +function validator(req, api)
146 143 {
147 144 // console.log(req.body);
148 145 var list = [];
149   - list.push([true,"body","commandId","int"]);
150   - list.push([true,"body","clientName","string"]);
151   - list.push([true,"body","cardId","string"]);
152   - // list.push([true,"body","clientName","string"]);
153   - // list.push([true,"body","firstName","string"]);
154   - // list.push([true,"body","lastName","string"]);
155   - // list.push([true,"body","mobile","string"]);
156   - // list.push([true,"body","emailAddress","string"]);
157   - var err = validatorHelper(req,list,api)
  146 + list.push([true, "body", "commandId", "int"]);
  147 + list.push([true, "body", "clientName", "string"]);
  148 + list.push([true, "body", "cardId", "string"]);
  149 + // list.push([true, "body", "clientName", "string"]);
  150 + // list.push([true, "body", "firstName", "string"]);
  151 + // list.push([true, "body", "lastName", "string"]);
  152 + // list.push([true, "body", "mobile", "string"]);
  153 + // list.push([true, "body", "emailAddress", "string"]);
  154 + var err = validatorHelper(req, list, api)
158 155  
159 156 if(err.length > 0)
160   - stats.receiveBadRequest(req.method,api);
  157 + stats.receiveBadRequest(req.method, api);
161 158 else
162   - stats.receiveRequest(req.method,api);
  159 + stats.receiveRequest(req.method, api);
163 160  
164 161 return err;
165 162 }
166 163  
167   -var getCustomerD01 = async function(data){
  164 +async function getCustomerD01(data){
168 165  
169 166 var responseData = {
170   - isErr : false,
171   - isDataNotFound : false,
  167 + isErr : false,
  168 + isDataNotFound : false,
172 169 isDirect : false
173 170 };
174 171  
175   - const resultCustomer = await connection.requestJsonToD01(data.reqCustomer,data.cmd,data.method);
  172 + const resultCustomer = await connection.requestJsonToD01(data.reqCustomer, data.cmd, data.method);
176 173 var resultObj = resultCustomer.response
177 174  
178 175 if(typeof resultCustomer.err === 'undefined'){
... ... @@ -198,15 +195,15 @@ var getCustomerD01 = async function(data){
198 195 return responseData;
199 196 }
200 197  
201   -var postCustomerD01 = async function(data){
  198 +async function postMemberCardD01(data){
202 199  
203 200 var responseData = {
204   - isErr : false,
205   - isDataNotFound : false,
  201 + isErr : false,
  202 + isDataNotFound : false,
206 203 isDirect : false
207 204 };
208 205  
209   - const resultCustomer = await connection.requestJsonToD01(data.reqCustomer,data.cmd,data.method);
  206 + const resultCustomer = await connection.requestJsonToD01(data.reqMembership, data.cmd, data.method);
210 207 var resultObj = resultCustomer.response
211 208  
212 209 if(typeof resultCustomer.err === 'undefined'){
... ... @@ -225,4 +222,93 @@ var postCustomerD01 = async function(data){
225 222 }
226 223  
227 224 return responseData;
228   -}
229 225 \ No newline at end of file
  226 +}
  227 +
  228 +async function getCustomerHandler(req, getCustomer, getMemberCard, objDataMembership){
  229 +
  230 + // console.log(getCustomer.response)
  231 + if(!getCustomer.isErr){
  232 + //if get data exits post membercard
  233 + if(!getCustomer.isDataNotFound){
  234 + //post membercard
  235 + stats.receiveRestResponse(d01, getMethod, sendCustomerCmd, constant.SUCCESS);
  236 + log.addSuccessSummary(d01, getMethod+"_"+sendCustomerCmd, getCustomer.response.resultCode, getCustomer.response.resultDescription);
  237 +
  238 +
  239 + //check post or put
  240 +
  241 + var postMemberCard = await postMemberCardD01(objDataMembership.POST);
  242 + var response = await postMemberCardHandler(req, postMemberCard)
  243 +
  244 + } else {
  245 + stats.receiveRestResponse(d01, getMethod, sendCustomerCmd, constant.RESPONSERESULT.DATA_NOT_FOUND.resultDescription);
  246 + var response = responseMsg.error(req, getCmd, 40401);
  247 + log.addErrorSummary(d01, getMethod+"_"+sendCustomerCmd, response.resultCode, response.resultDescription);
  248 + }
  249 + } else if(getCustomer.isDirect){
  250 + stats.receiveRestResponse(d01, getMethod, sendCustomerCmd, constant.ERROR);
  251 + var response = responseMsg.direct(req, getCmd, getCustomer.response);
  252 + log.addErrorSummary(d01, getMethod+"_"+sendCustomerCmd, getCustomer.response.resultCode, getCustomer.response.resultDescription);
  253 + } else {
  254 + stats.receiveRestResponse(d01, getMethod, sendCustomerCmd, constant.ERROR);
  255 + var response = responseMsg.error(req, getCmd, 50000);
  256 + }
  257 + //else end flow
  258 +
  259 + return response;
  260 +};
  261 +
  262 +async function postMemberCardHandler(req, memberCard){
  263 +
  264 + if(!memberCard.isErr){
  265 + stats.receiveRestResponse(d01, postMethod, sendMemberCardCmd, constant.SUCCESS);
  266 + var response = responseMsg.direct(req, getCmd, memberCard.response);
  267 + log.addSuccessSummary(d01, postMethod+"_"+sendMemberCardCmd, response.resultCode, response.developerMessage);
  268 + } else if(getCustomer.isDirect){
  269 + stats.receiveRestResponse(d01, postMethod, sendMemberCardCmd, constant.ERROR);
  270 + var response = responseMsg.direct(req, getCmd, memberCard.response);
  271 + log.addErrorSummary(d01, postMethod+"_"+sendMemberCardCmd, memberCard.response.resultCode, memberCard.response.developerMessage);
  272 + } else {
  273 + stats.receiveRestResponse(d01, postMethod, sendMemberCardCmd, constant.ERROR);
  274 + var response = responseMsg.error(req, getCmd, 50000);
  275 + }
  276 +
  277 + return response;
  278 +};
  279 +
  280 +async function checkOwnerCard(resultData,objectData){
  281 +
  282 + var userOwnerCardLimit = cfg.service.D01.userOwnerCardLimit
  283 + var userMembershipCardLimit = cfg.service.D01.userMembershipCardLimit
  284 +
  285 + var cardId = objectData.cardId;
  286 + var customerId = objectData.cardOwnerIdList;
  287 +
  288 + var countf = async function (resultData){
  289 + var dataCount = {
  290 + userOwnCardCount : 0,
  291 + cardOwnUserCount : 0
  292 + }
  293 +
  294 + for(var i = 0 ; i < resultData.length ; i++){
  295 + // console.log(resultData[i])
  296 + if(resultData[i].cardOwnerIdList.includes(customerId)){
  297 + dataCount.userOwnCardCount = dataCount.userOwnCardCount++;
  298 + }
  299 + if(resultData[i].cardId === cardId){
  300 + dataCount.cardOwnUserCount = resultData[i].cardOwnerIdList.length;
  301 + }
  302 + }
  303 +
  304 + return dataCount;
  305 + };
  306 + var count = await countf(resultData);
  307 + // console.log(count);
  308 +
  309 + if(count.userOwnCardCount < userMembershipCardLimit
  310 + && count.cardOwnUserCount < userOwnerCardLimit){
  311 + return true
  312 + } else {
  313 + return false;
  314 + }
  315 +};
230 316 \ No newline at end of file
... ...