From 510747cee0eda7e6eecd39488cf739ac85df0958 Mon Sep 17 00:00:00 2001 From: lucas cardoso Date: Wed, 13 Jul 2022 09:29:14 -0400 Subject: [PATCH] add model Message --- app/Models/Message.php | 85 -------------------------- app/Models/MessageModel.php | 119 ++++++++++++++++++++++++++++++++++++ 2 files changed, 119 insertions(+), 85 deletions(-) delete mode 100644 app/Models/Message.php create mode 100644 app/Models/MessageModel.php diff --git a/app/Models/Message.php b/app/Models/Message.php deleted file mode 100644 index 332dc80..0000000 --- a/app/Models/Message.php +++ /dev/null @@ -1,85 +0,0 @@ -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(); - } -} diff --git a/app/Models/MessageModel.php b/app/Models/MessageModel.php new file mode 100644 index 0000000..ef5dc07 --- /dev/null +++ b/app/Models/MessageModel.php @@ -0,0 +1,119 @@ +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'); + } +} \ No newline at end of file