5bb321919c44aa9227099d31b30e0adc44f2c454
[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 _0xb59c=['campaign','name','`state`\x20=\x203,\x201,\x20null','outboundNoAnswerCallsDay','outboundAnswerCallsDay','`state`\x20=\x205,\x201,\x20null','`state`\x20=\x208,\x201,\x20null','outboundDropCallsDayCallersExit','`state`\x20=\x2013,\x201,\x20null','outboundBlacklistCallsDay','`state`\x20=\x2014,\x201,\x20null','outboundOriginateFailureCallsDay','`state`\x20=\x2018,\x201,\x20null','outboundRejectCallsDay','outboundAnswerAgiCallsDay','outboundReCallsDay','GetCampaignHopperHistory','where','ivrAnswerCallsDay','lodash','util','moment','randomstring','ioredis','../../mysqldb','../../config/utils','rpc','../../config/environment','jayson/promise','request','then','info','request\x20sent','debug','CmHopperHistory,\x20%s,\x20%s,\x20%s','error','code','CmHopperHistory,\x20%s,\x20%s','message','result','catch','CreateCmHopperHistory','body','options','raw','stringify','AvgHandleTime','CmHopperHistory','findAll','sequelize','col','predictiveIntervalTotalCalls','COUNT','literal','`state`\x20=\x204,\x201,\x20null','predictiveIntervalDroppedCallsTimeout','predictiveIntervalDroppedCallsCallersExit','`state`\x20=\x204,\x20`holdtime`,\x20null','predictiveIntervalAvgHoldtime','`state`\x20=\x204,\x20`talktime`,\x20null','predictiveIntervalAvgTalktime','GetVoiceQueueHopperHistory'];(function(_0x29fe4a,_0x24b6e7){var _0x57e703=function(_0x2e7722){while(--_0x2e7722){_0x29fe4a['push'](_0x29fe4a['shift']());}};_0x57e703(++_0x24b6e7);}(_0xb59c,0x10b));var _0xcb59=function(_0x52f71a,_0x1d2ca6){_0x52f71a=_0x52f71a-0x0;var _0x240439=_0xb59c[_0x52f71a];return _0x240439;};'use strict';var _=require(_0xcb59('0x0'));var util=require(_0xcb59('0x1'));var moment=require(_0xcb59('0x2'));var BPromise=require('bluebird');var rs=require(_0xcb59('0x3'));var fs=require('fs');var Redis=require(_0xcb59('0x4'));var db=require(_0xcb59('0x5'))['db'];var utils=require(_0xcb59('0x6'));var logger=require('../../config/logger')(_0xcb59('0x7'));var config=require(_0xcb59('0x8'));var jayson=require(_0xcb59('0x9'));var client=jayson['client']['http']({'port':0x232a});function respondWithRpcPromise(_0x50712f,_0x3597ea,_0x2289e6){return new BPromise(function(_0x513186,_0x305cb1){return client[_0xcb59('0xa')](_0x50712f,_0x2289e6)[_0xcb59('0xb')](function(_0x42f94c){logger[_0xcb59('0xc')]('CmHopperHistory,\x20%s,\x20%s',_0x3597ea,_0xcb59('0xd'));logger[_0xcb59('0xe')](_0xcb59('0xf'),_0x3597ea,_0xcb59('0xd'),JSON['stringify'](_0x42f94c));if(_0x42f94c[_0xcb59('0x10')]){if(_0x42f94c['error'][_0xcb59('0x11')]===0x1f4){logger[_0xcb59('0x10')](_0xcb59('0x12'),_0x3597ea,_0x42f94c['error']['message']);return _0x305cb1(_0x42f94c[_0xcb59('0x10')][_0xcb59('0x13')]);}logger[_0xcb59('0x10')]('CmHopperHistory,\x20%s,\x20%s',_0x3597ea,_0x42f94c['error'][_0xcb59('0x13')]);return _0x513186(_0x42f94c['error']['message']);}else{logger['info'](_0xcb59('0x12'),_0x3597ea,'request\x20sent');_0x513186(_0x42f94c[_0xcb59('0x14')][_0xcb59('0x13')]);}})[_0xcb59('0x15')](function(_0x538ce5){logger[_0xcb59('0x10')]('CmHopperHistory,\x20%s,\x20%s',_0x3597ea,_0x538ce5);_0x305cb1(_0x538ce5);});});}exports[_0xcb59('0x16')]=function(_0x495506){var _0x3da28c=this;return new Promise(function(_0x35e2c5,_0x5e4259){return db['CmHopperHistory']['create'](_0x495506[_0xcb59('0x17')],{'raw':_0x495506[_0xcb59('0x18')]?_0x495506[_0xcb59('0x18')][_0xcb59('0x19')]===undefined?!![]:![]:!![]})[_0xcb59('0xb')](function(_0x434e5d){logger[_0xcb59('0xc')]('CreateCmHopperHistory',_0x495506);logger[_0xcb59('0xe')](_0xcb59('0x16'),_0x495506,JSON[_0xcb59('0x1a')](_0x434e5d));_0x35e2c5(_0x434e5d);})[_0xcb59('0x15')](function(_0x3cb255){logger[_0xcb59('0x10')]('CreateCmHopperHistory',_0x3cb255[_0xcb59('0x13')],_0x495506);_0x5e4259(_0x3da28c['error'](0x1f4,_0x3cb255['message']));});});};exports[_0xcb59('0x1b')]=function(_0x1c5335){var _0x15fc1d=this;return new Promise(function(_0x543f03,_0x394050){return db[_0xcb59('0x1c')][_0xcb59('0x1d')]({'raw':_0x1c5335[_0xcb59('0x18')]?_0x1c5335[_0xcb59('0x18')]['raw']===undefined?!![]:![]:!![],'where':_0x1c5335[_0xcb59('0x18')]?_0x1c5335[_0xcb59('0x18')]['where']||null:null,'attributes':[[db[_0xcb59('0x1e')]['fn']('COUNT',db['sequelize'][_0xcb59('0x1f')]('id')),_0xcb59('0x20')],[db[_0xcb59('0x1e')]['fn'](_0xcb59('0x21'),db[_0xcb59('0x1e')]['fn']('IF',db[_0xcb59('0x1e')][_0xcb59('0x22')](_0xcb59('0x23')))),'predictiveIntervalAnsweredCalls'],[db[_0xcb59('0x1e')]['fn'](_0xcb59('0x21'),db[_0xcb59('0x1e')]['fn']('IF',db[_0xcb59('0x1e')]['literal']('`state`\x20=\x2010,\x201,\x20null'))),_0xcb59('0x24')],[db['sequelize']['fn']('COUNT',db['sequelize']['fn']('IF',db[_0xcb59('0x1e')][_0xcb59('0x22')]('`state`\x20=\x2011,\x201,\x20null'))),_0xcb59('0x25')],[db[_0xcb59('0x1e')]['fn']('AVG',db['sequelize']['fn']('IF',db[_0xcb59('0x1e')]['literal'](_0xcb59('0x26')))),_0xcb59('0x27')],[db[_0xcb59('0x1e')]['fn']('AVG',db[_0xcb59('0x1e')]['fn']('IF',db[_0xcb59('0x1e')]['literal'](_0xcb59('0x28')))),_0xcb59('0x29')]]})[_0xcb59('0xb')](function(_0x56f0c5){logger['info'](_0xcb59('0x1b'),_0x1c5335);logger[_0xcb59('0xe')]('AvgHandleTime',_0x1c5335,JSON['stringify'](_0x56f0c5));_0x543f03(_0x56f0c5);})[_0xcb59('0x15')](function(_0x32ef5b){logger['error'](_0xcb59('0x1b'),_0x32ef5b[_0xcb59('0x13')],_0x1c5335);_0x394050(_0x15fc1d[_0xcb59('0x10')](0x1f4,_0x32ef5b[_0xcb59('0x13')]));});});};exports[_0xcb59('0x2a')]=function(_0x171661){var _0x409dd9=this;return new Promise(function(_0x185370,_0x3d88ef){return db[_0xcb59('0x1c')][_0xcb59('0x1d')]({'raw':_0x171661['options']?_0x171661[_0xcb59('0x18')]['raw']===undefined?!![]:![]:!![],'where':_0x171661[_0xcb59('0x18')]?_0x171661[_0xcb59('0x18')]['where']||null:null,'attributes':[[_0xcb59('0x2b'),_0xcb59('0x2c')],[db['sequelize']['fn'](_0xcb59('0x21'),db[_0xcb59('0x1e')]['fn']('IF',db[_0xcb59('0x1e')][_0xcb59('0x22')]('`state`\x20=\x200,\x201,\x20null'))),'outboundNoSuchCallsDay'],[db['sequelize']['fn'](_0xcb59('0x21'),db[_0xcb59('0x1e')]['fn']('IF',db['sequelize'][_0xcb59('0x22')](_0xcb59('0x2d')))),_0xcb59('0x2e')],[db[_0xcb59('0x1e')]['fn'](_0xcb59('0x21'),db[_0xcb59('0x1e')]['fn']('IF',db['sequelize'][_0xcb59('0x22')](_0xcb59('0x23')))),_0xcb59('0x2f')],[db[_0xcb59('0x1e')]['fn']('COUNT',db[_0xcb59('0x1e')]['fn']('IF',db[_0xcb59('0x1e')][_0xcb59('0x22')](_0xcb59('0x30')))),'outboundBusyCallsDay'],[db[_0xcb59('0x1e')]['fn'](_0xcb59('0x21'),db[_0xcb59('0x1e')]['fn']('IF',db[_0xcb59('0x1e')][_0xcb59('0x22')](_0xcb59('0x31')))),'outboundCongestionCallsDay'],[db[_0xcb59('0x1e')]['fn'](_0xcb59('0x21'),db[_0xcb59('0x1e')]['fn']('IF',db[_0xcb59('0x1e')][_0xcb59('0x22')]('`state`\x20=\x2010\x20,\x201,\x20null'))),'outboundDropCallsDayTimeout'],[db['sequelize']['fn']('COUNT',db['sequelize']['fn']('IF',db[_0xcb59('0x1e')][_0xcb59('0x22')]('`state`\x20=\x2011\x20,\x201,\x20null'))),_0xcb59('0x32')],[db[_0xcb59('0x1e')]['fn']('COUNT',db[_0xcb59('0x1e')]['fn']('IF',db['sequelize'][_0xcb59('0x22')]('`state`\x20=\x2012,\x201,\x20null'))),'outboundUnknownCallsDay'],[db['sequelize']['fn'](_0xcb59('0x21'),db[_0xcb59('0x1e')]['fn']('IF',db['sequelize'][_0xcb59('0x22')](_0xcb59('0x33')))),_0xcb59('0x34')],[db['sequelize']['fn']('COUNT',db[_0xcb59('0x1e')]['fn']('IF',db[_0xcb59('0x1e')][_0xcb59('0x22')](_0xcb59('0x35')))),_0xcb59('0x36')],[db[_0xcb59('0x1e')]['fn'](_0xcb59('0x21'),db[_0xcb59('0x1e')]['fn']('IF',db[_0xcb59('0x1e')]['literal'](_0xcb59('0x37')))),_0xcb59('0x38')],[db['sequelize']['fn']('COUNT',db[_0xcb59('0x1e')]['fn']('IF',db[_0xcb59('0x1e')][_0xcb59('0x22')]('`state`\x20=\x2016,\x201,\x20null'))),_0xcb59('0x39')],[db['sequelize']['fn']('COUNT',db[_0xcb59('0x1e')]['fn']('IF',db['sequelize'][_0xcb59('0x22')]('`state`\x20=\x2020,\x201,\x20null'))),'outboundRejectCallsDay'],[db['sequelize']['fn'](_0xcb59('0x21'),db[_0xcb59('0x1e')]['fn']('IF',db[_0xcb59('0x1e')][_0xcb59('0x22')]('`state`\x20=\x2022\x20or\x20`state`\x20=\x2023,\x201,\x20null'))),_0xcb59('0x3a')]],'group':[_0xcb59('0x2b')]})[_0xcb59('0xb')](function(_0x2ff9ef){logger['info']('GetVoiceQueueHopperHistory',_0x171661);logger['debug']('GetVoiceQueueHopperHistory',_0x171661,JSON[_0xcb59('0x1a')](_0x2ff9ef));_0x185370(_0x2ff9ef);})['catch'](function(_0x4a00f1){logger[_0xcb59('0x10')](_0xcb59('0x2a'),_0x4a00f1[_0xcb59('0x13')],_0x171661);_0x3d88ef(_0x409dd9[_0xcb59('0x10')](0x1f4,_0x4a00f1[_0xcb59('0x13')]));});});};exports[_0xcb59('0x3b')]=function(_0x22659f){var _0x339987=this;return new Promise(function(_0x25d80f,_0x1799c0){return db[_0xcb59('0x1c')]['findAll']({'raw':_0x22659f[_0xcb59('0x18')]?_0x22659f[_0xcb59('0x18')][_0xcb59('0x19')]===undefined?!![]:![]:!![],'where':_0x22659f['options']?_0x22659f[_0xcb59('0x18')][_0xcb59('0x3c')]||null:null,'attributes':[[_0xcb59('0x2b'),_0xcb59('0x2c')],[db[_0xcb59('0x1e')]['fn'](_0xcb59('0x21'),db[_0xcb59('0x1e')][_0xcb59('0x1f')]('id')),'ivrTotalCallsDays'],[db['sequelize']['fn'](_0xcb59('0x21'),db[_0xcb59('0x1e')]['fn']('IF',db[_0xcb59('0x1e')]['literal'](_0xcb59('0x23')))),_0xcb59('0x3d')]],'group':[_0xcb59('0x2b')]})[_0xcb59('0xb')](function(_0x7eb9c0){logger[_0xcb59('0xc')]('GetCampaignHopperHistory',_0x22659f);logger['debug'](_0xcb59('0x3b'),_0x22659f,JSON[_0xcb59('0x1a')](_0x7eb9c0));_0x25d80f(_0x7eb9c0);})['catch'](function(_0xe744ba){logger['error']('GetCampaignHopperHistory',_0xe744ba[_0xcb59('0x13')],_0x22659f);_0x1799c0(_0x339987[_0xcb59('0x10')](0x1f4,_0xe744ba[_0xcb59('0x13')]));});});};