dd6ce15e
sumatek
add customer
|
1
2
3
4
5
|
var env = process.env.NODE_ENV || 'development';
var cfg = require('../../config/config.js').get(env);
var stats = require('../helper/stats.js');
var request = require('request');
var messageSOAP = require('../helper/messageSOAP.js');
|
e2039477
Nattapon Wongpaet
update log
|
6
|
|
479b9d98
sumatek
update use constants
|
7
|
var connection = [];
|
afef30b0
Nattapon Wongpaet
fix bug detail lo...
|
8
|
|
787e24ad
sumatek
update async func...
|
9
|
|
dd6ce15e
sumatek
add customer
|
10
11
|
connection.requestSoapToSACF = async function (soap,cmd,myMethod) {
|
787e24ad
sumatek
update async func...
|
12
|
var params = {
|
1b5ca11b
Nattapon Wongpaet
update vizcard
|
13
|
url : cfg.service.SACF[myMethod+"_"+cmd+"_URL"],
|
c4a567d0
sumatek
merge
|
14
15
16
17
18
19
20
21
|
body : messageSOAP.objectToSOAP(soap,cmd),
method : myMethod
}
return asyncRequest(params,cmd,cfg.service.SACF.Name);
};
connection.requestJsonToD01 = async function (obj,cmd,myMethod) {
|
1b5ca11b
Nattapon Wongpaet
update vizcard
|
22
|
var service = cfg.service.D01;
|
c4a567d0
sumatek
merge
|
23
24
25
26
|
// JSON.stringify(json)
var params = {
url : service[myMethod+"_"+cmd+"_URL"],
body : obj,
|
dd6ce15e
sumatek
add customer
|
27
|
method : myMethod
|
c4a567d0
sumatek
merge
|
28
|
}
|
b5fbb064
Nattapon Wongpaet
update log debug
|
29
|
|
c4a567d0
sumatek
merge
|
30
31
|
var result = {};
result.response = {};
|
60cef8c8
sumatek
update timeout
|
32
|
result.response.resultData = [];
|
c4a567d0
sumatek
merge
|
33
34
35
36
37
|
if(params.method == "GET")
{
var genUrl = getUrl(params,service[myMethod+"_Limit"]);
// genUrl.push(genUrl[0].replace("8080","8081"));
|
72409a48
sumatek
update log
|
38
|
if(genUrl.length > 1)
|
c4a567d0
sumatek
merge
|
39
40
|
{
// console.log("multi Send");
|
72409a48
sumatek
update log
|
41
42
43
44
|
var multiSend = [];
for(var i=0;i<genUrl.length;i++)
multiSend.push({url:genUrl[i],method:params.method});
|
80e43dc0
sumatek
update soap connect
|
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
var parallelRes = await parallelRequest(multiSend,cmd,cfg.service.D01.Name);
var dataRes = {};
for(var i=0;i<multiSend.length;i++)
{
// console.log("start loop");
var loopRes = parallelRes[i];
if(loopRes.response)
{
var data = JSON.parse(loopRes.response.body);
dataRes[i] = {};
if(!data.resultCode)
dataRes[i].err = "Miss resultCode";
if(!data.resultDescription)
dataRes[i].err = "Miss resultDescription"
dataRes[i].data = data.resultData;
}
}
for (var i = 0; i < multiSend.length; i++) {
result.response.resultData = result.response.resultData.concat(dataRes[i].data);
if(dataRes[i].err)
result.err = dataRes[i].err;
}
if(!result.err)
{
result.response.resultCode = "20000";
result.response.developerMessage = "Success";
}
}else
{
// console.log("single Send");
params.url = genUrl[0];
delete params.body;
var result = await asyncRequest(params,cmd,cfg.service.D01.Name);
|
72409a48
sumatek
update log
|
92
93
|
// console.log(result);
|
c4a567d0
sumatek
merge
|
94
|
if(result.response)
|
dd6ce15e
sumatek
add customer
|
95
|
{
|
b5fbb064
Nattapon Wongpaet
update log debug
|
96
|
var data = JSON.parse(result.response.body);
|
c4a567d0
sumatek
merge
|
97
|
result.response = data;
|
60cef8c8
sumatek
update timeout
|
98
|
|
72409a48
sumatek
update log
|
99
100
|
if(!data.resultCode)
result.err = "Miss resultCode";
|
60cef8c8
sumatek
update timeout
|
101
|
|
c4a567d0
sumatek
merge
|
102
103
|
if(!data.resultDescription)
result.err = "Miss resultDescription";
|
e2039477
Nattapon Wongpaet
update log
|
104
|
}
|
c4a567d0
sumatek
merge
|
105
106
107
108
|
}
}else if(params.method == "POST")
|
50ad7d6d
Nattapon Wongpaet
update get vizcar...
|
109
|
{
|
c4a567d0
sumatek
merge
|
110
|
params.body = JSON.stringify(params.body);
|
dd6ce15e
sumatek
add customer
|
111
|
|
50ad7d6d
Nattapon Wongpaet
update get vizcar...
|
112
|
var resultRes = await asyncRequest(params,cmd,cfg.service.D01.Name);
|
9d8ce483
Nattapon Wongpaet
update url put
|
113
|
|
c4a567d0
sumatek
merge
|
114
115
116
|
result.response = JSON.parse(resultRes.body);
// resultRes.body = JSON.parse(resultRes.body);
|
60cef8c8
sumatek
update timeout
|
117
|
// if(resultRes.body.resultCode === "20000"){
|
afef30b0
Nattapon Wongpaet
fix bug detail lo...
|
118
119
120
|
// result.response.resultCode = resultRes.body.resultCode;
// result.response.developerMessage = "Success";
// } else {
|
c4a567d0
sumatek
merge
|
121
122
123
124
|
// result.response.resultCode = "50000";
// result.response.developerMessage = "System error";
// }
}
|
60cef8c8
sumatek
update timeout
|
125
|
|
c4a567d0
sumatek
merge
|
126
127
128
129
|
// console.log(result);
// delete result.body;
return result;
|
dd6ce15e
sumatek
add customer
|
130
|
|
c4a567d0
sumatek
merge
|
131
132
133
134
135
136
137
|
};
async function parallelRequest(multiParams,cmd,node)
{
|
b5fbb064
Nattapon Wongpaet
update log debug
|
138
|
var promises = [];
|
c4a567d0
sumatek
merge
|
139
|
|
60cef8c8
sumatek
update timeout
|
140
|
for(var i=0;i<multiParams.length;i++)
|
c4a567d0
sumatek
merge
|
141
|
promises.push(asyncRequest (multiParams[i],cmd,node));
|
72409a48
sumatek
update log
|
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
|
var res = await Promise.all(promises);
for(var i=0;i<res.length;i++)
{
if(!res[i].err)
stats.reciveResponse(node,cmd,"Success");
}
return res;
}
function asyncRequest (params = {},cmd,node) {
// console.log("Start : "+new Date().toISOString());
return new Promise((resolve, reject) => {
request(params, function (error, response, body) {
stats.sendRequest(node,cmd);
if (error) {
stats.reciveResponse(node,cmd,"Error");
resolve({
|
80e43dc0
sumatek
update soap connect
|
167
168
|
'body' : body,
'err' : error
|
72409a48
sumatek
update log
|
169
170
171
172
173
174
175
176
177
178
179
|
});
} else {
// stats.reciveResponse(node,cmd,"Success");
resolve({
'body' : body,
'response' : response
});
}
});
});
|
80e43dc0
sumatek
update soap connect
|
180
181
|
};
|
72409a48
sumatek
update log
|
182
183
184
185
186
|
function getUrl(params,limit)
{
var returnData = [];
var url = params.url;
var fields = "";
|
887b2ec5
Nattapon Wongpaet
update put customer
|
187
188
|
var filter = {
base : "",
|
72409a48
sumatek
update log
|
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
|
multi : []
};
params.body = {};
params.body.a = "aaa";
params.body.b = "bbb";
params.body.papa = [];
params.body.papa.push("1");
params.body.papa.push("2");
params.body.commandId = [];
params.body.commandId.push("1");
params.body.commandId.push("2");
params.body.commandId.push("3");
params.body.commandId.push("4");
params.body.commandId.push("5");
params.body.commandId.push("6");
params.body.commandId.push("7");
params.body.commandId.push("8");
params.body.c = "ccc";
|
887b2ec5
Nattapon Wongpaet
update put customer
|
210
211
212
213
214
215
216
217
218
219
220
|
params.body.fields = "a,b,c,d";
// console.log(params.body);
if(params.body)
{
var first = true;
for (key in params.body) {
if(key == "fields")
fields = getFields(params.body.fields,first);
else
filter = getfilter(filter,key,params.body[key]);
|
72409a48
sumatek
update log
|
221
222
|
first = false;
|
72409a48
sumatek
update log
|
223
224
225
226
|
}
if(first)
fields = "?limit="+limit;
|
887b2ec5
Nattapon Wongpaet
update put customer
|
227
|
else
|
72409a48
sumatek
update log
|
228
229
230
231
232
233
|
fields = "&limit="+limit;
}
if(filter.multi.length > 0)
{
|
887b2ec5
Nattapon Wongpaet
update put customer
|
234
|
//have multi
|
72409a48
sumatek
update log
|
235
236
237
238
239
240
241
|
var careData = filter.multi[0];
// console.log(freeSpace);
for(var i=0;i<filter.multi.length;i++)
{
if(filter.multi[i].length > careData.length)
|
887b2ec5
Nattapon Wongpaet
update put customer
|
242
|
{
|
72409a48
sumatek
update log
|
243
244
245
246
247
248
249
|
filter.base = filter.base+"(|"+careData.data+")";
careData = filter.multi[i];
}
}
|
887b2ec5
Nattapon Wongpaet
update put customer
|
250
|
|
72409a48
sumatek
update log
|
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
|
var myUrl = url+"?filter=("+filter.base+")"+fields;
var freeSpace = cfg.Uri_length - myUrl.length;
var arr = careData.data.split(")(");
for(var j=0;j<arr.length;j++)
{
if(j==0)
arr[j] = arr[j].substring(1);
if(j==arr.length-1)
arr[j] = arr[j].substring(0,arr[j].length-1);
arr[j] = "("+arr[j]+")";
// returnData.push(url+"?filter=("+newBasefilter+"(|"+arr[j]+")"+fields);
|
c4a567d0
sumatek
merge
|
267
|
}
|
a55a3d02
Nattapon Wongpaet
update post custo...
|
268
|
|
c4a567d0
sumatek
merge
|
269
|
returnData = arrayUrl(returnData,url,filter.base,fields,freeSpace,arr);
|
3cac9636
Nattapon Wongpaet
update post customer
|
270
|
|
c4a567d0
sumatek
merge
|
271
272
|
|
fbd30c50
sumatek
update fix bug ur...
|
273
|
}else
|
9354f8c5
sumatek
fix bug
|
274
|
{
|
c4a567d0
sumatek
merge
|
275
276
|
var myUrl = url+"?filter=("+filter.base+")"+fields;
returnData.push(myUrl);
|
b77690fa
Nattapon Wongpaet
update post custo...
|
277
278
279
280
281
282
283
|
}
// console.log(url);
// console.log(filter);
// console.log(fields);
console.log(returnData);
|
c4a567d0
sumatek
merge
|
284
|
|
a1f044d9
sumatek
update parallel
|
285
|
return returnData;
|
c4a567d0
sumatek
merge
|
286
287
288
289
290
291
292
293
294
|
}
function getFields(fields,first)
{
var returnData;
var prefix;
if(first)
prefix = "?fields=";
else
|
a1f044d9
sumatek
update parallel
|
295
|
prefix = "&fields=";
|
c4a567d0
sumatek
merge
|
296
297
298
299
300
|
returnData = prefix+fields;
return returnData;
}
|
887b2ec5
Nattapon Wongpaet
update put customer
|
301
302
|
function getfilter(filter,key,data)
|
c4a567d0
sumatek
merge
|
303
|
{
|
a1f044d9
sumatek
update parallel
|
304
|
|
c4a567d0
sumatek
merge
|
305
306
|
// console.log(key);
// console.log(newfilter);
|
a1f044d9
sumatek
update parallel
|
307
|
if(!Array.isArray(data))
|
c4a567d0
sumatek
merge
|
308
309
|
{
|
a1f044d9
sumatek
update parallel
|
310
|
// var newfilter = {
|
c4a567d0
sumatek
merge
|
311
|
// data : "("+key+"="+data+")",
|
fbd30c50
sumatek
update fix bug ur...
|
312
|
// type : "single",
|
c4a567d0
sumatek
merge
|
313
|
// length : ("("+key+"="+data+")").length
|
fbd30c50
sumatek
update fix bug ur...
|
314
|
// };
|
b77690fa
Nattapon Wongpaet
update post custo...
|
315
|
|
c4a567d0
sumatek
merge
|
316
317
|
if(filter.base != "")
filter.base = filter.base+"("+key+"="+data+")";
|
a1f044d9
sumatek
update parallel
|
318
319
|
else
filter.base = "&"+filter.base+"("+key+"="+data+")";
|
c4a567d0
sumatek
merge
|
320
321
|
}else
{
|
fbd30c50
sumatek
update fix bug ur...
|
322
|
var line = "";
|
c4a567d0
sumatek
merge
|
323
324
|
for(var i=0;i<data.length;i++)
{
|
fbd30c50
sumatek
update fix bug ur...
|
325
326
|
line += "("+key+"="+data[i]+")";
}
|
c4a567d0
sumatek
merge
|
327
|
|
a1f044d9
sumatek
update parallel
|
328
|
var newfilter = {
|
c4a567d0
sumatek
merge
|
329
330
331
|
data : line,
length : line.length
};
|
fbd30c50
sumatek
update fix bug ur...
|
332
|
}
|
c4a567d0
sumatek
merge
|
333
334
335
|
if(newfilter)
filter.multi.push(newfilter);
|
9354f8c5
sumatek
fix bug
|
336
|
return filter;
|
c4a567d0
sumatek
merge
|
337
|
}
|
a1f044d9
sumatek
update parallel
|
338
|
|
c4a567d0
sumatek
merge
|
339
340
341
342
|
function arrayUrl(arrUrl,url,filter,fields,freeSpace,arrData)
{
var loopUrl = "";
var loopSpace = freeSpace;
|
72409a48
sumatek
update log
|
343
344
|
for(var i=0;i<arrData.length;i++)
{
|
c4a567d0
sumatek
merge
|
345
|
if(loopSpace > (arrData[i].length+3))
|
72409a48
sumatek
update log
|
346
347
348
349
350
|
{
loopUrl = loopUrl + arrData[i];
loopSpace = loopSpace - arrData[i].length;
}else
{
|
c4a567d0
sumatek
merge
|
351
|
if(loopUrl != "")
|
72409a48
sumatek
update log
|
352
353
354
|
{
arrUrl.push(url+"?filter=("+filter+"(|"+loopUrl+")"+fields);
|
a1f044d9
sumatek
update parallel
|
355
356
357
|
loopUrl = arrData[i];
loopSpace = freeSpace - arrData[i].length;
}
|
1f123eb1
Nattapon Wongpaet
update post membe...
|
358
|
|
afef30b0
Nattapon Wongpaet
fix bug detail lo...
|
359
|
}
|
1f123eb1
Nattapon Wongpaet
update post membe...
|
360
|
|
72409a48
sumatek
update log
|
361
362
363
364
365
366
367
368
|
}
if(loopUrl != "")
arrUrl.push(url+"?filter=("+filter+"(|"+loopUrl+")"+fields);
return arrUrl;
}
module.exports = connection;
|
1f123eb1
Nattapon Wongpaet
update post membe...
|
|
|
9d8ce483
Nattapon Wongpaet
update url put
|
|
|
1f123eb1
Nattapon Wongpaet
update post membe...
|
|
|
c4a567d0
sumatek
merge
|
|
|
a1f044d9
sumatek
update parallel
|
|
|
72409a48
sumatek
update log
|
|
|
9d8ce483
Nattapon Wongpaet
update url put
|
|
|
72409a48
sumatek
update log
|
|
|
a1f044d9
sumatek
update parallel
|
|
|
9354f8c5
sumatek
fix bug
|
|
|
f9d80b22
Nattapon Wongpaet
update header viz...
|
|
|
a1f044d9
sumatek
update parallel
|
|
|
72409a48
sumatek
update log
|
|
|
3cac9636
Nattapon Wongpaet
update post customer
|
|
|
72409a48
sumatek
update log
|
|
|
5198016b
sumatek
update build message
|
|
|
9354f8c5
sumatek
fix bug
|
|
|
c4a567d0
sumatek
merge
|
|
|
a1f044d9
sumatek
update parallel
|
|
|
c4a567d0
sumatek
merge
|
|
|
3cac9636
Nattapon Wongpaet
update post customer
|
|
|
c4a567d0
sumatek
merge
|
|
|
dd6ce15e
sumatek
add customer
|
|
|
a1f044d9
sumatek
update parallel
|
|
|
479b9d98
sumatek
update use constants
|
|
|
60cef8c8
sumatek
update timeout
|
|
|
a1f044d9
sumatek
update parallel
|
|
|
787e24ad
sumatek
update async func...
|
|
|
a1f044d9
sumatek
update parallel
|
|
|
60cef8c8
sumatek
update timeout
|
|
|
787e24ad
sumatek
update async func...
|
|
|
60cef8c8
sumatek
update timeout
|
|
|
fbd30c50
sumatek
update fix bug ur...
|
|
|
a1f044d9
sumatek
update parallel
|
|
|
60cef8c8
sumatek
update timeout
|
|
|
787e24ad
sumatek
update async func...
|
|
|
fbd30c50
sumatek
update fix bug ur...
|
|
|
787e24ad
sumatek
update async func...
|
|
|
a1f044d9
sumatek
update parallel
|
|
|
60cef8c8
sumatek
update timeout
|
|
|
fbd30c50
sumatek
update fix bug ur...
|
|
|
dd6ce15e
sumatek
add customer
|
|
|
787e24ad
sumatek
update async func...
|
|
|
dd6ce15e
sumatek
add customer
|
|
|
fbd30c50
sumatek
update fix bug ur...
|
|
|
dd6ce15e
sumatek
add customer
|
|
|
60cef8c8
sumatek
update timeout
|
|
|
72409a48
sumatek
update log
|
|
|
787e24ad
sumatek
update async func...
|
|
|
60cef8c8
sumatek
update timeout
|
|
|
72409a48
sumatek
update log
|
|
|
dd6ce15e
sumatek
add customer
|
|
|
72409a48
sumatek
update log
|
|
|
887b2ec5
Nattapon Wongpaet
update put customer
|
|
|
72409a48
sumatek
update log
|
|
|
dd6ce15e
sumatek
add customer
|
|
|
9d8ce483
Nattapon Wongpaet
update url put
|
|
|
887b2ec5
Nattapon Wongpaet
update put customer
|
|
|
9d8ce483
Nattapon Wongpaet
update url put
|
|
|
887b2ec5
Nattapon Wongpaet
update put customer
|
|
|
9d8ce483
Nattapon Wongpaet
update url put
|
|
|
9d8ce483
Nattapon Wongpaet
update url put
|
|
|
5198016b
sumatek
update build message
|
|
|
81e85e64
sumatek
update customer
|
|
|
a1f044d9
sumatek
update parallel
|
|
|
81e85e64
sumatek
update customer
|
|
|
5198016b
sumatek
update build message
|
|
|
d46c5802
sumatek
up date for conne...
|
|
|
03f3be38
Nattapon Wongpaet
fix bugs
|
|
|
84646faa
sumatek
update connection
|
|
|
03f3be38
Nattapon Wongpaet
fix bugs
|
|
|
81e85e64
sumatek
update customer
|
|
|
79d9e534
Nattapon Wongpaet
update post customer
|
|
|
81e85e64
sumatek
update customer
|
|
|
5198016b
sumatek
update build message
|
|
|
79d9e534
Nattapon Wongpaet
update post customer
|
|
|
5198016b
sumatek
update build message
|
|
|
79d9e534
Nattapon Wongpaet
update post customer
|
|
|
81e85e64
sumatek
update customer
|
|
|
81e85e64
sumatek
update customer
|
|
|
5198016b
sumatek
update build message
|
|
|
a1f044d9
sumatek
update parallel
|
|
|
5198016b
sumatek
update build message
|
|
|
a1f044d9
sumatek
update parallel
|
|
|
5198016b
sumatek
update build message
|
|
|
a1f044d9
sumatek
update parallel
|
|
|
5198016b
sumatek
update build message
|
|
|
a1f044d9
sumatek
update parallel
|
|
|
5198016b
sumatek
update build message
|
|
|
a1f044d9
sumatek
update parallel
|
|
|
5198016b
sumatek
update build message
|
|
|
fbd30c50
sumatek
update fix bug ur...
|
|
|
5198016b
sumatek
update build message
|
|
|
a1f044d9
sumatek
update parallel
|
|
|
a1f044d9
sumatek
update parallel
|
|
|
5198016b
sumatek
update build message
|
|
|
81e85e64
sumatek
update customer
|
|
|
5198016b
sumatek
update build message
|
|
|
81e85e64
sumatek
update customer
|
|
|
fbd30c50
sumatek
update fix bug ur...
|
|
|
5198016b
sumatek
update build message
|
|
|
a1f044d9
sumatek
update parallel
|
|
|
81e85e64
sumatek
update customer
|
|
|
b77690fa
Nattapon Wongpaet
update post custo...
|
|
|
81e85e64
sumatek
update customer
|
|
|
dd6ce15e
sumatek
add customer
|
|
|
79d9e534
Nattapon Wongpaet
update post customer
|
|
|
81e85e64
sumatek
update customer
|
|
|
5198016b
sumatek
update build message
|
|
|
d46c5802
sumatek
up date for conne...
|
|
|
5198016b
sumatek
update build message
|
|
|
d46c5802
sumatek
up date for conne...
|
|
|
5198016b
sumatek
update build message
|
|
|
fbd30c50
sumatek
update fix bug ur...
|
|
|
5198016b
sumatek
update build message
|
|
|
3aa57883
Nattapon Wongpaet
fix bug
|
|
|
5198016b
sumatek
update build message
|
|
|
81e85e64
sumatek
update customer
|
|
|
dd6ce15e
sumatek
add customer
|
|
|
72409a48
sumatek
update log
|
|
|
479b9d98
sumatek
update use constants
|
|
|
dd6ce15e
sumatek
add customer
|
|
|