| Server IP : 189.126.111.107 / Your IP : 216.73.217.69 Web Server : Apache System : Linux www.gadotticar.com.br 5.4.0-135-generic #152-Ubuntu SMP Wed Nov 23 20:19:22 UTC 2022 x86_64 User : gadotticar ( 1000) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/gadotticar/frete-api/src/frete/ |
Upload File : |
import { Injectable, Logger } from '@nestjs/common';
import { GoFretesService } from './transportadoras/gofretes.service';
import { MelhorEnvioService } from './transportadoras/melhorenvio.service';
import { SageTransportesService } from './transportadoras/sagetransportes.service';
import { TrasDedicadoService } from './transportadoras/trasdedicado.service';
import { BraspressService } from './transportadoras/braspress.service';
@Injectable()
export class FreteService {
private readonly logger = new Logger(FreteService.name);
constructor(
private readonly goFretesService: GoFretesService,
private readonly melhorEnvioService: MelhorEnvioService,
private readonly sageTransportesService: SageTransportesService,
private readonly trasDedicadoService: TrasDedicadoService,
private readonly braspressService: BraspressService,
) {}
public async calculateFrete(payload: any): Promise<any> {
const resultados: any[] = [];
this.logger.log('Payload recebido para cálculo de frete:', JSON.stringify(payload, null, 2));
// Consultar GoFretes
try {
//this.logger.log('Consultando GoFretes com payload:', JSON.stringify(payload, null, 2));
const goFretesResult = await this.goFretesService.calcularFrete(payload);
if (goFretesResult && goFretesResult.cotacao) {
resultados.push({
servico: 'GoFretes',
transportadora: 'GoFretes',
codigo: goFretesResult.codigo,
descricao: goFretesResult.descricao,
cotacao: goFretesResult.cotacao,
});
}
} catch (error) {
this.logger.error('Erro ao consultar GoFretes:', error.message, error.stack);
resultados.push({
servico: 'GoFretes',
erro: error.response?.data?.[0]?.descricao || 'Erro desconhecido na GoFretes',
status: error.response?.status
});
}
// Consulta Sage Transportes
try {
const sageResult = this.sageTransportesService.calcularFrete(payload);
if (sageResult) {
this.logger.log(sageResult);
resultados.push(sageResult);
}
} catch (error) {
this.logger.error('Erro ao consultar Sage Transportes:', error.message, error.stack);
}
// Consulta TrasDedicado
try {
console.log('Consultando TrasDedicado com payload:', JSON.stringify(payload, null, 2));
const trasDedicadoResult = await this.trasDedicadoService.calcularFrete(payload);
if (trasDedicadoResult) {
console.log('Sucesso', trasDedicadoResult);
resultados.push(trasDedicadoResult);
}
} catch (error) {
console.error('Erro ao consultar TrasDedicado:', error.message, error.stack);
}
/* Consulta Braspress
try {
this.logger.log('Consultando Braspress com payload:', JSON.stringify(payload));
const braspressResult = await this.braspressService.calculateShipping(payload);
if (braspressResult) {
resultados.push(braspressResult);
}
} catch (error) {
this.logger.error('Erro ao consultar Braspress:', error.message, error.stack);
}
*/
this.logger.log('Resultados combinados:', JSON.stringify(resultados, null, 2));
return resultados;
}
}