From 8f4f3ca7c8ee04c9d3d65ebff445e80fc7b36731 Mon Sep 17 00:00:00 2001 From: aichatou <aichatou.coulibaly@etu.univ-amu.fr> Date: Sun, 23 Mar 2025 15:09:19 +0100 Subject: [PATCH] Facture --- build.gradle | 2 ++ .../projet/projetIndu/entities/Invoice.java | 29 ------------------- .../projet/projetIndu/entities/Patient.java | 1 - .../projetIndu/entities/PaymentStatus.java | 4 +++ .../com/projet/projetIndu/entities/User.java | 2 ++ .../projetIndu/services/PatientService.java | 11 +++++++ src/main/resources/application.properties | 11 ++++--- .../resources/templates/doctor-invoices.html | 10 +++++++ src/main/resources/templates/invoices.html | 10 +++++++ 9 files changed, 46 insertions(+), 34 deletions(-) create mode 100644 src/main/java/com/projet/projetIndu/entities/PaymentStatus.java create mode 100644 src/main/resources/templates/doctor-invoices.html create mode 100644 src/main/resources/templates/invoices.html diff --git a/build.gradle b/build.gradle index f30e17c..d09963f 100644 --- a/build.gradle +++ b/build.gradle @@ -32,6 +32,8 @@ dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-mail' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' + implementation 'org.springframework.boot:spring-boot-starter:3.2.1' + implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-webflux' implementation 'org.springframework.ai:spring-ai-tika-document-reader' diff --git a/src/main/java/com/projet/projetIndu/entities/Invoice.java b/src/main/java/com/projet/projetIndu/entities/Invoice.java index af8b413..7cef425 100644 --- a/src/main/java/com/projet/projetIndu/entities/Invoice.java +++ b/src/main/java/com/projet/projetIndu/entities/Invoice.java @@ -1,33 +1,4 @@ package com.projet.projetIndu.entities; -import jakarta.persistence.*; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import java.time.LocalDateTime; - -@Entity -@Table(name = "invoices") -@Getter -@Setter -@NoArgsConstructor public class Invoice { - - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Long id; - - @Column(nullable = false) - private double amount; - - @Column(nullable = false, updatable = false) - private LocalDateTime issue_date = LocalDateTime.now(); - - @Enumerated(EnumType.STRING) - @Column(nullable = false) - private InvoiceStatus status; - - @Column(nullable = false, updatable = false) - private LocalDateTime createdAt = LocalDateTime.now(); } diff --git a/src/main/java/com/projet/projetIndu/entities/Patient.java b/src/main/java/com/projet/projetIndu/entities/Patient.java index 047a237..51be87c 100644 --- a/src/main/java/com/projet/projetIndu/entities/Patient.java +++ b/src/main/java/com/projet/projetIndu/entities/Patient.java @@ -30,5 +30,4 @@ public class Patient extends User { this.dateOfBirth = dateOfBirth; } - } diff --git a/src/main/java/com/projet/projetIndu/entities/PaymentStatus.java b/src/main/java/com/projet/projetIndu/entities/PaymentStatus.java new file mode 100644 index 0000000..65cc0e5 --- /dev/null +++ b/src/main/java/com/projet/projetIndu/entities/PaymentStatus.java @@ -0,0 +1,4 @@ +package com.projet.projetIndu.entities; + +public class PaymentStatus { +} diff --git a/src/main/java/com/projet/projetIndu/entities/User.java b/src/main/java/com/projet/projetIndu/entities/User.java index 709f0de..bfc67a3 100644 --- a/src/main/java/com/projet/projetIndu/entities/User.java +++ b/src/main/java/com/projet/projetIndu/entities/User.java @@ -63,4 +63,6 @@ public abstract class User { } + public void setId(Long id) { + } } diff --git a/src/main/java/com/projet/projetIndu/services/PatientService.java b/src/main/java/com/projet/projetIndu/services/PatientService.java index 0edbe55..b234e8d 100644 --- a/src/main/java/com/projet/projetIndu/services/PatientService.java +++ b/src/main/java/com/projet/projetIndu/services/PatientService.java @@ -6,6 +6,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Optional; @@ -21,6 +22,7 @@ public class PatientService { } public List<Patient> getAllPatients() { + return patientRepository.findAll(); } @@ -49,4 +51,13 @@ public class PatientService { .map(Patient::getId) .orElseThrow(() -> new RuntimeException("Patient non trouvé")); } + + @Transactional + public Patient mettreAJourPatient(Long id, Patient patient) { + if (patientRepository.existsById(id)) { + patient.setId(id); + return patientRepository.save(patient); + } + return null; + } } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 95add08..fb7cb50 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,15 +1,18 @@ spring.application.name=projetIndu -spring.datasource.url=jdbc:mysql://localhost:3306/projet +spring.datasource.url=jdbc:mysql://localhost:3307/projet spring.datasource.username=root -spring.datasource.password=jessie +spring.datasource.password=241001 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect -spring.jpa.hibernate.ddl-auto=create-drop +spring.jpa.hibernate.ddl-auto=create spring.jpa.show-sql=true +spring.jpa.properties.hibernate.format_sql=true spring.thymeleaf.prefix=classpath:/templates/ spring.thymeleaf.suffix=.html spring.thymeleaf.cache=false spring.servlet.multipart.max-file-size=100MB spring.servlet.multipart.max-request-size=100MB -spring.mvc.hiddenmethod.filter.enabled=true +sprin.g.mvc.hiddenmethod.filter.enabled=true + spring.banner.location=banner.txt + diff --git a/src/main/resources/templates/doctor-invoices.html b/src/main/resources/templates/doctor-invoices.html new file mode 100644 index 0000000..4bdcfcb --- /dev/null +++ b/src/main/resources/templates/doctor-invoices.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <title>$Title$</title> +</head> +<body> +$END$ +</body> +</html> \ No newline at end of file diff --git a/src/main/resources/templates/invoices.html b/src/main/resources/templates/invoices.html new file mode 100644 index 0000000..4bdcfcb --- /dev/null +++ b/src/main/resources/templates/invoices.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <title>$Title$</title> +</head> +<body> +$END$ +</body> +</html> \ No newline at end of file -- GitLab