Browse Source

add model Message

main
lucas cardoso 2 years ago
parent
commit
510747cee0
  1. 85
      app/Models/Message.php
  2. 119
      app/Models/MessageModel.php

85
app/Models/Message.php

@ -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();
}
}

119
app/Models/MessageModel.php

@ -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…
Cancel
Save