8221da7a
Nattapon Wongpaet
update flow membe...
|
1
2
3
4
5
|
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');
|
6f98e3d0
Nattapon Wongpaet
add md5
|
6
|
var constant = require('../helper/constants.js')
|
27aed231
Nattapon Wongpaet
update post membe...
|
7
8
|
exports.postMembership = async function (req, res, next){
|
6f98e3d0
Nattapon Wongpaet
add md5
|
9
|
var getCmd = "CustomerMembership";
|
8221da7a
Nattapon Wongpaet
update flow membe...
|
10
|
var sendCustomerCmd = "Customer";
|
27aed231
Nattapon Wongpaet
update post membe...
|
11
12
13
14
15
16
17
|
var sendMemberCardCmd = "MemberCard";
var d01 = "D01";
var postMethod = constant.METHOD.POST;
var putMethod = constant.METHOD.PUT;
var getMethod = constant.METHOD.GET;
if(req.params.customerId){
|
8221da7a
Nattapon Wongpaet
update flow membe...
|
18
|
var customerId = req.params.customerId
|
27aed231
Nattapon Wongpaet
update post membe...
|
19
20
|
} else if(req.params.userData && req.params.userType){
var customerId = req.params.userData+"@"+req.params.userType
|
6f98e3d0
Nattapon Wongpaet
add md5
|
21
22
|
} else if(req.body.clientName && req.body.commandId){
var customerId = req.body.clientName+"@"+req.body.commandId;
|
cf541103
Nattapon Wongpaet
update post custo...
|
23
|
}
|
27aed231
Nattapon Wongpaet
update post membe...
|
24
|
|
cf541103
Nattapon Wongpaet
update post custo...
|
25
|
log.startlog(postMethod+"_"+getCmd,req.body.commandId,customerId);
|
27aed231
Nattapon Wongpaet
update post membe...
|
26
|
log.logDetail.addInput(req.body.clientName,postMethod+"_"+getCmd,constant.REQUEST,req,req.body);
|
cf541103
Nattapon Wongpaet
update post custo...
|
27
|
|
27aed231
Nattapon Wongpaet
update post membe...
|
28
|
var err = validator(req,getCmd);
|
8221da7a
Nattapon Wongpaet
update flow membe...
|
29
30
|
if(err.length > 0)
|
1f123eb1
Nattapon Wongpaet
update post membe...
|
31
32
|
{
log.addErrorSummary(req.body.clientName,postMethod+"_"+getCmd,"null","Fail");
|
8221da7a
Nattapon Wongpaet
update flow membe...
|
33
|
console.log(err);
|
b77690fa
Nattapon Wongpaet
update post custo...
|
34
|
var response = responseMsg.error(req,getCmd,40300);
|
8221da7a
Nattapon Wongpaet
update flow membe...
|
35
36
37
|
}else
{
log.addSuccessSummary(req.body.clientName,postMethod+"_"+getCmd,"null","Success");
|
1f123eb1
Nattapon Wongpaet
update post membe...
|
38
|
|
27aed231
Nattapon Wongpaet
update post membe...
|
39
|
var objectData = {
|
8221da7a
Nattapon Wongpaet
update flow membe...
|
40
41
|
cardId : req.body.cardId,
cardOwnerIdList : customerId
|
1f123eb1
Nattapon Wongpaet
update post membe...
|
42
|
// _flag : "or"
|
cf541103
Nattapon Wongpaet
update post custo...
|
43
|
}
|
8221da7a
Nattapon Wongpaet
update flow membe...
|
44
|
|
27aed231
Nattapon Wongpaet
update post membe...
|
45
|
//GET Customer with cardId and cardOwnerIdList
|
b77690fa
Nattapon Wongpaet
update post custo...
|
46
|
const result = await connection.requestJsonToD01(objectData,sendMemberCardCmd,getMethod);
|
cf541103
Nattapon Wongpaet
update post custo...
|
47
48
49
|
log.logDetail.addInput(d01,getMethod+"_"+sendMemberCardCmd,constant.RESPONSE,result,result.response);
var objDataGetCustomer = {
|
b77690fa
Nattapon Wongpaet
update post custo...
|
50
|
req : req,
|
1f123eb1
Nattapon Wongpaet
update post membe...
|
51
|
reqCustomer : {
|
cf541103
Nattapon Wongpaet
update post custo...
|
52
53
|
customerId : customerId
},
|
27aed231
Nattapon Wongpaet
update post membe...
|
54
|
cmd : sendCustomerCmd,
|
cf541103
Nattapon Wongpaet
update post custo...
|
55
56
|
method : getMethod,
resultData : result.response.resultData
|
27aed231
Nattapon Wongpaet
update post membe...
|
57
58
59
|
}
var objDataPostCustomer = {
|
cf541103
Nattapon Wongpaet
update post custo...
|
60
61
62
|
req : req,
reqCustomer : {
cardId : req.body.cardId,
|
27aed231
Nattapon Wongpaet
update post membe...
|
63
|
cardOwnerIdList:[customerId]
|
1f123eb1
Nattapon Wongpaet
update post membe...
|
64
|
},
|
27aed231
Nattapon Wongpaet
update post membe...
|
65
66
67
68
69
70
|
cmd : sendCustomerCmd,
method : postMethod,
resultData : result.response.resultData
}
if(typeof result.err === 'undefined'){
|
1f123eb1
Nattapon Wongpaet
update post membe...
|
71
|
var resultObj = result.response;
|
27aed231
Nattapon Wongpaet
update post membe...
|
72
73
74
75
76
77
78
79
80
81
82
|
if(resultObj.resultCode.startsWith("2")){
if(resultObj.resultData && resultObj.resultData.length>0){
stats.receiveRestResponse(d01,getMethod,sendMemberCardCmd,constant.SUCCESS);
var response = responseMsg.success(req,getCmd,resultObj);
log.addSuccessSummary(d01,getMethod+"_"+sendMemberCardCmd,response.resultCode,response.developerMessage);
} else { //data not found
//get customer
var getCustomer = await getCustomerD01(objDataGetCustomer);
//if get data exits post membercard
if(!getCustomer.isErr){
if(!getCustomer.isDataNotFound){
|
1f123eb1
Nattapon Wongpaet
update post membe...
|
83
|
//post membercard
|
27aed231
Nattapon Wongpaet
update post membe...
|
84
|
stats.receiveRestResponse(d01,getMethod,sendCustomerCmd,constant.SUCCESS);
|
9d8ce483
Nattapon Wongpaet
update url put
|
85
86
87
88
|
log.addSuccessSummary(d01,getMethod+"_"+sendCustomerCmd,getCustomer.response.resultCode,getCustomer.response.developerMessage);
var postCustomer = await postCustomerD01(objDataPostCustomer);
|
27aed231
Nattapon Wongpaet
update post membe...
|
89
|
if(!postCustomer.isErr){
|
cf541103
Nattapon Wongpaet
update post custo...
|
90
91
|
stats.receiveRestResponse(d01,postMethod,sendCustomerCmd,constant.SUCCESS);
var response = responseMsg.direct(req,getCmd,postCustomer.response);
|
a0638777
Nattapon Wongpaet
add try catch and...
|
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
log.addSuccessSummary(d01,postMethod+"_"+sendCustomerCmd,response.resultCode,response.developerMessage);
} else if(getCustomer.isDirect){
stats.receiveRestResponse(d01,method,sendCustomerCmd,constant.ERROR);
var response = responseMsg.direct(req,getCmd,getCustomer.response);
log.addErrorSummary(d01,method+"_"+sendCmd,getCustomer.response.resultCode,getCustomer.response.developerMessage);
} else {
stats.receiveRestResponse(d01,method,sendCmd,constant.ERROR);
var response = responseMsg.error(req,getCmd,50000);
}
} else {
stats.receiveRestResponse(d01,method,sendCmd,constant.RESPONSERESULT.DATA_NOT_FOUND.developerMessage);
var response = responseMsg.error(req,getCmd,40401);
log.addErrorSummary(d01,method+"_"+sendCmd,response.resultCode,response.developerMessage);
}
} else if(getCustomer.isDirect){
stats.receiveRestResponse(d01,method,sendCmd,constant.ERROR);
var response = responseMsg.direct(req,getCmd,getCustomer.response);
log.addErrorSummary(d01,method+"_"+sendCmd,getCustomer.response.resultCode,getCustomer.response.developerMessage);
} else {
stats.receiveRestResponse(d01,method,sendCmd,constant.ERROR);
var response = responseMsg.error(req,getCmd,50000);
}
//else end flow
}
|
1f123eb1
Nattapon Wongpaet
update post membe...
|
118
|
} else if(resultObj.resultCode.startsWith("404")){
|
27aed231
Nattapon Wongpaet
update post membe...
|
119
|
//get customer
|
cf541103
Nattapon Wongpaet
update post custo...
|
120
|
//if get data exits post member card
|
a0638777
Nattapon Wongpaet
add try catch and...
|
121
122
|
//else end flow
stats.receiveRestResponse(d01,method,sendCmd,constant.ERROR);
|
27aed231
Nattapon Wongpaet
update post membe...
|
123
|
var response = responseMsg.direct(req,getCmd,resultObj);
|
ad2fa4ed
Nattapon Wongpaet
update summarylog...
|
124
|
log.addErrorSummary(d01,method+"_"+sendCmd,resultObj.resultCode,resultObj.developerMessage);
|
a0638777
Nattapon Wongpaet
add try catch and...
|
125
|
} else if(resultObj.resultCode.startsWith("5")){
|
27aed231
Nattapon Wongpaet
update post membe...
|
126
|
stats.receiveRestResponse(d01,method,sendCmd,constant.ERROR);
|
1f123eb1
Nattapon Wongpaet
update post membe...
|
127
|
var response = responseMsg.direct(req,getCmd,resultObj);
|
27aed231
Nattapon Wongpaet
update post membe...
|
128
|
log.addErrorSummary(d01,method+"_"+sendCmd,resultObj.resultCode,resultObj.developerMessage);
|
a0638777
Nattapon Wongpaet
add try catch and...
|
129
130
131
132
133
134
135
136
|
} else {
stats.receiveRestResponse(d01,method,sendCmd,constant.ERROR);
var response = responseMsg.error(req,getCmd,50000);
}
} else {
stats.receiveRestResponse(d01,constant.METHOD.POST,sendCmd,"Error");
var response = responseMsg.direct(req,getCmd,result.response);
log.addErrorSummary(d01,method+"_"+sendCmd,response);
|
8221da7a
Nattapon Wongpaet
update flow membe...
|
137
|
}
|
cf541103
Nattapon Wongpaet
update post custo...
|
138
|
}
|
a0638777
Nattapon Wongpaet
add try catch and...
|
139
140
|
log.logDetail.addOutput(req.body.clientName,postMethod+"_"+getCmd,constant.RESPONSE,response,response);
|
8221da7a
Nattapon Wongpaet
update flow membe...
|
141
|
res.status(200).json(response);
|
a0638777
Nattapon Wongpaet
add try catch and...
|
142
143
144
145
|
next();
};
function validator(req,api)
|
9d8ce483
Nattapon Wongpaet
update url put
|
146
|
{
|
27aed231
Nattapon Wongpaet
update post membe...
|
147
|
// console.log(req.body);
|
8221da7a
Nattapon Wongpaet
update flow membe...
|
148
|
var list = [];
|
a0638777
Nattapon Wongpaet
add try catch and...
|
149
|
list.push([true,"body","commandId","int"]);
|
8221da7a
Nattapon Wongpaet
update flow membe...
|
150
151
|
list.push([true,"body","clientName","string"]);
list.push([true,"body","cardId","string"]);
|
1f123eb1
Nattapon Wongpaet
update post membe...
|
152
|
// list.push([true,"body","clientName","string"]);
|
8221da7a
Nattapon Wongpaet
update flow membe...
|
153
154
155
156
|
// list.push([true,"body","firstName","string"]);
// list.push([true,"body","lastName","string"]);
// list.push([true,"body","mobile","string"]);
// list.push([true,"body","emailAddress","string"]);
|
27aed231
Nattapon Wongpaet
update post membe...
|
157
|
var err = validatorHelper(req,list,api)
|
8221da7a
Nattapon Wongpaet
update flow membe...
|
158
|
|
8221da7a
Nattapon Wongpaet
update flow membe...
|
159
|
if(err.length > 0)
|
27aed231
Nattapon Wongpaet
update post membe...
|
160
161
162
163
164
165
166
167
168
|
stats.receiveBadRequest(req.method,api);
else
stats.receiveRequest(req.method,api);
return err;
}
var getCustomerD01 = async function(data){
|
8221da7a
Nattapon Wongpaet
update flow membe...
|
169
170
|
var responseData = {
isErr : false,
|
27aed231
Nattapon Wongpaet
update post membe...
|
171
|
isDataNotFound : false,
|
8221da7a
Nattapon Wongpaet
update flow membe...
|
172
|
isDirect : false
|
27aed231
Nattapon Wongpaet
update post membe...
|
173
|
};
|
8221da7a
Nattapon Wongpaet
update flow membe...
|
174
175
|
const resultCustomer = await connection.requestJsonToD01(data.reqCustomer,data.cmd,data.method);
|
cf541103
Nattapon Wongpaet
update post custo...
|
176
177
|
var resultObj = resultCustomer.response
|
1f123eb1
Nattapon Wongpaet
update post membe...
|
178
|
if(typeof resultCustomer.err === 'undefined'){
|
cf541103
Nattapon Wongpaet
update post custo...
|
179
180
|
if(resultObj.resultCode.startsWith("2")){
if(resultObj.resultData && resultObj.resultData.length>0){
|
27aed231
Nattapon Wongpaet
update post membe...
|
181
182
|
responseData.response = resultObj;
} else {
|
cf541103
Nattapon Wongpaet
update post custo...
|
183
184
185
|
responseData.response = resultObj;
responseData.isDataNotFound = true;
}
|
1f123eb1
Nattapon Wongpaet
update post membe...
|
186
|
} else if(resultObj.resultCode.startsWith("404") || resultObj.resultCode.startsWith("5")){
|
afef30b0
Nattapon Wongpaet
fix bug detail lo...
|
187
|
responseData.response = resultObj;
|
cf541103
Nattapon Wongpaet
update post custo...
|
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
|
responseData.isDirect = true;
} else {
responseData.response = resultObj;
responseData.isErr = true;
}
} else {
responseData.response = resultObj;
responseData.isErr = true;
}
return responseData;
}
var postCustomerD01 = async function(data){
var responseData = {
isErr : false,
isDataNotFound : false,
isDirect : false
};
const resultCustomer = await connection.requestJsonToD01(data.reqCustomer,data.cmd,data.method);
var resultObj = resultCustomer.response
if(typeof resultCustomer.err === 'undefined'){
|
1f123eb1
Nattapon Wongpaet
update post membe...
|
213
|
if(resultObj.resultCode.startsWith("2")){
|
cf541103
Nattapon Wongpaet
update post custo...
|
214
215
|
responseData.response = resultObj;
} else if(resultObj.resultCode.startsWith("404") || resultObj.resultCode.startsWith("5")){
|
27aed231
Nattapon Wongpaet
update post membe...
|
216
217
|
responseData.response = resultObj;
responseData.isDirect = true;
|
cf541103
Nattapon Wongpaet
update post custo...
|
218
219
220
|
} else {
responseData.response = resultObj;
responseData.isErr = true;
|
1f123eb1
Nattapon Wongpaet
update post membe...
|
221
|
}
|
9d8ce483
Nattapon Wongpaet
update url put
|
222
|
} else {
|
afef30b0
Nattapon Wongpaet
fix bug detail lo...
|
223
|
responseData.response = resultObj;
|
cf541103
Nattapon Wongpaet
update post custo...
|
224
225
226
227
228
|
responseData.isErr = true;
}
return responseData;
}
|
27aed231
Nattapon Wongpaet
update post membe...
|
|
|
27aed231
Nattapon Wongpaet
update post membe...
|
|
|
1f123eb1
Nattapon Wongpaet
update post membe...
|
|
|
27aed231
Nattapon Wongpaet
update post membe...
|
|
|
27aed231
Nattapon Wongpaet
update post membe...
|
|
|
1f123eb1
Nattapon Wongpaet
update post membe...
|
|
|
3aa57883
Nattapon Wongpaet
fix bug
|
|
|
1f123eb1
Nattapon Wongpaet
update post membe...
|
|
|
27aed231
Nattapon Wongpaet
update post membe...
|
|
|
a0638777
Nattapon Wongpaet
add try catch and...
|
|
|
27aed231
Nattapon Wongpaet
update post membe...
|
|
|
1f123eb1
Nattapon Wongpaet
update post membe...
|
|
|
27aed231
Nattapon Wongpaet
update post membe...
|
|
|
1f123eb1
Nattapon Wongpaet
update post membe...
|
|
|
27aed231
Nattapon Wongpaet
update post membe...
|
|
|
a0638777
Nattapon Wongpaet
add try catch and...
|
|
|
27aed231
Nattapon Wongpaet
update post membe...
|
|
|
27aed231
Nattapon Wongpaet
update post membe...
|
|
|
27aed231
Nattapon Wongpaet
update post membe...
|
|
|