403Webshell
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/transportadoras/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/gadotticar/frete-api/src/frete/transportadoras/sagetransportes.service.ts
import { Injectable } from '@nestjs/common';

@Injectable()
export class SageTransportesService {
    private readonly faixasCep = [
        ['01000000', '05999999'], // São Paulo - parte 1
        ['08000000', '08499999'], // São Paulo - parte 2
        ['06400000', '06499999'], // Barueri
        ['06000000', '06299999'], // Osasco
        ['06600000', '06649999'], // Jandira
        ['06650000', '06699999'], // Itapevi
        ['06500000', '06549999'], // Santana de Parnaíba
        ['07700000', '07799999'], // Cajamar
        ['06700000', '06729999'], // Cotia
        ['06730000', '06739999'], // Vargem Grande Paulista
        ['06800000', '06809999'], // Embu
        ['06810000', '06849999'], // Embu das Artes
        ['06850000', '06889999'], // Itapecerica da Serra
        ['07700000', '07749999'], // Caieiras
        ['07800000', '07899999'], // Franco da Rocha
        ['07900000', '07999999'], // Francisco Morato
        ['07000000', '07399999'], // Guarulhos
        ['08600000', '08699999'], // Suzano
        ['08500000', '08549999'], // Ferraz de Vasconcelos
        ['08550000', '08569999'], // Poá - NOVA FAIXA
        ['08570000', '08599999'], // Itaquaquecetuba
        ['07400000', '07499999'], // Arujá
        ['07500000', '07599999'], // Santa Isabel
        ['08700000', '08899999'], // Mogi das Cruzes
        ['08900000', '08999999'], // Guararema
        ['09000000', '09299999'], // Santo André
        ['09300000', '09399999'], // Mauá
        ['09500000', '09599999'], // São Caetano do Sul
        ['09600000', '09899999'], // São Bernardo do Campo
        ['09900000', '09999999'], // Diadema
        ['09400000', '09499999'], // Ribeirão Pires
        ['09450000', '09459999'], // Rio Grande da Serra
        ['11000000', '11099999'], // Santos
        ['11300000', '11399999'], // São Vicente
        ['11700000', '11729999'], // Praia Grande
        ['11730000', '11749999'], // Mongaguá
        ['11740000', '11749999'], // Itanhaém
        ['11750000', '11759999'], // Peruíbe
    ];

    private isCepValido(cep: string): boolean {
        // Normalizar o CEP: remover caracteres não numéricos e garantir 8 dígitos
        const cepNormalizado = cep.replace(/\D/g, '').padStart(8, '0');

        const isValid = this.faixasCep.some(([inicio, fim]) => {
            // Normalizar os CEPs da faixa
            const inicioNormalizado = inicio.replace(/\D/g, '').padStart(8, '0');
            const fimNormalizado = fim.replace(/\D/g, '').padStart(8, '0');

            // Comparação como strings
            const result = cepNormalizado >= inicioNormalizado && cepNormalizado <= fimNormalizado;
            return result;
        });

        return isValid;
    }

    public calcularFrete(payload: any): any {
        console.log('Calculando frete para Sage Transportes...');
        const cepDestino = payload.Destino.cep;

        const isValido = this.isCepValido(cepDestino);

        if (!isValido) {
            return null; // Fora da área atendida
        }

        // Determinar o valor do frete com base no CEP
        const cepNumerico = parseInt(cepDestino.replace(/\D/g, ''), 10);
        const valorFrete = cepNumerico > 10000000 ? '390.00' : '250.00';

        return {
            transportadora: 'Sage Transportes',
            codigo: 99999,
            descricao: 'Cotação realizada',
            cotacao: {
                codigo: 123456,
                msg: 'Sage Transportes - Cotação realizada',
                valor: valorFrete,
                prazo_min: 1,
                prazo_max: 3,
            },
        };
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit