Commit 3f11d99670bb4608ac44dd9ecda36a54e742e031
1 parent
efad397989
Exists in
master
sn split
Showing 1 changed file with 28 additions and 4 deletions Side-by-side Diff
gentong.js
... | ... | @@ -121,6 +121,19 @@ function createRedisClient() { |
121 | 121 | redisClient = redis.createClient(config.globals.redis_port, config.globals.redis_host); |
122 | 122 | } |
123 | 123 | |
124 | +function paddingSN(sn, _config) { | |
125 | + | |
126 | + if (!_config) { | |
127 | + _config = config; | |
128 | + } | |
129 | + | |
130 | + if (_config.h2h_out.sn_min_length && (sn.length < Number(_config.h2h_out.sn_min_length))) { | |
131 | + sn = '0000000000000000' + sn; | |
132 | + sn = sn.slice(Number(_config.h2h_out.sn_min_length) * -1); | |
133 | + } | |
134 | + return sn; | |
135 | +} | |
136 | + | |
124 | 137 | function parseSN(message, _config) { |
125 | 138 | |
126 | 139 | if (!_config) { |
... | ... | @@ -158,10 +171,7 @@ function parseSN(message, _config) { |
158 | 171 | sn = sn.replace(re, ''); |
159 | 172 | } |
160 | 173 | |
161 | - if (_config.h2h_out.sn_min_length && (sn.length < Number(_config.h2h_out.sn_min_length))) { | |
162 | - sn = '0000000000000000' + sn; | |
163 | - sn = sn.slice(Number(_config.h2h_out.sn_min_length) * -1); | |
164 | - } | |
174 | + sn = paddingSN(sn, _config); | |
165 | 175 | |
166 | 176 | return sn.trim(); |
167 | 177 | } |
... | ... | @@ -183,6 +193,20 @@ function createServer() { |
183 | 193 | } else { |
184 | 194 | logger.warn('Missing SN from query string. Trying to get SN from message'); |
185 | 195 | sn = parseSN(qs.info); |
196 | + | |
197 | + if (config.h2h_out.sn_split_by_space && config.h2h_out.sn_split_index) { | |
198 | + | |
199 | + var sn_pieces = sn.split(' '); | |
200 | + var sn_indexes config.h2h_out.sn_split_index.split(','); | |
201 | + var _sn = ''; | |
202 | + | |
203 | + var id_count = sn_indexes.length; | |
204 | + for(var i = 0; i < id_count; i++) { | |
205 | + _sn = _sn + sn_pieces[i]; | |
206 | + } | |
207 | + _sn = paddingSN(sn, config); | |
208 | + sn = _sn; | |
209 | + } | |
186 | 210 | } |
187 | 211 | } else if (qs.topup_status == 'R') { |
188 | 212 |