lucas cardoso
2 years ago
2 changed files with 119 additions and 85 deletions
@ -1,85 +0,0 @@
|
||||
<?php |
||||
|
||||
namespace app\Models; |
||||
|
||||
use app\Core\Model; |
||||
|
||||
/** |
||||
* Description of Message |
||||
* |
||||
* @author root |
||||
*/ |
||||
class Message extends Model |
||||
{ |
||||
|
||||
const MESSAGE = "message"; |
||||
|
||||
public function addMessage($uniqueid, $src, $dst, $tipo, $content, $profile_name, $media, $status, $mimetype = null, $file_name = null, $id_provedor = null) |
||||
{ |
||||
if ($uniqueid) { |
||||
$this->query = "INSERT INTO " . self::MESSAGE . " (uniqueid, src, dst, type, content, profile_name, media, status, mimetype, file_name, id_provedor) |
||||
VALUES(:uniqueid, :src, :dst, :type, :content, :profile_name, :media, :status, :mimetype, :file_name, :id_provedor);"; |
||||
return $this->create($this->query, [ |
||||
'uniqueid' => $uniqueid, |
||||
'src' => $src, |
||||
'dst' => $dst, |
||||
'type' => $tipo, |
||||
'content' => $content, |
||||
'profile_name' => utf8_decode($profile_name), |
||||
'media' => $media, |
||||
'status' => $status, |
||||
'id_provedor' => $id_provedor, |
||||
'file_name' => $file_name, |
||||
'mimetype' => $mimetype |
||||
]); |
||||
} else { |
||||
logger('debug')->info(print_r([ |
||||
'uniqueid' => $uniqueid, |
||||
'src' => $src, |
||||
'dst' => $dst, |
||||
'type' => $tipo, |
||||
'content' => $content, |
||||
'profile_name' => utf8_decode($profile_name), |
||||
'media' => $media, |
||||
'status' => $status, |
||||
'id_provedor' => $id_provedor, |
||||
'file_name' => $file_name, |
||||
'mimetype' => $mimetype |
||||
], true)); |
||||
return null; |
||||
} |
||||
} |
||||
|
||||
public function findMessageByUniqueid($uniqueid) |
||||
{ |
||||
$this->query = "SELECT * FROM " . self::MESSAGE . " WHERE uniqueid = :uniqueid ORDER BY id"; |
||||
return $this->read($this->query, ['uniqueid' => $uniqueid])->fetchAll(); |
||||
} |
||||
|
||||
public function findMessageByNumber($number) |
||||
{ |
||||
$this->query = "SELECT * FROM " . self::MESSAGE . " WHERE (src = :number OR dst = :number) ORDER BY msg_date ASC, uniqueid "; |
||||
return $this->read($this->query, ['number' => $number])->fetchAll(); |
||||
} |
||||
|
||||
public function findLastMessage($uniqueid) |
||||
{ |
||||
$this->query = "SELECT * FROM " . self::MESSAGE . " WHERE uniqueid = :uniqueid "; |
||||
$this->query .= " ORDER BY msg_date DESC LIMIT 1"; |
||||
return $this->read($this->query, ['uniqueid' => $uniqueid])->fetch(); |
||||
} |
||||
public function markMessege($uniqueid, $status) |
||||
{ |
||||
$this->query = "UPDATE " . self::MESSAGE . " SET status = :status WHERE uniqueid = :uniqueid;"; |
||||
$data['uniqueid'] = $uniqueid; |
||||
$data['status'] = $status; |
||||
return $this->update($this->query, $data); |
||||
} |
||||
|
||||
public function getNameCliente($uniqueid, $cliente_id) |
||||
{ |
||||
$this->query = "SELECT profile_name FROM message mm WHERE uniqueid = :uniqueid AND src = :cliente_id LIMIT 1"; |
||||
|
||||
return $this->read($this->query, ['uniqueid' => $uniqueid, 'cliente_id' => $cliente_id])->fetch(); |
||||
} |
||||
} |
@ -0,0 +1,119 @@
|
||||
<?php |
||||
|
||||
namespace app\Models; |
||||
|
||||
use app\Core\DataBase; |
||||
use app\Core\Model; |
||||
use Exception; |
||||
|
||||
/** |
||||
* Description of MessageModel |
||||
* |
||||
* @author root |
||||
*/ |
||||
class MessageModel implements Model |
||||
{ |
||||
|
||||
public DataBase $db; |
||||
private static $table = "message"; |
||||
|
||||
function __construct() |
||||
{ |
||||
$this->db = new DataBase; |
||||
} |
||||
|
||||
public function addMessage($uniqueid, $src, $dst, $tipo, $content, $profile_name, $media, $status, $mimetype = null, $file_name = null, $id_provedor = null) |
||||
{ |
||||
$table = MessageModel::$table; |
||||
$query = ''; |
||||
if ($uniqueid) { |
||||
$query = "INSERT INTO $table (uniqueid, src, dst, type, content, profile_name, media, status, mimetype, file_name, id_provedor) |
||||
VALUES(:uniqueid, :src, :dst, :type, :content, :profile_name, :media, :status, :mimetype, :file_name, :id_provedor);"; |
||||
return $this->db->create($query, [ |
||||
'uniqueid' => $uniqueid, |
||||
'src' => $src, |
||||
'dst' => $dst, |
||||
'type' => $tipo, |
||||
'content' => $content, |
||||
'profile_name' => utf8_decode($profile_name), |
||||
'media' => $media, |
||||
'status' => $status, |
||||
'id_provedor' => $id_provedor, |
||||
'file_name' => $file_name, |
||||
'mimetype' => $mimetype |
||||
]); |
||||
} else { |
||||
logger('debug')->info(print_r([ |
||||
'uniqueid' => $uniqueid, |
||||
'src' => $src, |
||||
'dst' => $dst, |
||||
'type' => $tipo, |
||||
'content' => $content, |
||||
'profile_name' => utf8_decode($profile_name), |
||||
'media' => $media, |
||||
'status' => $status, |
||||
'id_provedor' => $id_provedor, |
||||
'file_name' => $file_name, |
||||
'mimetype' => $mimetype |
||||
], true)); |
||||
return null; |
||||
} |
||||
} |
||||
|
||||
public function get(array $params) |
||||
{ |
||||
$table = MessageModel::$table; |
||||
$query = "SELECT * FROM $table WHERE uniqueid = :uniqueid ORDER BY id"; |
||||
if (empty($uniqueid['uniqueid'])) { |
||||
throw new Exception('Parâmetro matricula é obrigatório'); |
||||
} |
||||
return $this->db->read($query, $params)->fetch(); |
||||
} |
||||
|
||||
public function findMessageByNumber($number) |
||||
{ |
||||
$table = MessageModel::$table; |
||||
$query = "SELECT * FROM $table WHERE (src = :number OR dst = :number) ORDER BY msg_date ASC, uniqueid "; |
||||
return $this->db->read($query, ['number' => $number])->fetchAll(); |
||||
} |
||||
|
||||
public function findLastMessage($uniqueid) |
||||
{ |
||||
$table = MessageModel::$table; |
||||
$query = "SELECT * FROM $table WHERE uniqueid = :uniqueid "; |
||||
$query .= " ORDER BY msg_date DESC LIMIT 1"; |
||||
return $this->db->read($query, ['uniqueid' => $uniqueid])->fetch(); |
||||
} |
||||
public function markMessege($uniqueid, $status) |
||||
{ |
||||
$table = MessageModel::$table; |
||||
$query = "UPDATE $table SET status = :status WHERE uniqueid = :uniqueid;"; |
||||
$data['uniqueid'] = $uniqueid; |
||||
$data['status'] = $status; |
||||
return $this->db->update($query, $data); |
||||
} |
||||
|
||||
public function getNameCliente($uniqueid, $cliente_id) |
||||
{ |
||||
$table = MessageModel::$table; |
||||
$query = "SELECT profile_name FROM $table mm WHERE uniqueid = :uniqueid AND src = :cliente_id LIMIT 1"; |
||||
|
||||
return $this->db->read($query, ['uniqueid' => $uniqueid, 'cliente_id' => $cliente_id])->fetch(); |
||||
} |
||||
function list(array $params = []) |
||||
{ |
||||
throw new Exception('Methodo não implementado'); |
||||
} |
||||
function delet(array $params) |
||||
{ |
||||
throw new Exception('Methodo não implementado'); |
||||
} |
||||
function create(array $params) |
||||
{ |
||||
throw new Exception('Methodo não implementado'); |
||||
} |
||||
function update(array $params) |
||||
{ |
||||
throw new Exception('Methodo não implementado'); |
||||
} |
||||
} |
Loading…
Reference in new issue