183dfa85dec8f10f83f4a7154c1321b740403d63
[motion2.git] / server / api / cmHopperHistory / cmHopperHistory.rpc.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x117d=['predictiveIntervalDroppedCallsTimeout','predictiveIntervalDroppedCallsCallersExit','AVG','`state`\x20=\x204,\x20`holdtime`,\x20null','`state`\x20=\x204,\x20`talktime`,\x20null','predictiveIntervalAvgTalktime','GetVoiceQueueHopperHistory','where','campaign','name','`state`\x20=\x200,\x201,\x20null','outboundNoSuchCallsDay','`state`\x20=\x203,\x201,\x20null','outboundAnswerCallsDay','`state`\x20=\x205,\x201,\x20null','outboundBusyCallsDay','`state`\x20=\x208,\x201,\x20null','outboundCongestionCallsDay','`state`\x20=\x2010\x20,\x201,\x20null','outboundDropCallsDayTimeout','`state`\x20=\x2011\x20,\x201,\x20null','`state`\x20=\x2012,\x201,\x20null','`state`\x20=\x2013,\x201,\x20null','outboundOriginateFailureCallsDay','`state`\x20=\x2018,\x201,\x20null','outboundRejectCallsDay','`state`\x20=\x2016,\x201,\x20null','outboundAnswerAgiCallsDay','`state`\x20=\x2022\x20or\x20`state`\x20=\x2023,\x201,\x20null','outboundReCallsDay','GetCampaignHopperHistory','ivrTotalCallsDays','lodash','util','moment','randomstring','ioredis','../../mysqldb','../../config/utils','../../config/logger','../../config/environment','jayson/promise','client','http','request','then','info','CmHopperHistory,\x20%s,\x20%s','request\x20sent','debug','CmHopperHistory,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','CmHopperHistory','create','options','raw','CreateCmHopperHistory','AvgHandleTime','findAll','sequelize','col','literal','`state`\x20=\x204,\x201,\x20null','predictiveIntervalAnsweredCalls','COUNT'];(function(_0x50f392,_0x1d8441){var _0x5926f2=function(_0x17df32){while(--_0x17df32){_0x50f392['push'](_0x50f392['shift']());}};_0x5926f2(++_0x1d8441);}(_0x117d,0xac));var _0xd117=function(_0xcfe8cc,_0xb83aeb){_0xcfe8cc=_0xcfe8cc-0x0;var _0x55ac53=_0x117d[_0xcfe8cc];return _0x55ac53;};'use strict';var _=require(_0xd117('0x0'));var util=require(_0xd117('0x1'));var moment=require(_0xd117('0x2'));var BPromise=require('bluebird');var rs=require(_0xd117('0x3'));var fs=require('fs');var Redis=require(_0xd117('0x4'));var db=require(_0xd117('0x5'))['db'];var utils=require(_0xd117('0x6'));var logger=require(_0xd117('0x7'))('rpc');var config=require(_0xd117('0x8'));var jayson=require(_0xd117('0x9'));var client=jayson[_0xd117('0xa')][_0xd117('0xb')]({'port':0x232a});function respondWithRpcPromise(_0x494fcd,_0x52b4e1,_0x1d9c22){return new BPromise(function(_0x38334e,_0x28a7dd){return client[_0xd117('0xc')](_0x494fcd,_0x1d9c22)[_0xd117('0xd')](function(_0x142e66){logger[_0xd117('0xe')](_0xd117('0xf'),_0x52b4e1,_0xd117('0x10'));logger[_0xd117('0x11')](_0xd117('0x12'),_0x52b4e1,_0xd117('0x10'),JSON[_0xd117('0x13')](_0x142e66));if(_0x142e66['error']){if(_0x142e66[_0xd117('0x14')][_0xd117('0x15')]===0x1f4){logger[_0xd117('0x14')](_0xd117('0xf'),_0x52b4e1,_0x142e66[_0xd117('0x14')]['message']);return _0x28a7dd(_0x142e66['error'][_0xd117('0x16')]);}logger['error'](_0xd117('0xf'),_0x52b4e1,_0x142e66[_0xd117('0x14')][_0xd117('0x16')]);return _0x38334e(_0x142e66['error'][_0xd117('0x16')]);}else{logger[_0xd117('0xe')](_0xd117('0xf'),_0x52b4e1,'request\x20sent');_0x38334e(_0x142e66[_0xd117('0x17')]['message']);}})[_0xd117('0x18')](function(_0x5b623b){logger[_0xd117('0x14')]('CmHopperHistory,\x20%s,\x20%s',_0x52b4e1,_0x5b623b);_0x28a7dd(_0x5b623b);});});}exports['CreateCmHopperHistory']=function(_0x14624b){var _0x1acca6=this;return new Promise(function(_0x2a83c7,_0x163cc5){return db[_0xd117('0x19')][_0xd117('0x1a')](_0x14624b['body'],{'raw':_0x14624b[_0xd117('0x1b')]?_0x14624b[_0xd117('0x1b')][_0xd117('0x1c')]===undefined?!![]:![]:!![]})[_0xd117('0xd')](function(_0x409fa7){logger[_0xd117('0xe')](_0xd117('0x1d'),_0x14624b);logger[_0xd117('0x11')](_0xd117('0x1d'),_0x14624b,JSON[_0xd117('0x13')](_0x409fa7));_0x2a83c7(_0x409fa7);})[_0xd117('0x18')](function(_0x34b994){logger[_0xd117('0x14')](_0xd117('0x1d'),_0x34b994['message'],_0x14624b);_0x163cc5(_0x1acca6[_0xd117('0x14')](0x1f4,_0x34b994['message']));});});};exports[_0xd117('0x1e')]=function(_0x59cbb5){var _0x166b98=this;return new Promise(function(_0x2a4a0d,_0x9c51ec){return db[_0xd117('0x19')][_0xd117('0x1f')]({'raw':_0x59cbb5[_0xd117('0x1b')]?_0x59cbb5['options']['raw']===undefined?!![]:![]:!![],'where':_0x59cbb5[_0xd117('0x1b')]?_0x59cbb5['options']['where']||null:null,'attributes':[[db[_0xd117('0x20')]['fn']('COUNT',db['sequelize'][_0xd117('0x21')]('id')),'predictiveIntervalTotalCalls'],[db[_0xd117('0x20')]['fn']('COUNT',db['sequelize']['fn']('IF',db[_0xd117('0x20')][_0xd117('0x22')](_0xd117('0x23')))),_0xd117('0x24')],[db[_0xd117('0x20')]['fn'](_0xd117('0x25'),db[_0xd117('0x20')]['fn']('IF',db[_0xd117('0x20')][_0xd117('0x22')]('`state`\x20=\x2010,\x201,\x20null'))),_0xd117('0x26')],[db['sequelize']['fn'](_0xd117('0x25'),db[_0xd117('0x20')]['fn']('IF',db['sequelize']['literal']('`state`\x20=\x2011,\x201,\x20null'))),_0xd117('0x27')],[db[_0xd117('0x20')]['fn'](_0xd117('0x28'),db[_0xd117('0x20')]['fn']('IF',db[_0xd117('0x20')][_0xd117('0x22')](_0xd117('0x29')))),'predictiveIntervalAvgHoldtime'],[db['sequelize']['fn'](_0xd117('0x28'),db[_0xd117('0x20')]['fn']('IF',db[_0xd117('0x20')][_0xd117('0x22')](_0xd117('0x2a')))),_0xd117('0x2b')]]})['then'](function(_0x381e99){logger[_0xd117('0xe')](_0xd117('0x1e'),_0x59cbb5);logger[_0xd117('0x11')](_0xd117('0x1e'),_0x59cbb5,JSON[_0xd117('0x13')](_0x381e99));_0x2a4a0d(_0x381e99);})[_0xd117('0x18')](function(_0x6524c7){logger[_0xd117('0x14')]('AvgHandleTime',_0x6524c7[_0xd117('0x16')],_0x59cbb5);_0x9c51ec(_0x166b98[_0xd117('0x14')](0x1f4,_0x6524c7[_0xd117('0x16')]));});});};exports[_0xd117('0x2c')]=function(_0x22e60f){var _0x30ae7d=this;return new Promise(function(_0x1518ce,_0x2084b8){return db[_0xd117('0x19')][_0xd117('0x1f')]({'raw':_0x22e60f[_0xd117('0x1b')]?_0x22e60f[_0xd117('0x1b')][_0xd117('0x1c')]===undefined?!![]:![]:!![],'where':_0x22e60f['options']?_0x22e60f[_0xd117('0x1b')][_0xd117('0x2d')]||null:null,'attributes':[[_0xd117('0x2e'),_0xd117('0x2f')],[db[_0xd117('0x20')]['fn'](_0xd117('0x25'),db[_0xd117('0x20')]['fn']('IF',db['sequelize']['literal'](_0xd117('0x30')))),_0xd117('0x31')],[db['sequelize']['fn'](_0xd117('0x25'),db[_0xd117('0x20')]['fn']('IF',db[_0xd117('0x20')]['literal'](_0xd117('0x32')))),'outboundNoAnswerCallsDay'],[db[_0xd117('0x20')]['fn'](_0xd117('0x25'),db['sequelize']['fn']('IF',db[_0xd117('0x20')][_0xd117('0x22')](_0xd117('0x23')))),_0xd117('0x33')],[db['sequelize']['fn'](_0xd117('0x25'),db[_0xd117('0x20')]['fn']('IF',db[_0xd117('0x20')][_0xd117('0x22')](_0xd117('0x34')))),_0xd117('0x35')],[db[_0xd117('0x20')]['fn'](_0xd117('0x25'),db['sequelize']['fn']('IF',db[_0xd117('0x20')][_0xd117('0x22')](_0xd117('0x36')))),_0xd117('0x37')],[db['sequelize']['fn'](_0xd117('0x25'),db[_0xd117('0x20')]['fn']('IF',db[_0xd117('0x20')]['literal'](_0xd117('0x38')))),_0xd117('0x39')],[db['sequelize']['fn']('COUNT',db['sequelize']['fn']('IF',db[_0xd117('0x20')][_0xd117('0x22')](_0xd117('0x3a')))),'outboundDropCallsDayCallersExit'],[db[_0xd117('0x20')]['fn'](_0xd117('0x25'),db[_0xd117('0x20')]['fn']('IF',db[_0xd117('0x20')][_0xd117('0x22')](_0xd117('0x3b')))),'outboundUnknownCallsDay'],[db[_0xd117('0x20')]['fn'](_0xd117('0x25'),db['sequelize']['fn']('IF',db['sequelize'][_0xd117('0x22')](_0xd117('0x3c')))),'outboundBlacklistCallsDay'],[db[_0xd117('0x20')]['fn'](_0xd117('0x25'),db[_0xd117('0x20')]['fn']('IF',db[_0xd117('0x20')][_0xd117('0x22')]('`state`\x20=\x2014,\x201,\x20null'))),_0xd117('0x3d')],[db[_0xd117('0x20')]['fn'](_0xd117('0x25'),db[_0xd117('0x20')]['fn']('IF',db[_0xd117('0x20')][_0xd117('0x22')](_0xd117('0x3e')))),_0xd117('0x3f')],[db[_0xd117('0x20')]['fn']('COUNT',db[_0xd117('0x20')]['fn']('IF',db[_0xd117('0x20')]['literal'](_0xd117('0x40')))),_0xd117('0x41')],[db[_0xd117('0x20')]['fn'](_0xd117('0x25'),db[_0xd117('0x20')]['fn']('IF',db[_0xd117('0x20')][_0xd117('0x22')]('`state`\x20=\x2020,\x201,\x20null'))),'outboundRejectCallsDay'],[db[_0xd117('0x20')]['fn'](_0xd117('0x25'),db['sequelize']['fn']('IF',db['sequelize']['literal'](_0xd117('0x42')))),_0xd117('0x43')]],'group':[_0xd117('0x2e')]})[_0xd117('0xd')](function(_0xdcc468){logger[_0xd117('0xe')](_0xd117('0x2c'),_0x22e60f);logger['debug'](_0xd117('0x2c'),_0x22e60f,JSON['stringify'](_0xdcc468));_0x1518ce(_0xdcc468);})['catch'](function(_0x3c3f57){logger[_0xd117('0x14')](_0xd117('0x2c'),_0x3c3f57[_0xd117('0x16')],_0x22e60f);_0x2084b8(_0x30ae7d[_0xd117('0x14')](0x1f4,_0x3c3f57[_0xd117('0x16')]));});});};exports[_0xd117('0x44')]=function(_0x6bc132){var _0x5d6881=this;return new Promise(function(_0x3e16f4,_0x37679f){return db[_0xd117('0x19')]['findAll']({'raw':_0x6bc132[_0xd117('0x1b')]?_0x6bc132['options'][_0xd117('0x1c')]===undefined?!![]:![]:!![],'where':_0x6bc132[_0xd117('0x1b')]?_0x6bc132[_0xd117('0x1b')]['where']||null:null,'attributes':[[_0xd117('0x2e'),'name'],[db[_0xd117('0x20')]['fn'](_0xd117('0x25'),db[_0xd117('0x20')]['col']('id')),_0xd117('0x45')],[db[_0xd117('0x20')]['fn']('COUNT',db[_0xd117('0x20')]['fn']('IF',db['sequelize'][_0xd117('0x22')](_0xd117('0x23')))),'ivrAnswerCallsDay']],'group':[_0xd117('0x2e')]})[_0xd117('0xd')](function(_0x1c1820){logger[_0xd117('0xe')](_0xd117('0x44'),_0x6bc132);logger['debug']('GetCampaignHopperHistory',_0x6bc132,JSON[_0xd117('0x13')](_0x1c1820));_0x3e16f4(_0x1c1820);})[_0xd117('0x18')](function(_0x3279e4){logger['error'](_0xd117('0x44'),_0x3279e4[_0xd117('0x16')],_0x6bc132);_0x37679f(_0x5d6881[_0xd117('0x14')](0x1f4,_0x3279e4[_0xd117('0x16')]));});});};