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
+38
-27
+38
-27
@@ -6166,15 +6166,6 @@ Digite /help para ver todos os comandos disponíveis!
|
|||||||
try {
|
try {
|
||||||
const resultado = await this.topsapp.obterSuporteCategorias();
|
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) {
|
if (!resultado.success) {
|
||||||
await this.bot.sendMessage(session.chatId,
|
await this.bot.sendMessage(session.chatId,
|
||||||
`❌ **Erro ao buscar categorias**\n\n` +
|
`❌ **Erro ao buscar categorias**\n\n` +
|
||||||
@@ -6255,34 +6246,54 @@ Digite /help para ver todos os comandos disponíveis!
|
|||||||
if (!session) return;
|
if (!session) return;
|
||||||
|
|
||||||
if (!input) {
|
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...`);
|
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 {
|
try {
|
||||||
const location = session.dados.location || '';
|
const location = session.dados.location || '';
|
||||||
|
|
||||||
// DEBUG: testar todos os candidatos em paralelo
|
// ObterOperadores traz o campo id_tecnico/tecnico que mapeia as equipes cadastradas
|
||||||
const [resAtendimento, resCategorias, resOperadores] = await Promise.all([
|
const resultado = await this.topsapp.obterOperadores(location);
|
||||||
this.topsapp.obterSuporteTiposAtendimento(location),
|
|
||||||
this.topsapp.obterSuporteCategorias(location),
|
|
||||||
this.topsapp.obterOperadores(location)
|
|
||||||
]);
|
|
||||||
|
|
||||||
console.log('🔍 [DEBUG] ObterSuporteTiposAtendimento:', JSON.stringify(resAtendimento?.data?.dados || resAtendimento?.error));
|
if (!resultado.success) {
|
||||||
console.log('🔍 [DEBUG] ObterSuporteCategorias(location):', JSON.stringify(resCategorias?.data?.dados || resCategorias?.error));
|
await this.bot.sendMessage(session.chatId,
|
||||||
console.log('🔍 [DEBUG] ObterOperadores:', JSON.stringify(resOperadores?.data?.dados || resOperadores?.error));
|
`❌ **Erro ao buscar técnicos**\n\n` +
|
||||||
|
`⚠️ ${resultado.error}\n\n` +
|
||||||
|
`🔄 Reiniciando processo...`
|
||||||
|
);
|
||||||
|
this.suporteSessions.delete(sessionId);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Placeholder: retorna vazio para não quebrar o fluxo
|
const operadores = resultado.data?.dados || [];
|
||||||
await this.bot.sendMessage(session.chatId, `⚠️ Veja o console para identificar o endpoint correto.`);
|
|
||||||
this.suporteSessions.delete(sessionId);
|
// Extrair técnicos únicos pelo id_tecnico (cada operador aponta para uma equipe)
|
||||||
return;
|
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) {
|
} catch (error) {
|
||||||
await this.bot.sendMessage(session.chatId,
|
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` +
|
`⚠️ ${error.message}\n\n` +
|
||||||
`🔄 Reiniciando processo...`
|
`🔄 Reiniciando processo...`
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in new issue
Block a user