Skip to content

Commit 0bf9d34

Browse files
Refatorando para simplificar a aplicação: - Ajuste no método de listagem de gastos por data. - Removido repository do controller de gastos
1 parent c92291d commit 0bf9d34

File tree

3 files changed

+15
-13
lines changed

3 files changed

+15
-13
lines changed

testeSantanderWay/src/main/java/br/com/testesantanderway/controller/GastoController.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,18 +26,14 @@ public class GastoController {
2626
@Autowired
2727
private ServicoDeToken servicoDeToken;
2828

29-
@Autowired
30-
private GastoRepository gastoRepository;
31-
3229
@Autowired
3330
private GastoService gastoService;
3431

3532
//TODO permitir apenas USUARIO listar gastos
3633
@GetMapping
3734
public ResponseEntity<List<GastoDTO>> listagemDeGastos(HttpServletRequest request) {
3835
String codigoUsuario = servicoDeToken.getCodigo(AutenticacaoViaTokenFilter.recuperarToken(request));
39-
LocalDateTime ultimosCincoSegundos = LocalDateTime.now().minusSeconds(5);
40-
List<Gasto> gastos = gastoRepository.findByCodigoUsuarioAndDataCriacaoAfter(codigoUsuario, ultimosCincoSegundos);
36+
List<Gasto> gastos = gastoService.listarGastosMaisRecentes(codigoUsuario);
4137
return ResponseEntity.ok(GastoDTO.converter(gastos));
4238
}
4339

@@ -49,11 +45,14 @@ public ResponseEntity lancarGastosCartao(HttpServletRequest request, @RequestBod
4945
return ResponseEntity.ok().build();
5046
}
5147

48+
//TODO permitir apenas USUARIO listar gastos
5249
@Cacheable("gastoUsuario")
5350
@GetMapping("/{dataCriacao}")
54-
public Page<GastoDTO> listagemDeGastosPorData(@PathVariable String dataCriacao, @PageableDefault(sort = "dataCriacao", direction = Sort.Direction.DESC) Pageable paginacao) {
55-
Page<Gasto> gastos = gastoRepository.findByDataCriacao(dataCriacao, paginacao);
56-
return GastoDTO.converter(gastos);
51+
public Page<GastoDTO> listagemDeGastosPorData(HttpServletRequest request,
52+
@PathVariable LocalDateTime dataCriacao,
53+
@PageableDefault(sort = "dataCriacao", direction = Sort.Direction.DESC) Pageable paginacao) {
54+
String codigoUsuario = servicoDeToken.getCodigo(AutenticacaoViaTokenFilter.recuperarToken(request));
55+
return GastoDTO.converter(gastoService.encontrarGastosDoDia(codigoUsuario, dataCriacao, paginacao));
5756
}
5857

5958
// @PostMapping("/{categorizaGasto}")

testeSantanderWay/src/main/java/br/com/testesantanderway/repository/GastoRepository.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ public interface GastoRepository extends SolrCrudRepository<Gasto, String>{
1414
List<Gasto> findByCodigoUsuarioAndDataCriacaoAfter(String codigoUsuario, LocalDateTime dataCriacao);
1515

1616
@Cacheable("gastoUsuario")
17-
Page<Gasto> findByDataCriacao(String data, Pageable paginacao);
17+
Page<Gasto> findByCodigoUsuarioAndDataCriacao(String codigoUsuario, LocalDateTime dataCriacao, Pageable paginacao);
1818

19+
@Cacheable("categoria")
1920
Optional<String> findCategoriaByDescricao(String descricao);
2021
}

testeSantanderWay/src/main/java/br/com/testesantanderway/service/GastoService.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
package br.com.testesantanderway.service;
22

3-
import br.com.testesantanderway.config.security.AutenticacaoViaTokenFilter;
4-
import br.com.testesantanderway.dto.GastoDTO;
53
import br.com.testesantanderway.modelo.Gasto;
64
import br.com.testesantanderway.repository.GastoRepository;
75
import org.springframework.beans.factory.annotation.Autowired;
8-
import org.springframework.http.ResponseEntity;
6+
import org.springframework.data.domain.Page;
7+
import org.springframework.data.domain.Pageable;
98
import org.springframework.stereotype.Service;
109

11-
import javax.servlet.http.HttpServletRequest;
1210
import java.time.LocalDateTime;
1311
import java.util.List;
1412
import java.util.Optional;
@@ -29,6 +27,10 @@ public List<Gasto> listarGastosMaisRecentes(String codigoUsuario) {
2927
return gastoRepository.findByCodigoUsuarioAndDataCriacaoAfter(codigoUsuario, ultimosCincoSegundos);
3028
}
3129

30+
public Page<Gasto> encontrarGastosDoDia(String codigoUsuario, LocalDateTime dia, Pageable paginacao){
31+
return gastoRepository.findByCodigoUsuarioAndDataCriacao(codigoUsuario, dia, paginacao);
32+
}
33+
3234
private void integrarCategoria(Gasto gasto){
3335
if(gasto.getCategoria() == null){
3436
Optional<String> categoria = gastoRepository.findCategoriaByDescricao(gasto.getDescricao());

0 commit comments

Comments
 (0)