✏️ 正在编辑: CronController.php
路径:
/srv/systems_dir/yuppiecred-lidernegocios/application/controllers/CronController.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php /** * @sem_permissao */ class CronController extends Zend_Controller_Action { public function init(){ //actions liberadas $actions = array( 'notificar-agenda', 'importacao-producao-automatica', 'agendar-importacoes', 'agenda-notificada' ); if( !in_array($this->getRequest()->getActionName(), $actions) ){ die('Acesso não permitido'); } } public function notificarAgendaAction() { $this->_helper->viewRenderer->setNoRender(); $this->_helper->layout->disableLayout(); $this->setCronUser(); try{ $request = $this->getRequest(); $id = $request->getParam('id'); $dbtable = new Model_DbTable_CallcenterBase(); $base = $dbtable->fetchRow([ "id = ?" => $id, "agendado_para = ?" => $request->getParam('data'), "hora_agendada = ?" => $request->getParam('hora'), "agenda_notificada = 0" ]); if ($base){ $url = $this->view->url([ 'controller' => 'callcenter', 'action' => 'exibir-cliente', 'id' => $id ], null, true, false); Core_Notificacao_PushBrowser::notify( "agenda", "Cliente agendado", "Nome $base->nome. CPF: $base->cpf", [ "destinatario" => $base->usuario_ultimo_atendimento, "cliente" => $id, "url" => $url ] ); } } catch (Exception $e) { $this->_helper->flashMessenger(['alert' => $e->getMessage()]); } } public function agendaNotificadaAction() { $request = $this->getRequest(); $id = $request->getParam('id'); $model = new Model_CallcenterBase(); $base = $model->exibir($id); if($base){ $dbtable = new Model_DbTable_CallcenterBase(); $notificada = $dbtable->agendaNotificada($id); if($notificada){ $json = array("error" => false, "msg" => "Salvo com sucesso!"); } else { $json = array("error" => true, "msg" => "Nenhum registro foi alterado"); } } else { $json = array("error" => true, "msg" => "Id inválido"); } $this->_helper->json($json); } public function importacaoProducaoAutomaticaAction(){ set_time_limit(0); $this->_helper->viewRenderer->setNoRender(); $this->_helper->layout->disableLayout(); //Inicia a sessão se ainda estiver iniciada Yuppie_Auth::getSiteKey(); //Verifica se há um usuário conectado e se ele corresponde ao da importação if( !Yuppie_Auth::hasIdentity() || Yuppie_Auth::getIdentity()->nome != "IMPORTACAO CRON"){ //Caso não, autentica usuario try { $this->setCronUser(); $response['identidade'] = Yuppie_Auth::getIdentity(); } catch ( Exception $exc ) { $response['error'] = $exc->getMessage(); $this->_helper->json($response); return; } }else{ $response['identidade'] = Yuppie_Auth::getIdentity(); } //Verifica se houve falha na autenticação, caso não, inicia a importação if(!empty($response['identidade'])){ $response = array(); $bancosImportacao = array("BRADESCO PROMOTORA", "BANRISUL", "BONSUCESSO"); foreach ( $bancosImportacao as $banco ) { $bancoId = Model_Banco::bancoPorNome($banco); if($banco == "BRADESCO PROMOTORA" || $banco == "BANRISUL"){ $result = Core_Banco_Service_ImportacaoAutomatica::importacaoDiretaAutomatica($banco); } else{ $result = Core_Banco_Service_ImportacaoAutomatica::importacaoBonsucessoAutomatica($bancoId); } if( is_array($result) && !empty($result)){ $falhaImportacao = new Model_DbTable_FalhaImportacao(); foreach ( $result as $key => $naoImportado ) { foreach ( $naoImportado as $contrato ) { $contrato['arquivo'] = $key != 0 ? $key : null; $contrato['banco_id'] = $bancoId; unset($contrato['valor_liquido']); $falhaImportacao->insert($contrato); } } } $response[$banco] = $result; } } else{ $response['error'] = "Falha na autenticacao do usuario de importacao"; } $file = "/var/www/cron/log-importacao"; file_put_contents($file,"\n" . json_encode($response), FILE_APPEND); $this->_helper->json($response); } public function agendarImportacoesAction(){ $this->_helper->viewRenderer->setNoRender(); $this->_helper->layout->disableLayout(); $uris = array('yuppiecred', 'primecorban'); $ns = new Zend_Session_Namespace('clientes_importados'); $hoje = Zend_Date::now(); $hoje->addMinute(05); $filePath = '/var/www/cron/agendamento-importacao'; if($ns->clientes_importados == null){ $ns->clientes_importados = array_slice($uris, 0, 1); file_put_contents($filePath, "{$hoje->toString('hh mm dd MM YYYY')} " . "http://localhost/{$uris[0]}/public/cron/importacao-producao-automatica/"); } else if($uris != $ns->clientes_importados) { $diff = array_diff($uris, $ns->clientes_importados); $cliente = $diff[count($ns->clientes_importados)]; $ns->clientes_importados[] = $cliente; file_put_contents($filePath,"{$hoje->toString('hh mm dd MM YYYY')} " . "http://localhost/{$cliente}/public/cron/importacao-producao-automatica/"); } else{ $handle = fopen($filePath, 'w'); fclose($handle); } } private function setCronUser() { $usuario = new stdClass(); $usuario->{'id'} = 9999; $usuario->{'grupo_id'} = 1; $usuario->{'empresa_id'} = 1; $usuario->{'nome'} = "AUTOMACAO CRON"; $usuario->{'login'} = "CRON"; $usuario->{'grupo'} = "Administradores"; $usuario->{'dias'} = "0,1,2,3,4,5,6"; $usuario->{'hora_inicio'} = "08:00"; $usuario->{'hora_fim'} = "23:00"; Yuppie_Auth::writeStorage($usuario); $acl = new Core_LibraryAcl($usuario->grupo); $ns = new Zend_Session_Namespace(); $ns->acl = $acl; } }
💾 保存文件
← 返回文件管理器