Commit bed712de5932c1976dddf627a1b7d46cd82cc874

Authored by Adhidarma Hadiwinoto
1 parent c975d3b23a
Exists in master

LISTCOMPLAIN

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

lib/command-handler/index.js
1 const logger = require('komodo-sdk/logger'); 1 const logger = require('komodo-sdk/logger');
2 2
3 const commandParser = require('../command-parser'); 3 const commandParser = require('../command-parser');
4 4
5 const commandError = require('./error'); 5 const commandError = require('./error');
6 6
7 const handlerAddBalance = require('./addbalance'); 7 const handlerAddBalance = require('./addbalance');
8 const handlerAddDownline = require('./adddownline'); 8 const handlerAddDownline = require('./adddownline');
9 const handlerAddTerminal = require('./addterminal'); 9 const handlerAddTerminal = require('./addterminal');
10 const handlerBalance = require('./balance'); 10 const handlerBalance = require('./balance');
11 const handlerBuy = require('./buy'); 11 const handlerBuy = require('./buy');
12 const handlerChangePin = require('./changepin'); 12 const handlerChangePin = require('./changepin');
13 const handlerClaimBonus = require('./claimbonus'); 13 const handlerClaimBonus = require('./claimbonus');
14 const handlerComplain = require('./complain'); 14 const handlerComplain = require('./complain');
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 handlerInquiry = require('./inquiry'); 21 const handlerInquiry = require('./inquiry');
22 const handlerListComplain = require('./listcomplain');
22 const handlerListDeposit = require('./listdeposit'); 23 const handlerListDeposit = require('./listdeposit');
23 const handlerListDownline = require('./listdownline'); 24 const handlerListDownline = require('./listdownline');
24 const handlerListTerminal = require('./listterminal'); 25 const handlerListTerminal = require('./listterminal');
25 const handlerListTrx = require('./listtrx'); 26 const handlerListTrx = require('./listtrx');
26 const handlerPay = require('./pay'); 27 const handlerPay = require('./pay');
27 const handlerPrice = require('./price'); 28 const handlerPrice = require('./price');
28 const handlerSupplierBalances = require('./supplierbalances'); 29 const handlerSupplierBalances = require('./supplierbalances');
29 const handlerTemporaryBonus = require('./temporarybonus'); 30 const handlerTemporaryBonus = require('./temporarybonus');
30 const handlerTransferBalance = require('./transferbalance'); 31 const handlerTransferBalance = require('./transferbalance');
31 32
32 function execute(msg, params, cb) { 33 function execute(msg, params, cb) {
33 34
34 if ( typeof msg !== 'string' || !msg.trim() ) { 35 if ( typeof msg !== 'string' || !msg.trim() ) {
35 cb(commandError.ERR_EMPTY_MESSAGE); 36 cb(commandError.ERR_EMPTY_MESSAGE);
36 return; 37 return;
37 } 38 }
38 39
39 const tokens = commandParser.splitToken(msg); 40 const tokens = commandParser.splitToken(msg);
40 const commandGroup = commandParser.extractCommandGroup(tokens); 41 const commandGroup = commandParser.extractCommandGroup(tokens);
41 params.commandGroup = commandGroup; 42 params.commandGroup = commandGroup;
42 logger.info('Processing message from partner', { msg, params, tokens, commandGroup }); 43 logger.info('Processing message from partner', { msg, params, tokens, commandGroup });
43 44
44 if (!commandGroup || commandGroup === 'buy') { 45 if (!commandGroup || commandGroup === 'buy') {
45 handlerBuy(tokens, params, cb); 46 handlerBuy(tokens, params, cb);
46 } 47 }
47 else if (commandGroup === 'balance') { 48 else if (commandGroup === 'balance') {
48 handlerBalance(tokens, params, cb); 49 handlerBalance(tokens, params, cb);
49 } 50 }
50 else if (commandGroup === 'addbalance') { 51 else if (commandGroup === 'addbalance') {
51 handlerAddBalance(tokens, params, cb); 52 handlerAddBalance(tokens, params, cb);
52 } 53 }
53 else if (commandGroup === 'transferbalance') { 54 else if (commandGroup === 'transferbalance') {
54 handlerTransferBalance(tokens, params, cb); 55 handlerTransferBalance(tokens, params, cb);
55 } 56 }
56 else if (commandGroup === 'price') { 57 else if (commandGroup === 'price') {
57 handlerPrice(tokens, params, cb); 58 handlerPrice(tokens, params, cb);
58 } 59 }
59 else if (commandGroup === 'listdownline') { 60 else if (commandGroup === 'listdownline') {
60 handlerListDownline(tokens, params, cb); 61 handlerListDownline(tokens, params, cb);
61 } 62 }
62 else if (commandGroup === 'downlineinfo') { 63 else if (commandGroup === 'downlineinfo') {
63 handlerDownlineInfo(tokens, params, cb); 64 handlerDownlineInfo(tokens, params, cb);
64 } 65 }
65 else if (commandGroup === 'adddownline') { 66 else if (commandGroup === 'adddownline') {
66 handlerAddDownline(tokens, params, cb); 67 handlerAddDownline(tokens, params, cb);
67 } 68 }
68 else if (commandGroup === 'listterminal') { 69 else if (commandGroup === 'listterminal') {
69 handlerListTerminal(tokens, params, cb); 70 handlerListTerminal(tokens, params, cb);
70 } 71 }
71 else if (commandGroup === 'listtrx' || commandGroup === 'listtrxall') { 72 else if (commandGroup === 'listtrx' || commandGroup === 'listtrxall') {
72 handlerListTrx(tokens, params, cb); 73 handlerListTrx(tokens, params, cb);
73 } 74 }
74 else if (commandGroup === 'listdeposit') { 75 else if (commandGroup === 'listdeposit') {
75 handlerListDeposit(tokens, params, cb); 76 handlerListDeposit(tokens, params, cb);
76 } 77 }
77 else if (commandGroup === 'addterminal') { 78 else if (commandGroup === 'addterminal') {
78 handlerAddTerminal(tokens, params, cb); 79 handlerAddTerminal(tokens, params, cb);
79 } 80 }
80 else if (commandGroup === 'changepin') { 81 else if (commandGroup === 'changepin') {
81 handlerChangePin(tokens, params, cb); 82 handlerChangePin(tokens, params, cb);
82 } 83 }
83 else if (commandGroup === 'enabledownline') { 84 else if (commandGroup === 'enabledownline') {
84 handlerEnableDownline(tokens, params, cb); 85 handlerEnableDownline(tokens, params, cb);
85 } 86 }
86 else if (commandGroup === 'daysummary' || commandGroup === 'daysummaryall') { 87 else if (commandGroup === 'daysummary' || commandGroup === 'daysummaryall') {
87 handlerDaySummary(tokens, params, cb); 88 handlerDaySummary(tokens, params, cb);
88 } 89 }
89 else if (commandGroup === 'depositticket') { 90 else if (commandGroup === 'depositticket') {
90 handlerDepositTicket(tokens, params, cb); 91 handlerDepositTicket(tokens, params, cb);
91 } 92 }
92 else if (commandGroup === 'disabledownline') { 93 else if (commandGroup === 'disabledownline') {
93 handlerDisableDownline(tokens, params, cb); 94 handlerDisableDownline(tokens, params, cb);
94 } 95 }
95 else if (commandGroup === 'supplierbalances') { 96 else if (commandGroup === 'supplierbalances') {
96 handlerSupplierBalances(tokens, params, cb); 97 handlerSupplierBalances(tokens, params, cb);
97 } 98 }
98 else if (commandGroup === 'claimbonus') { 99 else if (commandGroup === 'claimbonus') {
99 handlerClaimBonus(tokens, params, cb); 100 handlerClaimBonus(tokens, params, cb);
100 } 101 }
101 else if (commandGroup === 'temporarybonus') { 102 else if (commandGroup === 'temporarybonus') {
102 handlerTemporaryBonus(tokens, params, cb); 103 handlerTemporaryBonus(tokens, params, cb);
103 } 104 }
104 else if (commandGroup === 'inquiry') { 105 else if (commandGroup === 'inquiry') {
105 handlerInquiry(tokens, params, cb); 106 handlerInquiry(tokens, params, cb);
106 } 107 }
107 else if (commandGroup === 'pay') { 108 else if (commandGroup === 'pay') {
108 handlerPay(tokens, params, cb); 109 handlerPay(tokens, params, cb);
109 } 110 }
110 else if (commandGroup === 'complain') { 111 else if (commandGroup === 'complain') {
111 handlerComplain(tokens, params, cb); 112 handlerComplain(tokens, params, cb);
112 } 113 }
114 else if (commandGroup === 'listcomplain') {
115 handlerListComplain(tokens, params, cb);
116 }
113 else if (commandGroup === 'help') { 117 else if (commandGroup === 'help') {
114 handlerHelp(tokens, params, cb) 118 handlerHelp(tokens, params, cb)
115 } 119 }
116 else { 120 else {
117 cb(commandError.ERR_NOT_IMPLEMENTED); 121 cb(commandError.ERR_NOT_IMPLEMENTED);
118 } 122 }
119 } 123 }
120 124
121 module.exports = execute; 125 module.exports = execute;
lib/command-handler/listcomplain.js
File was created 1 const CORE_ENDPOINT = '/complains';
2
3 const commandError = require('./error');
4 const coreapi = require('../coreapi');
5
6 function help(keyword) {
7 return `Untuk melihat keluhan yg telah dibuat,\nketik 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 origin: params.origin,
25 report_ip: params.report_ip,
26 report_port: params.report_port,
27 };
28
29 coreapi(CORE_ENDPOINT, coreParams, 'GET', cb);
30 }
31
32 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: [ 218 temporarybonus: [
219 'bonus', 219 'bonus',
220 'bonustemp', 220 'bonustemp',
221 'bonustemporary', 221 'bonustemporary',
222 'tempbonus', 222 'tempbonus',
223 'temporarybonus' 223 'temporarybonus'
224 ], 224 ],
225 claimbonus: [ 225 claimbonus: [
226 'ambilbonus', 226 'ambilbonus',
227 'ambilrebate', 227 'ambilrebate',
228 'bonusclaim', 228 'bonusclaim',
229 'claimbonus', 229 'claimbonus',
230 'claimrebate', 230 'claimrebate',
231 'rebateclaim', 231 'rebateclaim',
232 'tarikbonus', 232 'tarikbonus',
233 'tarikrebate', 233 'tarikrebate',
234 ], 234 ],
235 complain: [ 235 complain: [
236 'c', 236 'c',
237 'complain', 237 'complain',
238 'komplain', 238 'komplain',
239 'komplen', 239 'komplen',
240 ], 240 ],
241 listcomplain: [
242 'complains',
243 'complainlist',
244 'listcomplain',
245 'listkomplain',
246 'listkomplen',
247 ],
241 inquiry: [ 248 inquiry: [
242 'cektagihan', 249 'cektagihan',
243 'infotagihan', 250 'infotagihan',
244 'inq', 251 'inq',
245 'inquiry', 252 'inquiry',
246 'tagihan', 253 'tagihan',
247 ], 254 ],
248 pay: [ 255 pay: [
249 'bayar', 256 'bayar',
250 'bayartagihan', 257 'bayartagihan',
251 'pay', 258 'pay',
252 ], 259 ],
253 _setmarkup: [ 260 _setmarkup: [
254 'markup' 261 'markup'
255 ], 262 ],
256 _news: [ 263 _news: [
257 'berita', 264 'berita',
258 'news', 265 'news',
259 'promo', 266 'promo',
260 ] 267 ]
261 } 268 }
262 269