Untitled
unknown
javascript
a year ago
4.5 kB
11
Indexable
Never
let bankValid = async (req, res) => { try{ if(autoPass == 'Y'){ log.debug('autoPass', autoPass); return res.send({success: true, result: 'P', comment: ''}); } log.debug('[Bank] Start check bank-valid', req.body); let {ApplicationId, BankNo, AccNo, AccountName, AccType = 0 } = req.body; const channelConfig = { params: 'CHANNELTYPE', table_name: 'APP_PROCESS', cond_keyword: 'APPLICATIONID', cond_value: ApplicationId }; const channelInfo = await customerModel.selectWTable(channelConfig, connection.lpms); if (channelInfo && channelInfo.length > 0) { const channelName = channelInfo[0].CHANNELTYPE; if (channelName === 'SPL') { log.debug('[Check bankValid] Auto Pass SPL'); return res.send({success: true, result: 'P', comment: ''}); } } if(!ApplicationId || ApplicationId == ''){ log.debug('ApplicationId ', ApplicationId); return res.send({ success: false, result: null, comment: 'Invalid application id' }); } if(![0,1,'0','1'].includes(AccType)){ log.debug('AccType ', AccType); return res.send({ success: true, result: 'D', comment: 'Lỗi vận hành trong quá trình xác thực tài khoản. Vui lòng liên hệ IT xử lý và thử lại (120)' }); } if(!BankNo || BankNo == ''){ log.debug('BankNo ', BankNo); return res.send({ success: true, result: 'D', comment: 'Lỗi vận hành trong quá trình xác thực tài khoản. Vui lòng liên hệ IT xử lý và thử lại (115)' }); } if(!AccNo || AccNo.length < 4 || AccNo.length > 22){ log.debug('AccNo ', AccNo); return res.send({ success: true, result: 'D', comment: 'Số tài khoản bắt buộc có độ dài từ 4-22 ký tự' }); } if(!AccountName || AccountName == ''){ log.debug('AccountName ', AccountName); return res.send({ success: true, result: 'D', comment: 'Lỗi vận hành trong quá trình xác thực tài khoản. Vui lòng liên hệ IT xử lý và thử lại (134)' }); } // check bank exist const bankConfigJson = fs.readFileSync(`${directoryPath}/bankConfig.json`); const bank = JSON.parse(bankConfigJson); let bankList = bank['BANK_LIST']; let existInBankList = bankList.find(ele => { return ele.BANK_NO === BankNo.trim()}); if(!existInBankList){ return res.send({ success: true, result: 'D', comment: 'Lỗi vận hành trong quá trình xác thực tài khoản. Vui lòng liên hệ IT xử lý và thử lại (116)' }); } let checkName = await helper.containsSpecialChars(AccountName, /[']/); let out = await service.bankValidationOTM(ApplicationId, BankNo, AccNo, AccountName, AccType, checkName ? 2 : 1); log.debug('Bank validation - out', out); if(out.success){ if(out.result == 'P' || out.result == 'R'){ if(out.result == 'R'){ await commonModels.insertRiskRulesLogs(ApplicationId, null, RISK_MESSAGE['700']['data']['701']); } return res.send({success: true, result: out.result, comment: out.result == 'R' ? 'UND:-SEPERATOR-Risk:' + RISK_MESSAGE['700']['data']['701']['sale_message'] : ''}); }else{ return res.send({success: true, result: out.result, comment: out.message}); } }else{ log.debug('Bank validation - error', out.message); return res.send({ success: false, result: null, comment: out.message }); } }catch(error){ log.error('Error bank valid - error', req.body, error); return res.send({ success: false, result: null, comment: error.hasOwnProperty('message') ? error.message : error }); } }