fix usuarios de suporte
Signed-off-by: Rodrigo Bertoldo de Sousa Martins <rodrigo.sousa.577@gmail.com>
This commit is contained in:
1 parent
4a7ddf179e
commit
e2449c9f3c
1 file changed
+37
-26
+37
-26
@@ -6166,15 +6166,6 @@ Digite /help para ver todos os comandos disponíveis!
|
||||
try {
|
||||
const resultado = await this.topsapp.obterSuporteCategorias();
|
||||
|
||||
console.log(`🔍 Handler - Resultado categorias:`, {
|
||||
success: resultado.success,
|
||||
dataType: typeof resultado.data,
|
||||
dataLength: resultado.data?.dados?.length,
|
||||
error: resultado.error
|
||||
});
|
||||
console.log(`🔍 [DEBUG] Itens de categorias:`);
|
||||
(resultado.data?.dados || []).forEach((c, i) => console.log(` [${i}]`, JSON.stringify(c)));
|
||||
|
||||
if (!resultado.success) {
|
||||
await this.bot.sendMessage(session.chatId,
|
||||
`❌ **Erro ao buscar categorias**\n\n` +
|
||||
@@ -6255,34 +6246,54 @@ Digite /help para ver todos os comandos disponíveis!
|
||||
if (!session) return;
|
||||
|
||||
if (!input) {
|
||||
// Primeira vez nesta etapa - buscar tipos de atendimento
|
||||
// Primeira vez nesta etapa - buscar equipes/técnicos via operadores
|
||||
await this.bot.sendMessage(session.chatId, `🔍 Buscando técnicos disponíveis...`);
|
||||
|
||||
// DEBUG: ver categorias já carregadas na sessão
|
||||
console.log('🔍 [DEBUG] Categorias na sessão:', JSON.stringify(session.dados.categorias));
|
||||
|
||||
try {
|
||||
const location = session.dados.location || '';
|
||||
|
||||
// DEBUG: testar todos os candidatos em paralelo
|
||||
const [resAtendimento, resCategorias, resOperadores] = await Promise.all([
|
||||
this.topsapp.obterSuporteTiposAtendimento(location),
|
||||
this.topsapp.obterSuporteCategorias(location),
|
||||
this.topsapp.obterOperadores(location)
|
||||
]);
|
||||
// ObterOperadores traz o campo id_tecnico/tecnico que mapeia as equipes cadastradas
|
||||
const resultado = await this.topsapp.obterOperadores(location);
|
||||
|
||||
console.log('🔍 [DEBUG] ObterSuporteTiposAtendimento:', JSON.stringify(resAtendimento?.data?.dados || resAtendimento?.error));
|
||||
console.log('🔍 [DEBUG] ObterSuporteCategorias(location):', JSON.stringify(resCategorias?.data?.dados || resCategorias?.error));
|
||||
console.log('🔍 [DEBUG] ObterOperadores:', JSON.stringify(resOperadores?.data?.dados || resOperadores?.error));
|
||||
|
||||
// Placeholder: retorna vazio para não quebrar o fluxo
|
||||
await this.bot.sendMessage(session.chatId, `⚠️ Veja o console para identificar o endpoint correto.`);
|
||||
if (!resultado.success) {
|
||||
await this.bot.sendMessage(session.chatId,
|
||||
`❌ **Erro ao buscar técnicos**\n\n` +
|
||||
`⚠️ ${resultado.error}\n\n` +
|
||||
`🔄 Reiniciando processo...`
|
||||
);
|
||||
this.suporteSessions.delete(sessionId);
|
||||
return;
|
||||
}
|
||||
|
||||
const operadores = resultado.data?.dados || [];
|
||||
|
||||
// Extrair técnicos únicos pelo id_tecnico (cada operador aponta para uma equipe)
|
||||
const tecnicosMap = new Map();
|
||||
operadores.forEach(op => {
|
||||
if (op.id_tecnico > 0 && op.tecnico && op.tecnico.trim() !== '') {
|
||||
if (!tecnicosMap.has(op.id_tecnico)) {
|
||||
tecnicosMap.set(op.id_tecnico, { id: op.id_tecnico, nome: op.tecnico });
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
const tecnicos = Array.from(tecnicosMap.values()).sort((a, b) => a.nome.localeCompare(b.nome));
|
||||
|
||||
if (tecnicos.length === 0) {
|
||||
await this.bot.sendMessage(session.chatId,
|
||||
`❌ **Nenhum técnico encontrado**\n\n` +
|
||||
`🔄 Reiniciando processo...`
|
||||
);
|
||||
this.suporteSessions.delete(sessionId);
|
||||
return;
|
||||
}
|
||||
|
||||
session.dados.tecnicos = tecnicos;
|
||||
await this.mostrarOpcoesTecnicos(session);
|
||||
|
||||
} catch (error) {
|
||||
await this.bot.sendMessage(session.chatId,
|
||||
`❌ **Erro ao buscar tipos de atendimento**\n\n` +
|
||||
`❌ **Erro ao buscar técnicos**\n\n` +
|
||||
`⚠️ ${error.message}\n\n` +
|
||||
`🔄 Reiniciando processo...`
|
||||
);
|
||||
|
||||
Reference in new issue
Block a user