✏️ 正在编辑: CallcenterDiscadorController.php
路径:
/srv/systems_dir/yuppiecred-lidernegocios/application/controllers/CallcenterDiscadorController.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php use Core_Discador_Factory as Factory; class CallcenterDiscadorController extends Zend_Controller_Action { protected $callcenterBaseModel; protected $campanhaModel; protected $callcenterTelefoneModel; protected $discador; public function init() { $this->_helper->layout->disableLayout(); $this->callcenterBaseModel = new Model_CallcenterBase(); $this->campanhaModel = new Model_DbTable_CallcenterCampanha(); $this->callcenterTelefoneModel = new Model_DbTable_CallcenterTelefone(); $this->discador = Factory::load(); //Corrigir } public function indexAction() { $campanhaId = $this->_getParam('campanha_id'); $this->view->form = new Form_CallcenterDiscador(); $this->view->andamento = $this->callcenterBaseModel->calculaAndamentoCampanhaDiscador((int) $campanhaId); $this->view->realizados = $this->callcenterBaseModel->getNumerosEnviado((int) $campanhaId); $this->view->mensagem = $this->_getParam('mensagem', ''); } //Teletransportar codigo da action para "facade" public function enviarCampanhaDiscadorAction() { set_time_limit(0); // $this->discador->listarCampanhas(); $campanhaId = $this->_getParam('campanha_id'); $dadosCampanha = $this->campanhaModel->selectCampanhaInfo($campanhaId); $chamadas = $this->callcenterBaseModel->getTelefonesNaoEnviadosDiscador($campanhaId); $this->discador->setDbTableTelefones($this->callcenterTelefoneModel); $retornoDiscador = $this->discador->lancarChamadaDiscador($chamadas, $dadosCampanha); $this->getRequest()->setParam('mensagem', $retornoDiscador['mensagem']); $this->_forward('index', 'callcenter-discador', 'default', $this->_getAllParams()); } //Teletransportar codigo da action para "facade" public function consultarCampanhaDiscadorAction() { $campanhaId = $this->_getParam('campanha_id'); $dadosCampanha = $this->campanhaModel->selectCampanhaInfo($campanhaId); $chamadas = $this->callcenterBaseModel->getTelefonesParaConsultarDiscador($campanhaId); $this->discador->setDbTableTelefones($this->callcenterTelefoneModel); $retornoDiscador = $this->discador->consultarChamadasDiscador($chamadas, $dadosCampanha['codigo']); $this->getRequest()->setParam('mensagem', $retornoDiscador['mensagem']); $this->_forward('index', 'callcenter-discador', 'default', $this->_getAllParams()); } public function consultarRamalAction() { return $this->_helper->json((new Model_Usuario())->getNumeroRamal()); } public function atualizarRamalAction() { $numeroRamal = $this->_getParam('numero_ramal'); $response = (new Model_Usuario())->atualizarNumeroRamalParaDiscador($numeroRamal); return $this->_helper->json($response); } public function iniciarPararDiscadorAction() { $campanhaId = $this->_getParam('campanha_id'); $acao = $this->_getParam('acao'); $campanha = (new Model_CallcenterCampanha())->exibir($campanhaId); if( !$campanha ){ $this->_helper->json(['error' => 'Campanha não localizada']); } if( empty($campanha->codigo) ){ $this->_helper->json(['error' => 'Campanha não possui código do discador']); } $retornoDiscador = $this->discador->pausarAtivarCampanha($acao, $campanha->codigo); if( $retornoDiscador ){ $campanha->status_discador = 2; //PAUSADA if( $acao == "play_campanha" ){ $campanha->status_discador = 1; //ATIVA } $campanha->save(); $this->_helper->json(['alert' => 'Campanha atualizada com sucesso']); } $this->_helper->json(['alert' => 'Não foi possível executar a ação na campanha']); } public function relatorioUraReversaAction() { $campanhaId = $this->getRequest()->getParam('campanha_id', 0); $result = null; if( $campanhaId > 0 ){ $dadosCampanha = (new Model_CallcenterCampanha())->exibir($campanhaId); $relatorio = $this->discador->relatorioUraReversa($dadosCampanha->codigo, $dadosCampanha->data_inicial, $dadosCampanha->data_final); if( empty($relatorio) ){ $this->_helper->json(['alert' => "A campanha não retornou resultado no Relatório de Ura Reversa.\n" . "Verifique o código da campanha e a data inicial e final."]); } try{ $result = (new Model_DbTable_CallcenterRelatorioUra())->importar($dadosCampanha->id, $relatorio); } catch( Core_Exception $e ){ $this->_helper->json(['alert' => $e->getMessage()]); } $this->_helper->json(['alert' => $result ? "Dados importados com sucesso" : "Nenhuma informação nova foi importada"]); } } }
💾 保存文件
← 返回文件管理器