Last active
March 13, 2020 02:55
-
-
Save gdonega/9b18e7cef664bea6856b2da995484419 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.testes.spring.exemplo.empresas.services; | |
import java.util.List; | |
import org.springframework.beans.factory.annotation.Autowired; | |
import org.springframework.stereotype.Service; | |
import org.springframework.web.client.RestTemplate; | |
import com.mongodb.BasicDBObject; | |
import com.testes.spring.exemplo.empresas.daos.EmpresaEnvelopeDAO; | |
import com.testes.spring.exemplo.empresas.dtos.MunicipioGroupDto; | |
import com.testes.spring.exemplo.empresas.models.EmpresaEnvelope; | |
import com.testes.spring.exemplo.empresas.repositories.EmpresaEnvelopeRepository; | |
@Service | |
public class EmpresaEnvelopeService { | |
@Autowired | |
private EmpresaEnvelopeRepository empresaEnvelopeRepository; | |
@Autowired | |
private EmpresaEnvelopeDAO empresaEnvelopeDAO; | |
public void salvarCnpj(String cnpj) { | |
/*---------------------- Fazendo a requisição ----------------------*/ | |
// Instancia o objeto que | |
RestTemplate restTemplate = new RestTemplate(); | |
// Seta a url base para pesquisar o cnpj | |
String url = "https://www.receitaws.com.br/v1/cnpj/"; | |
// Adiciona o cnpj que deve ser pesquisado | |
url += cnpj; | |
// Executa a pesquisa e pede como retorno o BasicDBObject | |
BasicDBObject jsonApi = restTemplate.getForObject(url, BasicDBObject.class); | |
/*---------------------- Gerando Envelope ----------------------*/ | |
// Gera um objeto de EmpresaEnvelope | |
EmpresaEnvelope empresaEnvelope = new EmpresaEnvelope(); | |
// Processa as informações | |
empresaEnvelope.processarEnvelope(jsonApi); | |
/*---------------------- Persistindo os dados ----------------------*/ | |
empresaEnvelopeRepository.save(empresaEnvelope); | |
} | |
public List<MunicipioGroupDto> agruparPorMunicipio() { | |
return empresaEnvelopeDAO.agruparPorMunicipio(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment