Compare commits

..

6 Commits

Author SHA1 Message Date
bd6f979f76 Merge pull request 'Adicionado uma nova coluna de link no banco de dados.' (#5) from develop into master
All checks were successful
Build e Deploy / build-and-deploy (push) Successful in 1m12s
Reviewed-on: #5
2026-06-03 00:56:26 +00:00
zyperch
f06a9de9c6 Adicionado uma nova coluna de link no banco de dados. 2026-06-02 21:55:27 -03:00
3e558576ac Merge pull request 'Atualizado o link do webhook para um secret do gitea.' (#4) from develop into master
All checks were successful
Build e Deploy / build-and-deploy (push) Successful in 1s
Reviewed-on: #4
2026-05-31 02:59:15 +00:00
zyperch
5cecff063d Atualizado o link do webhook para um secret do gitea. 2026-05-30 23:58:15 -03:00
c667bfc35a Merge pull request 'Implementado workflows para o gitea.' (#3) from develop into master
All checks were successful
Build e Deploy / build-and-deploy (push) Successful in 1m5s
Reviewed-on: #3
2026-05-31 02:53:06 +00:00
zyperch
039bf13882 Implementado workflows para o gitea. 2026-05-30 23:52:35 -03:00
6 changed files with 45 additions and 7 deletions

View File

@@ -0,0 +1,15 @@
name: Build e Deploy
on:
push:
branches: [ "main", "master" ]
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Chamar Webhook do Coolify
run: |
curl -X GET "${{ secrets.DUCK_WEBHOOK }}" \
-H "Authorization: Bearer ${{ secrets.COOLIFY_TOKEN }}"

View File

@@ -10,7 +10,7 @@
</parent> </parent>
<groupId>br.com.stackpanel</groupId> <groupId>br.com.stackpanel</groupId>
<artifactId>duck-api</artifactId> <artifactId>duck-api</artifactId>
<version>0.2.0-BETA</version> <version>0.3.3-BETA</version>
<name/> <name/>
<description/> <description/>
<url/> <url/>

View File

@@ -35,10 +35,13 @@ public class Product {
@Column(name = "nomplt") @Column(name = "nomplt")
private String nomePlataforma; private String nomePlataforma;
@Column(name = "lnkprd")
private String linkProduto;
public Product() { public Product() {
} }
public Product(Long codigoProduto, String nomeProduto, String descricaoProdutos, BigDecimal precoProdutoAtualizado, BigDecimal precoProdutoPrecoAnterior, LocalDateTime ultimaDataConsultaProduto, LocalDateTime dataEnvioProduto, String nomePlataforma) { public Product(Long codigoProduto, String nomeProduto, String descricaoProdutos, BigDecimal precoProdutoAtualizado, BigDecimal precoProdutoPrecoAnterior, LocalDateTime ultimaDataConsultaProduto, LocalDateTime dataEnvioProduto, String nomePlataforma, String linkProduto) {
this.codigoProduto = codigoProduto; this.codigoProduto = codigoProduto;
this.nomeProduto = nomeProduto; this.nomeProduto = nomeProduto;
this.descricaoProdutos = descricaoProdutos; this.descricaoProdutos = descricaoProdutos;
@@ -47,6 +50,15 @@ public class Product {
this.ultimaDataConsultaProduto = ultimaDataConsultaProduto; this.ultimaDataConsultaProduto = ultimaDataConsultaProduto;
this.dataEnvioProduto = dataEnvioProduto; this.dataEnvioProduto = dataEnvioProduto;
this.nomePlataforma = nomePlataforma; this.nomePlataforma = nomePlataforma;
this.linkProduto = linkProduto;
}
public String getLinkProduto() {
return linkProduto;
}
public void setLinkProduto(String linkProduto) {
this.linkProduto = linkProduto;
} }
public String getDescricaoProdutos() { public String getDescricaoProdutos() {

View File

@@ -26,10 +26,12 @@ public class ProductDTO {
@NotNull @NotNull
private String nomePlataforma; private String nomePlataforma;
private String linkProduto;
public ProductDTO() { public ProductDTO() {
} }
public ProductDTO(Long codigoProduto, String nomeProduto, String descricaoProduto, BigDecimal precoProdutoAtualizado, BigDecimal precoProdutoPrecoAnterior, LocalDateTime ultimaDataConsultaProduto, LocalDateTime dataEnvioProduto, String nomePlataforma) { public ProductDTO(Long codigoProduto, String nomeProduto, String descricaoProduto, BigDecimal precoProdutoAtualizado, BigDecimal precoProdutoPrecoAnterior, LocalDateTime ultimaDataConsultaProduto, LocalDateTime dataEnvioProduto, String nomePlataforma, String linkProduto) {
this.codigoProduto = codigoProduto; this.codigoProduto = codigoProduto;
this.nomeProduto = nomeProduto; this.nomeProduto = nomeProduto;
this.descricaoProduto = descricaoProduto; this.descricaoProduto = descricaoProduto;
@@ -38,6 +40,15 @@ public class ProductDTO {
this.ultimaDataConsultaProduto = ultimaDataConsultaProduto; this.ultimaDataConsultaProduto = ultimaDataConsultaProduto;
this.dataEnvioProduto = dataEnvioProduto; this.dataEnvioProduto = dataEnvioProduto;
this.nomePlataforma = nomePlataforma; this.nomePlataforma = nomePlataforma;
this.linkProduto = linkProduto;
}
public String getLinkProduto() {
return linkProduto;
}
public void setLinkProduto(String linkProduto) {
this.linkProduto = linkProduto;
} }
public String getDescricaoProduto() { public String getDescricaoProduto() {

View File

@@ -21,7 +21,8 @@ public class ProductMapper {
product.getPrecoProdutoPrecoAnterior(), product.getPrecoProdutoPrecoAnterior(),
product.getUltimaDataConsultaProduto(), product.getUltimaDataConsultaProduto(),
product.getDataEnvioProduto(), product.getDataEnvioProduto(),
product.getNomePlataforma() product.getNomePlataforma(),
product.getLinkProduto()
); );
} }
@@ -39,7 +40,8 @@ public class ProductMapper {
dto.getPrecoProdutoPrecoAnterior(), dto.getPrecoProdutoPrecoAnterior(),
dto.getUltimaDataConsultaProduto(), dto.getUltimaDataConsultaProduto(),
dto.getDataEnvioProduto(), dto.getDataEnvioProduto(),
dto.getNomePlataforma() dto.getNomePlataforma(),
dto.getLinkProduto()
); );
} }

View File

@@ -67,7 +67,6 @@ public class ProductServiceImpl implements ProductService {
return productMapper.toProductDTO(produtoExistente); return productMapper.toProductDTO(produtoExistente);
} else if (precoNovo.compareTo(precoAtual) < 0) { } else if (precoNovo.compareTo(precoAtual) < 0) {
// precoNovo < precoAtual → atualiza (ficou mais barato)
log.info("Produto '{}' ID: '{}' teve preco atualizado: {} -> {}", log.info("Produto '{}' ID: '{}' teve preco atualizado: {} -> {}",
dto.getNomeProduto(), produtoExistente.getCodigoProduto(),precoAtual, precoNovo); dto.getNomeProduto(), produtoExistente.getCodigoProduto(),precoAtual, precoNovo);
@@ -78,7 +77,6 @@ public class ProductServiceImpl implements ProductService {
produto = productRepository.save(productMapper.toProductEntity(dto)); produto = productRepository.save(productMapper.toProductEntity(dto));
} else { } else {
// precoNovo > precoAtual → nao atualiza
log.info("Produto '{}' ID: '{}' ja existe com preco menor. Nenhuma alteracao feita.", dto.getNomeProduto(), produtoExistente.getCodigoProduto()); log.info("Produto '{}' ID: '{}' ja existe com preco menor. Nenhuma alteracao feita.", dto.getNomeProduto(), produtoExistente.getCodigoProduto());
return productMapper.toProductDTO(produtoExistente); return productMapper.toProductDTO(produtoExistente);
} }