✏️ 正在编辑: Oportunidades.php
路径:
/srv/systems_dir/yuppiecred/application/models/Oportunidades.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class Model_Oportunidades { public static function enviarOportunidades($idClientes, $tipoMensagem) { $totalClientes = count($idClientes); $contarEnvios = 0; $idsEnviados = []; if( $tipoMensagem == "link" ){ $service = Core_Whatsapp_Factory::load(); $whatsapp = [1]; }else{ $service = new Core_Service_Sms(); $whatsapp = [0,1]; } if ( $service ) { $clientes = (new Model_DbTable_CallcenterBase()) ->fetchAll("id IN (" . implode(',', $idClientes) . ")"); foreach ($clientes as $base) { $corretor = (new Model_DbTable_Corretor())->fetchRow(['id = ?' => $base->carteira_corretor]); $telefones = (new Model_DbTable_CallcenterTelefone())->fetchAll(['cliente_id = ?' => $base->id, 'whatsapp IN(?)' => $whatsapp]); if( empty($telefones) ){ continue; } foreach( $telefones as $telefone ){ $celular = String_Refatorar::formatarTelefone($telefone->fone); if( !Core_Service_Sms::isValidPhone($celular) ){ continue; } $textoMensagem = self::formatarMensagemOportunidade($tipoMensagem, $base, $corretor); if (!$textoMensagem) return ["idsEnviados" => $idsEnviados, "msg" => "Você ainda não possui link gerado."]; if( $service->sendMessage($celular, $textoMensagem) != false ){ Yuppie_Log::write("Mensagem enviada para {$celular} com texto {$textoMensagem}"); $contarEnvios++; array_push($idsEnviados, $base->id); } if( $contarEnvios ){ $tbEnvios = new Model_DbTable_OportunidadesEnviadas(); $tbEnvios->insert([ 'id' => null, 'cliente_id' => $base->id, 'tipo_mensagem' => $tipoMensagem, 'usuario_envio' => Yuppie_Auth::getIdentity()->nome ]); } } } return ["idsEnviados" => $idsEnviados, "msg" => "Foram enviadas {$contarEnvios} de {$totalClientes} oportunidades selecionadas!"]; } else { return ["idsEnviados" => $idsEnviados, "msg" => "O sistema não está configurado para o envio de mensagens."]; } } public static function formatarMensagemOportunidade($tipoMensagem, $cliente, $corretor) { if ($tipoMensagem == 'link' && $corretor->token_sinc_yuppies) { $front = Zend_Controller_Front::getInstance(); $link = Core_Link::criaLink("http://{$_SERVER['HTTP_HOST']}{$front->getBaseUrl()}/proposta-cliente", "corretor_id={$corretor->id}&&base_id={$cliente->id}"); return "Ola {$cliente->nome}, acesse o link a seguir e complemente com seus dados para darmos andamento na sua proposta: \n" . "_{$link}_"; } $empresa = $corretor->findParentRow('Model_DbTable_Empresa'); $nomeCliente = substr($cliente->nome, 0, 64); if( $tipoMensagem == "saque" ){ $nomeCliente = substr($cliente->nome, 0, 55); return "Ola {$nomeCliente}, temos uma oportunidade de saque no seu cartao, a sua disposicao. " . "Entre em contato " . ($corretor->celular ? "{$corretor->celular}." : ($empresa) ? $empresa->fone : ""); } if( $tipoMensagem == "novo contrato" ){ $nomeCliente = substr($cliente->nome, 0, 42); return "Ola {$nomeCliente}, temos uma oportunidade para voce aproveitar sua margem de credito consignado. " . "Entre em contato " . ($corretor->celular ? "{$corretor->celular}." : ($empresa) ? $empresa->fone : ""); } return "Ola {$nomeCliente}, temos uma oportunidade de refinanciamento a disposicao. " . "Entre em contato " . ($corretor->celular ? "{$corretor->celular}." : ($empresa) ? $empresa->fone : ""); } public static function atendimentoCliente($dados) { $cliente = new Model_CallcenterBase($dados); $cliente->salvar($cliente); $callcenterAtendimento = new Model_CallcenterAtendimento(); $callcenterAtendimento->setDataAtendimento(Zend_Date::now()->get('yyyy-MM-dd HH:mm:ss')); $callcenterAtendimento->setStatusAtendimento($dados['status_atendimento']); $callcenterAtendimento->setCampanhaId($dados['campanha_id']); $callcenterAtendimento->setClienteId($dados['id']); $callcenterAtendimento->setComentario($dados['comentario']); return $callcenterAtendimento->salvar($callcenterAtendimento); } }
💾 保存文件
← 返回文件管理器