✏️ 正在编辑: CallcenterMsgUra.php
路径:
/srv/systems_dir/yuppiecred/application/models/CallcenterMsgUra.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class Model_CallcenterMsgUra { private $_id; private $_campanhaId; private $_opcao; private $_mensagem; private $_departamento; public function getId() { return $this->_id; } public function setId($id) { $this->_id = $id; } public function getCampanhaId() { return $this->_campanhaId; } public function setCampanhaId($value) { $this->_campanhaId = $value; } public function getOpcao() { return $this->_opcao; } public function setOpcao($value) { $this->_opcao = $value; } public function getMensagem() { return $this->_mensagem; } public function setMensagem($value) { $this->_mensagem = $value; } public function getDepartamento() { return $this->_departamento; } public function setDepartamento($value) { $this->_departamento = $value; } public function __construct($options = null) { if( is_array($options) ){ $this->setOptions($options); } } public function setOptions(array $options) { $methods = get_class_methods($this); foreach ( $options as $key => $value ) { $explode = explode("_", $key); $methodName = ''; foreach ( $explode as $v ) { $methodName .= ucfirst($v); } $key = $methodName != '' ? $methodName : $key; $method = 'set' . ucfirst($key); if( in_array($method, $methods) ){ $this->$method($value); } } return $this; } public function _toArray() { $dbtable = new Model_DbTable_CallcenterMsgUra(); $info = $dbtable->info(); $methods = get_class_methods($this); $data = []; foreach ( $info['cols'] as $key ) { $col = $key; $explode = explode("_", $key); $methodName = ''; foreach ( $explode as $v ) { $methodName .= ucfirst($v); } $key = $methodName != '' ? $methodName : $key; $method = 'get' . ucfirst($key); if (in_array($method, $methods)) { $data[$col] = $this->$method(); } } return $data; } /** * Insere ou altera o registro passado por parâmetro * @param Model_CallcenterMsgUra $mensagem */ public function salvar(Model_CallcenterMsgUra $mensagem) { $msg = $this->exibirByOpcao($mensagem->getCampanhaId(), $mensagem->getOpcao()); if (!empty($msg) && ($msg->id != $mensagem->getId())) { throw new Exception('Já existe uma mensagem configurada para esta opção de URA.'); } $dbtable = new Model_DbTable_CallcenterMsgUra(); if ($mensagem->getId() > 0) { $dbtable->update($mensagem->_toArray(), "id = " . $mensagem->getId()); return $mensagem->getId(); } else { return $dbtable->insert($mensagem->_toArray()); } } /** * Exclui o registro passado por parâmetro * @param int $id * @return int The number of rows deleted */ public function excluir($id) { if ($id > 0) { $dbtable = new Model_DbTable_CallcenterMsgUra(); return $dbtable->delete(["id = ?" => $id]); } return null; } /** * Retorna uma lista * @param string $fields * @param string $order * @return Zend_Db_Table_Rowset_Abstract The row results per the Zend_Db_Adapter fetch mode. */ public function listar($fields = null, $order = "opcao ASC") { $where = []; if (!empty($fields['campanha_id'])) { $where['campanha_id = ?'] = $fields['campanha_id']; } if (!empty($fields['opcao'])) { $where['opcao = ?'] = $fields['opcao']; } if (!empty($fields['mensagem'])) { $where['mensagem LIKE ?'] = "%{$fields['mensagem']}%"; } $dbtable = new Model_DbTable_CallcenterMsgUra(); return $dbtable->fetchAll($where, $order); } /** * Retorna um fetchRow do item passado por parâmetro * @param int $id * @return Zend_Db_Table_Row_Abstract | null */ public function exibir($id) { $dbtable = new Model_DbTable_CallcenterMsgUra(); return $dbtable->fetchRow(["id = ?" => $id]); } public function exibirByOpcao($campanhaId, $opcao) { $dbtable = new Model_DbTable_CallcenterMsgUra(); return $dbtable->fetchRow(["campanha_id = ?" => $campanhaId, "opcao = ?" => $opcao]); } public static function enviarNotificacaoOpcaoUra($base, $opcaoUra, $celular) { $dbtable = new Model_DbTable_CallcenterMsgUra(); $mensagem = $dbtable->fetchRow([ "campanha_id = ?" => $base['campanha_id'], "opcao = ?" => $opcaoUra ]); if (empty($mensagem)) { return false; } if (!$whatsapp = \Core_Whatsapp_Factory::load()) { return false; } $texto = self::substituirTags($base, $mensagem->mensagem); $send = $whatsapp->sendMessage(String_Refatorar::formatarTelefone($celular), $texto, false); if ($send) { $response = $whatsapp->getResponse(); $whatsapp->transferTicket($response['contactId'], $mensagem->departamento); } return $send; } public static function substituirTags($cliente, $mensagem) { if (stristr($mensagem, "[NOME_CLIENTE]")) { $mensagem = str_replace("[NOME_CLIENTE]", $cliente['nome'], $mensagem); } if (stristr($mensagem, "[CPF]")) { $cpf = String_Refatorar::resetCpf($cliente['cpf']); $mensagem = str_replace("[CPF]", String_Refatorar::ocultarCaracteres($cpf, 7), $mensagem); } return $mensagem; } }
💾 保存文件
← 返回文件管理器