Built motion from commit 14588770.|2.5.38
[motion2.git] / server / components / import / cm / csv2.js
index 98a937d..6ff4424 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x1107=['ContactId','ListId\x20=\x20?','\x20=\x20?','concat','keys',')\x20NOT\x20IN\x20?','id\x20IN\x20?','group','toString','Received\x20SIGINT','message','errors','code','sequelize','spread','push','catch','error','main','stringify','start','binding','root','server/files/tmp','.csv','info','header','writeFileSync','parse','data','length','rows','hasOwnProperty','trim','scheduledat','isValid','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','isNaN','isNumber','includes','email','email\x20wrong\x20format','YYYY-MM-DD','dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)','firstName','\x20not\x20specified','SystemRow','appendFileSync','emit','contact:import:','Abort\x20parser','abort','SystemError','duplicates','cm_contacts_','CREATE\x20TABLE\x20','\x20LIKE\x20cm_contacts;','LOAD\x20DATA\x20LOCAL\x20INFILE\x20\x27%s\x27\x20INTO\x20TABLE\x20%s\x20CHARACTER\x20SET\x20UTF8\x20FIELDS\x20TERMINATED\x20BY\x20\x27,\x27\x20ENCLOSED\x20BY\x20\x27\x22\x27\x20LINES\x20TERMINATED\x20BY\x20\x27\x0a\x27\x20IGNORE\x201\x20ROWS\x20(%s)\x20SET\x20id\x20=\x20NULL,\x20ListId\x20=\x20%s,\x20CompanyId\x20=\x20%s,\x20createdAt\x20=\x20\x27%s\x27,\x20updatedAt\x20=\x20\x27%s\x27','CompanyId','isNil',',\x20scheduledAt\x20=\x20NOW()','DROP\x20TABLE\x20','voice_queues_has_cm_lists','voice_queues','VoiceQueueId','voice_queues_has_cm_blacklists','campaigns_has_cm_lists','campaigns','campaigns_has_cm_blacklists','CampaignId','then','finish','affectedRows','exit','complete','argv','arguments\x20<filename>\x20<parameters>\x20<agents>','existsSync','file\x20doesn\x27t\x20exists','binding\x20doesn\x27t\x20exists','body\x20id\x20mandatory','No\x20agent\x20available','SIGINT','uncaughtException','path','lodash','papaparse','moment','squel','../../../mysqldb','../../../config/environment','../../../config/logger','import','redis','defaults','localhost','socket.io-emitter','format','YYYY-MM-DD\x20HH:mm:ss','select','field','phone','from','join','.id\x20=\x20','where','\x20=\x20','cm_contacts.phone','cm_contacts.scheduledat','cm_contacts.id','cm_contacts.ListId','cm_contacts.updatedAt','cm_contacts.UserId','insert','cm_hopper','fromQuery','ListId','createdAt','updatedAt','priority','UserId','fields','cm_contacts','cm_contacts.ListId\x20=\x20','.CmListId','cm_contacts.createdAt\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','\x22always\x22','\x22onlyIfOpen\x22','cm_contacts.createdAt','into','cm_hopper_black'];(function(_0x526944,_0x37fe62){var _0x51d4be=function(_0x53c55e){while(--_0x53c55e){_0x526944['push'](_0x526944['shift']());}};_0x51d4be(++_0x37fe62);}(_0x1107,0xd8));var _0x7110=function(_0xf9cb7a,_0x155fd9){_0xf9cb7a=_0xf9cb7a-0x0;var _0x337245=_0x1107[_0xf9cb7a];return _0x337245;};'use strict';var fs=require('fs');var path=require(_0x7110('0x0'));var _=require(_0x7110('0x1'));var Papa=require(_0x7110('0x2'));var util=require('util');var BPromise=require('bluebird');var moment=require(_0x7110('0x3'));var squel=require(_0x7110('0x4'));var Redis=require('ioredis');var db=require(_0x7110('0x5'))['db'];var config=require(_0x7110('0x6'));var logger=require(_0x7110('0x7'))(_0x7110('0x8'));config[_0x7110('0x9')]=_[_0x7110('0xa')](config[_0x7110('0x9')],{'host':_0x7110('0xb'),'port':0x18eb});var socket=require(_0x7110('0xc'))(new Redis(config[_0x7110('0x9')]));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var stopped=![];var NOW=moment()[_0x7110('0xd')](_0x7110('0xe'));function isEmail(_0x271466){return/^([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22))*\x40([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d))*$/['test'](_0x271466);}function selectNotIn(_0xf97144,_0x4ec77d,_0x400dc6,_0x19d729,_0x4f7cc8){return squel[_0x7110('0xf')]()[_0x7110('0x10')](_0x7110('0x11'))[_0x7110('0x12')](_0x19d729)[_0x7110('0x13')](_0x4ec77d,null,_0x4ec77d+_0x7110('0x14')+_0x19d729+'.'+_0x400dc6)[_0x7110('0x15')](_0x19d729+'.'+_0x400dc6+_0x7110('0x16')+_0xf97144+'.'+_0x400dc6)[_0x7110('0x15')](_0x4ec77d+'.dialCheckDuplicateType\x20IN\x20('+_0x4f7cc8[_0x7110('0x13')]()+')');}function insertCmHopper(_0x562b5a,_0x36c44d,_0x56b08b,_0x21cb1d,_0xaa3bf4){var _0x193613=[_0x7110('0x17'),_0x7110('0x18'),_0x7110('0x19'),_0x7110('0x1a'),_0x36c44d+'.'+_0x21cb1d,'cm_contacts.createdAt',_0x7110('0x1b'),'cm_contacts.priority',_0x7110('0x1c'),'\x22'+_0xaa3bf4+'\x22'];return squel[_0x7110('0x1d')]()['into'](_0x7110('0x1e'))[_0x7110('0x1f')]([_0x7110('0x11'),'scheduledat','ContactId',_0x7110('0x20'),_0x21cb1d,_0x7110('0x21'),_0x7110('0x22'),_0x7110('0x23'),_0x7110('0x24'),'recallme'],squel[_0x7110('0xf')]()[_0x7110('0x25')](_0x193613)[_0x7110('0x12')](_0x36c44d)[_0x7110('0x13')](_0x7110('0x26'),null,_0x7110('0x27')+_0x36c44d+_0x7110('0x28'))[_0x7110('0x13')](_0x56b08b,null,_0x56b08b+'.id\x20=\x20'+_0x36c44d+'.'+_0x21cb1d)[_0x7110('0x15')](_0x36c44d+'.CmListId\x20=\x20?',_0x562b5a)[_0x7110('0x15')](_0x7110('0x29'),NOW)[_0x7110('0x15')](_0x7110('0x2a'),selectNotIn(_0x36c44d,_0x56b08b,_0x21cb1d,'cm_hopper',[_0x7110('0x2b'),_0x7110('0x2c')]))[_0x7110('0x15')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x36c44d,_0x56b08b,_0x21cb1d,_0x7110('0x1e'),['\x22always\x22'])))['toString']();}function insertCmHopperBlack(_0x427943,_0x1370c5,_0x16b03d,_0x14cae3){var _0x55f9f8=[_0x7110('0x17'),_0x7110('0x19'),_0x7110('0x1a'),_0x1370c5+'.'+_0x14cae3,_0x7110('0x2d'),_0x7110('0x1b')];return squel[_0x7110('0x1d')]()[_0x7110('0x2e')](_0x7110('0x2f'))[_0x7110('0x1f')]([_0x7110('0x11'),_0x7110('0x30'),_0x7110('0x20'),_0x14cae3,'createdAt','updatedAt'],squel[_0x7110('0xf')]()['fields'](_0x55f9f8)['from'](_0x1370c5)[_0x7110('0x13')](_0x7110('0x26'),null,'cm_contacts.ListId\x20=\x20'+_0x1370c5+_0x7110('0x28'))['join'](_0x16b03d,null,_0x16b03d+_0x7110('0x14')+_0x1370c5+'.'+_0x14cae3)[_0x7110('0x15')](_0x1370c5+'.CmListId\x20=\x20?',_0x427943)[_0x7110('0x15')](_0x7110('0x29'),NOW)[_0x7110('0x15')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',squel[_0x7110('0xf')]()[_0x7110('0x10')](_0x7110('0x11'))[_0x7110('0x12')](_0x7110('0x2f'))[_0x7110('0x15')](_0x7110('0x31'),_0x427943)[_0x7110('0x15')](_0x14cae3+_0x7110('0x32'),_0x1370c5+'.'+_0x14cae3)))['toString']();}function insertCmContact(_0x4c60b0,_0x421bd6,_0x58d23e,_0x44ec87){var _0x22ff33=_[_0x7110('0x33')](_[_0x7110('0x34')](_0x44ec87),['ListId','CompanyId',_0x7110('0x21'),'updatedAt']);return squel[_0x7110('0x1d')]()[_0x7110('0x2e')]('cm_contacts')[_0x7110('0x1f')](_0x22ff33,squel['select']()[_0x7110('0x25')](_0x22ff33)[_0x7110('0x12')](_0x421bd6)[_0x7110('0x15')]('('+_0x58d23e[_0x7110('0x13')](',')+_0x7110('0x35'),squel['select']()[_0x7110('0x25')](_0x58d23e)[_0x7110('0x12')](_0x7110('0x26'))[_0x7110('0x15')](_0x7110('0x31'),_0x4c60b0)[_0x7110('0x15')]('deletedAt\x20IS\x20NULL'))[_0x7110('0x15')](_0x7110('0x36'),squel[_0x7110('0xf')]()['field']('MIN(id)','min_id')[_0x7110('0x12')](_0x421bd6)[_0x7110('0x37')](_0x58d23e[_0x7110('0x13')](','))))[_0x7110('0x38')]();}function handleStop(){logger['info'](_0x7110('0x39'));stopped=!![];}function handleUncaughtException(_0x329176){logger['error'](_0x329176[_0x7110('0x3a')]);process['exit'](0x1);}function handleError(_0x4e4cda,_0x4f537f){stats[_0x7110('0x3b')]['push']({'name':_0x4f537f[_0x7110('0x3c')],'message':_0x4f537f[_0x7110('0x3a')],'row':_0x4e4cda});}function handleQuery(_0xdedb23){logger['info'](_0xdedb23);return db[_0x7110('0x3d')]['query'](_0xdedb23)[_0x7110('0x3e')](function(_0x280a97){results[_0x7110('0x3f')](_0x280a97);})[_0x7110('0x40')](function(_0x42ce2a){logger[_0x7110('0x41')](_0x42ce2a[_0x7110('0x3a')]);});}function main(_0x5cd742,_0x368b1e,_0x4cfebc,_0x1494f5){logger['info'](_0x7110('0x42'),_0x5cd742,JSON[_0x7110('0x43')](_0x368b1e));process['send'](_0x7110('0x44'));var _0x14d1e6=_0x368b1e[_0x7110('0x45')];var _0x51c090=_0x368b1e['socket_timestamp'];var _0x159c4d=path['join'](config[_0x7110('0x46')],_0x7110('0x47'),_0x51c090+_0x7110('0x48'));var _0x1fd8fc=_[_0x7110('0x34')](_0x14d1e6)['join']();logger[_0x7110('0x49')](_0x7110('0x4a'),_0x1fd8fc);fs[_0x7110('0x4b')](_0x159c4d,_0x1fd8fc+'\x0a');Papa[_0x7110('0x4c')](fs['createReadStream'](_0x5cd742),{'header':!![],'skipEmptyLines':!![],'step':function(_0x1bb7f3,_0x20650e){try{for(var _0x4ca881=0x0,_0x59c99a=[];_0x4ca881<_0x1bb7f3[_0x7110('0x4d')][_0x7110('0x4e')];_0x4ca881++){stats[_0x7110('0x4f')]+=0x1;if(_0x1bb7f3[_0x7110('0x3b')][_0x4ca881]){handleError(_0x1bb7f3[_0x7110('0x4d')][_0x4ca881],_0x1bb7f3['errors'][_0x4ca881]);}else{var _0x3fc1a2=[];for(var _0x5c1211 in _0x14d1e6){if(_0x14d1e6[_0x7110('0x50')](_0x5c1211)){if(_0x1bb7f3['data'][_0x4ca881][_0x14d1e6[_0x5c1211]]){var _0x162795=_[_0x7110('0x51')](_0x1bb7f3[_0x7110('0x4d')][_0x4ca881][_0x14d1e6[_0x5c1211]]['replace'](/"/g,'\x27'));switch(_0x5c1211){case _0x7110('0x52'):var _0x107c80=moment(_0x162795,'YYYY-MM-DD\x20HH:mm:ss',!![]);if(_0x107c80[_0x7110('0x53')]()){_0x59c99a[_0x7110('0x3f')]('\x22'+_0x162795+'\x22');}else{_0x3fc1a2[_0x7110('0x3f')](_0x7110('0x54'));}break;case _0x7110('0x23'):var _0x43883b=parseInt(_0x162795);_0x162795=_[_0x7110('0x55')](_0x43883b)||_0x43883b<0x0||_0x43883b>0x4?_0x1494f5?0x3:0x2:_0x43883b;_0x59c99a[_0x7110('0x3f')]('\x22'+_0x162795+'\x22');break;case'UserId':var _0x352446=parseInt(_0x162795);if(_[_0x7110('0x56')](_0x352446)&&_[_0x7110('0x57')](_0x4cfebc,_0x352446)){_0x59c99a[_0x7110('0x3f')]('\x22'+_0x352446+'\x22');}else{_0x3fc1a2['push']('agent\x20not\x20exists');}break;case _0x7110('0x58'):if(isEmail(_0x162795)){_0x59c99a[_0x7110('0x3f')]('\x22'+_0x162795+'\x22');}else{_0x3fc1a2[_0x7110('0x3f')](_0x7110('0x59'));}break;case'dateOfBirth':var _0x5be37e=moment(_0x162795,_0x7110('0x5a'),!![]);if(_0x5be37e[_0x7110('0x53')]()){_0x59c99a[_0x7110('0x3f')]('\x22'+_0x162795+'\x22');}else{_0x3fc1a2[_0x7110('0x3f')](_0x7110('0x5b'));}break;default:_0x59c99a[_0x7110('0x3f')]('\x22'+_0x162795+'\x22');}}else{switch(_0x5c1211){case _0x7110('0x5c'):case'phone':_0x3fc1a2[_0x7110('0x3f')](_0x5c1211+_0x7110('0x5d'));break;default:_0x59c99a[_0x7110('0x3f')]('\x22\x22');}}}}if(_0x3fc1a2['length']){handleError(_0x1bb7f3[_0x7110('0x4d')][_0x4ca881],{'code':_0x7110('0x5e'),'message':_0x3fc1a2[_0x7110('0x13')]()});}else{fs[_0x7110('0x5f')](_0x159c4d,_0x59c99a[_0x7110('0x13')]()+'\x0a');}_0x59c99a=[];}if(!(stats['rows']%0xc8)){socket[_0x7110('0x60')](_0x7110('0x61')+_0x51c090,stats);stats[_0x7110('0x3b')]=[];}}if(stopped){logger[_0x7110('0x49')](_0x7110('0x62'));_0x20650e[_0x7110('0x63')]();}}catch(_0x30902a){handleError(_0x1bb7f3[_0x7110('0x4d')][_0x4ca881],{'code':_0x7110('0x64'),'message':_0x30902a[_0x7110('0x3a')]});logger[_0x7110('0x41')]('step',_0x30902a[_0x7110('0x3a')]);}},'complete':function(){try{var _0x45de56=[];var _0x6cec1a=_0x7110('0x26');if(_0x368b1e[_0x7110('0x65')]&&_0x368b1e[_0x7110('0x65')]['length']){_0x6cec1a=_0x7110('0x66')+_0x51c090;_0x45de56[_0x7110('0x3f')](_0x7110('0x67')+_0x6cec1a+_0x7110('0x68'));}var _0x2727d6=util[_0x7110('0xd')](_0x7110('0x69'),_0x159c4d,_0x6cec1a,_0x1fd8fc,_0x368b1e[_0x7110('0x20')],_0x368b1e[_0x7110('0x6a')]||null,NOW,NOW);if(_[_0x7110('0x6b')](_0x14d1e6[_0x7110('0x52')])){_0x2727d6+=_0x7110('0x6c');}_0x45de56[_0x7110('0x3f')](_0x2727d6);if(_0x368b1e[_0x7110('0x65')]&&_0x368b1e[_0x7110('0x65')][_0x7110('0x4e')]){_0x45de56[_0x7110('0x3f')](insertCmContact(_0x368b1e[_0x7110('0x20')],_0x6cec1a,_0x368b1e[_0x7110('0x65')],_0x14d1e6));_0x45de56[_0x7110('0x3f')](_0x7110('0x6d')+_0x6cec1a+';');}_0x45de56['push'](insertCmHopper(_0x368b1e[_0x7110('0x20')],_0x7110('0x6e'),_0x7110('0x6f'),_0x7110('0x70'),_0x1494f5));_0x45de56[_0x7110('0x3f')](insertCmHopperBlack(_0x368b1e[_0x7110('0x20')],_0x7110('0x71'),_0x7110('0x6f'),_0x7110('0x70')));_0x45de56[_0x7110('0x3f')](insertCmHopper(_0x368b1e[_0x7110('0x20')],_0x7110('0x72'),_0x7110('0x73'),'CampaignId',_0x1494f5));_0x45de56[_0x7110('0x3f')](insertCmHopperBlack(_0x368b1e[_0x7110('0x20')],_0x7110('0x74'),_0x7110('0x73'),_0x7110('0x75')));BPromise['each'](_0x45de56,handleQuery)[_0x7110('0x76')](function(_0x677e93){stats[_0x7110('0x77')]=!![];stats[_0x7110('0x78')]=_0x368b1e[_0x7110('0x65')]&&_0x368b1e[_0x7110('0x65')][_0x7110('0x4e')]?results[0x2][_0x7110('0x78')]:results[0x0][_0x7110('0x78')];socket[_0x7110('0x60')](_0x7110('0x61')+_0x51c090,stats);fs['unlink'](_0x5cd742);fs['unlink'](_0x159c4d);process[_0x7110('0x79')](0x0);})[_0x7110('0x40')](function(_0x2597ea){logger['error'](_0x2597ea[_0x7110('0x3a')]);process[_0x7110('0x79')](0x1);});}catch(_0x5a2793){logger[_0x7110('0x41')](_0x7110('0x7a'),_0x5a2793[_0x7110('0x3a')]);process['exit'](0x1);}},'error':function(_0x203b24,_0x446279,_0x10925d,_0x4fd49c){throw new Error(_0x4fd49c);}});}function validate(){if(process[_0x7110('0x7b')]&&process[_0x7110('0x7b')]['length']<0x4){throw new Error(_0x7110('0x7c'));}var _0x5f2ce1=path[_0x7110('0x13')](config[_0x7110('0x46')],_0x7110('0x47'),process[_0x7110('0x7b')][0x2]);if(!fs[_0x7110('0x7d')](_0x5f2ce1)){throw new Error(_0x7110('0x7e'));}var _0xabd399={};try{_0xabd399=JSON[_0x7110('0x4c')](process['argv'][0x3]);if(!_0xabd399[_0x7110('0x45')]){throw new Error(_0x7110('0x7f'));}if(!_0xabd399['binding'][_0x7110('0x11')]){throw new Error('phone\x20is\x20mandatory');}if(!_0xabd399[_0x7110('0x45')][_0x7110('0x5c')]){throw new Error('firstName\x20is\x20mandatory');}var _0x4567e3=0x0;if(_0xabd399[_0x7110('0x45')][_0x7110('0x24')]){_0x4567e3=0x1;}if(!_0xabd399[_0x7110('0x20')]){throw new Error('ListId\x20is\x20mandatory');}}catch(_0x1cc0a5){throw new Error(_0x7110('0x80'));}var _0x50e8d9=[];try{_0x50e8d9=_['map'](JSON[_0x7110('0x4c')](process[_0x7110('0x7b')][0x4]),'id');}catch(_0x1c8496){logger['info'](_0x7110('0x81'));}main(_0x5f2ce1,_0xabd399,_0x50e8d9,_0x4567e3);}validate();process['on'](_0x7110('0x82'),handleStop);process['on'](_0x7110('0x83'),handleUncaughtException);
\ No newline at end of file
+var _0x7efc=['socket.io-emitter','format','YYYY-MM-DD\x20HH:mm:ss','test','field','from','\x20=\x20','where','.dialCheckDuplicateType\x20IN\x20(','join','cm_contacts.phone','cm_contacts.scheduledat','cm_contacts.id','cm_contacts.ListId','cm_contacts.createdAt','cm_contacts.updatedAt','cm_contacts.UserId','insert','into','fromQuery','ContactId','ListId','createdAt','updatedAt','UserId','recallme','select','fields','cm_contacts','cm_contacts.ListId\x20=\x20','.CmListId','.id\x20=\x20','cm_contacts.phone\x20NOT\x20IN\x20(?)','cm_hopper','\x22always\x22','\x22onlyIfOpen\x22','toString','phone','cm_contacts.createdAt\x20=\x20?','cm_hopper_black','ListId\x20=\x20?','concat','keys','deletedAt\x20IS\x20NULL','min_id','Received\x20SIGINT','error','message','errors','push','code','info','sequelize','catch','main','stringify','send','start','binding','socket_timestamp','server/files/tmp','header','writeFileSync','createReadStream','length','rows','hasOwnProperty','data','trim','replace','scheduledat','isValid','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','priority','isNumber','includes','agent\x20not\x20exists','dateOfBirth','YYYY-MM-DD','dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)','firstName','\x20not\x20specified','SystemRow','appendFileSync','contact:import:','Abort\x20parser','abort','SystemError','step','duplicates','cm_contacts_','LOAD\x20DATA\x20LOCAL\x20INFILE\x20\x27%s\x27\x20INTO\x20TABLE\x20%s\x20CHARACTER\x20SET\x20UTF8\x20FIELDS\x20TERMINATED\x20BY\x20\x27,\x27\x20ENCLOSED\x20BY\x20\x27\x22\x27\x20LINES\x20TERMINATED\x20BY\x20\x27\x0a\x27\x20IGNORE\x201\x20ROWS\x20(%s)\x20SET\x20id\x20=\x20NULL,\x20ListId\x20=\x20%s,\x20CompanyId\x20=\x20%s,\x20createdAt\x20=\x20\x27%s\x27,\x20updatedAt\x20=\x20\x27%s\x27','isNil',',\x20scheduledAt\x20=\x20NOW()','DROP\x20TABLE\x20','voice_queues_has_cm_lists','voice_queues','voice_queues_has_cm_blacklists','VoiceQueueId','campaigns_has_cm_lists','campaigns','CampaignId','each','then','finish','affectedRows','emit','unlink','exit','complete','argv','arguments\x20<filename>\x20<parameters>\x20<agents>','existsSync','file\x20doesn\x27t\x20exists','binding\x20doesn\x27t\x20exists','phone\x20is\x20mandatory','firstName\x20is\x20mandatory','ListId\x20is\x20mandatory','body\x20id\x20mandatory','map','No\x20agent\x20available','SIGINT','uncaughtException','path','papaparse','util','bluebird','moment','ioredis','../../../config/environment','redis','defaults'];(function(_0x256022,_0x24f7d7){var _0x1f6466=function(_0x485043){while(--_0x485043){_0x256022['push'](_0x256022['shift']());}};_0x1f6466(++_0x24f7d7);}(_0x7efc,0x183));var _0xc7ef=function(_0x595bd1,_0xb1e7a){_0x595bd1=_0x595bd1-0x0;var _0xd0344f=_0x7efc[_0x595bd1];return _0xd0344f;};'use strict';var fs=require('fs');var path=require(_0xc7ef('0x0'));var _=require('lodash');var Papa=require(_0xc7ef('0x1'));var util=require(_0xc7ef('0x2'));var BPromise=require(_0xc7ef('0x3'));var moment=require(_0xc7ef('0x4'));var squel=require('squel');var Redis=require(_0xc7ef('0x5'));var db=require('../../../mysqldb')['db'];var config=require(_0xc7ef('0x6'));var logger=require('../../../config/logger')('import');config[_0xc7ef('0x7')]=_[_0xc7ef('0x8')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0xc7ef('0x9'))(new Redis(config[_0xc7ef('0x7')]));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var stopped=![];var NOW=moment()[_0xc7ef('0xa')](_0xc7ef('0xb'));function isEmail(_0x152e77){return/^([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22))*\x40([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d))*$/[_0xc7ef('0xc')](_0x152e77);}function selectNotIn(_0x3f6ae2,_0x15223a,_0x304941,_0x5d5523,_0x25f151){return squel['select']()[_0xc7ef('0xd')]('phone')[_0xc7ef('0xe')](_0x5d5523)['join'](_0x15223a,null,_0x15223a+'.id\x20=\x20'+_0x5d5523+'.'+_0x304941)['where'](_0x5d5523+'.'+_0x304941+_0xc7ef('0xf')+_0x3f6ae2+'.'+_0x304941)[_0xc7ef('0x10')](_0x15223a+_0xc7ef('0x11')+_0x25f151[_0xc7ef('0x12')]()+')');}function insertCmHopper(_0x5175a0,_0x25a7df,_0x4a327e,_0x37217c,_0x1e1a53){var _0x2b04ae=[_0xc7ef('0x13'),_0xc7ef('0x14'),_0xc7ef('0x15'),_0xc7ef('0x16'),_0x25a7df+'.'+_0x37217c,_0xc7ef('0x17'),_0xc7ef('0x18'),'cm_contacts.priority',_0xc7ef('0x19'),'\x22'+_0x1e1a53+'\x22'];return squel[_0xc7ef('0x1a')]()[_0xc7ef('0x1b')]('cm_hopper')[_0xc7ef('0x1c')](['phone','scheduledat',_0xc7ef('0x1d'),_0xc7ef('0x1e'),_0x37217c,_0xc7ef('0x1f'),_0xc7ef('0x20'),'priority',_0xc7ef('0x21'),_0xc7ef('0x22')],squel[_0xc7ef('0x23')]()[_0xc7ef('0x24')](_0x2b04ae)[_0xc7ef('0xe')](_0x25a7df)['join'](_0xc7ef('0x25'),null,_0xc7ef('0x26')+_0x25a7df+_0xc7ef('0x27'))[_0xc7ef('0x12')](_0x4a327e,null,_0x4a327e+_0xc7ef('0x28')+_0x25a7df+'.'+_0x37217c)['where'](_0x25a7df+'.CmListId\x20=\x20?',_0x5175a0)['where']('cm_contacts.createdAt\x20=\x20?',NOW)['where'](_0xc7ef('0x29'),selectNotIn(_0x25a7df,_0x4a327e,_0x37217c,_0xc7ef('0x2a'),[_0xc7ef('0x2b'),_0xc7ef('0x2c')]))[_0xc7ef('0x10')](_0xc7ef('0x29'),selectNotIn(_0x25a7df,_0x4a327e,_0x37217c,_0xc7ef('0x2a'),[_0xc7ef('0x2b')])))[_0xc7ef('0x2d')]();}function insertCmHopperBlack(_0x4f23af,_0x4273b6,_0x1ba148,_0x189533){var _0x41d10b=['cm_contacts.phone',_0xc7ef('0x15'),'cm_contacts.ListId',_0x4273b6+'.'+_0x189533,_0xc7ef('0x17'),_0xc7ef('0x18')];return squel[_0xc7ef('0x1a')]()[_0xc7ef('0x1b')]('cm_hopper_black')[_0xc7ef('0x1c')]([_0xc7ef('0x2e'),'ContactId',_0xc7ef('0x1e'),_0x189533,_0xc7ef('0x1f'),_0xc7ef('0x20')],squel[_0xc7ef('0x23')]()[_0xc7ef('0x24')](_0x41d10b)[_0xc7ef('0xe')](_0x4273b6)[_0xc7ef('0x12')]('cm_contacts',null,'cm_contacts.ListId\x20=\x20'+_0x4273b6+_0xc7ef('0x27'))[_0xc7ef('0x12')](_0x1ba148,null,_0x1ba148+_0xc7ef('0x28')+_0x4273b6+'.'+_0x189533)[_0xc7ef('0x10')](_0x4273b6+'.CmListId\x20=\x20?',_0x4f23af)['where'](_0xc7ef('0x2f'),NOW)[_0xc7ef('0x10')](_0xc7ef('0x29'),squel[_0xc7ef('0x23')]()[_0xc7ef('0xd')](_0xc7ef('0x2e'))[_0xc7ef('0xe')](_0xc7ef('0x30'))[_0xc7ef('0x10')](_0xc7ef('0x31'),_0x4f23af)['where'](_0x189533+'\x20=\x20?',_0x4273b6+'.'+_0x189533)))['toString']();}function insertCmContact(_0x20b01b,_0xa46ca5,_0x38436d,_0xc12d35){var _0x35d01d=_[_0xc7ef('0x32')](_[_0xc7ef('0x33')](_0xc12d35),[_0xc7ef('0x1e'),'CompanyId','createdAt',_0xc7ef('0x20')]);return squel['insert']()[_0xc7ef('0x1b')](_0xc7ef('0x25'))[_0xc7ef('0x1c')](_0x35d01d,squel['select']()['fields'](_0x35d01d)[_0xc7ef('0xe')](_0xa46ca5)[_0xc7ef('0x10')]('('+_0x38436d[_0xc7ef('0x12')](',')+')\x20NOT\x20IN\x20?',squel[_0xc7ef('0x23')]()['fields'](_0x38436d)[_0xc7ef('0xe')]('cm_contacts')[_0xc7ef('0x10')](_0xc7ef('0x31'),_0x20b01b)['where'](_0xc7ef('0x34')))[_0xc7ef('0x10')]('id\x20IN\x20?',squel[_0xc7ef('0x23')]()[_0xc7ef('0xd')]('MIN(id)',_0xc7ef('0x35'))[_0xc7ef('0xe')](_0xa46ca5)['group'](_0x38436d[_0xc7ef('0x12')](','))))[_0xc7ef('0x2d')]();}function handleStop(){logger['info'](_0xc7ef('0x36'));stopped=!![];}function handleUncaughtException(_0x21efc1){logger[_0xc7ef('0x37')](_0x21efc1[_0xc7ef('0x38')]);process['exit'](0x1);}function handleError(_0x47d071,_0x1666d6){stats[_0xc7ef('0x39')][_0xc7ef('0x3a')]({'name':_0x1666d6[_0xc7ef('0x3b')],'message':_0x1666d6[_0xc7ef('0x38')],'row':_0x47d071});}function handleQuery(_0x284e58){logger[_0xc7ef('0x3c')](_0x284e58);return db[_0xc7ef('0x3d')]['query'](_0x284e58)['spread'](function(_0xb03e48){results['push'](_0xb03e48);})[_0xc7ef('0x3e')](function(_0x62f262){logger[_0xc7ef('0x37')](_0x62f262['message']);});}function main(_0x114d88,_0x26cac6,_0xf6a17e,_0x13ec91){logger['info'](_0xc7ef('0x3f'),_0x114d88,JSON[_0xc7ef('0x40')](_0x26cac6));process[_0xc7ef('0x41')](_0xc7ef('0x42'));var _0x3eb758=_0x26cac6[_0xc7ef('0x43')];var _0x3bd583=_0x26cac6[_0xc7ef('0x44')];var _0x5e0e1c=path[_0xc7ef('0x12')](config['root'],_0xc7ef('0x45'),_0x3bd583+'.csv');var _0x2313bf=_[_0xc7ef('0x33')](_0x3eb758)[_0xc7ef('0x12')]();logger[_0xc7ef('0x3c')](_0xc7ef('0x46'),_0x2313bf);fs[_0xc7ef('0x47')](_0x5e0e1c,_0x2313bf+'\x0a');Papa['parse'](fs[_0xc7ef('0x48')](_0x114d88),{'header':!![],'skipEmptyLines':!![],'step':function(_0x3a1c5c,_0x15e67c){try{for(var _0x402413=0x0,_0x21a795=[];_0x402413<_0x3a1c5c['data'][_0xc7ef('0x49')];_0x402413++){stats[_0xc7ef('0x4a')]+=0x1;if(_0x3a1c5c[_0xc7ef('0x39')][_0x402413]){handleError(_0x3a1c5c['data'][_0x402413],_0x3a1c5c[_0xc7ef('0x39')][_0x402413]);}else{var _0x10b0b7=[];for(var _0x556f0b in _0x3eb758){if(_0x3eb758[_0xc7ef('0x4b')](_0x556f0b)){if(_0x3a1c5c[_0xc7ef('0x4c')][_0x402413][_0x3eb758[_0x556f0b]]){var _0x3271dd=_[_0xc7ef('0x4d')](_0x3a1c5c[_0xc7ef('0x4c')][_0x402413][_0x3eb758[_0x556f0b]][_0xc7ef('0x4e')](/"/g,'\x27'));switch(_0x556f0b){case _0xc7ef('0x4f'):var _0x1ece92=moment(_0x3271dd,_0xc7ef('0xb'),!![]);if(_0x1ece92[_0xc7ef('0x50')]()){_0x21a795['push']('\x22'+_0x3271dd+'\x22');}else{_0x10b0b7[_0xc7ef('0x3a')](_0xc7ef('0x51'));}break;case _0xc7ef('0x52'):var _0xbb2108=parseInt(_0x3271dd);_0x3271dd=_['isNaN'](_0xbb2108)||_0xbb2108<0x0||_0xbb2108>0x4?_0x13ec91?0x3:0x2:_0xbb2108;_0x21a795['push']('\x22'+_0x3271dd+'\x22');break;case'UserId':var _0xc4fb9a=parseInt(_0x3271dd);if(_[_0xc7ef('0x53')](_0xc4fb9a)&&_[_0xc7ef('0x54')](_0xf6a17e,_0xc4fb9a)){_0x21a795[_0xc7ef('0x3a')]('\x22'+_0xc4fb9a+'\x22');}else{_0x10b0b7[_0xc7ef('0x3a')](_0xc7ef('0x55'));}break;case'email':if(isEmail(_0x3271dd)){_0x21a795[_0xc7ef('0x3a')]('\x22'+_0x3271dd+'\x22');}else{_0x10b0b7[_0xc7ef('0x3a')]('email\x20wrong\x20format');}break;case _0xc7ef('0x56'):var _0x486180=moment(_0x3271dd,_0xc7ef('0x57'),!![]);if(_0x486180[_0xc7ef('0x50')]()){_0x21a795[_0xc7ef('0x3a')]('\x22'+_0x3271dd+'\x22');}else{_0x10b0b7['push'](_0xc7ef('0x58'));}break;default:_0x21a795[_0xc7ef('0x3a')]('\x22'+_0x3271dd+'\x22');}}else{switch(_0x556f0b){case _0xc7ef('0x59'):case _0xc7ef('0x2e'):_0x10b0b7[_0xc7ef('0x3a')](_0x556f0b+_0xc7ef('0x5a'));break;default:_0x21a795[_0xc7ef('0x3a')]('\x22\x22');}}}}if(_0x10b0b7[_0xc7ef('0x49')]){handleError(_0x3a1c5c[_0xc7ef('0x4c')][_0x402413],{'code':_0xc7ef('0x5b'),'message':_0x10b0b7[_0xc7ef('0x12')]()});}else{fs[_0xc7ef('0x5c')](_0x5e0e1c,_0x21a795[_0xc7ef('0x12')]()+'\x0a');}_0x21a795=[];}if(!(stats[_0xc7ef('0x4a')]%0xc8)){socket['emit'](_0xc7ef('0x5d')+_0x3bd583,stats);stats[_0xc7ef('0x39')]=[];}}if(stopped){logger[_0xc7ef('0x3c')](_0xc7ef('0x5e'));_0x15e67c[_0xc7ef('0x5f')]();}}catch(_0x12157d){handleError(_0x3a1c5c[_0xc7ef('0x4c')][_0x402413],{'code':_0xc7ef('0x60'),'message':_0x12157d[_0xc7ef('0x38')]});logger[_0xc7ef('0x37')](_0xc7ef('0x61'),_0x12157d[_0xc7ef('0x38')]);}},'complete':function(){try{var _0x25f771=[];var _0x42d16b='cm_contacts';if(_0x26cac6['duplicates']&&_0x26cac6[_0xc7ef('0x62')][_0xc7ef('0x49')]){_0x42d16b=_0xc7ef('0x63')+_0x3bd583;_0x25f771[_0xc7ef('0x3a')]('CREATE\x20TABLE\x20'+_0x42d16b+'\x20LIKE\x20cm_contacts;');}var _0x234059=util[_0xc7ef('0xa')](_0xc7ef('0x64'),_0x5e0e1c,_0x42d16b,_0x2313bf,_0x26cac6[_0xc7ef('0x1e')],_0x26cac6['CompanyId']||null,NOW,NOW);if(_[_0xc7ef('0x65')](_0x3eb758['scheduledat'])){_0x234059+=_0xc7ef('0x66');}_0x25f771[_0xc7ef('0x3a')](_0x234059);if(_0x26cac6[_0xc7ef('0x62')]&&_0x26cac6[_0xc7ef('0x62')][_0xc7ef('0x49')]){_0x25f771['push'](insertCmContact(_0x26cac6[_0xc7ef('0x1e')],_0x42d16b,_0x26cac6[_0xc7ef('0x62')],_0x3eb758));_0x25f771[_0xc7ef('0x3a')](_0xc7ef('0x67')+_0x42d16b+';');}_0x25f771[_0xc7ef('0x3a')](insertCmHopper(_0x26cac6[_0xc7ef('0x1e')],_0xc7ef('0x68'),_0xc7ef('0x69'),'VoiceQueueId',_0x13ec91));_0x25f771[_0xc7ef('0x3a')](insertCmHopperBlack(_0x26cac6[_0xc7ef('0x1e')],_0xc7ef('0x6a'),_0xc7ef('0x69'),_0xc7ef('0x6b')));_0x25f771[_0xc7ef('0x3a')](insertCmHopper(_0x26cac6[_0xc7ef('0x1e')],_0xc7ef('0x6c'),_0xc7ef('0x6d'),_0xc7ef('0x6e'),_0x13ec91));_0x25f771[_0xc7ef('0x3a')](insertCmHopperBlack(_0x26cac6[_0xc7ef('0x1e')],'campaigns_has_cm_blacklists','campaigns','CampaignId'));BPromise[_0xc7ef('0x6f')](_0x25f771,handleQuery)[_0xc7ef('0x70')](function(_0x2f50f4){stats[_0xc7ef('0x71')]=!![];stats[_0xc7ef('0x72')]=_0x26cac6[_0xc7ef('0x62')]&&_0x26cac6[_0xc7ef('0x62')][_0xc7ef('0x49')]?results[0x2][_0xc7ef('0x72')]:results[0x0]['affectedRows'];socket[_0xc7ef('0x73')](_0xc7ef('0x5d')+_0x3bd583,stats);fs['unlink'](_0x114d88);fs[_0xc7ef('0x74')](_0x5e0e1c);process[_0xc7ef('0x75')](0x0);})[_0xc7ef('0x3e')](function(_0xf1714b){logger[_0xc7ef('0x37')](_0xf1714b[_0xc7ef('0x38')]);process[_0xc7ef('0x75')](0x1);});}catch(_0x447938){logger[_0xc7ef('0x37')](_0xc7ef('0x76'),_0x447938['message']);process[_0xc7ef('0x75')](0x1);}},'error':function(_0x435229,_0x1e1afb,_0x17aa9e,_0x561ed1){throw new Error(_0x561ed1);}});}function validate(){if(process[_0xc7ef('0x77')]&&process[_0xc7ef('0x77')][_0xc7ef('0x49')]<0x4){throw new Error(_0xc7ef('0x78'));}var _0x1b5b30=path['join'](config['root'],_0xc7ef('0x45'),process[_0xc7ef('0x77')][0x2]);if(!fs[_0xc7ef('0x79')](_0x1b5b30)){throw new Error(_0xc7ef('0x7a'));}var _0x1dc1c4={};try{_0x1dc1c4=JSON['parse'](process[_0xc7ef('0x77')][0x3]);if(!_0x1dc1c4['binding']){throw new Error(_0xc7ef('0x7b'));}if(!_0x1dc1c4[_0xc7ef('0x43')]['phone']){throw new Error(_0xc7ef('0x7c'));}if(!_0x1dc1c4[_0xc7ef('0x43')][_0xc7ef('0x59')]){throw new Error(_0xc7ef('0x7d'));}var _0x1a4888=0x0;if(_0x1dc1c4['binding'][_0xc7ef('0x21')]){_0x1a4888=0x1;}if(!_0x1dc1c4[_0xc7ef('0x1e')]){throw new Error(_0xc7ef('0x7e'));}}catch(_0x991b3e){throw new Error(_0xc7ef('0x7f'));}var _0x5a4e02=[];try{_0x5a4e02=_[_0xc7ef('0x80')](JSON['parse'](process['argv'][0x4]),'id');}catch(_0x51ebe6){logger['info'](_0xc7ef('0x81'));}main(_0x1b5b30,_0x1dc1c4,_0x5a4e02,_0x1a4888);}validate();process['on'](_0xc7ef('0x82'),handleStop);process['on'](_0xc7ef('0x83'),handleUncaughtException);
\ No newline at end of file