up
This commit is contained in:
+26
-1
@@ -125,7 +125,32 @@ try {
|
||||
|
||||
// Revisar nuevos mensajes en BD cada 3 segundos
|
||||
if (time() - $lastCheck >= 3) {
|
||||
// Verificar si hay nuevas conversaciones desde la última revisión
|
||||
// 1. Verificar mensajes nuevos individuales (últimos 10 segundos)
|
||||
$recentMessages = $db->fetchAll(
|
||||
"SELECT c.*, u.phone_number, u.name as user_name
|
||||
FROM conversations c
|
||||
INNER JOIN users u ON c.user_id = u.id
|
||||
WHERE c.created_at >= DATE_SUB(NOW(), INTERVAL 10 SECOND)
|
||||
AND c.direction = 'incoming'
|
||||
ORDER BY c.created_at DESC
|
||||
LIMIT 10"
|
||||
);
|
||||
|
||||
foreach ($recentMessages as $msg) {
|
||||
sendSSEEvent('new_message', [
|
||||
'message_id' => $msg['id'],
|
||||
'user_id' => $msg['user_id'],
|
||||
'phone_number' => $msg['phone_number'],
|
||||
'user_name' => $msg['user_name'],
|
||||
'content' => $msg['message_content'],
|
||||
'message_type' => $msg['message_type'] ?? 'text',
|
||||
'direction' => $msg['direction'],
|
||||
'created_at' => $msg['created_at'],
|
||||
'timestamp' => time()
|
||||
]);
|
||||
}
|
||||
|
||||
// 2. Verificar si hay nuevas conversaciones desde la última revisión
|
||||
$recentConversations = $db->fetchAll(
|
||||
"SELECT DISTINCT c.user_id, u.phone_number, u.name,
|
||||
MAX(c.created_at) as last_message_time,
|
||||
|
||||
Reference in New Issue
Block a user