2a5976789b01f333788ada302a5ec218d6aa5966
[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 _0x60e6=['../../config/logger','rpc','../../config/environment','jayson/promise','client','request','info','CmHopperHistory,\x20%s,\x20%s','request\x20sent','debug','CmHopperHistory,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','create','body','options','CreateCmHopperHistory','CmHopperHistory','findAll','raw','where','sequelize','col','predictiveIntervalTotalCalls','literal','predictiveIntervalAnsweredCalls','COUNT','`state`\x20=\x2011,\x201,\x20null','predictiveIntervalDroppedCallsCallersExit','AVG','`state`\x20=\x204,\x20`holdtime`,\x20null','predictiveIntervalAvgHoldtime','predictiveIntervalAvgTalktime','then','AvgHandleTime','GetVoiceQueueHopperHistory','campaign','name','`state`\x20=\x200,\x201,\x20null','outboundNoSuchCallsDay','`state`\x20=\x203,\x201,\x20null','outboundNoAnswerCallsDay','`state`\x20=\x204,\x201,\x20null','outboundAnswerCallsDay','`state`\x20=\x205,\x201,\x20null','outboundBusyCallsDay','`state`\x20=\x208,\x201,\x20null','outboundCongestionCallsDay','`state`\x20=\x2010\x20,\x201,\x20null','`state`\x20=\x2011\x20,\x201,\x20null','`state`\x20=\x2012,\x201,\x20null','outboundUnknownCallsDay','`state`\x20=\x2013,\x201,\x20null','outboundBlacklistCallsDay','`state`\x20=\x2018,\x201,\x20null','`state`\x20=\x2016,\x201,\x20null','outboundAnswerAgiCallsDay','`state`\x20=\x2022\x20or\x20`state`\x20=\x2023,\x201,\x20null','outboundReCallsDay','GetCampaignHopperHistory','ivrTotalCallsDays','ivrAnswerCallsDay','lodash','util','randomstring','ioredis','../../mysqldb','../../config/utils'];(function(_0x33eb21,_0x93c3c2){var _0x4e84d0=function(_0x2dc753){while(--_0x2dc753){_0x33eb21['push'](_0x33eb21['shift']());}};_0x4e84d0(++_0x93c3c2);}(_0x60e6,0xd2));var _0x660e=function(_0x1344d6,_0x2181e6){_0x1344d6=_0x1344d6-0x0;var _0xf45b24=_0x60e6[_0x1344d6];return _0xf45b24;};'use strict';var _=require(_0x660e('0x0'));var util=require(_0x660e('0x1'));var moment=require('moment');var BPromise=require('bluebird');var rs=require(_0x660e('0x2'));var fs=require('fs');var Redis=require(_0x660e('0x3'));var db=require(_0x660e('0x4'))['db'];var utils=require(_0x660e('0x5'));var logger=require(_0x660e('0x6'))(_0x660e('0x7'));var config=require(_0x660e('0x8'));var jayson=require(_0x660e('0x9'));var client=jayson[_0x660e('0xa')]['http']({'port':0x232a});function respondWithRpcPromise(_0x183678,_0x240a6f,_0xffb701){return new BPromise(function(_0x4c873a,_0x40643f){return client[_0x660e('0xb')](_0x183678,_0xffb701)['then'](function(_0x46db1a){logger[_0x660e('0xc')](_0x660e('0xd'),_0x240a6f,_0x660e('0xe'));logger[_0x660e('0xf')](_0x660e('0x10'),_0x240a6f,_0x660e('0xe'),JSON[_0x660e('0x11')](_0x46db1a));if(_0x46db1a[_0x660e('0x12')]){if(_0x46db1a[_0x660e('0x12')][_0x660e('0x13')]===0x1f4){logger[_0x660e('0x12')](_0x660e('0xd'),_0x240a6f,_0x46db1a['error'][_0x660e('0x14')]);return _0x40643f(_0x46db1a[_0x660e('0x12')][_0x660e('0x14')]);}logger[_0x660e('0x12')](_0x660e('0xd'),_0x240a6f,_0x46db1a[_0x660e('0x12')][_0x660e('0x14')]);return _0x4c873a(_0x46db1a[_0x660e('0x12')][_0x660e('0x14')]);}else{logger[_0x660e('0xc')](_0x660e('0xd'),_0x240a6f,_0x660e('0xe'));_0x4c873a(_0x46db1a[_0x660e('0x15')][_0x660e('0x14')]);}})[_0x660e('0x16')](function(_0x184353){logger[_0x660e('0x12')](_0x660e('0xd'),_0x240a6f,_0x184353);_0x40643f(_0x184353);});});}exports['CreateCmHopperHistory']=function(_0x3a406b){var _0x484907=this;return new Promise(function(_0x26d85e,_0x6d8852){return db['CmHopperHistory'][_0x660e('0x17')](_0x3a406b[_0x660e('0x18')],{'raw':_0x3a406b[_0x660e('0x19')]?_0x3a406b[_0x660e('0x19')]['raw']===undefined?!![]:![]:!![]})['then'](function(_0x138e96){logger[_0x660e('0xc')](_0x660e('0x1a'),_0x3a406b);logger[_0x660e('0xf')](_0x660e('0x1a'),_0x3a406b,JSON[_0x660e('0x11')](_0x138e96));_0x26d85e(_0x138e96);})[_0x660e('0x16')](function(_0x2e33bd){logger[_0x660e('0x12')](_0x660e('0x1a'),_0x2e33bd[_0x660e('0x14')],_0x3a406b);_0x6d8852(_0x484907['error'](0x1f4,_0x2e33bd[_0x660e('0x14')]));});});};exports['AvgHandleTime']=function(_0x275552){var _0x27eb3e=this;return new Promise(function(_0x12f7f6,_0x398ce9){return db[_0x660e('0x1b')][_0x660e('0x1c')]({'raw':_0x275552[_0x660e('0x19')]?_0x275552[_0x660e('0x19')][_0x660e('0x1d')]===undefined?!![]:![]:!![],'where':_0x275552['options']?_0x275552[_0x660e('0x19')][_0x660e('0x1e')]||null:null,'attributes':[[db[_0x660e('0x1f')]['fn']('COUNT',db[_0x660e('0x1f')][_0x660e('0x20')]('id')),_0x660e('0x21')],[db[_0x660e('0x1f')]['fn']('COUNT',db['sequelize']['fn']('IF',db[_0x660e('0x1f')][_0x660e('0x22')]('`state`\x20=\x204,\x201,\x20null'))),_0x660e('0x23')],[db[_0x660e('0x1f')]['fn'](_0x660e('0x24'),db[_0x660e('0x1f')]['fn']('IF',db[_0x660e('0x1f')]['literal']('`state`\x20=\x2010,\x201,\x20null'))),'predictiveIntervalDroppedCallsTimeout'],[db[_0x660e('0x1f')]['fn']('COUNT',db['sequelize']['fn']('IF',db[_0x660e('0x1f')][_0x660e('0x22')](_0x660e('0x25')))),_0x660e('0x26')],[db[_0x660e('0x1f')]['fn'](_0x660e('0x27'),db[_0x660e('0x1f')]['fn']('IF',db[_0x660e('0x1f')][_0x660e('0x22')](_0x660e('0x28')))),_0x660e('0x29')],[db[_0x660e('0x1f')]['fn']('AVG',db[_0x660e('0x1f')]['fn']('IF',db[_0x660e('0x1f')][_0x660e('0x22')]('`state`\x20=\x204,\x20`talktime`,\x20null'))),_0x660e('0x2a')]]})[_0x660e('0x2b')](function(_0x18832f){logger['info'](_0x660e('0x2c'),_0x275552);logger['debug'](_0x660e('0x2c'),_0x275552,JSON[_0x660e('0x11')](_0x18832f));_0x12f7f6(_0x18832f);})[_0x660e('0x16')](function(_0x36f311){logger[_0x660e('0x12')]('AvgHandleTime',_0x36f311[_0x660e('0x14')],_0x275552);_0x398ce9(_0x27eb3e[_0x660e('0x12')](0x1f4,_0x36f311[_0x660e('0x14')]));});});};exports[_0x660e('0x2d')]=function(_0x1a2dc8){var _0x22990f=this;return new Promise(function(_0x4366d8,_0x2ef088){return db[_0x660e('0x1b')][_0x660e('0x1c')]({'raw':_0x1a2dc8[_0x660e('0x19')]?_0x1a2dc8[_0x660e('0x19')][_0x660e('0x1d')]===undefined?!![]:![]:!![],'where':_0x1a2dc8[_0x660e('0x19')]?_0x1a2dc8[_0x660e('0x19')][_0x660e('0x1e')]||null:null,'attributes':[[_0x660e('0x2e'),_0x660e('0x2f')],[db[_0x660e('0x1f')]['fn']('COUNT',db[_0x660e('0x1f')]['fn']('IF',db[_0x660e('0x1f')]['literal'](_0x660e('0x30')))),_0x660e('0x31')],[db['sequelize']['fn'](_0x660e('0x24'),db[_0x660e('0x1f')]['fn']('IF',db[_0x660e('0x1f')]['literal'](_0x660e('0x32')))),_0x660e('0x33')],[db[_0x660e('0x1f')]['fn'](_0x660e('0x24'),db[_0x660e('0x1f')]['fn']('IF',db[_0x660e('0x1f')][_0x660e('0x22')](_0x660e('0x34')))),_0x660e('0x35')],[db[_0x660e('0x1f')]['fn'](_0x660e('0x24'),db[_0x660e('0x1f')]['fn']('IF',db[_0x660e('0x1f')][_0x660e('0x22')](_0x660e('0x36')))),_0x660e('0x37')],[db['sequelize']['fn'](_0x660e('0x24'),db['sequelize']['fn']('IF',db[_0x660e('0x1f')][_0x660e('0x22')](_0x660e('0x38')))),_0x660e('0x39')],[db['sequelize']['fn']('COUNT',db[_0x660e('0x1f')]['fn']('IF',db[_0x660e('0x1f')][_0x660e('0x22')](_0x660e('0x3a')))),'outboundDropCallsDayTimeout'],[db[_0x660e('0x1f')]['fn'](_0x660e('0x24'),db[_0x660e('0x1f')]['fn']('IF',db[_0x660e('0x1f')][_0x660e('0x22')](_0x660e('0x3b')))),'outboundDropCallsDayCallersExit'],[db[_0x660e('0x1f')]['fn'](_0x660e('0x24'),db['sequelize']['fn']('IF',db[_0x660e('0x1f')]['literal'](_0x660e('0x3c')))),_0x660e('0x3d')],[db[_0x660e('0x1f')]['fn'](_0x660e('0x24'),db[_0x660e('0x1f')]['fn']('IF',db[_0x660e('0x1f')][_0x660e('0x22')](_0x660e('0x3e')))),_0x660e('0x3f')],[db[_0x660e('0x1f')]['fn'](_0x660e('0x24'),db[_0x660e('0x1f')]['fn']('IF',db[_0x660e('0x1f')]['literal']('`state`\x20=\x2014,\x201,\x20null'))),'outboundOriginateFailureCallsDay'],[db[_0x660e('0x1f')]['fn'](_0x660e('0x24'),db['sequelize']['fn']('IF',db[_0x660e('0x1f')][_0x660e('0x22')](_0x660e('0x40')))),'outboundRejectCallsDay'],[db[_0x660e('0x1f')]['fn'](_0x660e('0x24'),db['sequelize']['fn']('IF',db['sequelize'][_0x660e('0x22')](_0x660e('0x41')))),_0x660e('0x42')],[db[_0x660e('0x1f')]['fn'](_0x660e('0x24'),db[_0x660e('0x1f')]['fn']('IF',db['sequelize'][_0x660e('0x22')]('`state`\x20=\x2020,\x201,\x20null'))),'outboundRejectCallsDay'],[db[_0x660e('0x1f')]['fn'](_0x660e('0x24'),db[_0x660e('0x1f')]['fn']('IF',db[_0x660e('0x1f')][_0x660e('0x22')](_0x660e('0x43')))),_0x660e('0x44')]],'group':[_0x660e('0x2e')]})[_0x660e('0x2b')](function(_0x116f0f){logger[_0x660e('0xc')](_0x660e('0x2d'),_0x1a2dc8);logger[_0x660e('0xf')](_0x660e('0x2d'),_0x1a2dc8,JSON[_0x660e('0x11')](_0x116f0f));_0x4366d8(_0x116f0f);})[_0x660e('0x16')](function(_0x4371d4){logger[_0x660e('0x12')]('GetVoiceQueueHopperHistory',_0x4371d4[_0x660e('0x14')],_0x1a2dc8);_0x2ef088(_0x22990f['error'](0x1f4,_0x4371d4[_0x660e('0x14')]));});});};exports[_0x660e('0x45')]=function(_0x6b1c2a){var _0x227eaf=this;return new Promise(function(_0x117ce2,_0x43a4b1){return db[_0x660e('0x1b')][_0x660e('0x1c')]({'raw':_0x6b1c2a[_0x660e('0x19')]?_0x6b1c2a[_0x660e('0x19')][_0x660e('0x1d')]===undefined?!![]:![]:!![],'where':_0x6b1c2a[_0x660e('0x19')]?_0x6b1c2a[_0x660e('0x19')][_0x660e('0x1e')]||null:null,'attributes':[[_0x660e('0x2e'),'name'],[db[_0x660e('0x1f')]['fn'](_0x660e('0x24'),db[_0x660e('0x1f')][_0x660e('0x20')]('id')),_0x660e('0x46')],[db[_0x660e('0x1f')]['fn'](_0x660e('0x24'),db[_0x660e('0x1f')]['fn']('IF',db['sequelize']['literal'](_0x660e('0x34')))),_0x660e('0x47')]],'group':[_0x660e('0x2e')]})['then'](function(_0x135e9a){logger['info'](_0x660e('0x45'),_0x6b1c2a);logger['debug'](_0x660e('0x45'),_0x6b1c2a,JSON[_0x660e('0x11')](_0x135e9a));_0x117ce2(_0x135e9a);})[_0x660e('0x16')](function(_0x396646){logger['error'](_0x660e('0x45'),_0x396646[_0x660e('0x14')],_0x6b1c2a);_0x43a4b1(_0x227eaf[_0x660e('0x12')](0x1f4,_0x396646[_0x660e('0x14')]));});});};