Update Ad model to use BigDecimal for price and add email validation

This commit is contained in:
Vincent Guillet
2025-05-20 13:42:54 +02:00
parent 5f279e3e8a
commit 24eab5f2cc

View File

@@ -2,7 +2,9 @@ package com.humanbooster.model;
import jakarta.persistence.Column; import jakarta.persistence.Column;
import jakarta.persistence.Entity; import jakarta.persistence.Entity;
import jakarta.validation.constraints.Email;
import java.math.BigDecimal;
import java.time.LocalDate; import java.time.LocalDate;
@Entity @Entity
@@ -12,14 +14,15 @@ public class Ad extends Publication {
private LocalDate expirationDate; private LocalDate expirationDate;
@Column(nullable = false) @Column(nullable = false)
@Email
private String contactEmail; private String contactEmail;
private int price; private BigDecimal price;
public Ad() { public Ad() {
} }
public Ad(String title, String content, LocalDate publishDate, LocalDate expirationDate, String contactEmail, int price) { public Ad(String title, String content, LocalDate publishDate, LocalDate expirationDate, String contactEmail, BigDecimal price) {
super(title, content, publishDate); super(title, content, publishDate);
this.expirationDate = expirationDate; this.expirationDate = expirationDate;
this.contactEmail = contactEmail; this.contactEmail = contactEmail;
@@ -42,11 +45,11 @@ public class Ad extends Publication {
this.contactEmail = contactEmail; this.contactEmail = contactEmail;
} }
public int getPrice() { public BigDecimal getPrice() {
return price; return price;
} }
public void setPrice(int price) { public void setPrice(BigDecimal price) {
this.price = price; this.price = price;
} }
} }