Temporal: en el alta por WhatsApp del admin, asignar siempre a Marco Rincón en vez de reparto aleato

This commit is contained in:
2026-09-12 17:10:42 +00:00
parent ffe459f22f
commit d39fe2eb88

View File

@@ -2013,12 +2013,25 @@ async function procesarConIA(ownerId, mensajeCliente, datosExpediente) {
// 👷 Solo asignamos técnico si hemos podido detectar el gremio; si no, // 👷 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. // se queda sin gremio y sin operario para que el admin lo revise a mano.
if (guildAsignado) { if (guildAsignado) {
let workerQ = await pool.query(` // 🟡 TEMPORAL (a petición del cliente, mientras se prueba el flujo de
SELECT u.id FROM users u // "escribe a un número"): en vez de repartir al azar entre los técnicos
JOIN user_guilds ug ON u.id = ug.user_id // del gremio detectado, asignamos siempre al mismo técnico (Marco Rincón).
WHERE u.owner_id = $1 AND u.status = 'active' AND ug.guild_id = $2 // Para quitar esto y volver al reparto aleatorio de siempre, basta con
ORDER BY RANDOM() LIMIT 1 // borrar este bloque "if (workerQ.rowCount === 0)" de aquí abajo.
`, [ownerId, guildAsignado]); 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) { 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]); workerQ = await pool.query("SELECT id FROM users WHERE owner_id = $1 AND status = 'active' ORDER BY RANDOM() LIMIT 1", [ownerId]);
} }