87cf510ae3d463e2f4438c5d5f136da8a71e7e25
[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 _0xba47=['predictiveIntervalAvgHoldtime','AVG','GetVoiceQueueHopperHistory','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','outboundDropCallsDayTimeout','`state`\x20=\x2011\x20,\x201,\x20null','outboundDropCallsDayCallersExit','`state`\x20=\x2012,\x201,\x20null','`state`\x20=\x2013,\x201,\x20null','`state`\x20=\x2014,\x201,\x20null','outboundOriginateFailureCallsDay','outboundAnswerAgiCallsDay','`state`\x20=\x2020,\x201,\x20null','outboundRejectCallsDay','outboundReCallsDay','campaign','GetCampaignHopperHistory','ivrTotalCallsDays','lodash','util','moment','randomstring','ioredis','../../mysqldb','../../config/utils','rpc','../../config/environment','http','request','then','CmHopperHistory,\x20%s,\x20%s','debug','CmHopperHistory,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','info','catch','CreateCmHopperHistory','CmHopperHistory','options','AvgHandleTime','findAll','raw','where','col','predictiveIntervalTotalCalls','sequelize','COUNT','literal','`state`\x20=\x204,\x201,\x20null','predictiveIntervalAnsweredCalls','`state`\x20=\x2010,\x201,\x20null','predictiveIntervalDroppedCallsTimeout','`state`\x20=\x2011,\x201,\x20null','predictiveIntervalDroppedCallsCallersExit','`state`\x20=\x204,\x20`holdtime`,\x20null'];(function(_0x3bf83f,_0x181cac){var _0x22c4a9=function(_0xb3ff0d){while(--_0xb3ff0d){_0x3bf83f['push'](_0x3bf83f['shift']());}};_0x22c4a9(++_0x181cac);}(_0xba47,0x1ac));var _0x7ba4=function(_0x148d39,_0x72b7e2){_0x148d39=_0x148d39-0x0;var _0x16a836=_0xba47[_0x148d39];return _0x16a836;};'use strict';var _=require(_0x7ba4('0x0'));var util=require(_0x7ba4('0x1'));var moment=require(_0x7ba4('0x2'));var BPromise=require('bluebird');var rs=require(_0x7ba4('0x3'));var fs=require('fs');var Redis=require(_0x7ba4('0x4'));var db=require(_0x7ba4('0x5'))['db'];var utils=require(_0x7ba4('0x6'));var logger=require('../../config/logger')(_0x7ba4('0x7'));var config=require(_0x7ba4('0x8'));var jayson=require('jayson/promise');var client=jayson['client'][_0x7ba4('0x9')]({'port':0x232a});function respondWithRpcPromise(_0x11ea18,_0x932508,_0x227abe){return new BPromise(function(_0x7963fa,_0x380790){return client[_0x7ba4('0xa')](_0x11ea18,_0x227abe)[_0x7ba4('0xb')](function(_0x48456d){logger['info'](_0x7ba4('0xc'),_0x932508,'request\x20sent');logger[_0x7ba4('0xd')](_0x7ba4('0xe'),_0x932508,_0x7ba4('0xf'),JSON[_0x7ba4('0x10')](_0x48456d));if(_0x48456d['error']){if(_0x48456d[_0x7ba4('0x11')][_0x7ba4('0x12')]===0x1f4){logger['error'](_0x7ba4('0xc'),_0x932508,_0x48456d[_0x7ba4('0x11')][_0x7ba4('0x13')]);return _0x380790(_0x48456d['error'][_0x7ba4('0x13')]);}logger[_0x7ba4('0x11')](_0x7ba4('0xc'),_0x932508,_0x48456d[_0x7ba4('0x11')][_0x7ba4('0x13')]);return _0x7963fa(_0x48456d[_0x7ba4('0x11')][_0x7ba4('0x13')]);}else{logger[_0x7ba4('0x14')](_0x7ba4('0xc'),_0x932508,'request\x20sent');_0x7963fa(_0x48456d['result'][_0x7ba4('0x13')]);}})[_0x7ba4('0x15')](function(_0x53c7b2){logger[_0x7ba4('0x11')](_0x7ba4('0xc'),_0x932508,_0x53c7b2);_0x380790(_0x53c7b2);});});}exports[_0x7ba4('0x16')]=function(_0xd5bdde){var _0x317c64=this;return new Promise(function(_0x988f2f,_0x3c7c46){return db[_0x7ba4('0x17')]['create'](_0xd5bdde['body'],{'raw':_0xd5bdde[_0x7ba4('0x18')]?_0xd5bdde[_0x7ba4('0x18')]['raw']===undefined?!![]:![]:!![]})[_0x7ba4('0xb')](function(_0x14a214){logger[_0x7ba4('0x14')]('CreateCmHopperHistory',_0xd5bdde);logger['debug'](_0x7ba4('0x16'),_0xd5bdde,JSON['stringify'](_0x14a214));_0x988f2f(_0x14a214);})['catch'](function(_0x225b6a){logger['error']('CreateCmHopperHistory',_0x225b6a[_0x7ba4('0x13')],_0xd5bdde);_0x3c7c46(_0x317c64[_0x7ba4('0x11')](0x1f4,_0x225b6a[_0x7ba4('0x13')]));});});};exports[_0x7ba4('0x19')]=function(_0x2afc11){var _0x1bd811=this;return new Promise(function(_0x243a62,_0x575de3){return db[_0x7ba4('0x17')][_0x7ba4('0x1a')]({'raw':_0x2afc11[_0x7ba4('0x18')]?_0x2afc11[_0x7ba4('0x18')][_0x7ba4('0x1b')]===undefined?!![]:![]:!![],'where':_0x2afc11[_0x7ba4('0x18')]?_0x2afc11['options'][_0x7ba4('0x1c')]||null:null,'attributes':[[db['sequelize']['fn']('COUNT',db['sequelize'][_0x7ba4('0x1d')]('id')),_0x7ba4('0x1e')],[db[_0x7ba4('0x1f')]['fn'](_0x7ba4('0x20'),db[_0x7ba4('0x1f')]['fn']('IF',db['sequelize'][_0x7ba4('0x21')](_0x7ba4('0x22')))),_0x7ba4('0x23')],[db[_0x7ba4('0x1f')]['fn'](_0x7ba4('0x20'),db[_0x7ba4('0x1f')]['fn']('IF',db['sequelize']['literal'](_0x7ba4('0x24')))),_0x7ba4('0x25')],[db[_0x7ba4('0x1f')]['fn'](_0x7ba4('0x20'),db[_0x7ba4('0x1f')]['fn']('IF',db[_0x7ba4('0x1f')][_0x7ba4('0x21')](_0x7ba4('0x26')))),_0x7ba4('0x27')],[db[_0x7ba4('0x1f')]['fn']('AVG',db[_0x7ba4('0x1f')]['fn']('IF',db[_0x7ba4('0x1f')]['literal'](_0x7ba4('0x28')))),_0x7ba4('0x29')],[db['sequelize']['fn'](_0x7ba4('0x2a'),db[_0x7ba4('0x1f')]['fn']('IF',db['sequelize'][_0x7ba4('0x21')]('`state`\x20=\x204,\x20`talktime`,\x20null'))),'predictiveIntervalAvgTalktime']]})[_0x7ba4('0xb')](function(_0x54db63){logger[_0x7ba4('0x14')](_0x7ba4('0x19'),_0x2afc11);logger[_0x7ba4('0xd')](_0x7ba4('0x19'),_0x2afc11,JSON[_0x7ba4('0x10')](_0x54db63));_0x243a62(_0x54db63);})[_0x7ba4('0x15')](function(_0x4bd71c){logger[_0x7ba4('0x11')](_0x7ba4('0x19'),_0x4bd71c[_0x7ba4('0x13')],_0x2afc11);_0x575de3(_0x1bd811[_0x7ba4('0x11')](0x1f4,_0x4bd71c['message']));});});};exports[_0x7ba4('0x2b')]=function(_0x422bb0){var _0x23aad2=this;return new Promise(function(_0x542882,_0x35908c){return db['CmHopperHistory'][_0x7ba4('0x1a')]({'raw':_0x422bb0[_0x7ba4('0x18')]?_0x422bb0[_0x7ba4('0x18')]['raw']===undefined?!![]:![]:!![],'where':_0x422bb0[_0x7ba4('0x18')]?_0x422bb0[_0x7ba4('0x18')][_0x7ba4('0x1c')]||null:null,'attributes':[['campaign',_0x7ba4('0x2c')],[db['sequelize']['fn'](_0x7ba4('0x20'),db['sequelize']['fn']('IF',db[_0x7ba4('0x1f')][_0x7ba4('0x21')](_0x7ba4('0x2d')))),_0x7ba4('0x2e')],[db[_0x7ba4('0x1f')]['fn'](_0x7ba4('0x20'),db[_0x7ba4('0x1f')]['fn']('IF',db[_0x7ba4('0x1f')][_0x7ba4('0x21')](_0x7ba4('0x2f')))),'outboundNoAnswerCallsDay'],[db['sequelize']['fn']('COUNT',db[_0x7ba4('0x1f')]['fn']('IF',db[_0x7ba4('0x1f')]['literal'](_0x7ba4('0x22')))),_0x7ba4('0x30')],[db[_0x7ba4('0x1f')]['fn']('COUNT',db[_0x7ba4('0x1f')]['fn']('IF',db['sequelize'][_0x7ba4('0x21')](_0x7ba4('0x31')))),_0x7ba4('0x32')],[db[_0x7ba4('0x1f')]['fn'](_0x7ba4('0x20'),db['sequelize']['fn']('IF',db['sequelize'][_0x7ba4('0x21')](_0x7ba4('0x33')))),_0x7ba4('0x34')],[db['sequelize']['fn'](_0x7ba4('0x20'),db['sequelize']['fn']('IF',db[_0x7ba4('0x1f')][_0x7ba4('0x21')]('`state`\x20=\x2010\x20,\x201,\x20null'))),_0x7ba4('0x35')],[db[_0x7ba4('0x1f')]['fn'](_0x7ba4('0x20'),db[_0x7ba4('0x1f')]['fn']('IF',db[_0x7ba4('0x1f')][_0x7ba4('0x21')](_0x7ba4('0x36')))),_0x7ba4('0x37')],[db['sequelize']['fn'](_0x7ba4('0x20'),db[_0x7ba4('0x1f')]['fn']('IF',db[_0x7ba4('0x1f')]['literal'](_0x7ba4('0x38')))),'outboundUnknownCallsDay'],[db[_0x7ba4('0x1f')]['fn'](_0x7ba4('0x20'),db['sequelize']['fn']('IF',db[_0x7ba4('0x1f')][_0x7ba4('0x21')](_0x7ba4('0x39')))),'outboundBlacklistCallsDay'],[db[_0x7ba4('0x1f')]['fn'](_0x7ba4('0x20'),db['sequelize']['fn']('IF',db[_0x7ba4('0x1f')]['literal'](_0x7ba4('0x3a')))),_0x7ba4('0x3b')],[db[_0x7ba4('0x1f')]['fn']('COUNT',db[_0x7ba4('0x1f')]['fn']('IF',db[_0x7ba4('0x1f')][_0x7ba4('0x21')]('`state`\x20=\x2018,\x201,\x20null'))),'outboundRejectCallsDay'],[db[_0x7ba4('0x1f')]['fn']('COUNT',db[_0x7ba4('0x1f')]['fn']('IF',db['sequelize'][_0x7ba4('0x21')]('`state`\x20=\x2016,\x201,\x20null'))),_0x7ba4('0x3c')],[db[_0x7ba4('0x1f')]['fn']('COUNT',db[_0x7ba4('0x1f')]['fn']('IF',db[_0x7ba4('0x1f')][_0x7ba4('0x21')](_0x7ba4('0x3d')))),_0x7ba4('0x3e')],[db['sequelize']['fn'](_0x7ba4('0x20'),db[_0x7ba4('0x1f')]['fn']('IF',db[_0x7ba4('0x1f')][_0x7ba4('0x21')]('`state`\x20=\x2022\x20or\x20`state`\x20=\x2023,\x201,\x20null'))),_0x7ba4('0x3f')]],'group':[_0x7ba4('0x40')]})[_0x7ba4('0xb')](function(_0x416e76){logger['info'](_0x7ba4('0x2b'),_0x422bb0);logger[_0x7ba4('0xd')](_0x7ba4('0x2b'),_0x422bb0,JSON[_0x7ba4('0x10')](_0x416e76));_0x542882(_0x416e76);})[_0x7ba4('0x15')](function(_0x10633b){logger[_0x7ba4('0x11')]('GetVoiceQueueHopperHistory',_0x10633b['message'],_0x422bb0);_0x35908c(_0x23aad2[_0x7ba4('0x11')](0x1f4,_0x10633b[_0x7ba4('0x13')]));});});};exports[_0x7ba4('0x41')]=function(_0x40c528){var _0x3cc0ea=this;return new Promise(function(_0x58c4a4,_0x4f85de){return db['CmHopperHistory']['findAll']({'raw':_0x40c528[_0x7ba4('0x18')]?_0x40c528[_0x7ba4('0x18')][_0x7ba4('0x1b')]===undefined?!![]:![]:!![],'where':_0x40c528['options']?_0x40c528[_0x7ba4('0x18')]['where']||null:null,'attributes':[[_0x7ba4('0x40'),_0x7ba4('0x2c')],[db[_0x7ba4('0x1f')]['fn'](_0x7ba4('0x20'),db[_0x7ba4('0x1f')][_0x7ba4('0x1d')]('id')),_0x7ba4('0x42')],[db[_0x7ba4('0x1f')]['fn'](_0x7ba4('0x20'),db[_0x7ba4('0x1f')]['fn']('IF',db['sequelize'][_0x7ba4('0x21')]('`state`\x20=\x204,\x201,\x20null'))),'ivrAnswerCallsDay']],'group':[_0x7ba4('0x40')]})['then'](function(_0x3922b7){logger[_0x7ba4('0x14')](_0x7ba4('0x41'),_0x40c528);logger[_0x7ba4('0xd')](_0x7ba4('0x41'),_0x40c528,JSON[_0x7ba4('0x10')](_0x3922b7));_0x58c4a4(_0x3922b7);})[_0x7ba4('0x15')](function(_0x14421c){logger['error']('GetCampaignHopperHistory',_0x14421c[_0x7ba4('0x13')],_0x40c528);_0x4f85de(_0x3cc0ea[_0x7ba4('0x11')](0x1f4,_0x14421c[_0x7ba4('0x13')]));});});};