From d39fe2eb88f94e0ad221ec503ff07345d2bdf072 Mon Sep 17 00:00:00 2001 From: marsalva Date: Sat, 12 Sep 2026 17:10:42 +0000 Subject: [PATCH] =?UTF-8?q?Temporal:=20en=20el=20alta=20por=20WhatsApp=20d?= =?UTF-8?q?el=20admin,=20asignar=20siempre=20a=20Marco=20Rinc=C3=B3n=20en?= =?UTF-8?q?=20vez=20de=20reparto=20aleato?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server.js | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/server.js b/server.js index 35ca891..275ebe0 100644 --- a/server.js +++ b/server.js @@ -2013,12 +2013,25 @@ async function procesarConIA(ownerId, mensajeCliente, datosExpediente) { // 👷 Solo asignamos técnico si hemos podido detectar el gremio; si no, // se queda sin gremio y sin operario para que el admin lo revise a mano. if (guildAsignado) { - let workerQ = await pool.query(` - SELECT u.id FROM users u - JOIN user_guilds ug ON u.id = ug.user_id - WHERE u.owner_id = $1 AND u.status = 'active' AND ug.guild_id = $2 - ORDER BY RANDOM() LIMIT 1 - `, [ownerId, guildAsignado]); + // 🟡 TEMPORAL (a petición del cliente, mientras se prueba el flujo de + // "escribe a un número"): en vez de repartir al azar entre los técnicos + // del gremio detectado, asignamos siempre al mismo técnico (Marco Rincón). + // Para quitar esto y volver al reparto aleatorio de siempre, basta con + // borrar este bloque "if (workerQ.rowCount === 0)" de aquí abajo. + const TECNICO_FIJO_TEMPORAL_PHONE = "+34687845940"; // Marco Rincón + let workerQ = await pool.query( + "SELECT id FROM users WHERE owner_id = $1 AND status = 'active' AND phone = $2 LIMIT 1", + [ownerId, TECNICO_FIJO_TEMPORAL_PHONE] + ); + if (workerQ.rowCount === 0) { + // Si no está en esta cuenta (p.ej. otra empresa), reparto normal por gremio. + workerQ = await pool.query(` + SELECT u.id FROM users u + JOIN user_guilds ug ON u.id = ug.user_id + WHERE u.owner_id = $1 AND u.status = 'active' AND ug.guild_id = $2 + ORDER BY RANDOM() LIMIT 1 + `, [ownerId, guildAsignado]); + } if (workerQ.rowCount === 0) { workerQ = await pool.query("SELECT id FROM users WHERE owner_id = $1 AND status = 'active' ORDER BY RANDOM() LIMIT 1", [ownerId]); }