Built motion from commit da24aabd.|2.6.20
[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 _0x0713=['outboundCongestionCallsDay','`state`\x20=\x2010\x20,\x201,\x20null','`state`\x20=\x2011\x20,\x201,\x20null','`state`\x20=\x2012,\x201,\x20null','`state`\x20=\x2013,\x201,\x20null','`state`\x20=\x2014,\x201,\x20null','`state`\x20=\x2018,\x201,\x20null','outboundRejectCallsDay','outboundAnswerAgiCallsDay','`state`\x20=\x2020,\x201,\x20null','`state`\x20=\x2022\x20or\x20`state`\x20=\x2023,\x201,\x20null','outboundReCallsDay','campaign','GetVoiceQueueHopperHistory','GetCampaignHopperHistory','ivrAnswerCallsDay','moment','bluebird','randomstring','ioredis','../../mysqldb','../../config/logger','rpc','../../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','CreateCmHopperHistory','CmHopperHistory','create','body','options','raw','AvgHandleTime','findAll','where','COUNT','sequelize','col','predictiveIntervalTotalCalls','literal','`state`\x20=\x204,\x201,\x20null','predictiveIntervalAnsweredCalls','`state`\x20=\x2010,\x201,\x20null','predictiveIntervalDroppedCallsTimeout','predictiveIntervalDroppedCallsCallersExit','`state`\x20=\x204,\x20`holdtime`,\x20null','AVG','`state`\x20=\x204,\x20`talktime`,\x20null','predictiveIntervalAvgTalktime','name','`state`\x20=\x200,\x201,\x20null','outboundNoSuchCallsDay','`state`\x20=\x203,\x201,\x20null','outboundNoAnswerCallsDay','outboundAnswerCallsDay','outboundBusyCallsDay','`state`\x20=\x208,\x201,\x20null'];(function(_0x466eb5,_0x4e156a){var _0x4def19=function(_0x5b145e){while(--_0x5b145e){_0x466eb5['push'](_0x466eb5['shift']());}};_0x4def19(++_0x4e156a);}(_0x0713,0x1ba));var _0x3071=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x0713[_0x3dd15e];return _0x231fd0;};'use strict';var _=require('lodash');var util=require('util');var moment=require(_0x3071('0x0'));var BPromise=require(_0x3071('0x1'));var rs=require(_0x3071('0x2'));var fs=require('fs');var Redis=require(_0x3071('0x3'));var db=require(_0x3071('0x4'))['db'];var utils=require('../../config/utils');var logger=require(_0x3071('0x5'))(_0x3071('0x6'));var config=require(_0x3071('0x7'));var jayson=require(_0x3071('0x8'));var client=jayson[_0x3071('0x9')][_0x3071('0xa')]({'port':0x232a});function respondWithRpcPromise(_0x1d3dd6,_0x2f1e87,_0xbd737f){return new BPromise(function(_0x22274c,_0x3e9a5e){return client[_0x3071('0xb')](_0x1d3dd6,_0xbd737f)[_0x3071('0xc')](function(_0x4a36ec){logger[_0x3071('0xd')](_0x3071('0xe'),_0x2f1e87,_0x3071('0xf'));logger[_0x3071('0x10')](_0x3071('0x11'),_0x2f1e87,'request\x20sent',JSON[_0x3071('0x12')](_0x4a36ec));if(_0x4a36ec[_0x3071('0x13')]){if(_0x4a36ec[_0x3071('0x13')][_0x3071('0x14')]===0x1f4){logger[_0x3071('0x13')]('CmHopperHistory,\x20%s,\x20%s',_0x2f1e87,_0x4a36ec['error'][_0x3071('0x15')]);return _0x3e9a5e(_0x4a36ec['error'][_0x3071('0x15')]);}logger[_0x3071('0x13')]('CmHopperHistory,\x20%s,\x20%s',_0x2f1e87,_0x4a36ec[_0x3071('0x13')]['message']);return _0x22274c(_0x4a36ec[_0x3071('0x13')][_0x3071('0x15')]);}else{logger[_0x3071('0xd')](_0x3071('0xe'),_0x2f1e87,_0x3071('0xf'));_0x22274c(_0x4a36ec[_0x3071('0x16')][_0x3071('0x15')]);}})[_0x3071('0x17')](function(_0x21aad3){logger[_0x3071('0x13')]('CmHopperHistory,\x20%s,\x20%s',_0x2f1e87,_0x21aad3);_0x3e9a5e(_0x21aad3);});});}exports[_0x3071('0x18')]=function(_0x17dbda){var _0x1068d9=this;return new Promise(function(_0x108a83,_0x3acf0e){return db[_0x3071('0x19')][_0x3071('0x1a')](_0x17dbda[_0x3071('0x1b')],{'raw':_0x17dbda['options']?_0x17dbda[_0x3071('0x1c')][_0x3071('0x1d')]===undefined?!![]:![]:!![]})[_0x3071('0xc')](function(_0x56c267){logger[_0x3071('0xd')]('CreateCmHopperHistory',_0x17dbda);logger[_0x3071('0x10')](_0x3071('0x18'),_0x17dbda,JSON[_0x3071('0x12')](_0x56c267));_0x108a83(_0x56c267);})[_0x3071('0x17')](function(_0x33090c){logger[_0x3071('0x13')](_0x3071('0x18'),_0x33090c[_0x3071('0x15')],_0x17dbda);_0x3acf0e(_0x1068d9['error'](0x1f4,_0x33090c['message']));});});};exports[_0x3071('0x1e')]=function(_0xb05b1d){var _0x412652=this;return new Promise(function(_0x13df9f,_0x2793ef){return db[_0x3071('0x19')][_0x3071('0x1f')]({'raw':_0xb05b1d[_0x3071('0x1c')]?_0xb05b1d[_0x3071('0x1c')]['raw']===undefined?!![]:![]:!![],'where':_0xb05b1d[_0x3071('0x1c')]?_0xb05b1d[_0x3071('0x1c')][_0x3071('0x20')]||null:null,'attributes':[[db['sequelize']['fn'](_0x3071('0x21'),db[_0x3071('0x22')][_0x3071('0x23')]('id')),_0x3071('0x24')],[db[_0x3071('0x22')]['fn'](_0x3071('0x21'),db[_0x3071('0x22')]['fn']('IF',db[_0x3071('0x22')][_0x3071('0x25')](_0x3071('0x26')))),_0x3071('0x27')],[db['sequelize']['fn']('COUNT',db[_0x3071('0x22')]['fn']('IF',db[_0x3071('0x22')][_0x3071('0x25')](_0x3071('0x28')))),_0x3071('0x29')],[db[_0x3071('0x22')]['fn'](_0x3071('0x21'),db[_0x3071('0x22')]['fn']('IF',db['sequelize']['literal']('`state`\x20=\x2011,\x201,\x20null'))),_0x3071('0x2a')],[db[_0x3071('0x22')]['fn']('AVG',db[_0x3071('0x22')]['fn']('IF',db[_0x3071('0x22')][_0x3071('0x25')](_0x3071('0x2b')))),'predictiveIntervalAvgHoldtime'],[db[_0x3071('0x22')]['fn'](_0x3071('0x2c'),db[_0x3071('0x22')]['fn']('IF',db[_0x3071('0x22')][_0x3071('0x25')](_0x3071('0x2d')))),_0x3071('0x2e')]]})[_0x3071('0xc')](function(_0x596cc3){logger[_0x3071('0xd')]('AvgHandleTime',_0xb05b1d);logger['debug'](_0x3071('0x1e'),_0xb05b1d,JSON[_0x3071('0x12')](_0x596cc3));_0x13df9f(_0x596cc3);})['catch'](function(_0x2e85c8){logger[_0x3071('0x13')](_0x3071('0x1e'),_0x2e85c8[_0x3071('0x15')],_0xb05b1d);_0x2793ef(_0x412652[_0x3071('0x13')](0x1f4,_0x2e85c8[_0x3071('0x15')]));});});};exports['GetVoiceQueueHopperHistory']=function(_0x36afdc){var _0xd7971f=this;return new Promise(function(_0x4ce6d4,_0x44ad05){return db['CmHopperHistory'][_0x3071('0x1f')]({'raw':_0x36afdc[_0x3071('0x1c')]?_0x36afdc['options']['raw']===undefined?!![]:![]:!![],'where':_0x36afdc[_0x3071('0x1c')]?_0x36afdc[_0x3071('0x1c')][_0x3071('0x20')]||null:null,'attributes':[['campaign',_0x3071('0x2f')],[db['sequelize']['fn'](_0x3071('0x21'),db['sequelize']['fn']('IF',db[_0x3071('0x22')][_0x3071('0x25')](_0x3071('0x30')))),_0x3071('0x31')],[db[_0x3071('0x22')]['fn']('COUNT',db['sequelize']['fn']('IF',db[_0x3071('0x22')][_0x3071('0x25')](_0x3071('0x32')))),_0x3071('0x33')],[db['sequelize']['fn'](_0x3071('0x21'),db[_0x3071('0x22')]['fn']('IF',db[_0x3071('0x22')][_0x3071('0x25')](_0x3071('0x26')))),_0x3071('0x34')],[db['sequelize']['fn'](_0x3071('0x21'),db['sequelize']['fn']('IF',db['sequelize']['literal']('`state`\x20=\x205,\x201,\x20null'))),_0x3071('0x35')],[db[_0x3071('0x22')]['fn'](_0x3071('0x21'),db[_0x3071('0x22')]['fn']('IF',db[_0x3071('0x22')][_0x3071('0x25')](_0x3071('0x36')))),_0x3071('0x37')],[db['sequelize']['fn'](_0x3071('0x21'),db[_0x3071('0x22')]['fn']('IF',db[_0x3071('0x22')][_0x3071('0x25')](_0x3071('0x38')))),'outboundDropCallsDayTimeout'],[db['sequelize']['fn'](_0x3071('0x21'),db[_0x3071('0x22')]['fn']('IF',db[_0x3071('0x22')][_0x3071('0x25')](_0x3071('0x39')))),'outboundDropCallsDayCallersExit'],[db[_0x3071('0x22')]['fn']('COUNT',db[_0x3071('0x22')]['fn']('IF',db['sequelize']['literal'](_0x3071('0x3a')))),'outboundUnknownCallsDay'],[db[_0x3071('0x22')]['fn']('COUNT',db[_0x3071('0x22')]['fn']('IF',db[_0x3071('0x22')][_0x3071('0x25')](_0x3071('0x3b')))),'outboundBlacklistCallsDay'],[db[_0x3071('0x22')]['fn']('COUNT',db[_0x3071('0x22')]['fn']('IF',db['sequelize'][_0x3071('0x25')](_0x3071('0x3c')))),'outboundOriginateFailureCallsDay'],[db[_0x3071('0x22')]['fn'](_0x3071('0x21'),db[_0x3071('0x22')]['fn']('IF',db[_0x3071('0x22')][_0x3071('0x25')](_0x3071('0x3d')))),_0x3071('0x3e')],[db['sequelize']['fn'](_0x3071('0x21'),db[_0x3071('0x22')]['fn']('IF',db[_0x3071('0x22')][_0x3071('0x25')]('`state`\x20=\x2016,\x201,\x20null'))),_0x3071('0x3f')],[db[_0x3071('0x22')]['fn'](_0x3071('0x21'),db[_0x3071('0x22')]['fn']('IF',db[_0x3071('0x22')][_0x3071('0x25')](_0x3071('0x40')))),_0x3071('0x3e')],[db[_0x3071('0x22')]['fn'](_0x3071('0x21'),db[_0x3071('0x22')]['fn']('IF',db[_0x3071('0x22')][_0x3071('0x25')](_0x3071('0x41')))),_0x3071('0x42')]],'group':[_0x3071('0x43')]})['then'](function(_0x47a438){logger[_0x3071('0xd')]('GetVoiceQueueHopperHistory',_0x36afdc);logger[_0x3071('0x10')](_0x3071('0x44'),_0x36afdc,JSON[_0x3071('0x12')](_0x47a438));_0x4ce6d4(_0x47a438);})['catch'](function(_0x1ec428){logger[_0x3071('0x13')]('GetVoiceQueueHopperHistory',_0x1ec428['message'],_0x36afdc);_0x44ad05(_0xd7971f[_0x3071('0x13')](0x1f4,_0x1ec428[_0x3071('0x15')]));});});};exports[_0x3071('0x45')]=function(_0x3206c3){var _0x49877e=this;return new Promise(function(_0x43fa57,_0xeae1f){return db[_0x3071('0x19')][_0x3071('0x1f')]({'raw':_0x3206c3[_0x3071('0x1c')]?_0x3206c3['options'][_0x3071('0x1d')]===undefined?!![]:![]:!![],'where':_0x3206c3[_0x3071('0x1c')]?_0x3206c3[_0x3071('0x1c')][_0x3071('0x20')]||null:null,'attributes':[[_0x3071('0x43'),_0x3071('0x2f')],[db[_0x3071('0x22')]['fn']('COUNT',db['sequelize'][_0x3071('0x23')]('id')),'ivrTotalCallsDays'],[db[_0x3071('0x22')]['fn'](_0x3071('0x21'),db['sequelize']['fn']('IF',db[_0x3071('0x22')][_0x3071('0x25')]('`state`\x20=\x204,\x201,\x20null'))),_0x3071('0x46')]],'group':[_0x3071('0x43')]})[_0x3071('0xc')](function(_0x6e96c7){logger[_0x3071('0xd')]('GetCampaignHopperHistory',_0x3206c3);logger[_0x3071('0x10')](_0x3071('0x45'),_0x3206c3,JSON[_0x3071('0x12')](_0x6e96c7));_0x43fa57(_0x6e96c7);})['catch'](function(_0x1b0f81){logger[_0x3071('0x13')](_0x3071('0x45'),_0x1b0f81[_0x3071('0x15')],_0x3206c3);_0xeae1f(_0x49877e[_0x3071('0x13')](0x1f4,_0x1b0f81[_0x3071('0x15')]));});});};