Commit 8611df562219179a963aa17b39a646ebe2c783db
1 parent
d357b805d8
Exists in
master
replace DENOM to XL
Showing 1 changed file with 1 additions and 1 deletions Inline Diff
index.js
1 | var name = 'Store DOMPUL stock'; | 1 | var name = 'Store DOMPUL stock'; |
2 | var logger = require('winston'); | 2 | var logger = require('winston'); |
3 | logger.info('Starting ' + name); | 3 | logger.info('Starting ' + name); |
4 | 4 | ||
5 | logger.info('Parsing config file'); | 5 | logger.info('Parsing config file'); |
6 | var iniparser = require('iniparser'); | 6 | var iniparser = require('iniparser'); |
7 | var config = iniparser.parseSync('./config.ini'); | 7 | var config = iniparser.parseSync('./config.ini'); |
8 | 8 | ||
9 | logger.info('Creating redis clients for ' + config.globals.redis_host + ':' + config.globals.redis_port); | 9 | logger.info('Creating redis clients for ' + config.globals.redis_host + ':' + config.globals.redis_port); |
10 | var redis = require('redis'); | 10 | var redis = require('redis'); |
11 | var redisClient = redis.createClient(config.globals.redis_port, config.globals.redis_host); | 11 | var redisClient = redis.createClient(config.globals.redis_port, config.globals.redis_host); |
12 | var redisSubscriber = redis.createClient(config.globals.redis_port, config.globals.redis_host); | 12 | var redisSubscriber = redis.createClient(config.globals.redis_port, config.globals.redis_host); |
13 | 13 | ||
14 | redisSubscriber.on('message', function(channel, message) { | 14 | redisSubscriber.on('message', function(channel, message) { |
15 | if (channel == config.channels.dompul_proxy_topup) { | 15 | if (channel == config.channels.dompul_proxy_topup) { |
16 | var params = JSON.parse(message); | 16 | var params = JSON.parse(message); |
17 | 17 | ||
18 | if (params['resp_code'] != '00') return; | 18 | if (params['resp_code'] != '00') return; |
19 | 19 | ||
20 | redisClient.hset('stock.dompul.by-denom.' + params['ussd_nom'], params['ussd_chipinfo'], parseInt(params['ussd_stok'])); | 20 | redisClient.hset('stock.dompul.by-denom.' + params['ussd_nom'], params['ussd_chipinfo'], parseInt(params['ussd_stok'])); |
21 | redisClient.hset('stock.dompul.by-chipinfo.' + params['ussd_chipinfo'], params['ussd_nom'], parseInt(params['ussd_stok'])); | 21 | redisClient.hset('stock.dompul.by-chipinfo.' + params['ussd_chipinfo'], params['ussd_nom'], parseInt(params['ussd_stok'])); |
22 | 22 | ||
23 | var key = 'stock.dompul.by-denom.' + params['ussd_nom']; | 23 | var key = 'stock.dompul.by-denom.' + params['ussd_nom']; |
24 | 24 | ||
25 | redisClient.hgetall(key, function(err, obj) { | 25 | redisClient.hgetall(key, function(err, obj) { |
26 | var chips = Object.getOwnPropertyNames(obj); | 26 | var chips = Object.getOwnPropertyNames(obj); |
27 | var chipsCount = chips.length; | 27 | var chipsCount = chips.length; |
28 | 28 | ||
29 | var total = 0; | 29 | var total = 0; |
30 | var nonEmptyChipsCount = 0; | 30 | var nonEmptyChipsCount = 0; |
31 | 31 | ||
32 | for (var i = 0; i < chipsCount; i++) { | 32 | for (var i = 0; i < chipsCount; i++) { |
33 | var stock = parseInt(obj[chips[i]]); | 33 | var stock = parseInt(obj[chips[i]]); |
34 | if (stock > 0) { | 34 | if (stock > 0) { |
35 | nonEmptyChipsCount++; | 35 | nonEmptyChipsCount++; |
36 | } | 36 | } |
37 | 37 | ||
38 | total = total + stock; | 38 | total = total + stock; |
39 | } | 39 | } |
40 | 40 | ||
41 | logger.info('DENOM ' + params['ussd_nom'] + ': ' + total + ' in ' + nonEmptyChipsCount + ' chips'); | 41 | logger.info('XL' + params['ussd_nom'] + ': ' + total + ' in ' + nonEmptyChipsCount + ' chips'); |
42 | }); | 42 | }); |
43 | } | 43 | } |
44 | }); | 44 | }); |
45 | 45 | ||
46 | 46 | ||
47 | logger.info('Subscribing redis channel'); | 47 | logger.info('Subscribing redis channel'); |
48 | redisSubscriber.subscribe(config.channels.dompul_proxy_topup); | 48 | redisSubscriber.subscribe(config.channels.dompul_proxy_topup); |
49 | logger.info('Waiting for redis message'); | 49 | logger.info('Waiting for redis message'); |
50 | 50 |