42d6d1bc30c878cac5c2945c665df026bdcd3f8f
[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 _0x672b=['stringify','error','code','message','catch','CreateCmHopperHistory','create','body','options','AvgHandleTime','CmHopperHistory','sequelize','COUNT','col','predictiveIntervalTotalCalls','literal','`state`\x20=\x204,\x201,\x20null','AVG','`state`\x20=\x204,\x20`holdtime`,\x20null','predictiveIntervalAvgHoldtime','predictiveIntervalAvgTalktime','raw','where','campaign','`state`\x20=\x200,\x201,\x20null','outboundNoSuchCallsDay','outboundNoAnswerCallsDay','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','outboundBlacklistCallsDay','`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','GetVoiceQueueHopperHistory','GetCampaignHopperHistory','findAll','name','ivrTotalCallsDays','ivrAnswerCallsDay','lodash','util','moment','bluebird','randomstring','ioredis','../../config/utils','../../config/logger','rpc','../../config/environment','jayson/promise','http','request','then','info','CmHopperHistory,\x20%s,\x20%s','request\x20sent','debug','CmHopperHistory,\x20%s,\x20%s,\x20%s'];(function(_0x41cb4a,_0x47c9bc){var _0x5cceee=function(_0xf36914){while(--_0xf36914){_0x41cb4a['push'](_0x41cb4a['shift']());}};_0x5cceee(++_0x47c9bc);}(_0x672b,0x1d7));var _0xb672=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x672b[_0x3dd15e];return _0x231fd0;};'use strict';var _=require(_0xb672('0x0'));var util=require(_0xb672('0x1'));var moment=require(_0xb672('0x2'));var BPromise=require(_0xb672('0x3'));var rs=require(_0xb672('0x4'));var fs=require('fs');var Redis=require(_0xb672('0x5'));var db=require('../../mysqldb')['db'];var utils=require(_0xb672('0x6'));var logger=require(_0xb672('0x7'))(_0xb672('0x8'));var config=require(_0xb672('0x9'));var jayson=require(_0xb672('0xa'));var client=jayson['client'][_0xb672('0xb')]({'port':0x232a});function respondWithRpcPromise(_0x3f2f04,_0x3ed3ed,_0x8377c9){return new BPromise(function(_0x24c21d,_0x978127){return client[_0xb672('0xc')](_0x3f2f04,_0x8377c9)[_0xb672('0xd')](function(_0x67c76e){logger[_0xb672('0xe')](_0xb672('0xf'),_0x3ed3ed,_0xb672('0x10'));logger[_0xb672('0x11')](_0xb672('0x12'),_0x3ed3ed,_0xb672('0x10'),JSON[_0xb672('0x13')](_0x67c76e));if(_0x67c76e[_0xb672('0x14')]){if(_0x67c76e[_0xb672('0x14')][_0xb672('0x15')]===0x1f4){logger[_0xb672('0x14')](_0xb672('0xf'),_0x3ed3ed,_0x67c76e[_0xb672('0x14')][_0xb672('0x16')]);return _0x978127(_0x67c76e['error']['message']);}logger[_0xb672('0x14')](_0xb672('0xf'),_0x3ed3ed,_0x67c76e[_0xb672('0x14')]['message']);return _0x24c21d(_0x67c76e[_0xb672('0x14')][_0xb672('0x16')]);}else{logger[_0xb672('0xe')](_0xb672('0xf'),_0x3ed3ed,_0xb672('0x10'));_0x24c21d(_0x67c76e['result']['message']);}})[_0xb672('0x17')](function(_0x4f74ab){logger[_0xb672('0x14')](_0xb672('0xf'),_0x3ed3ed,_0x4f74ab);_0x978127(_0x4f74ab);});});}exports[_0xb672('0x18')]=function(_0x540f00){var _0x46d0ac=this;return new Promise(function(_0x30b71c,_0x132512){return db['CmHopperHistory'][_0xb672('0x19')](_0x540f00[_0xb672('0x1a')],{'raw':_0x540f00[_0xb672('0x1b')]?_0x540f00['options']['raw']===undefined?!![]:![]:!![]})[_0xb672('0xd')](function(_0x39aa46){logger[_0xb672('0xe')]('CreateCmHopperHistory',_0x540f00);logger['debug'](_0xb672('0x18'),_0x540f00,JSON[_0xb672('0x13')](_0x39aa46));_0x30b71c(_0x39aa46);})['catch'](function(_0x74364e){logger['error'](_0xb672('0x18'),_0x74364e[_0xb672('0x16')],_0x540f00);_0x132512(_0x46d0ac['error'](0x1f4,_0x74364e[_0xb672('0x16')]));});});};exports[_0xb672('0x1c')]=function(_0x2f3792){var _0x2c221c=this;return new Promise(function(_0x464481,_0x27156f){return db[_0xb672('0x1d')]['findAll']({'raw':_0x2f3792[_0xb672('0x1b')]?_0x2f3792['options']['raw']===undefined?!![]:![]:!![],'where':_0x2f3792[_0xb672('0x1b')]?_0x2f3792[_0xb672('0x1b')]['where']||null:null,'attributes':[[db[_0xb672('0x1e')]['fn'](_0xb672('0x1f'),db['sequelize'][_0xb672('0x20')]('id')),_0xb672('0x21')],[db[_0xb672('0x1e')]['fn'](_0xb672('0x1f'),db['sequelize']['fn']('IF',db[_0xb672('0x1e')][_0xb672('0x22')](_0xb672('0x23')))),'predictiveIntervalAnsweredCalls'],[db[_0xb672('0x1e')]['fn']('COUNT',db[_0xb672('0x1e')]['fn']('IF',db[_0xb672('0x1e')]['literal']('`state`\x20=\x2010,\x201,\x20null'))),'predictiveIntervalDroppedCallsTimeout'],[db['sequelize']['fn']('COUNT',db[_0xb672('0x1e')]['fn']('IF',db[_0xb672('0x1e')]['literal']('`state`\x20=\x2011,\x201,\x20null'))),'predictiveIntervalDroppedCallsCallersExit'],[db[_0xb672('0x1e')]['fn'](_0xb672('0x24'),db[_0xb672('0x1e')]['fn']('IF',db[_0xb672('0x1e')][_0xb672('0x22')](_0xb672('0x25')))),_0xb672('0x26')],[db['sequelize']['fn'](_0xb672('0x24'),db[_0xb672('0x1e')]['fn']('IF',db['sequelize'][_0xb672('0x22')]('`state`\x20=\x204,\x20`talktime`,\x20null'))),_0xb672('0x27')]]})[_0xb672('0xd')](function(_0x2e7e0a){logger[_0xb672('0xe')]('AvgHandleTime',_0x2f3792);logger[_0xb672('0x11')]('AvgHandleTime',_0x2f3792,JSON[_0xb672('0x13')](_0x2e7e0a));_0x464481(_0x2e7e0a);})[_0xb672('0x17')](function(_0x1c8338){logger['error'](_0xb672('0x1c'),_0x1c8338[_0xb672('0x16')],_0x2f3792);_0x27156f(_0x2c221c[_0xb672('0x14')](0x1f4,_0x1c8338[_0xb672('0x16')]));});});};exports['GetVoiceQueueHopperHistory']=function(_0x48b39a){var _0x4798d6=this;return new Promise(function(_0x51ed06,_0x4a0a57){return db['CmHopperHistory']['findAll']({'raw':_0x48b39a[_0xb672('0x1b')]?_0x48b39a['options'][_0xb672('0x28')]===undefined?!![]:![]:!![],'where':_0x48b39a[_0xb672('0x1b')]?_0x48b39a[_0xb672('0x1b')][_0xb672('0x29')]||null:null,'attributes':[[_0xb672('0x2a'),'name'],[db[_0xb672('0x1e')]['fn'](_0xb672('0x1f'),db[_0xb672('0x1e')]['fn']('IF',db[_0xb672('0x1e')][_0xb672('0x22')](_0xb672('0x2b')))),_0xb672('0x2c')],[db['sequelize']['fn']('COUNT',db['sequelize']['fn']('IF',db[_0xb672('0x1e')][_0xb672('0x22')]('`state`\x20=\x203,\x201,\x20null'))),_0xb672('0x2d')],[db[_0xb672('0x1e')]['fn']('COUNT',db[_0xb672('0x1e')]['fn']('IF',db[_0xb672('0x1e')][_0xb672('0x22')](_0xb672('0x23')))),_0xb672('0x2e')],[db[_0xb672('0x1e')]['fn']('COUNT',db[_0xb672('0x1e')]['fn']('IF',db[_0xb672('0x1e')][_0xb672('0x22')](_0xb672('0x2f')))),_0xb672('0x30')],[db[_0xb672('0x1e')]['fn'](_0xb672('0x1f'),db[_0xb672('0x1e')]['fn']('IF',db[_0xb672('0x1e')]['literal'](_0xb672('0x31')))),_0xb672('0x32')],[db[_0xb672('0x1e')]['fn'](_0xb672('0x1f'),db[_0xb672('0x1e')]['fn']('IF',db[_0xb672('0x1e')][_0xb672('0x22')]('`state`\x20=\x2010\x20,\x201,\x20null'))),_0xb672('0x33')],[db[_0xb672('0x1e')]['fn'](_0xb672('0x1f'),db[_0xb672('0x1e')]['fn']('IF',db['sequelize'][_0xb672('0x22')](_0xb672('0x34')))),_0xb672('0x35')],[db[_0xb672('0x1e')]['fn'](_0xb672('0x1f'),db[_0xb672('0x1e')]['fn']('IF',db['sequelize'][_0xb672('0x22')](_0xb672('0x36')))),'outboundUnknownCallsDay'],[db[_0xb672('0x1e')]['fn']('COUNT',db[_0xb672('0x1e')]['fn']('IF',db[_0xb672('0x1e')][_0xb672('0x22')](_0xb672('0x37')))),_0xb672('0x38')],[db[_0xb672('0x1e')]['fn'](_0xb672('0x1f'),db[_0xb672('0x1e')]['fn']('IF',db[_0xb672('0x1e')][_0xb672('0x22')](_0xb672('0x39')))),'outboundOriginateFailureCallsDay'],[db[_0xb672('0x1e')]['fn'](_0xb672('0x1f'),db[_0xb672('0x1e')]['fn']('IF',db[_0xb672('0x1e')]['literal'](_0xb672('0x3a')))),_0xb672('0x3b')],[db[_0xb672('0x1e')]['fn'](_0xb672('0x1f'),db[_0xb672('0x1e')]['fn']('IF',db[_0xb672('0x1e')][_0xb672('0x22')]('`state`\x20=\x2016,\x201,\x20null'))),_0xb672('0x3c')],[db['sequelize']['fn'](_0xb672('0x1f'),db[_0xb672('0x1e')]['fn']('IF',db['sequelize']['literal'](_0xb672('0x3d')))),_0xb672('0x3b')],[db['sequelize']['fn'](_0xb672('0x1f'),db['sequelize']['fn']('IF',db[_0xb672('0x1e')][_0xb672('0x22')](_0xb672('0x3e')))),_0xb672('0x3f')]],'group':[_0xb672('0x2a')]})[_0xb672('0xd')](function(_0x3ad11a){logger[_0xb672('0xe')](_0xb672('0x40'),_0x48b39a);logger['debug'](_0xb672('0x40'),_0x48b39a,JSON[_0xb672('0x13')](_0x3ad11a));_0x51ed06(_0x3ad11a);})[_0xb672('0x17')](function(_0x3d1752){logger[_0xb672('0x14')](_0xb672('0x40'),_0x3d1752[_0xb672('0x16')],_0x48b39a);_0x4a0a57(_0x4798d6['error'](0x1f4,_0x3d1752[_0xb672('0x16')]));});});};exports[_0xb672('0x41')]=function(_0x4d1aa7){var _0x3d7cbc=this;return new Promise(function(_0x3a3e4e,_0x1253cf){return db[_0xb672('0x1d')][_0xb672('0x42')]({'raw':_0x4d1aa7[_0xb672('0x1b')]?_0x4d1aa7[_0xb672('0x1b')][_0xb672('0x28')]===undefined?!![]:![]:!![],'where':_0x4d1aa7[_0xb672('0x1b')]?_0x4d1aa7[_0xb672('0x1b')][_0xb672('0x29')]||null:null,'attributes':[['campaign',_0xb672('0x43')],[db[_0xb672('0x1e')]['fn'](_0xb672('0x1f'),db['sequelize'][_0xb672('0x20')]('id')),_0xb672('0x44')],[db[_0xb672('0x1e')]['fn'](_0xb672('0x1f'),db[_0xb672('0x1e')]['fn']('IF',db[_0xb672('0x1e')]['literal'](_0xb672('0x23')))),_0xb672('0x45')]],'group':[_0xb672('0x2a')]})[_0xb672('0xd')](function(_0x2201bc){logger[_0xb672('0xe')](_0xb672('0x41'),_0x4d1aa7);logger[_0xb672('0x11')]('GetCampaignHopperHistory',_0x4d1aa7,JSON[_0xb672('0x13')](_0x2201bc));_0x3a3e4e(_0x2201bc);})[_0xb672('0x17')](function(_0x12aaa8){logger[_0xb672('0x14')](_0xb672('0x41'),_0x12aaa8['message'],_0x4d1aa7);_0x1253cf(_0x3d7cbc[_0xb672('0x14')](0x1f4,_0x12aaa8[_0xb672('0x16')]));});});};