Commit 81df4efb46c1b388e0d6894c10fd8e6372c17cee

Authored by Adhidarma Hadiwinoto
1 parent e287f4b4c8
Exists in master

temporary bonus

Showing 3 changed files with 40 additions and 0 deletions Inline Diff

lib/command-handler/index.js
1 "use strict"; 1 "use strict";
2 2
3 const logger = require('komodo-sdk/logger'); 3 const logger = require('komodo-sdk/logger');
4 4
5 const commandParser = require('../command-parser'); 5 const commandParser = require('../command-parser');
6 6
7 const commandError = require('./error'); 7 const commandError = require('./error');
8 8
9 const handlerAddBalance = require('./addbalance'); 9 const handlerAddBalance = require('./addbalance');
10 const handlerAddDownline = require('./adddownline'); 10 const handlerAddDownline = require('./adddownline');
11 const handlerAddTerminal = require('./addterminal'); 11 const handlerAddTerminal = require('./addterminal');
12 const handlerBalance = require('./balance'); 12 const handlerBalance = require('./balance');
13 const handlerBuy = require('./buy'); 13 const handlerBuy = require('./buy');
14 const handlerChangePin = require('./changepin'); 14 const handlerChangePin = require('./changepin');
15 const handlerDaySummary = require('./daysummary'); 15 const handlerDaySummary = require('./daysummary');
16 const handlerDepositTicket = require('./depositticket'); 16 const handlerDepositTicket = require('./depositticket');
17 const handlerDisableDownline = require('./disabledownline'); 17 const handlerDisableDownline = require('./disabledownline');
18 const handlerDownlineInfo = require('./downlineinfo'); 18 const handlerDownlineInfo = require('./downlineinfo');
19 const handlerEnableDownline = require('./enabledownline'); 19 const handlerEnableDownline = require('./enabledownline');
20 const handlerHelp = require('./help'); 20 const handlerHelp = require('./help');
21 const handlerListDeposit = require('./listdeposit'); 21 const handlerListDeposit = require('./listdeposit');
22 const handlerListDownline = require('./listdownline'); 22 const handlerListDownline = require('./listdownline');
23 const handlerListTerminal = require('./listterminal'); 23 const handlerListTerminal = require('./listterminal');
24 const handlerListTrx = require('./listtrx'); 24 const handlerListTrx = require('./listtrx');
25 const handlerPrice = require('./price'); 25 const handlerPrice = require('./price');
26 const handlerSupplierBalances = require('./supplierbalances'); 26 const handlerSupplierBalances = require('./supplierbalances');
27 const handlerTemporaryBonus = require('./temporarybonus');
27 const handlerTransferBalance = require('./transferbalance'); 28 const handlerTransferBalance = require('./transferbalance');
28 29
29 function execute(msg, params, cb) { 30 function execute(msg, params, cb) {
30 31
31 if ( typeof msg !== 'string' || !msg.trim() ) { 32 if ( typeof msg !== 'string' || !msg.trim() ) {
32 cb(commandError.ERR_EMPTY_MESSAGE); 33 cb(commandError.ERR_EMPTY_MESSAGE);
33 return; 34 return;
34 } 35 }
35 36
36 const tokens = commandParser.splitToken(msg); 37 const tokens = commandParser.splitToken(msg);
37 const commandGroup = commandParser.extractCommandGroup(tokens); 38 const commandGroup = commandParser.extractCommandGroup(tokens);
38 params.commandGroup = commandGroup; 39 params.commandGroup = commandGroup;
39 logger.info('Processing message from partner', { msg, params, tokens, commandGroup }); 40 logger.info('Processing message from partner', { msg, params, tokens, commandGroup });
40 41
41 if (!commandGroup || commandGroup === 'buy') { 42 if (!commandGroup || commandGroup === 'buy') {
42 handlerBuy(tokens, params, cb); 43 handlerBuy(tokens, params, cb);
43 } 44 }
44 else if (commandGroup === 'balance') { 45 else if (commandGroup === 'balance') {
45 handlerBalance(tokens, params, cb); 46 handlerBalance(tokens, params, cb);
46 } 47 }
47 else if (commandGroup === 'addbalance') { 48 else if (commandGroup === 'addbalance') {
48 handlerAddBalance(tokens, params, cb); 49 handlerAddBalance(tokens, params, cb);
49 } 50 }
50 else if (commandGroup === 'transferbalance') { 51 else if (commandGroup === 'transferbalance') {
51 handlerTransferBalance(tokens, params, cb); 52 handlerTransferBalance(tokens, params, cb);
52 } 53 }
53 else if (commandGroup === 'price') { 54 else if (commandGroup === 'price') {
54 handlerPrice(tokens, params, cb); 55 handlerPrice(tokens, params, cb);
55 } 56 }
56 else if (commandGroup === 'listdownline') { 57 else if (commandGroup === 'listdownline') {
57 handlerListDownline(tokens, params, cb); 58 handlerListDownline(tokens, params, cb);
58 } 59 }
59 else if (commandGroup === 'downlineinfo') { 60 else if (commandGroup === 'downlineinfo') {
60 handlerDownlineInfo(tokens, params, cb); 61 handlerDownlineInfo(tokens, params, cb);
61 } 62 }
62 else if (commandGroup === 'adddownline') { 63 else if (commandGroup === 'adddownline') {
63 handlerAddDownline(tokens, params, cb); 64 handlerAddDownline(tokens, params, cb);
64 } 65 }
65 else if (commandGroup === 'listterminal') { 66 else if (commandGroup === 'listterminal') {
66 handlerListTerminal(tokens, params, cb); 67 handlerListTerminal(tokens, params, cb);
67 } 68 }
68 else if (commandGroup === 'listtrx' || commandGroup === 'listtrxall') { 69 else if (commandGroup === 'listtrx' || commandGroup === 'listtrxall') {
69 handlerListTrx(tokens, params, cb); 70 handlerListTrx(tokens, params, cb);
70 } 71 }
71 else if (commandGroup === 'listdeposit') { 72 else if (commandGroup === 'listdeposit') {
72 handlerListDeposit(tokens, params, cb); 73 handlerListDeposit(tokens, params, cb);
73 } 74 }
74 else if (commandGroup === 'addterminal') { 75 else if (commandGroup === 'addterminal') {
75 handlerAddTerminal(tokens, params, cb); 76 handlerAddTerminal(tokens, params, cb);
76 } 77 }
77 else if (commandGroup === 'changepin') { 78 else if (commandGroup === 'changepin') {
78 handlerChangePin(tokens, params, cb); 79 handlerChangePin(tokens, params, cb);
79 } 80 }
80 else if (commandGroup === 'enabledownline') { 81 else if (commandGroup === 'enabledownline') {
81 handlerEnableDownline(tokens, params, cb); 82 handlerEnableDownline(tokens, params, cb);
82 } 83 }
83 else if (commandGroup === 'daysummary' || commandGroup === 'daysummaryall') { 84 else if (commandGroup === 'daysummary' || commandGroup === 'daysummaryall') {
84 handlerDaySummary(tokens, params, cb); 85 handlerDaySummary(tokens, params, cb);
85 } 86 }
86 else if (commandGroup === 'depositticket') { 87 else if (commandGroup === 'depositticket') {
87 handlerDepositTicket(tokens, params, cb); 88 handlerDepositTicket(tokens, params, cb);
88 } 89 }
89 else if (commandGroup === 'disabledownline') { 90 else if (commandGroup === 'disabledownline') {
90 handlerDisableDownline(tokens, params, cb); 91 handlerDisableDownline(tokens, params, cb);
91 } 92 }
92 else if (commandGroup === 'supplierbalances') { 93 else if (commandGroup === 'supplierbalances') {
93 handlerSupplierBalances(tokens, params, cb); 94 handlerSupplierBalances(tokens, params, cb);
94 } 95 }
96 else if (commandGroup === 'temporarybonus') {
97 handlerTemporaryBonus(tokens, params, cb);
98 }
95 else if (commandGroup === 'help') { 99 else if (commandGroup === 'help') {
96 handlerHelp(tokens, params, cb) 100 handlerHelp(tokens, params, cb)
97 } 101 }
98 else { 102 else {
99 cb(commandError.ERR_NOT_IMPLEMENTED); 103 cb(commandError.ERR_NOT_IMPLEMENTED);
100 } 104 }
101 } 105 }
102 106
103 module.exports = execute; 107 module.exports = execute;
lib/command-handler/temporarybonus.js
File was created 1 const coreEndpoint = '/stores/temporary-bonus';
2
3 const commandError = require('./error');
4 const coreapi = require('../coreapi');
5
6 function help(keyword) {
7 return `Untuk mengecek bonus yamg belum dibagikan, ketik perintah dengan format: ${ keyword.toUpperCase() }.<PIN>`;
8 }
9
10 function execute(tokens, params, cb) {
11
12 if (!tokens || tokens.length < 2) {
13 const responseParams = {
14 body: `${ commandError.ERR_INVALID_FORMAT }. ${ help(tokens[0]) }`
15 }
16
17 cb(null, null, responseParams);
18 return;
19 }
20
21 const coreParams = {
22 asker_terminal_name: params.from,
23 asker_terminal_password: tokens[1],
24 };
25
26 coreapi(coreEndpoint, coreParams, 'GET', cb);
27 }
28
29 module.exports = execute;
lib/default-command.js
1 module.exports = { 1 module.exports = {
2 help: [ 2 help: [
3 "bantu", 3 "bantu",
4 "bantuan", 4 "bantuan",
5 "format", 5 "format",
6 "help", 6 "help",
7 "tolong", 7 "tolong",
8 ], 8 ],
9 buy: [ 9 buy: [
10 "beli", 10 "beli",
11 "buy", 11 "buy",
12 "i", 12 "i",
13 "isi", 13 "isi",
14 ], 14 ],
15 _statuscheck: [ 15 _statuscheck: [
16 "cekstatus", 16 "cekstatus",
17 "checkstatus", 17 "checkstatus",
18 "status", 18 "status",
19 ], 19 ],
20 balance: [ 20 balance: [
21 "bal", 21 "bal",
22 "balance", 22 "balance",
23 "ceksaldo", 23 "ceksaldo",
24 "checksaldo", 24 "checksaldo",
25 "s", 25 "s",
26 "sal", 26 "sal",
27 "saldo", 27 "saldo",
28 ], 28 ],
29 transferbalance: [ 29 transferbalance: [
30 "transfer", 30 "transfer",
31 "trf", 31 "trf",
32 ], 32 ],
33 addbalance: [ 33 addbalance: [
34 "addbalance", 34 "addbalance",
35 "addbal", 35 "addbal",
36 "tambahsaldo", 36 "tambahsaldo",
37 ], 37 ],
38 listdownline: [ 38 listdownline: [
39 "dllist", 39 "dllist",
40 "dlls", 40 "dlls",
41 "downlinelist", 41 "downlinelist",
42 "downlinels", 42 "downlinels",
43 "ldl", 43 "ldl",
44 "listdl", 44 "listdl",
45 "listdownline", 45 "listdownline",
46 "listmitra", 46 "listmitra",
47 "lsdl", 47 "lsdl",
48 "lsdownline", 48 "lsdownline",
49 "lsmitra", 49 "lsmitra",
50 "mitrals", 50 "mitrals",
51 ], 51 ],
52 adddownline: [ 52 adddownline: [
53 "adddl", 53 "adddl",
54 "adddownline", 54 "adddownline",
55 "addmitra", 55 "addmitra",
56 "buatdl", 56 "buatdl",
57 "buatdownline", 57 "buatdownline",
58 "createdl", 58 "createdl",
59 "createdownlne", 59 "createdownlne",
60 "createmitra", 60 "createmitra",
61 "regdl", 61 "regdl",
62 "regdownline", 62 "regdownline",
63 "registerdl", 63 "registerdl",
64 "registerdownline", 64 "registerdownline",
65 "registermitra", 65 "registermitra",
66 "regmitra", 66 "regmitra",
67 "tambahdl", 67 "tambahdl",
68 "tambahdownline", 68 "tambahdownline",
69 "tambahmitra", 69 "tambahmitra",
70 ], 70 ],
71 downlineinfo: [ 71 downlineinfo: [
72 "dl", 72 "dl",
73 "downline", 73 "downline",
74 "mitra", 74 "mitra",
75 "saldodownline", 75 "saldodownline",
76 "saldomitra", 76 "saldomitra",
77 "sd", 77 "sd",
78 "sdl", 78 "sdl",
79 ], 79 ],
80 disabledownline: [ 80 disabledownline: [
81 "disabledl", 81 "disabledl",
82 "disabledownline", 82 "disabledownline",
83 "disablemitra", 83 "disablemitra",
84 "nonaktifdl", 84 "nonaktifdl",
85 "nonaktifdownline", 85 "nonaktifdownline",
86 "nonaktifkandl", 86 "nonaktifkandl",
87 "nonaktifkandownline", 87 "nonaktifkandownline",
88 "nonaktifkanmitra", 88 "nonaktifkanmitra",
89 "nonaktifmitra", 89 "nonaktifmitra",
90 ], 90 ],
91 enabledownline: [ 91 enabledownline: [
92 "aktifkandl", 92 "aktifkandl",
93 "aktifkandownline", 93 "aktifkandownline",
94 "aktifkanmitra", 94 "aktifkanmitra",
95 "aktivasidl", 95 "aktivasidl",
96 "aktivasidownline", 96 "aktivasidownline",
97 "aktivasimitra", 97 "aktivasimitra",
98 "enabledl", 98 "enabledl",
99 "enabledownline", 99 "enabledownline",
100 "enablemitra", 100 "enablemitra",
101 ], 101 ],
102 daysummary: [ 102 daysummary: [
103 "lap", 103 "lap",
104 "laporan", 104 "laporan",
105 "rekap", 105 "rekap",
106 ], 106 ],
107 daysummaryall: [ 107 daysummaryall: [
108 "lapall", 108 "lapall",
109 "laporanall", 109 "laporanall",
110 "rekapall", 110 "rekapall",
111 ], 111 ],
112 _daysummarydownline: [ 112 _daysummarydownline: [
113 "lapdl", 113 "lapdl",
114 "lapdownline", 114 "lapdownline",
115 "lapmitra", 115 "lapmitra",
116 "laporandl", 116 "laporandl",
117 "laporandownline", 117 "laporandownline",
118 "laporanmitra", 118 "laporanmitra",
119 "rekapalldl", 119 "rekapalldl",
120 "rekapalldownline", 120 "rekapalldownline",
121 "rekapallmitra", 121 "rekapallmitra",
122 ], 122 ],
123 _maintenanceactivate: [ 123 _maintenanceactivate: [
124 "activatemaintenance", 124 "activatemaintenance",
125 "maintenanceactivate" 125 "maintenanceactivate"
126 ], 126 ],
127 _maintenancedeactivate: [ 127 _maintenancedeactivate: [
128 "deactivatemaintenance", 128 "deactivatemaintenance",
129 "maintenancedeactivate" 129 "maintenancedeactivate"
130 ], 130 ],
131 price: [ 131 price: [
132 "cekharga", 132 "cekharga",
133 "ch", 133 "ch",
134 "checkharga", 134 "checkharga",
135 "h", 135 "h",
136 "harga", 136 "harga",
137 "hargaproduct", 137 "hargaproduct",
138 "hargaproduk", 138 "hargaproduk",
139 "price", 139 "price",
140 ], 140 ],
141 changepin: [ 141 changepin: [
142 "changepin", 142 "changepin",
143 "gantipin", 143 "gantipin",
144 "pin", 144 "pin",
145 "setpin", 145 "setpin",
146 "ubahpin", 146 "ubahpin",
147 ], 147 ],
148 depositticket: [ 148 depositticket: [
149 'depo', 149 'depo',
150 'depositticket', 150 'depositticket',
151 'depoticket', 151 'depoticket',
152 'tiket', 152 'tiket',
153 'tiketdeposit', 153 'tiketdeposit',
154 ], 154 ],
155 listdeposit: [ 155 listdeposit: [
156 'depolist', 156 'depolist',
157 'depositlist', 157 'depositlist',
158 'listdepo', 158 'listdepo',
159 'listdeposit', 159 'listdeposit',
160 'listtransfer', 160 'listtransfer',
161 'listtrf', 161 'listtrf',
162 'rekapdepo', 162 'rekapdepo',
163 'rekapdeposit', 163 'rekapdeposit',
164 'rekaptransfer', 164 'rekaptransfer',
165 'rekaptrf', 165 'rekaptrf',
166 'transferlist', 166 'transferlist',
167 'trflist', 167 'trflist',
168 ], 168 ],
169 listterminal: [ 169 listterminal: [
170 'listmsisdn', 170 'listmsisdn',
171 'listterminal', 171 'listterminal',
172 'listterm', 172 'listterm',
173 'lsmsisdn', 173 'lsmsisdn',
174 'lsterminal', 174 'lsterminal',
175 'lsterm', 175 'lsterm',
176 'msisdn', 176 'msisdn',
177 'msisdnlist', 177 'msisdnlist',
178 'msisdnls', 178 'msisdnls',
179 'terminal', 179 'terminal',
180 'terminallist', 180 'terminallist',
181 'terminalls', 181 'terminalls',
182 'terminalterdaftar', 182 'terminalterdaftar',
183 ], 183 ],
184 addterminal: [ 184 addterminal: [
185 'addmsisdn', 185 'addmsisdn',
186 'addterminal', 186 'addterminal',
187 'createmsisdn', 187 'createmsisdn',
188 'createterminal', 188 'createterminal',
189 'msisdnadd', 189 'msisdnadd',
190 'newmsisdn', 190 'newmsisdn',
191 'newterminal', 191 'newterminal',
192 'registerterminal', 192 'registerterminal',
193 'regmsisdn', 193 'regmsisdn',
194 'regterminal', 194 'regterminal',
195 'tambahmsisdn', 195 'tambahmsisdn',
196 'tambahterminal', 196 'tambahterminal',
197 'terminaladd', 197 'terminaladd',
198 ], 198 ],
199 supplierbalances: [ 199 supplierbalances: [
200 'supbal', 200 'supbal',
201 'supplier', 201 'supplier',
202 'supplierbal', 202 'supplierbal',
203 'supplierbalance', 203 'supplierbalance',
204 'supplierbalances', 204 'supplierbalances',
205 'suppliers', 205 'suppliers',
206 'suppliersbal', 206 'suppliersbal',
207 'suppliersbalance', 207 'suppliersbalance',
208 'suppliersbalances', 208 'suppliersbalances',
209 ], 209 ],
210 listtrx: [ 210 listtrx: [
211 'listtrx', 211 'listtrx',
212 'listtransaksi', 212 'listtransaksi',
213 ], 213 ],
214 listtrxall: [ 214 listtrxall: [
215 'listtrxall', 215 'listtrxall',
216 'listtransaksiall', 216 'listtransaksiall',
217 ], 217 ],
218 temporarybonus: [
219 'bonus',
220 'bonustemp',
221 'bonustemporary',
222 'tempbonus',
223 'temporarybonus'
224 ],
218 _setmarkup: [ 225 _setmarkup: [
219 'markup' 226 'markup'
220 ], 227 ],
221 _news: [ 228 _news: [
222 'berita', 229 'berita',
223 'news', 230 'news',
224 'promo', 231 'promo',
225 ] 232 ]
226 } 233 }
227 234