diff --git a/app.js b/app.js index 1ef1f28..7efd0b2 100644 --- a/app.js +++ b/app.js @@ -391,28 +391,28 @@ app.post('/privilege/v1/history/delete', require('./privilege').deleteCustomer); app.post('/v1/MVP/enq/getMobileOfferInventory/', require('./true').getMobileOfferInventory); - app.get('/api/random/leader', function (req, res) { - const months = ["เกมส์", "โน๊ต setup", "โน๊ต วัศรุต", "แบงค์", "มอส", "ปิ๊ค", "เต้นพอไม่ต้องตื่น", "เปา", "นัท", "kik", "new", "ann","na", "boky", "eve", "miki", "pla", "sugar"]; - // const months = [ "ann"]; +app.get('/api/random/leader', function (req, res) { +const months = ["เกมส์", "โน๊ต setup", "โน๊ต วัศรุต", "แบงค์", "มอส", "ปิ๊ค", "เต้นพอไม่ต้องตื่น", "เปา", "นัท", "kik", "new", "ann","na", "boky", "eve", "miki", "pla", "sugar"]; +// const months = [ "ann"]; - let object={} - for(var i=0; i<100; i++) { - const random = Math.floor(Math.random() * months.length); - // console.log(random, months[random]); - if(object[months[random]]) { - object[months[random]] = object[months[random]] + 1; - } else { - object[months[random]] = 1 - } +let object={} +for(var i=0; i<100; i++) { + const random = Math.floor(Math.random() * months.length); + // console.log(random, months[random]); + if(object[months[random]]) { + object[months[random]] = object[months[random]] + 1; + } else { + object[months[random]] = 1 } +} - - console.log(object); - res.send(object); - }) +console.log(object); + +res.send(object); +}) - +app.get('/linenoti', require('./line').lineNoti) app.listen(port, () => console.log('app listening on port ' + port + '!')) \ No newline at end of file diff --git a/apple.js b/apple.js index eea5ab6..91ea0c6 100644 --- a/apple.js +++ b/apple.js @@ -157,6 +157,6 @@ module.exports.verifyReceipt = async (req, res) => { retrySuccess -= 1 res.send(responseError) } else { - res.send(response) + res.send(responseError) } } diff --git a/gen_wpp_file.js b/gen_wpp_file.js new file mode 100644 index 0000000..5f1a0fe --- /dev/null +++ b/gen_wpp_file.js @@ -0,0 +1,32 @@ +var fs = require('fs').promises; + +function genFile() { + let content = '000010000112022030S2300420300001AWM001000604' + let thisFile = '' + for(let i = 30000; i <= 100000; i++) { + if(i%200 == 0 || i == 30000) { + thisFile = getFileName(i) + console.log(thisFile) + } + if(i == 100000) { + console.log("9999" + paddy(i,6) + content); + continue + } + console.log("99999" + paddy(i,5) + content); + } +} + +function getFileName(i) { + if(i+200 == 100000) { + return "99999" + paddy(i+1,5) + "-" + paddy(i+200,6) + ".inv" + } + return "99999" + paddy(i+1,5) + "-" + paddy(i+200,5) + ".inv" +} + +function paddy(num, padlen, padchar) { + var pad_char = typeof padchar !== 'undefined' ? padchar : '0'; + var pad = new Array(1 + padlen).join(pad_char); + return (pad + num).slice(-pad.length); +} + +genFile() \ No newline at end of file diff --git a/line.js b/line.js new file mode 100644 index 0000000..67bb739 --- /dev/null +++ b/line.js @@ -0,0 +1,33 @@ +var unirest = require('unirest'); +var mongo = require('mongodb') + +module.exports.lineNoti = async (req, res) => { + console.log('===== POST lineNoti =====') + console.log('url', req.originalUrl); + console.log('headers', req.headers); + console.log('query', req.query); + console.log('params', req.params); + console.log('body', req.body); + + unirest.post('https://notify-bot.line.me/oauth/token') + .form({ + grant_type: 'authorization_code', + code: req.query.code, + redirect_uri: 'http://127.0.0.1:3002/linenoti', + client_id: 'VZ79ZR2Xtc15nZKQexT3sI', + client_secret: 'lsqqZr6B2PJXrpjgNbw4DFr88DJYoFrFSQ5VTPlICaW' + }) + .end(function (response) { + console.log(response.body); + unirest.post('https://notify-api.line.me/api/notify') + .headers({ + Authorization: `Bearer ${response.body.access_token}` + }) + .form({ + message: `token:${response.body.access_token},state:${req.query.state}` + }).end(function (response) { + res.status(304).redirect(response.body) + }); + }); + +} \ No newline at end of file diff --git a/loadtest.js b/loadtest.js index 02b17d0..273a08c 100644 --- a/loadtest.js +++ b/loadtest.js @@ -10,44 +10,65 @@ function statusCallback(error, result, latency) { } } +// const options = { +// url: 'http://127.0.0.1:5001/api/v3/mpay/billingonbehalf/reserveAndChargeVolume.json', +// maxRequests: 10000, +// requestsPerSecond: 100, +// headers : { +// "Content-Type":"application/json", +// "x-app":"partnerId=30163; ptsAppKeyName=PICO|Browser|1.0.0", +// "x-tid":"SACF-300519siwkxkw7du", +// "X-Public-Id":"sgltest7@corp.ais900dev.org", +// "X-Private-Id":"NI5smn3wWpoPX1ma2jbPiE8hK4QcDqHR1582013702233" +// }, +// method: "POST", +// body : { +// "endUserIdentifier":"66932019877", +// "volume":"0", +// "out_trade_no":"nw424bc0bb690c73518a762a2d1a339d7f_COINS12000_20190219095515", +// "subject":"Purchased 12000 coins.", +// "pay_time":"2020-03-24 20:20:20", +// "device_id":"90c73518a762a2d1a339d7f", +// "buyer_pay_fee":"Paid by user", +// "coupon_fee":"20", +// "terminal_type":"IOS", +// "billingText":"test", +// "parameters":{ +// "amount":"0", +// "serviceNumber":"35000900022", +// "serviceType":"Download", +// "transactionID":"50609152601999918991", +// "currency":"THB", +// "taxDev":"0", +// "productCode":"Purchased 12000 coins that can be spent on weapons.", +// "productInfo":"COINS12000", +// "merchantContact":"MerchantContactTest", +// "cct":"0", +// "expireDate":"20200523142045", +// "senderName":"Huawei" +// } +// }, +// contentType : "application/json", +// statusCallback: statusCallback +// }; + const options = { - url: 'http://127.0.0.1:5001/api/v3/mpay/billingonbehalf/reserveAndChargeVolume.json', - maxRequests: 10000, - requestsPerSecond: 100, + url: 'http://127.0.0.1:4000/point/v1/deleteCustomer', + maxRequests: 2, + requestsPerSecond: 2, headers : { "Content-Type":"application/json", - "x-app":"partnerId=30163; ptsAppKeyName=PICO|Browser|1.0.0", - "x-tid":"SACF-300519siwkxkw7du", - "X-Public-Id":"sgltest7@corp.ais900dev.org", - "X-Private-Id":"NI5smn3wWpoPX1ma2jbPiE8hK4QcDqHR1582013702233" + "x-app-id":"partnerId=30163; ptsAppKeyName=PICO|Browser|1.0.0", + "x-transaction-id":"SACF-300519siwkxkw7du", + "accessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoxLCJuYW1lIjoidGVzdG5hbWUiLCJsYXN0bmFtZSI6InRlc3RsYXNuYW1lIiwiZW1haWwiOiJ0ZXN0QGdtYWlsLmNvbSIsInVzZXJuYW1lIjoiQURtaW4xMjM0IiwiaWF0IjoxNTk3MTE4MjM5fQ.PbZphEffSy6nBPhDzFneE1LtMWy6YpRumo8sjacjAEs", + "X-Tid":"NI5smn3wWpoPX1ma2jbPiE8hK4QcDqHR1582013702233" }, method: "POST", body : { - "endUserIdentifier":"66932019877", - "volume":"0", - "out_trade_no":"nw424bc0bb690c73518a762a2d1a339d7f_COINS12000_20190219095515", - "subject":"Purchased 12000 coins.", - "pay_time":"2020-03-24 20:20:20", - "device_id":"90c73518a762a2d1a339d7f", - "buyer_pay_fee":"Paid by user", - "coupon_fee":"20", - "terminal_type":"IOS", - "billingText":"test", - "parameters":{ - "amount":"0", - "serviceNumber":"35000900022", - "serviceType":"Download", - "transactionID":"50609152601999918991", - "currency":"THB", - "taxDev":"0", - "productCode":"Purchased 12000 coins that can be spent on weapons.", - "productInfo":"COINS12000", - "merchantContact":"MerchantContactTest", - "cct":"0", - "expireDate":"20200523142045", - "senderName":"Huawei" - } - }, + "enterpriseId": "ent0002", + "userIdType": "0", + "userIdData": "2020-P2-3000111@email_password" + }, contentType : "application/json", statusCallback: statusCallback }; -- libgit2 0.21.2