8b46c64538579614116662c057ed497670cc427a
[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 _0x6655=['`state`\x20=\x2016,\x201,\x20null','`state`\x20=\x2020,\x201,\x20null','outboundReCallsDay','campaign','ivrTotalCallsDays','ivrAnswerCallsDay','GetCampaignHopperHistory','lodash','ioredis','../../mysqldb','../../config/utils','jayson/promise','client','request','then','CmHopperHistory,\x20%s,\x20%s','request\x20sent','debug','CmHopperHistory,\x20%s,\x20%s,\x20%s','stringify','error','code','message','info','result','catch','CmHopperHistory','body','options','raw','CreateCmHopperHistory','AvgHandleTime','findAll','where','COUNT','sequelize','col','predictiveIntervalTotalCalls','literal','`state`\x20=\x204,\x201,\x20null','`state`\x20=\x2010,\x201,\x20null','`state`\x20=\x2011,\x201,\x20null','predictiveIntervalDroppedCallsCallersExit','`state`\x20=\x204,\x20`holdtime`,\x20null','`state`\x20=\x204,\x20`talktime`,\x20null','predictiveIntervalAvgTalktime','GetVoiceQueueHopperHistory','`state`\x20=\x200,\x201,\x20null','outboundNoSuchCallsDay','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','outboundDropCallsDayCallersExit','`state`\x20=\x2012,\x201,\x20null','outboundUnknownCallsDay','`state`\x20=\x2013,\x201,\x20null','outboundBlacklistCallsDay','`state`\x20=\x2014,\x201,\x20null','outboundOriginateFailureCallsDay','`state`\x20=\x2018,\x201,\x20null','outboundRejectCallsDay'];(function(_0x2dbe14,_0x4358a7){var _0x58d3a0=function(_0x441c64){while(--_0x441c64){_0x2dbe14['push'](_0x2dbe14['shift']());}};_0x58d3a0(++_0x4358a7);}(_0x6655,0x193));var _0x5665=function(_0x5272b2,_0x59f060){_0x5272b2=_0x5272b2-0x0;var _0x2ca6c5=_0x6655[_0x5272b2];return _0x2ca6c5;};'use strict';var _=require(_0x5665('0x0'));var util=require('util');var moment=require('moment');var BPromise=require('bluebird');var rs=require('randomstring');var fs=require('fs');var Redis=require(_0x5665('0x1'));var db=require(_0x5665('0x2'))['db'];var utils=require(_0x5665('0x3'));var logger=require('../../config/logger')('rpc');var config=require('../../config/environment');var jayson=require(_0x5665('0x4'));var client=jayson[_0x5665('0x5')]['http']({'port':0x232a});function respondWithRpcPromise(_0x187ad4,_0x1e0c75,_0x50b1f8){return new BPromise(function(_0x4950db,_0x146b33){return client[_0x5665('0x6')](_0x187ad4,_0x50b1f8)[_0x5665('0x7')](function(_0x378d0d){logger['info'](_0x5665('0x8'),_0x1e0c75,_0x5665('0x9'));logger[_0x5665('0xa')](_0x5665('0xb'),_0x1e0c75,_0x5665('0x9'),JSON[_0x5665('0xc')](_0x378d0d));if(_0x378d0d[_0x5665('0xd')]){if(_0x378d0d[_0x5665('0xd')][_0x5665('0xe')]===0x1f4){logger[_0x5665('0xd')]('CmHopperHistory,\x20%s,\x20%s',_0x1e0c75,_0x378d0d[_0x5665('0xd')][_0x5665('0xf')]);return _0x146b33(_0x378d0d['error'][_0x5665('0xf')]);}logger[_0x5665('0xd')](_0x5665('0x8'),_0x1e0c75,_0x378d0d[_0x5665('0xd')][_0x5665('0xf')]);return _0x4950db(_0x378d0d[_0x5665('0xd')][_0x5665('0xf')]);}else{logger[_0x5665('0x10')](_0x5665('0x8'),_0x1e0c75,_0x5665('0x9'));_0x4950db(_0x378d0d[_0x5665('0x11')][_0x5665('0xf')]);}})[_0x5665('0x12')](function(_0x715b91){logger[_0x5665('0xd')](_0x5665('0x8'),_0x1e0c75,_0x715b91);_0x146b33(_0x715b91);});});}exports['CreateCmHopperHistory']=function(_0x2e0e08){var _0x81ba48=this;return new Promise(function(_0xcc4368,_0x3e4f36){return db[_0x5665('0x13')]['create'](_0x2e0e08[_0x5665('0x14')],{'raw':_0x2e0e08[_0x5665('0x15')]?_0x2e0e08['options'][_0x5665('0x16')]===undefined?!![]:![]:!![]})['then'](function(_0x46e8f1){logger[_0x5665('0x10')](_0x5665('0x17'),_0x2e0e08);logger['debug'](_0x5665('0x17'),_0x2e0e08,JSON[_0x5665('0xc')](_0x46e8f1));_0xcc4368(_0x46e8f1);})[_0x5665('0x12')](function(_0x55d27e){logger[_0x5665('0xd')]('CreateCmHopperHistory',_0x55d27e[_0x5665('0xf')],_0x2e0e08);_0x3e4f36(_0x81ba48['error'](0x1f4,_0x55d27e[_0x5665('0xf')]));});});};exports[_0x5665('0x18')]=function(_0x3e5729){var _0x56318d=this;return new Promise(function(_0x2d3de7,_0x327c78){return db[_0x5665('0x13')][_0x5665('0x19')]({'raw':_0x3e5729[_0x5665('0x15')]?_0x3e5729[_0x5665('0x15')]['raw']===undefined?!![]:![]:!![],'where':_0x3e5729[_0x5665('0x15')]?_0x3e5729['options'][_0x5665('0x1a')]||null:null,'attributes':[[db['sequelize']['fn'](_0x5665('0x1b'),db[_0x5665('0x1c')][_0x5665('0x1d')]('id')),_0x5665('0x1e')],[db[_0x5665('0x1c')]['fn'](_0x5665('0x1b'),db['sequelize']['fn']('IF',db[_0x5665('0x1c')][_0x5665('0x1f')](_0x5665('0x20')))),'predictiveIntervalAnsweredCalls'],[db[_0x5665('0x1c')]['fn'](_0x5665('0x1b'),db[_0x5665('0x1c')]['fn']('IF',db[_0x5665('0x1c')]['literal'](_0x5665('0x21')))),'predictiveIntervalDroppedCallsTimeout'],[db[_0x5665('0x1c')]['fn'](_0x5665('0x1b'),db['sequelize']['fn']('IF',db['sequelize'][_0x5665('0x1f')](_0x5665('0x22')))),_0x5665('0x23')],[db[_0x5665('0x1c')]['fn']('AVG',db[_0x5665('0x1c')]['fn']('IF',db[_0x5665('0x1c')][_0x5665('0x1f')](_0x5665('0x24')))),'predictiveIntervalAvgHoldtime'],[db[_0x5665('0x1c')]['fn']('AVG',db[_0x5665('0x1c')]['fn']('IF',db[_0x5665('0x1c')][_0x5665('0x1f')](_0x5665('0x25')))),_0x5665('0x26')]]})[_0x5665('0x7')](function(_0xab3b50){logger[_0x5665('0x10')](_0x5665('0x18'),_0x3e5729);logger[_0x5665('0xa')](_0x5665('0x18'),_0x3e5729,JSON['stringify'](_0xab3b50));_0x2d3de7(_0xab3b50);})[_0x5665('0x12')](function(_0x242bd3){logger['error'](_0x5665('0x18'),_0x242bd3['message'],_0x3e5729);_0x327c78(_0x56318d[_0x5665('0xd')](0x1f4,_0x242bd3['message']));});});};exports[_0x5665('0x27')]=function(_0x46ab84){var _0x24d651=this;return new Promise(function(_0x2b3477,_0x55d980){return db[_0x5665('0x13')][_0x5665('0x19')]({'raw':_0x46ab84[_0x5665('0x15')]?_0x46ab84[_0x5665('0x15')][_0x5665('0x16')]===undefined?!![]:![]:!![],'where':_0x46ab84[_0x5665('0x15')]?_0x46ab84['options'][_0x5665('0x1a')]||null:null,'attributes':[['campaign','name'],[db['sequelize']['fn'](_0x5665('0x1b'),db['sequelize']['fn']('IF',db[_0x5665('0x1c')][_0x5665('0x1f')](_0x5665('0x28')))),_0x5665('0x29')],[db[_0x5665('0x1c')]['fn'](_0x5665('0x1b'),db[_0x5665('0x1c')]['fn']('IF',db[_0x5665('0x1c')][_0x5665('0x1f')]('`state`\x20=\x203,\x201,\x20null'))),'outboundNoAnswerCallsDay'],[db[_0x5665('0x1c')]['fn'](_0x5665('0x1b'),db[_0x5665('0x1c')]['fn']('IF',db[_0x5665('0x1c')][_0x5665('0x1f')](_0x5665('0x20')))),_0x5665('0x2a')],[db[_0x5665('0x1c')]['fn']('COUNT',db[_0x5665('0x1c')]['fn']('IF',db[_0x5665('0x1c')][_0x5665('0x1f')](_0x5665('0x2b')))),_0x5665('0x2c')],[db[_0x5665('0x1c')]['fn']('COUNT',db['sequelize']['fn']('IF',db[_0x5665('0x1c')][_0x5665('0x1f')](_0x5665('0x2d')))),_0x5665('0x2e')],[db[_0x5665('0x1c')]['fn'](_0x5665('0x1b'),db[_0x5665('0x1c')]['fn']('IF',db[_0x5665('0x1c')][_0x5665('0x1f')](_0x5665('0x2f')))),_0x5665('0x30')],[db[_0x5665('0x1c')]['fn']('COUNT',db[_0x5665('0x1c')]['fn']('IF',db[_0x5665('0x1c')][_0x5665('0x1f')](_0x5665('0x31')))),_0x5665('0x32')],[db['sequelize']['fn'](_0x5665('0x1b'),db['sequelize']['fn']('IF',db['sequelize'][_0x5665('0x1f')](_0x5665('0x33')))),_0x5665('0x34')],[db['sequelize']['fn'](_0x5665('0x1b'),db[_0x5665('0x1c')]['fn']('IF',db[_0x5665('0x1c')]['literal'](_0x5665('0x35')))),_0x5665('0x36')],[db[_0x5665('0x1c')]['fn'](_0x5665('0x1b'),db['sequelize']['fn']('IF',db[_0x5665('0x1c')]['literal'](_0x5665('0x37')))),_0x5665('0x38')],[db[_0x5665('0x1c')]['fn']('COUNT',db['sequelize']['fn']('IF',db[_0x5665('0x1c')][_0x5665('0x1f')](_0x5665('0x39')))),_0x5665('0x3a')],[db[_0x5665('0x1c')]['fn'](_0x5665('0x1b'),db[_0x5665('0x1c')]['fn']('IF',db['sequelize'][_0x5665('0x1f')](_0x5665('0x3b')))),'outboundAnswerAgiCallsDay'],[db[_0x5665('0x1c')]['fn'](_0x5665('0x1b'),db[_0x5665('0x1c')]['fn']('IF',db[_0x5665('0x1c')][_0x5665('0x1f')](_0x5665('0x3c')))),'outboundRejectCallsDay'],[db['sequelize']['fn']('COUNT',db['sequelize']['fn']('IF',db[_0x5665('0x1c')][_0x5665('0x1f')]('`state`\x20=\x2022\x20or\x20`state`\x20=\x2023,\x201,\x20null'))),_0x5665('0x3d')]],'group':[_0x5665('0x3e')]})[_0x5665('0x7')](function(_0x4b5526){logger['info'](_0x5665('0x27'),_0x46ab84);logger[_0x5665('0xa')](_0x5665('0x27'),_0x46ab84,JSON[_0x5665('0xc')](_0x4b5526));_0x2b3477(_0x4b5526);})['catch'](function(_0x3e663f){logger[_0x5665('0xd')]('GetVoiceQueueHopperHistory',_0x3e663f['message'],_0x46ab84);_0x55d980(_0x24d651[_0x5665('0xd')](0x1f4,_0x3e663f[_0x5665('0xf')]));});});};exports['GetCampaignHopperHistory']=function(_0x2da286){var _0xb88df4=this;return new Promise(function(_0x4d85ea,_0x55dd8a){return db[_0x5665('0x13')]['findAll']({'raw':_0x2da286[_0x5665('0x15')]?_0x2da286[_0x5665('0x15')]['raw']===undefined?!![]:![]:!![],'where':_0x2da286['options']?_0x2da286[_0x5665('0x15')]['where']||null:null,'attributes':[[_0x5665('0x3e'),'name'],[db[_0x5665('0x1c')]['fn'](_0x5665('0x1b'),db['sequelize'][_0x5665('0x1d')]('id')),_0x5665('0x3f')],[db[_0x5665('0x1c')]['fn']('COUNT',db[_0x5665('0x1c')]['fn']('IF',db[_0x5665('0x1c')][_0x5665('0x1f')](_0x5665('0x20')))),_0x5665('0x40')]],'group':['campaign']})[_0x5665('0x7')](function(_0x1ba039){logger[_0x5665('0x10')](_0x5665('0x41'),_0x2da286);logger[_0x5665('0xa')](_0x5665('0x41'),_0x2da286,JSON['stringify'](_0x1ba039));_0x4d85ea(_0x1ba039);})['catch'](function(_0x16775b){logger[_0x5665('0xd')]('GetCampaignHopperHistory',_0x16775b['message'],_0x2da286);_0x55dd8a(_0xb88df4['error'](0x1f4,_0x16775b[_0x5665('0xf')]));});});};