forked from SimplesIP/pabx-app
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
2.1 KiB
64 lines
2.1 KiB
2 years ago
|
<?php
|
||
|
|
||
|
namespace app\Models;
|
||
|
|
||
|
use app\Core\Model;
|
||
|
|
||
|
/**
|
||
|
* Description of EventQueue
|
||
|
*
|
||
|
* @author root
|
||
|
*/
|
||
|
class EventQueue extends Model
|
||
|
{
|
||
|
|
||
|
const TABLE = 'pbx_eventos_dacs';
|
||
|
|
||
|
public function findEventQueueByAgent($agente, $queue = false)
|
||
|
{
|
||
|
$this->query = "SELECT * FROM " . self::TABLE . " WHERE agente = :agente ";
|
||
|
|
||
|
if ($queue) {
|
||
|
$this->query .= " AND fila = :queue ";
|
||
|
$data['queue'] = $queue;
|
||
|
}
|
||
|
|
||
|
$this->query .= " ORDER BY uid1 DESC LIMIT 1 ";
|
||
|
|
||
|
$data['agente'] = $agente;
|
||
|
return $this->read($this->query, $data)->fetch();
|
||
|
}
|
||
|
|
||
|
public function findEventQueueByParam2($uniqueid)
|
||
|
{
|
||
|
$this->query = "SELECT * FROM " . self::TABLE . " WHERE param2 = :param2 ";
|
||
|
return $this->read($this->query, ['param2' => $uniqueid])->fetch();
|
||
|
}
|
||
|
|
||
|
public function addEventQueue($uniqueid, $queue, $agent, $event, $media)
|
||
|
{
|
||
|
$this->query = "INSERT INTO " . self::TABLE . " (uid1, uid2, fila, agente, evento, param2) VALUES(:uid1, :uid2, :fila, :agente, :evento, :param2);";
|
||
|
$data['uid1'] = time();
|
||
|
$data['uid2'] = $uniqueid;
|
||
|
$data['fila'] = $queue;
|
||
|
$data['agente'] = $agent;
|
||
|
$data['evento'] = $event;
|
||
|
$data['param2'] = $media;
|
||
|
return $this->create($this->query, $data);
|
||
|
}
|
||
|
|
||
|
public function updateEventQueue($uniqueid, $queue, $agent, $event, $param1 = null, $param2 = null)
|
||
|
{
|
||
|
$this->query = "UPDATE " . self::TABLE . " SET fila = :fila, agente = :agente, evento = :evento, param1 = :param1, param2 = :param2 WHERE uid2 = :uid2;";
|
||
|
return $this->update($this->query, ['fila' => $queue, 'agente' => $agent, 'evento' => $event, 'param1' => $param1, 'param2' => $param2, 'uid2' => $uniqueid]);
|
||
|
}
|
||
|
|
||
|
public function findAllEventByAwait($queue)
|
||
|
{
|
||
|
$this->query = "SELECT * FROM " . self::TABLE . "
|
||
|
WHERE evento = :evento
|
||
|
AND fila = :fila ";
|
||
|
return $this->read($this->query, ['fila' => $queue, 'evento' => CONF_EVENT_ESPERA]);
|
||
|
}
|
||
|
}
|