FIX: Adicionado provedor na resposta de viabilidade por lat/long

Passa a sigla do provedor (ou parceiro) para o modelo ViabilidadeReverseGeocodeModel
para que seja corretamente exportada no CSV, em vez de ficar sem valor.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
Gabriel Amancio 2026-06-03 15:54:51 -03:00
parent cbf64e84e1
commit dea436debe

View File

@ -145,7 +145,7 @@ async function verificarViabilidadeLatLong(latitude, longitude) {
const address = await verificarGeocodeReverso(latitude, longitude);
const viabilidadeResult = new ViabilidadeReverseGeocodeModel(address, naoDedicado, dedicado, distancia);
const viabilidadeResult = new ViabilidadeReverseGeocodeModel(address, naoDedicado, dedicado, distancia, viabilidade.data.pasta.sigla || null);
return viabilidadeResult;
}
@ -266,28 +266,3 @@ module.exports = {
verificarViabilidadeLatLong,
verificarGeocodeReverso,
};
/*
DESCRIÇÃO:
Este arquivo é a camada de "Serviço" para o módulo de contratação. Ele contém a lógica de negócio principal da aplicação, orquestrando chamadas a diferentes APIs externas e processando os dados para atender às solicitações do `contratacao.controller.js`.
A classe `ServiceError` é uma classe de erro personalizada para permitir que os serviços lancem exceções com `status codes` HTTP específicos, que podem ser capturados e tratados pelo controller.
FUNÇÕES:
- verificarViabilidade(rawCep, rawNumero):
1. É chamado pelo `contratacao.controller.js` com o CEP e o número do endereço.
2. Valida se o CEP e o número foram fornecidos, lançando um `ServiceError` (400) se não forem.
3. Chama o `cepRestService` para obter os dados do endereço a partir do CEP. Se não encontrar, lança um `ServiceError` (404).
4. Monta uma string de endereço completo e a utiliza para obter as coordenadas geográficas (latitude e longitude) através do `googleService`. Lança um erro (500) se não conseguir obter as coordenadas.
5. Com as coordenadas, chama o `geogridService` para consultar a viabilidade do serviço, que retorna a distância de um ponto de presença.
6. Com base na distância retornada pelo GeoGrid, define as flags `naoDedicado` e `dedicado` (ex: se a distância for menor que 500m, ambos são `true`).
7. Retorna um objeto contendo os dados do endereço e as flags de viabilidade para o controller.
- criarProspecto(prospectData):
1. Recebe os dados do prospecto do `contratacao.controller.js`.
2. Chama o `hubsoftService` para criar o prospecto no sistema Hubsoft.
3. Retorna o resultado da criação.
4. Em caso de erro na comunicação com o Hubsoft, lança um `ServiceError` (500).
Este serviço é o cérebro do módulo, conectando múltiplas fontes de dados externas para fornecer uma resposta unificada sobre a viabilidade e para registrar novos clientes.
*/