80b29754670989161ea84d3bfa65a2d7cd051e37
[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 _0x2746=['`state`\x20=\x2010\x20,\x201,\x20null','`state`\x20=\x2011\x20,\x201,\x20null','outboundDropCallsDayCallersExit','outboundUnknownCallsDay','`state`\x20=\x2013,\x201,\x20null','`state`\x20=\x2014,\x201,\x20null','`state`\x20=\x2018,\x201,\x20null','`state`\x20=\x2020,\x201,\x20null','outboundRejectCallsDay','`state`\x20=\x2022\x20or\x20`state`\x20=\x2023,\x201,\x20null','outboundReCallsDay','GetCampaignHopperHistory','col','ivrTotalCallsDays','`state`\x20=\x204,\x201,\x20null','ivrAnswerCallsDay','moment','bluebird','randomstring','ioredis','../../mysqldb','../../config/utils','../../config/environment','jayson/promise','client','then','info','CmHopperHistory,\x20%s,\x20%s','request\x20sent','debug','CmHopperHistory,\x20%s,\x20%s,\x20%s','stringify','error','message','result','catch','CreateCmHopperHistory','body','options','raw','AvgHandleTime','CmHopperHistory','where','COUNT','predictiveIntervalTotalCalls','sequelize','literal','`state`\x20=\x2010,\x201,\x20null','`state`\x20=\x2011,\x201,\x20null','predictiveIntervalDroppedCallsCallersExit','`state`\x20=\x204,\x20`holdtime`,\x20null','predictiveIntervalAvgHoldtime','AVG','`state`\x20=\x204,\x20`talktime`,\x20null','predictiveIntervalAvgTalktime','GetVoiceQueueHopperHistory','findAll','campaign','`state`\x20=\x200,\x201,\x20null','outboundNoSuchCallsDay','`state`\x20=\x203,\x201,\x20null','outboundNoAnswerCallsDay','`state`\x20=\x205,\x201,\x20null','outboundBusyCallsDay','`state`\x20=\x208,\x201,\x20null','outboundCongestionCallsDay'];(function(_0x4eb2da,_0x32efd0){var _0x41c3ee=function(_0x7f39d9){while(--_0x7f39d9){_0x4eb2da['push'](_0x4eb2da['shift']());}};_0x41c3ee(++_0x32efd0);}(_0x2746,0x19c));var _0x6274=function(_0x5ab1fc,_0xe7ed7f){_0x5ab1fc=_0x5ab1fc-0x0;var _0x48211e=_0x2746[_0x5ab1fc];return _0x48211e;};'use strict';var _=require('lodash');var util=require('util');var moment=require(_0x6274('0x0'));var BPromise=require(_0x6274('0x1'));var rs=require(_0x6274('0x2'));var fs=require('fs');var Redis=require(_0x6274('0x3'));var db=require(_0x6274('0x4'))['db'];var utils=require(_0x6274('0x5'));var logger=require('../../config/logger')('rpc');var config=require(_0x6274('0x6'));var jayson=require(_0x6274('0x7'));var client=jayson[_0x6274('0x8')]['http']({'port':0x232a});function respondWithRpcPromise(_0x1d22fb,_0x937a27,_0x3a8ec1){return new BPromise(function(_0x3158f6,_0x3efc83){return client['request'](_0x1d22fb,_0x3a8ec1)[_0x6274('0x9')](function(_0x59fee9){logger[_0x6274('0xa')](_0x6274('0xb'),_0x937a27,_0x6274('0xc'));logger[_0x6274('0xd')](_0x6274('0xe'),_0x937a27,_0x6274('0xc'),JSON[_0x6274('0xf')](_0x59fee9));if(_0x59fee9[_0x6274('0x10')]){if(_0x59fee9[_0x6274('0x10')]['code']===0x1f4){logger['error']('CmHopperHistory,\x20%s,\x20%s',_0x937a27,_0x59fee9[_0x6274('0x10')]['message']);return _0x3efc83(_0x59fee9[_0x6274('0x10')][_0x6274('0x11')]);}logger[_0x6274('0x10')]('CmHopperHistory,\x20%s,\x20%s',_0x937a27,_0x59fee9[_0x6274('0x10')]['message']);return _0x3158f6(_0x59fee9[_0x6274('0x10')][_0x6274('0x11')]);}else{logger['info']('CmHopperHistory,\x20%s,\x20%s',_0x937a27,_0x6274('0xc'));_0x3158f6(_0x59fee9[_0x6274('0x12')][_0x6274('0x11')]);}})[_0x6274('0x13')](function(_0x3e35fb){logger['error'](_0x6274('0xb'),_0x937a27,_0x3e35fb);_0x3efc83(_0x3e35fb);});});}exports[_0x6274('0x14')]=function(_0x40cc32){var _0x55eeed=this;return new Promise(function(_0x5cdf5e,_0x43593c){return db['CmHopperHistory']['create'](_0x40cc32[_0x6274('0x15')],{'raw':_0x40cc32['options']?_0x40cc32[_0x6274('0x16')][_0x6274('0x17')]===undefined?!![]:![]:!![]})['then'](function(_0x55dab9){logger[_0x6274('0xa')](_0x6274('0x14'),_0x40cc32);logger[_0x6274('0xd')](_0x6274('0x14'),_0x40cc32,JSON[_0x6274('0xf')](_0x55dab9));_0x5cdf5e(_0x55dab9);})[_0x6274('0x13')](function(_0x3b8fb6){logger[_0x6274('0x10')](_0x6274('0x14'),_0x3b8fb6[_0x6274('0x11')],_0x40cc32);_0x43593c(_0x55eeed[_0x6274('0x10')](0x1f4,_0x3b8fb6[_0x6274('0x11')]));});});};exports[_0x6274('0x18')]=function(_0xa0c8bd){var _0x13a9fa=this;return new Promise(function(_0x269a3b,_0x2c1978){return db[_0x6274('0x19')]['findAll']({'raw':_0xa0c8bd[_0x6274('0x16')]?_0xa0c8bd['options'][_0x6274('0x17')]===undefined?!![]:![]:!![],'where':_0xa0c8bd['options']?_0xa0c8bd[_0x6274('0x16')][_0x6274('0x1a')]||null:null,'attributes':[[db['sequelize']['fn'](_0x6274('0x1b'),db['sequelize']['col']('id')),_0x6274('0x1c')],[db[_0x6274('0x1d')]['fn'](_0x6274('0x1b'),db['sequelize']['fn']('IF',db[_0x6274('0x1d')]['literal']('`state`\x20=\x204,\x201,\x20null'))),'predictiveIntervalAnsweredCalls'],[db[_0x6274('0x1d')]['fn'](_0x6274('0x1b'),db[_0x6274('0x1d')]['fn']('IF',db[_0x6274('0x1d')][_0x6274('0x1e')](_0x6274('0x1f')))),'predictiveIntervalDroppedCallsTimeout'],[db[_0x6274('0x1d')]['fn'](_0x6274('0x1b'),db[_0x6274('0x1d')]['fn']('IF',db[_0x6274('0x1d')][_0x6274('0x1e')](_0x6274('0x20')))),_0x6274('0x21')],[db['sequelize']['fn']('AVG',db[_0x6274('0x1d')]['fn']('IF',db[_0x6274('0x1d')][_0x6274('0x1e')](_0x6274('0x22')))),_0x6274('0x23')],[db[_0x6274('0x1d')]['fn'](_0x6274('0x24'),db[_0x6274('0x1d')]['fn']('IF',db[_0x6274('0x1d')][_0x6274('0x1e')](_0x6274('0x25')))),_0x6274('0x26')]]})['then'](function(_0x18a9bf){logger[_0x6274('0xa')](_0x6274('0x18'),_0xa0c8bd);logger[_0x6274('0xd')](_0x6274('0x18'),_0xa0c8bd,JSON[_0x6274('0xf')](_0x18a9bf));_0x269a3b(_0x18a9bf);})['catch'](function(_0x57b7d5){logger['error'](_0x6274('0x18'),_0x57b7d5[_0x6274('0x11')],_0xa0c8bd);_0x2c1978(_0x13a9fa[_0x6274('0x10')](0x1f4,_0x57b7d5[_0x6274('0x11')]));});});};exports[_0x6274('0x27')]=function(_0x5c9c0f){var _0x32cd47=this;return new Promise(function(_0x3a1c82,_0x3a63ca){return db[_0x6274('0x19')][_0x6274('0x28')]({'raw':_0x5c9c0f[_0x6274('0x16')]?_0x5c9c0f[_0x6274('0x16')][_0x6274('0x17')]===undefined?!![]:![]:!![],'where':_0x5c9c0f[_0x6274('0x16')]?_0x5c9c0f[_0x6274('0x16')][_0x6274('0x1a')]||null:null,'attributes':[[_0x6274('0x29'),'name'],[db[_0x6274('0x1d')]['fn'](_0x6274('0x1b'),db[_0x6274('0x1d')]['fn']('IF',db[_0x6274('0x1d')][_0x6274('0x1e')](_0x6274('0x2a')))),_0x6274('0x2b')],[db[_0x6274('0x1d')]['fn']('COUNT',db['sequelize']['fn']('IF',db[_0x6274('0x1d')][_0x6274('0x1e')](_0x6274('0x2c')))),_0x6274('0x2d')],[db[_0x6274('0x1d')]['fn'](_0x6274('0x1b'),db['sequelize']['fn']('IF',db['sequelize'][_0x6274('0x1e')]('`state`\x20=\x204,\x201,\x20null'))),'outboundAnswerCallsDay'],[db['sequelize']['fn'](_0x6274('0x1b'),db['sequelize']['fn']('IF',db[_0x6274('0x1d')][_0x6274('0x1e')](_0x6274('0x2e')))),_0x6274('0x2f')],[db['sequelize']['fn'](_0x6274('0x1b'),db[_0x6274('0x1d')]['fn']('IF',db[_0x6274('0x1d')]['literal'](_0x6274('0x30')))),_0x6274('0x31')],[db[_0x6274('0x1d')]['fn'](_0x6274('0x1b'),db[_0x6274('0x1d')]['fn']('IF',db[_0x6274('0x1d')][_0x6274('0x1e')](_0x6274('0x32')))),'outboundDropCallsDayTimeout'],[db['sequelize']['fn']('COUNT',db[_0x6274('0x1d')]['fn']('IF',db[_0x6274('0x1d')]['literal'](_0x6274('0x33')))),_0x6274('0x34')],[db['sequelize']['fn'](_0x6274('0x1b'),db[_0x6274('0x1d')]['fn']('IF',db[_0x6274('0x1d')][_0x6274('0x1e')]('`state`\x20=\x2012,\x201,\x20null'))),_0x6274('0x35')],[db[_0x6274('0x1d')]['fn'](_0x6274('0x1b'),db[_0x6274('0x1d')]['fn']('IF',db['sequelize'][_0x6274('0x1e')](_0x6274('0x36')))),'outboundBlacklistCallsDay'],[db['sequelize']['fn'](_0x6274('0x1b'),db[_0x6274('0x1d')]['fn']('IF',db[_0x6274('0x1d')][_0x6274('0x1e')](_0x6274('0x37')))),'outboundOriginateFailureCallsDay'],[db[_0x6274('0x1d')]['fn'](_0x6274('0x1b'),db['sequelize']['fn']('IF',db[_0x6274('0x1d')]['literal'](_0x6274('0x38')))),'outboundRejectCallsDay'],[db[_0x6274('0x1d')]['fn'](_0x6274('0x1b'),db['sequelize']['fn']('IF',db[_0x6274('0x1d')][_0x6274('0x1e')]('`state`\x20=\x2016,\x201,\x20null'))),'outboundAnswerAgiCallsDay'],[db['sequelize']['fn'](_0x6274('0x1b'),db['sequelize']['fn']('IF',db['sequelize'][_0x6274('0x1e')](_0x6274('0x39')))),_0x6274('0x3a')],[db[_0x6274('0x1d')]['fn'](_0x6274('0x1b'),db[_0x6274('0x1d')]['fn']('IF',db[_0x6274('0x1d')][_0x6274('0x1e')](_0x6274('0x3b')))),_0x6274('0x3c')]],'group':['campaign']})['then'](function(_0x2d5fe3){logger[_0x6274('0xa')](_0x6274('0x27'),_0x5c9c0f);logger[_0x6274('0xd')](_0x6274('0x27'),_0x5c9c0f,JSON[_0x6274('0xf')](_0x2d5fe3));_0x3a1c82(_0x2d5fe3);})[_0x6274('0x13')](function(_0x414dbe){logger[_0x6274('0x10')]('GetVoiceQueueHopperHistory',_0x414dbe[_0x6274('0x11')],_0x5c9c0f);_0x3a63ca(_0x32cd47[_0x6274('0x10')](0x1f4,_0x414dbe[_0x6274('0x11')]));});});};exports[_0x6274('0x3d')]=function(_0x1a0bf5){var _0x24f96d=this;return new Promise(function(_0x24d860,_0x6c030b){return db['CmHopperHistory'][_0x6274('0x28')]({'raw':_0x1a0bf5['options']?_0x1a0bf5['options'][_0x6274('0x17')]===undefined?!![]:![]:!![],'where':_0x1a0bf5[_0x6274('0x16')]?_0x1a0bf5[_0x6274('0x16')][_0x6274('0x1a')]||null:null,'attributes':[['campaign','name'],[db[_0x6274('0x1d')]['fn'](_0x6274('0x1b'),db['sequelize'][_0x6274('0x3e')]('id')),_0x6274('0x3f')],[db[_0x6274('0x1d')]['fn'](_0x6274('0x1b'),db[_0x6274('0x1d')]['fn']('IF',db['sequelize'][_0x6274('0x1e')](_0x6274('0x40')))),_0x6274('0x41')]],'group':[_0x6274('0x29')]})[_0x6274('0x9')](function(_0x50cecc){logger['info'](_0x6274('0x3d'),_0x1a0bf5);logger[_0x6274('0xd')](_0x6274('0x3d'),_0x1a0bf5,JSON[_0x6274('0xf')](_0x50cecc));_0x24d860(_0x50cecc);})['catch'](function(_0x55a78b){logger[_0x6274('0x10')](_0x6274('0x3d'),_0x55a78b[_0x6274('0x11')],_0x1a0bf5);_0x6c030b(_0x24f96d[_0x6274('0x10')](0x1f4,_0x55a78b[_0x6274('0x11')]));});});};