Commit 12f6d059c5a91def756f491c60c721ee3cbb6c75
1 parent
29abebf10c
Exists in
master
and in
1 other branch
LOG hashtag on trx-status
Showing 1 changed file with 18 additions and 5 deletions Inline Diff
lib/partner-listener/routers/trx-status.js
1 | const MODULE_NAME = 'PARTNER-LISTENER.ROUTERS.TRX-STATUS'; | ||
2 | |||
1 | const express = require('express'); | 3 | const express = require('express'); |
2 | const moment = require('moment'); | 4 | const moment = require('moment'); |
3 | 5 | ||
4 | const logger = require('komodo-sdk/logger'); | 6 | const logger = require('komodo-sdk/logger'); |
5 | 7 | ||
6 | const coreapi = require('../../coreapi'); | 8 | const coreapi = require('../../coreapi'); |
7 | 9 | ||
8 | const router = express.Router(); | 10 | const router = express.Router(); |
9 | module.exports = router; | 11 | module.exports = router; |
10 | 12 | ||
11 | async function pageIndex(req, res) { | 13 | async function pageIndex(req, res) { |
14 | const { xid } = res.locals; | ||
12 | if (!req.body) req.body = {}; | 15 | if (!req.body) req.body = {}; |
13 | 16 | ||
14 | if (!req.body.terminal_name && !req.query.terminal_name) { | 17 | if (!req.body.terminal_name && !req.query.terminal_name) { |
15 | res.json({ | 18 | res.json({ |
16 | error: 'Parameter terminal_name tidak terdefinisi', | 19 | httpgetx_xid: xid, |
20 | error: true, | ||
21 | message: 'Parameter terminal_name tidak terdefinisi', | ||
17 | }); | 22 | }); |
18 | return; | 23 | return; |
19 | } | 24 | } |
20 | 25 | ||
21 | if (!req.body.password && !req.query.password) { | 26 | if (!req.body.password && !req.query.password) { |
22 | res.json({ | 27 | res.json({ |
28 | httpgetx_xid: xid, | ||
23 | error: true, | 29 | error: true, |
24 | message: 'Parameter password tidak terdefinisi', | 30 | message: 'Parameter password tidak terdefinisi', |
25 | }); | 31 | }); |
26 | return; | 32 | return; |
27 | } | 33 | } |
28 | 34 | ||
29 | if (!req.body.request_id && !req.query.request_id) { | 35 | if (!req.body.request_id && !req.query.request_id) { |
30 | res.json({ | 36 | res.json({ |
37 | httpgetx_xid: xid, | ||
31 | error: true, | 38 | error: true, |
32 | message: 'Parameter request_id tidak terdefinisi', | 39 | message: 'Parameter request_id tidak terdefinisi', |
33 | }); | 40 | }); |
34 | return; | 41 | return; |
35 | } | 42 | } |
36 | 43 | ||
37 | const remoteIp = req.ip.replace(/^::ffff:/, ''); | 44 | const remoteIp = req.ip.replace(/^::ffff:/, ''); |
38 | const askerTerminalName = `${req.body.terminal_name || req.query.terminal_name}@${remoteIp}`; | 45 | const askerTerminalName = `${req.body.terminal_name || req.query.terminal_name}@${remoteIp}`; |
39 | 46 | ||
40 | const coreResponse = await coreapi({ | 47 | const coreResponse = await coreapi({ |
41 | xid: res.locals.xid, | 48 | xid, |
42 | path: '/trx-status/view', | 49 | path: '/trx-status/view', |
43 | qs: { | 50 | qs: { |
44 | asker_terminal_name: askerTerminalName, | 51 | asker_terminal_name: askerTerminalName, |
45 | asker_terminal_password: req.body.password || req.query.password, | 52 | asker_terminal_password: req.body.password || req.query.password, |
46 | request_id: req.body.request_id || req.query.request_id, | 53 | request_id: req.body.request_id || req.query.request_id, |
47 | }, | 54 | }, |
48 | }); | 55 | }); |
49 | 56 | ||
50 | if (!coreResponse || !coreResponse.status) { | 57 | if (!coreResponse || !coreResponse.status) { |
51 | const msg = 'Status transaksi tidak dapat diketahui karena suatu kesalahan pada sistem'; | 58 | const msg = 'Status transaksi tidak dapat diketahui karena suatu kesalahan pada sistem'; |
52 | 59 | ||
53 | logger.warn(msg, { | 60 | logger.warn(`${MODULE_NAME} 9983DB34: ${msg}`, { |
54 | xid: res.locals.xid, | 61 | xid, |
55 | ip: req.ip, | 62 | ip: req.ip, |
56 | terminal_name: req.body.terminal_name || req.query.terminal_name, | 63 | terminal_name: req.body.terminal_name || req.query.terminal_name, |
57 | request_id: req.body.request_id || req.query.request_id, | 64 | request_id: req.body.request_id || req.query.request_id, |
58 | }); | 65 | }); |
59 | 66 | ||
60 | res.json({ | 67 | res.json({ |
68 | httpgetx_xid: xid, | ||
61 | error: true, | 69 | error: true, |
62 | from_ip: remoteIp, | 70 | from_ip: remoteIp, |
63 | terminal_name: req.body.terminal_name || req.query.terminal_name, | 71 | terminal_name: req.body.terminal_name || req.query.terminal_name, |
64 | full_terminal_name: askerTerminalName, | 72 | full_terminal_name: askerTerminalName, |
65 | password: req.body.password || req.query.password, | 73 | password: req.body.password || req.query.password, |
66 | message: msg, | 74 | message: msg, |
67 | }); | 75 | }); |
68 | return; | 76 | return; |
69 | } | 77 | } |
70 | 78 | ||
71 | const trx = coreResponse && coreResponse.result ? { | 79 | const trx = coreResponse && coreResponse.result ? { |
72 | id: coreResponse.result.id, | 80 | id: coreResponse.result.id, |
73 | request_id: coreResponse.result.request_id, | 81 | request_id: coreResponse.result.request_id, |
74 | store_id: coreResponse.result.store_id, | 82 | store_id: coreResponse.result.store_id, |
75 | store_name: coreResponse.result.store_name, | 83 | store_name: coreResponse.result.store_name, |
76 | terminal_id: coreResponse.result.terminal_id, | 84 | terminal_id: coreResponse.result.terminal_id, |
77 | terminal_name: coreResponse.result.terminal_name, | 85 | terminal_name: coreResponse.result.terminal_name, |
78 | 86 | ||
79 | created: moment(coreResponse.result.created).format('YYYY-MM-DD HH:mm:ss'), | 87 | created: moment(coreResponse.result.created).format('YYYY-MM-DD HH:mm:ss'), |
80 | modified: moment(coreResponse.result.modified).format('YYYY-MM-DD HH:mm:ss'), | 88 | modified: moment(coreResponse.result.modified).format('YYYY-MM-DD HH:mm:ss'), |
81 | 89 | ||
82 | product_name: coreResponse.result.product_name, | 90 | product_name: coreResponse.result.product_name, |
83 | destination: coreResponse.result.destination, | 91 | destination: coreResponse.result.destination, |
84 | amount: coreResponse.result.amount, | 92 | amount: coreResponse.result.amount, |
85 | ending_balance: coreResponse.result.ending_balance, | 93 | ending_balance: coreResponse.result.ending_balance, |
86 | rc: coreResponse.result.rc, | 94 | rc: coreResponse.result.rc, |
87 | message: coreResponse.result.reply_message, | 95 | message: coreResponse.result.reply_message, |
88 | sn: coreResponse.result.sn, | 96 | sn: coreResponse.result.sn, |
89 | } | 97 | } |
90 | : null; | 98 | : null; |
91 | 99 | ||
92 | const result = { | 100 | const result = { |
101 | httpgetx_xid: xid, | ||
93 | error: coreResponse.status !== 'OK', | 102 | error: coreResponse.status !== 'OK', |
94 | from_ip: remoteIp, | 103 | from_ip: remoteIp, |
95 | terminal_name: req.body.terminal_name || req.query.terminal_name, | 104 | terminal_name: req.body.terminal_name || req.query.terminal_name, |
96 | full_terminal_name: askerTerminalName, | 105 | full_terminal_name: askerTerminalName, |
97 | message: coreResponse.message, | 106 | message: coreResponse.message, |
98 | trx_found: !!trx, | 107 | trx_found: !!trx, |
99 | trx, | 108 | trx, |
100 | // original_trx: coreResponse.result, | 109 | // original_trx: coreResponse.result, |
101 | }; | 110 | }; |
102 | 111 | ||
103 | res.json(result); | 112 | res.json(result); |
104 | 113 | ||
105 | logger.info('Partner request responded', { xid: res.locals.xid, processing_time_in_ms: new Date() - res.locals.x_http_request_ts, result }); | 114 | logger.info(`${MODULE_NAME} 480C4BB0: Partner request responded`, { |
115 | xid, | ||
116 | processing_time_in_ms: new Date() - res.locals.x_http_request_ts, | ||
117 | result, | ||
118 | }); | ||
106 | } | 119 | } |
107 | 120 | ||
108 | router.get('/', pageIndex); | 121 | router.get('/', pageIndex); |
109 | 122 |