suporte: fix técnicos
Signed-off-by: Rodrigo Bertoldo de Sousa Martins <rodrigo.sousa.577@gmail.com>
This commit is contained in:
1 parent
384d04f383
commit
5193b2df08
2 files changed
+24
-28
No files matched your search
+22
-27
@@ -5685,39 +5685,34 @@ Digite /help para ver todos os comandos disponíveis!
|
||||
if (!session) return;
|
||||
|
||||
if (!input) {
|
||||
// Primeira vez nesta etapa - buscar tipos de atendimento
|
||||
await this.bot.sendMessage(session.chatId, `🔍 Buscando tipos de atendimento disponíveis...`);
|
||||
// Primeira vez nesta etapa - buscar funcionários ativos
|
||||
await this.bot.sendMessage(session.chatId, `🔍 Buscando técnicos disponíveis...`);
|
||||
|
||||
try {
|
||||
// Usar tipos de atendimento ao invés de técnicos
|
||||
let resultado = await this.topsapp.obterSuporteTiposAtendimento();
|
||||
const resultado = await this.topsapp.obterFuncionarios();
|
||||
|
||||
if (!resultado.success || !resultado.data?.dados || resultado.data.dados.length === 0) {
|
||||
// Fallback para técnicos se tipos de atendimento não funcionarem
|
||||
console.log('🔄 Fallback para técnicos...');
|
||||
resultado = await this.topsapp.obterTecnicos();
|
||||
|
||||
if (!resultado.success) {
|
||||
await this.bot.sendMessage(session.chatId,
|
||||
`❌ **Erro ao buscar tipos de atendimento**\n\n` +
|
||||
`⚠️ ${resultado.error}\n\n` +
|
||||
`🔄 Reiniciando processo...`
|
||||
);
|
||||
this.suporteSessions.delete(sessionId);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (!resultado.data?.dados || resultado.data.dados.length === 0) {
|
||||
if (!resultado.success) {
|
||||
await this.bot.sendMessage(session.chatId,
|
||||
`❌ **Nenhum tipo de atendimento encontrado**\n\n` +
|
||||
`❌ **Erro ao buscar técnicos**\n\n` +
|
||||
`⚠️ ${resultado.error}\n\n` +
|
||||
`🔄 Reiniciando processo...`
|
||||
);
|
||||
this.suporteSessions.delete(sessionId);
|
||||
return;
|
||||
}
|
||||
|
||||
session.dados.tecnicos = resultado.data.dados;
|
||||
const tecnicos = resultado.data?.dados || resultado.dados || [];
|
||||
|
||||
if (tecnicos.length === 0) {
|
||||
await this.bot.sendMessage(session.chatId,
|
||||
`❌ **Nenhum técnico ativo encontrado**\n\n` +
|
||||
`🔄 Reiniciando processo...`
|
||||
);
|
||||
this.suporteSessions.delete(sessionId);
|
||||
return;
|
||||
}
|
||||
|
||||
session.dados.tecnicos = tecnicos;
|
||||
await this.mostrarOpcoesTecnicos(session);
|
||||
|
||||
} catch (error) {
|
||||
@@ -5756,7 +5751,7 @@ Digite /help para ver todos os comandos disponíveis!
|
||||
* Mostrar opções de técnicos/tipos de atendimento
|
||||
*/
|
||||
async mostrarOpcoesTecnicos(session) {
|
||||
let message = `👨🔧 **Tipos de atendimento disponíveis:**\n\n`;
|
||||
let message = `👨🔧 **Técnicos disponíveis:**\n\n`;
|
||||
|
||||
// Validar se técnicos é um array
|
||||
if (!Array.isArray(session.dados.tecnicos)) {
|
||||
@@ -5764,18 +5759,18 @@ Digite /help para ver todos os comandos disponíveis!
|
||||
type: typeof session.dados.tecnicos,
|
||||
value: session.dados.tecnicos
|
||||
});
|
||||
throw new Error(`Dados de tipos de atendimento inválidos: ${typeof session.dados.tecnicos}`);
|
||||
throw new Error(`Dados de técnicos inválidos: ${typeof session.dados.tecnicos}`);
|
||||
}
|
||||
|
||||
session.dados.tecnicos.forEach((tecnico, index) => {
|
||||
// Mostrar nome ou descrição do tipo de atendimento
|
||||
// Mostrar nome do técnico
|
||||
const nome = tecnico.nome || tecnico.descricao || tecnico.tipo || tecnico.tecnico;
|
||||
message += `**${index + 1}.** ${nome}\n`;
|
||||
if (tecnico.email) message += ` 📧 ${tecnico.email}\n`;
|
||||
message += `\n`;
|
||||
});
|
||||
|
||||
message += `Digite o **número** do tipo de atendimento (1-${session.dados.tecnicos.length}):`;
|
||||
message += `Digite o **número** do técnico (1-${session.dados.tecnicos.length}):`;
|
||||
|
||||
await this.bot.sendMessage(session.chatId, message, { parse_mode: 'Markdown' });
|
||||
}
|
||||
|
||||
+2
-1
@@ -744,7 +744,8 @@ class TopSappAPI {
|
||||
const session = await this.getValidSession(instance, credentials);
|
||||
|
||||
return await this.makeRequest('ObterFuncionarios', {
|
||||
idUsuario: session.idUsuario || 1
|
||||
idUsuario: session.idUsuario || 1,
|
||||
desativado: false
|
||||
}, instance, credentials);
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user