1ee4da1ed66590c585ee4efbad9b2415a7e94de7
[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 _0x97a8=['`state`\x20=\x2010,\x201,\x20null','`state`\x20=\x2011,\x201,\x20null','AVG','`state`\x20=\x204,\x20`talktime`,\x20null','predictiveIntervalAvgTalktime','GetVoiceQueueHopperHistory','campaign','name','`state`\x20=\x200,\x201,\x20null','`state`\x20=\x203,\x201,\x20null','outboundAnswerCallsDay','`state`\x20=\x205,\x201,\x20null','`state`\x20=\x208,\x201,\x20null','`state`\x20=\x2010\x20,\x201,\x20null','outboundDropCallsDayTimeout','`state`\x20=\x2011\x20,\x201,\x20null','outboundDropCallsDayCallersExit','`state`\x20=\x2012,\x201,\x20null','outboundUnknownCallsDay','`state`\x20=\x2013,\x201,\x20null','outboundBlacklistCallsDay','`state`\x20=\x2014,\x201,\x20null','outboundOriginateFailureCallsDay','`state`\x20=\x2018,\x201,\x20null','outboundRejectCallsDay','`state`\x20=\x2016,\x201,\x20null','outboundAnswerAgiCallsDay','`state`\x20=\x2020,\x201,\x20null','then','col','ivrTotalCallsDays','GetCampaignHopperHistory','util','moment','bluebird','randomstring','ioredis','../../mysqldb','../../config/utils','rpc','../../config/environment','request','info','CmHopperHistory,\x20%s,\x20%s','request\x20sent','debug','CmHopperHistory,\x20%s,\x20%s,\x20%s','error','message','catch','CreateCmHopperHistory','body','options','raw','stringify','AvgHandleTime','CmHopperHistory','findAll','where','sequelize','COUNT','predictiveIntervalTotalCalls','literal','`state`\x20=\x204,\x201,\x20null','predictiveIntervalAnsweredCalls'];(function(_0x497880,_0x3e1b48){var _0x41bb9c=function(_0x30e332){while(--_0x30e332){_0x497880['push'](_0x497880['shift']());}};_0x41bb9c(++_0x3e1b48);}(_0x97a8,0xe3));var _0x897a=function(_0x1cb1ea,_0x3e95f){_0x1cb1ea=_0x1cb1ea-0x0;var _0x1c6afd=_0x97a8[_0x1cb1ea];return _0x1c6afd;};'use strict';var _=require('lodash');var util=require(_0x897a('0x0'));var moment=require(_0x897a('0x1'));var BPromise=require(_0x897a('0x2'));var rs=require(_0x897a('0x3'));var fs=require('fs');var Redis=require(_0x897a('0x4'));var db=require(_0x897a('0x5'))['db'];var utils=require(_0x897a('0x6'));var logger=require('../../config/logger')(_0x897a('0x7'));var config=require(_0x897a('0x8'));var jayson=require('jayson/promise');var client=jayson['client']['http']({'port':0x232a});function respondWithRpcPromise(_0x59b9f1,_0x3eb794,_0x128644){return new BPromise(function(_0x3cd748,_0x364c09){return client[_0x897a('0x9')](_0x59b9f1,_0x128644)['then'](function(_0x18ecde){logger[_0x897a('0xa')](_0x897a('0xb'),_0x3eb794,_0x897a('0xc'));logger[_0x897a('0xd')](_0x897a('0xe'),_0x3eb794,_0x897a('0xc'),JSON['stringify'](_0x18ecde));if(_0x18ecde['error']){if(_0x18ecde['error']['code']===0x1f4){logger[_0x897a('0xf')]('CmHopperHistory,\x20%s,\x20%s',_0x3eb794,_0x18ecde[_0x897a('0xf')][_0x897a('0x10')]);return _0x364c09(_0x18ecde[_0x897a('0xf')][_0x897a('0x10')]);}logger['error'](_0x897a('0xb'),_0x3eb794,_0x18ecde[_0x897a('0xf')][_0x897a('0x10')]);return _0x3cd748(_0x18ecde[_0x897a('0xf')]['message']);}else{logger['info'](_0x897a('0xb'),_0x3eb794,_0x897a('0xc'));_0x3cd748(_0x18ecde['result'][_0x897a('0x10')]);}})[_0x897a('0x11')](function(_0xaf826e){logger[_0x897a('0xf')](_0x897a('0xb'),_0x3eb794,_0xaf826e);_0x364c09(_0xaf826e);});});}exports[_0x897a('0x12')]=function(_0x10047d){var _0x1011b4=this;return new Promise(function(_0x2646cb,_0x2d96a){return db['CmHopperHistory']['create'](_0x10047d[_0x897a('0x13')],{'raw':_0x10047d[_0x897a('0x14')]?_0x10047d[_0x897a('0x14')][_0x897a('0x15')]===undefined?!![]:![]:!![]})['then'](function(_0x73e29d){logger[_0x897a('0xa')](_0x897a('0x12'),_0x10047d);logger[_0x897a('0xd')]('CreateCmHopperHistory',_0x10047d,JSON[_0x897a('0x16')](_0x73e29d));_0x2646cb(_0x73e29d);})[_0x897a('0x11')](function(_0x584b3b){logger[_0x897a('0xf')]('CreateCmHopperHistory',_0x584b3b[_0x897a('0x10')],_0x10047d);_0x2d96a(_0x1011b4[_0x897a('0xf')](0x1f4,_0x584b3b[_0x897a('0x10')]));});});};exports[_0x897a('0x17')]=function(_0x22e77a){var _0x48b8fd=this;return new Promise(function(_0x3873b7,_0x2feb39){return db[_0x897a('0x18')][_0x897a('0x19')]({'raw':_0x22e77a[_0x897a('0x14')]?_0x22e77a[_0x897a('0x14')][_0x897a('0x15')]===undefined?!![]:![]:!![],'where':_0x22e77a[_0x897a('0x14')]?_0x22e77a[_0x897a('0x14')][_0x897a('0x1a')]||null:null,'attributes':[[db[_0x897a('0x1b')]['fn'](_0x897a('0x1c'),db[_0x897a('0x1b')]['col']('id')),_0x897a('0x1d')],[db[_0x897a('0x1b')]['fn'](_0x897a('0x1c'),db[_0x897a('0x1b')]['fn']('IF',db[_0x897a('0x1b')][_0x897a('0x1e')](_0x897a('0x1f')))),_0x897a('0x20')],[db[_0x897a('0x1b')]['fn'](_0x897a('0x1c'),db[_0x897a('0x1b')]['fn']('IF',db[_0x897a('0x1b')]['literal'](_0x897a('0x21')))),'predictiveIntervalDroppedCallsTimeout'],[db[_0x897a('0x1b')]['fn'](_0x897a('0x1c'),db[_0x897a('0x1b')]['fn']('IF',db[_0x897a('0x1b')][_0x897a('0x1e')](_0x897a('0x22')))),'predictiveIntervalDroppedCallsCallersExit'],[db[_0x897a('0x1b')]['fn'](_0x897a('0x23'),db[_0x897a('0x1b')]['fn']('IF',db[_0x897a('0x1b')][_0x897a('0x1e')]('`state`\x20=\x204,\x20`holdtime`,\x20null'))),'predictiveIntervalAvgHoldtime'],[db[_0x897a('0x1b')]['fn'](_0x897a('0x23'),db[_0x897a('0x1b')]['fn']('IF',db['sequelize'][_0x897a('0x1e')](_0x897a('0x24')))),_0x897a('0x25')]]})['then'](function(_0x2eef3f){logger[_0x897a('0xa')]('AvgHandleTime',_0x22e77a);logger['debug'](_0x897a('0x17'),_0x22e77a,JSON['stringify'](_0x2eef3f));_0x3873b7(_0x2eef3f);})['catch'](function(_0x348d4a){logger[_0x897a('0xf')](_0x897a('0x17'),_0x348d4a[_0x897a('0x10')],_0x22e77a);_0x2feb39(_0x48b8fd['error'](0x1f4,_0x348d4a['message']));});});};exports[_0x897a('0x26')]=function(_0x1f2044){var _0x473191=this;return new Promise(function(_0x1cb85d,_0x388b76){return db['CmHopperHistory'][_0x897a('0x19')]({'raw':_0x1f2044[_0x897a('0x14')]?_0x1f2044['options'][_0x897a('0x15')]===undefined?!![]:![]:!![],'where':_0x1f2044['options']?_0x1f2044[_0x897a('0x14')][_0x897a('0x1a')]||null:null,'attributes':[[_0x897a('0x27'),_0x897a('0x28')],[db[_0x897a('0x1b')]['fn'](_0x897a('0x1c'),db['sequelize']['fn']('IF',db[_0x897a('0x1b')][_0x897a('0x1e')](_0x897a('0x29')))),'outboundNoSuchCallsDay'],[db[_0x897a('0x1b')]['fn'](_0x897a('0x1c'),db['sequelize']['fn']('IF',db[_0x897a('0x1b')]['literal'](_0x897a('0x2a')))),'outboundNoAnswerCallsDay'],[db['sequelize']['fn'](_0x897a('0x1c'),db[_0x897a('0x1b')]['fn']('IF',db[_0x897a('0x1b')][_0x897a('0x1e')](_0x897a('0x1f')))),_0x897a('0x2b')],[db[_0x897a('0x1b')]['fn']('COUNT',db[_0x897a('0x1b')]['fn']('IF',db['sequelize'][_0x897a('0x1e')](_0x897a('0x2c')))),'outboundBusyCallsDay'],[db[_0x897a('0x1b')]['fn'](_0x897a('0x1c'),db['sequelize']['fn']('IF',db[_0x897a('0x1b')][_0x897a('0x1e')](_0x897a('0x2d')))),'outboundCongestionCallsDay'],[db['sequelize']['fn'](_0x897a('0x1c'),db['sequelize']['fn']('IF',db[_0x897a('0x1b')][_0x897a('0x1e')](_0x897a('0x2e')))),_0x897a('0x2f')],[db[_0x897a('0x1b')]['fn']('COUNT',db['sequelize']['fn']('IF',db[_0x897a('0x1b')][_0x897a('0x1e')](_0x897a('0x30')))),_0x897a('0x31')],[db[_0x897a('0x1b')]['fn'](_0x897a('0x1c'),db['sequelize']['fn']('IF',db[_0x897a('0x1b')][_0x897a('0x1e')](_0x897a('0x32')))),_0x897a('0x33')],[db[_0x897a('0x1b')]['fn'](_0x897a('0x1c'),db[_0x897a('0x1b')]['fn']('IF',db[_0x897a('0x1b')][_0x897a('0x1e')](_0x897a('0x34')))),_0x897a('0x35')],[db['sequelize']['fn'](_0x897a('0x1c'),db[_0x897a('0x1b')]['fn']('IF',db['sequelize']['literal'](_0x897a('0x36')))),_0x897a('0x37')],[db['sequelize']['fn']('COUNT',db[_0x897a('0x1b')]['fn']('IF',db[_0x897a('0x1b')]['literal'](_0x897a('0x38')))),_0x897a('0x39')],[db[_0x897a('0x1b')]['fn'](_0x897a('0x1c'),db['sequelize']['fn']('IF',db[_0x897a('0x1b')]['literal'](_0x897a('0x3a')))),_0x897a('0x3b')],[db[_0x897a('0x1b')]['fn'](_0x897a('0x1c'),db['sequelize']['fn']('IF',db[_0x897a('0x1b')]['literal'](_0x897a('0x3c')))),_0x897a('0x39')],[db[_0x897a('0x1b')]['fn']('COUNT',db['sequelize']['fn']('IF',db[_0x897a('0x1b')][_0x897a('0x1e')]('`state`\x20=\x2022\x20or\x20`state`\x20=\x2023,\x201,\x20null'))),'outboundReCallsDay']],'group':[_0x897a('0x27')]})[_0x897a('0x3d')](function(_0x17e3eb){logger[_0x897a('0xa')](_0x897a('0x26'),_0x1f2044);logger['debug'](_0x897a('0x26'),_0x1f2044,JSON[_0x897a('0x16')](_0x17e3eb));_0x1cb85d(_0x17e3eb);})[_0x897a('0x11')](function(_0x2e9df4){logger[_0x897a('0xf')]('GetVoiceQueueHopperHistory',_0x2e9df4[_0x897a('0x10')],_0x1f2044);_0x388b76(_0x473191[_0x897a('0xf')](0x1f4,_0x2e9df4[_0x897a('0x10')]));});});};exports['GetCampaignHopperHistory']=function(_0x3cf53f){var _0x485cca=this;return new Promise(function(_0x181d71,_0x5165bd){return db[_0x897a('0x18')][_0x897a('0x19')]({'raw':_0x3cf53f[_0x897a('0x14')]?_0x3cf53f[_0x897a('0x14')][_0x897a('0x15')]===undefined?!![]:![]:!![],'where':_0x3cf53f[_0x897a('0x14')]?_0x3cf53f[_0x897a('0x14')][_0x897a('0x1a')]||null:null,'attributes':[[_0x897a('0x27'),_0x897a('0x28')],[db[_0x897a('0x1b')]['fn'](_0x897a('0x1c'),db[_0x897a('0x1b')][_0x897a('0x3e')]('id')),_0x897a('0x3f')],[db[_0x897a('0x1b')]['fn'](_0x897a('0x1c'),db['sequelize']['fn']('IF',db[_0x897a('0x1b')][_0x897a('0x1e')](_0x897a('0x1f')))),'ivrAnswerCallsDay']],'group':[_0x897a('0x27')]})[_0x897a('0x3d')](function(_0x5e6acd){logger['info'](_0x897a('0x40'),_0x3cf53f);logger['debug'](_0x897a('0x40'),_0x3cf53f,JSON[_0x897a('0x16')](_0x5e6acd));_0x181d71(_0x5e6acd);})['catch'](function(_0x426cab){logger[_0x897a('0xf')](_0x897a('0x40'),_0x426cab[_0x897a('0x10')],_0x3cf53f);_0x5165bd(_0x485cca[_0x897a('0xf')](0x1f4,_0x426cab[_0x897a('0x10')]));});});};