Skip to content

Commit

Permalink
Investment reports.
Browse files Browse the repository at this point in the history
  • Loading branch information
oluizeduardo committed Oct 4, 2021
1 parent bdd3a6d commit d1a2613
Show file tree
Hide file tree
Showing 8 changed files with 79 additions and 2 deletions.
25 changes: 25 additions & 0 deletions src/main/java/br/com/carteira/controller/RelatoriosController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package br.com.carteira.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import br.com.carteira.dto.ItemCarteiraDTO;
import br.com.carteira.service.RelatorioService;

@RestController
@RequestMapping("/relatorios")
public class RelatoriosController {

@Autowired
private RelatorioService service;

@GetMapping("/carteira")
public List<ItemCarteiraDTO> relatorioCarteiraDeInvestimentos()
{
return service.relatorioCarteiraDeInvestimentos();
}
}
13 changes: 13 additions & 0 deletions src/main/java/br/com/carteira/dto/ItemCarteiraDTO.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package br.com.carteira.dto;

import lombok.AllArgsConstructor;
import lombok.Getter;

@Getter
@AllArgsConstructor
public class ItemCarteiraDTO {

private String ticker;
private Long quantidade;
private Double percentual;
}
1 change: 0 additions & 1 deletion src/main/java/br/com/carteira/dto/TransacaoDTO.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package br.com.carteira.dto;

import java.math.BigDecimal;
import java.time.LocalDate;

import br.com.carteira.model.TipoTransacao;
import lombok.AllArgsConstructor;
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/br/com/carteira/dto/UsuarioFormDTO.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
public class UsuarioFormDTO {

@NotBlank(message = "Name is required!")
@Size(min=2, max = 20, message = "Name should be between 2 and 20 chars.")
@Size(min=2, max = 40, message = "Name should be between 2 and 20 chars.")
private String nome;

@NotBlank(message = "Login is required!")
Expand Down
5 changes: 5 additions & 0 deletions src/main/java/br/com/carteira/model/Usuario.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,9 @@ public class Usuario {
private String nome;
private String login;
private String senha;

public void setSenha()
{
this.senha = new String("@!"+nome.substring(0, 3).toUpperCase().concat(login.substring(0, 3)));
}
}
12 changes: 12 additions & 0 deletions src/main/java/br/com/carteira/repository/TransacaoRepository.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,21 @@
package br.com.carteira.repository;

import java.util.List;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;

import br.com.carteira.dto.ItemCarteiraDTO;
import br.com.carteira.model.Transacao;

public interface TransacaoRepository extends JpaRepository<Transacao, Integer> {

@Query("SELECT new br.com.carteira.dto.ItemCarteiraDTO("
+ "t.ticker, "
+ "sum(t.quantidade), "
+ "sum(t.quantidade) * 1.0 / (SELECT sum(t2.quantidade) FROM Transacao t2) *1.0) "
+ "from Transacao t "
+ "GROUP BY t.ticker")
List<ItemCarteiraDTO> relatorioCarteiraDeInvestimentos();

}
22 changes: 22 additions & 0 deletions src/main/java/br/com/carteira/service/RelatorioService.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package br.com.carteira.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import br.com.carteira.dto.ItemCarteiraDTO;
import br.com.carteira.repository.TransacaoRepository;

@Service
public class RelatorioService {

@Autowired
private TransacaoRepository repository;

public List<ItemCarteiraDTO> relatorioCarteiraDeInvestimentos()
{
return repository.relatorioCarteiraDeInvestimentos();
}

}
1 change: 1 addition & 0 deletions src/main/java/br/com/carteira/service/UsuarioService.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ public Page<UsuarioDTO> listar(Pageable paginacao)
public void cadastrar(UsuarioFormDTO dto)
{
Usuario usuario = modelMapper.map(dto, Usuario.class);
usuario.setSenha();
usuarioRepository.save(usuario);
}

Expand Down

0 comments on commit d1a2613

Please sign in to comment.