From 9e535bc0e7238c406baabe034cede30b86d78d22 Mon Sep 17 00:00:00 2001 From: Aurince AKAKPO Date: Fri, 3 Jul 2026 19:55:36 +0100 Subject: [PATCH] gestion creation user --- .../controllers/user/UserController.java | 8 +++--- .../DemandeReinitialisationMPServiceImpl.java | 2 +- .../implementations/user/UserServiceImpl.java | 25 ++++++++++++------- .../fiscad/interfaces/user/UserService.java | 2 +- .../generer_donnees_imposition_irf_batie.sql | 4 +-- ...nees_imposition_irf_batie_une_parcelle.sql | 4 +-- ...es_imposition_irf_batie_unite_logement.sql | 4 +-- ..._irf_batie_unite_logement_une_parcelle.sql | 4 +-- .../generer_donnees_imposition_tfu_batie.sql | 2 +- ...nees_imposition_tfu_batie_une_parcelle.sql | 2 +- ...es_imposition_tfu_batie_unite_logement.sql | 2 +- ..._tfu_batie_unite_logement_une_parcelle.sql | 2 +- ...nerer_donnees_imposition_tfu_non_batie.sql | 2 +- ..._imposition_tfu_non_batie_une_parcelle.sql | 2 +- .../maj_donnees_imposition_acompte_rirf.sql | 4 +-- .../io/gmss/fiscad/service/MailService.java | 7 +++--- 16 files changed, 42 insertions(+), 34 deletions(-) diff --git a/src/main/java/io/gmss/fiscad/controllers/user/UserController.java b/src/main/java/io/gmss/fiscad/controllers/user/UserController.java index db670dc..c01faa1 100755 --- a/src/main/java/io/gmss/fiscad/controllers/user/UserController.java +++ b/src/main/java/io/gmss/fiscad/controllers/user/UserController.java @@ -95,11 +95,11 @@ public class UserController { } } - @PostMapping("/reset-password") - @PreAuthorize("hasAuthority('UPDATE_USER')") - public ResponseEntity resetUserPassword(@RequestBody @Valid @Validated Login login) { + @GetMapping("/request-reset-password") + //@PreAuthorize("hasAuthority('UPDATE_USER')") + public ResponseEntity resetUserPassword(@RequestParam String login) { try { - UserPaylaodWeb userPaylaodWeb= userService.resetPassword(login.getUsername()); + UserPaylaodWeb userPaylaodWeb= userService.requestResetPassword(login); return new ResponseEntity<>( new ApiResponse<>(true, userPaylaodWeb, "Votre mot de passe à été réinitialisée avec succès."), HttpStatus.OK diff --git a/src/main/java/io/gmss/fiscad/implementations/user/DemandeReinitialisationMPServiceImpl.java b/src/main/java/io/gmss/fiscad/implementations/user/DemandeReinitialisationMPServiceImpl.java index f30d51e..44a76de 100644 --- a/src/main/java/io/gmss/fiscad/implementations/user/DemandeReinitialisationMPServiceImpl.java +++ b/src/main/java/io/gmss/fiscad/implementations/user/DemandeReinitialisationMPServiceImpl.java @@ -95,7 +95,7 @@ public class DemandeReinitialisationMPServiceImpl implements DemandeReinitialisa if (demandeReinitialisationMPOptional.isPresent()) { DemandeReinitialisationMP demandeReinitialisationMP = demandeReinitialisationMPOptional.get(); User user = demandeReinitialisationMP.getUser(); - userService.resetPassword(user.getUsername()); + // userService.resetPassword(user.getUsername()); demandeReinitialisationMP.setEtatDemande(EtatDemande.TRAITE); return demandeReinitialisationMPRepository.save(demandeReinitialisationMP); } else { diff --git a/src/main/java/io/gmss/fiscad/implementations/user/UserServiceImpl.java b/src/main/java/io/gmss/fiscad/implementations/user/UserServiceImpl.java index cd86df6..6ddbb70 100644 --- a/src/main/java/io/gmss/fiscad/implementations/user/UserServiceImpl.java +++ b/src/main/java/io/gmss/fiscad/implementations/user/UserServiceImpl.java @@ -3,6 +3,7 @@ package io.gmss.fiscad.implementations.user; import io.gmss.fiscad.entities.infocad.parametre.Structure; import io.gmss.fiscad.entities.user.User; import io.gmss.fiscad.enums.UserRole; +import io.gmss.fiscad.exceptions.ApplicationException; import io.gmss.fiscad.exceptions.BadRequestException; import io.gmss.fiscad.exceptions.NotFoundException; import io.gmss.fiscad.interfaces.infocad.parametre.StructureService; @@ -245,15 +246,23 @@ public class UserServiceImpl implements UserService { } @Override - public UserPaylaodWeb resetPassword(String username) { + public UserPaylaodWeb requestResetPassword(String username) { User user = userRepository.findByUsername(username).orElseThrow(() -> new NotFoundException( String.format("L'utilisateur %s n'existe pas.", username) )); - String password = stringService.generatePassword(); - user.setPassword(passwordEncoder.encode(password)); user.setResetPassword(true); + + user.setTokenDate(LocalDateTime.now()); + String token= stringService.getUniqueString(); + user.setToken(token); user= userRepository.save(user); - mailService.sendAccountReinitMail(user,password); + + mailService.sendValidationMail(user.getEmail(), + user.getPrenom() + " " + user.getNom(), + user.getUsername(), + reseturl + token); + + Optional optionalUserPaylaodWeb = userRepository.findUserToDtoById(user.getId()); return optionalUserPaylaodWeb.orElse(null); } @@ -266,7 +275,6 @@ public class UserServiceImpl implements UserService { user.setPassword(passwordEncoder.encode(password)); user.setResetPassword(false); user= userRepository.save(user); - // mailService.sendAccountReinitMail(user,password); Optional optionalUserPaylaodWeb = userRepository.findUserToDtoById(user.getId()); return optionalUserPaylaodWeb.orElse(null); } @@ -347,13 +355,12 @@ public class UserServiceImpl implements UserService { public Boolean validationTokenResetPassword(String token) { Optional optionalUser=userRepository.findByToken(token); if(optionalUser.isEmpty()){ - return false; + throw new ApplicationException("Token invalide") ; } LocalDateTime tokenDate= optionalUser.get().getTokenDate(); if(isTokenExpired(tokenDate)){ - return false ; + throw new ApplicationException("Token expiré") ; } - return true; } @@ -380,7 +387,7 @@ public class UserServiceImpl implements UserService { LocalDateTime dateExpiration = calculerDateExpiration(dateToken); - return !LocalDateTime.now().isBefore(dateExpiration); + return LocalDateTime.now().isBefore(dateExpiration); } } diff --git a/src/main/java/io/gmss/fiscad/interfaces/user/UserService.java b/src/main/java/io/gmss/fiscad/interfaces/user/UserService.java index f597658..8314be7 100755 --- a/src/main/java/io/gmss/fiscad/interfaces/user/UserService.java +++ b/src/main/java/io/gmss/fiscad/interfaces/user/UserService.java @@ -45,7 +45,7 @@ public interface UserService { User activateUser(Long id); User disactivateUser(Long id); - UserPaylaodWeb resetPassword(String username); + UserPaylaodWeb requestResetPassword(String username); UserPaylaodWeb resetPasswordByMail(String token, String password); diff --git a/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_irf_batie.sql b/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_irf_batie.sql index c1f2604..dec46ad 100644 --- a/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_irf_batie.sql +++ b/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_irf_batie.sql @@ -626,7 +626,7 @@ BEGIN epa.id_impot_nature, epa.exercice, sum(epa.montant_payer) as montant_acompte - from epaiement_acompte epa + from e_paiement_acompte epa where epa.exercice=v_annee-1 and epa.id_impot_nature='IRF' group by epa.ifu, @@ -643,7 +643,7 @@ BEGIN epr.qip_parcelle, epr.exercice, sum(epr.montant_payer) as montant_rirf - from epaiement_retenu epr + from e_paiement_retenu epr where epr.exercice=v_annee-1 group by epr.ifu_retenue, epr.r_quartier, diff --git a/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_irf_batie_une_parcelle.sql b/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_irf_batie_une_parcelle.sql index bf79a29..8cd830d 100644 --- a/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_irf_batie_une_parcelle.sql +++ b/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_irf_batie_une_parcelle.sql @@ -340,7 +340,7 @@ BEGIN epa.id_impot_nature, epa.exercice, sum(epa.montant_payer) as montant_acompte - from epaiement_acompte epa + from e_paiement_acompte epa where epa.exercice=v_annee-1 and epa.id_impot_nature='IRF' group by epa.ifu, @@ -357,7 +357,7 @@ BEGIN epr.qip_parcelle, epr.exercice, sum(epr.montant_payer) as montant_rirf - from epaiement_retenu epr + from e_paiement_retenu epr where epr.exercice=v_annee-1 group by epr.ifu_retenue, epr.r_quartier, diff --git a/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_irf_batie_unite_logement.sql b/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_irf_batie_unite_logement.sql index 9354b13..ed85d44 100644 --- a/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_irf_batie_unite_logement.sql +++ b/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_irf_batie_unite_logement.sql @@ -639,7 +639,7 @@ BEGIN epa.id_impot_nature, epa.exercice, sum(epa.montant_payer) as montant_acompte - from epaiement_acompte epa + from e_paiement_acompte epa where epa.exercice=v_annee-1 and epa.id_impot_nature='IRF' group by epa.ifu, @@ -656,7 +656,7 @@ BEGIN epr.qip_parcelle, epr.exercice, sum(epr.montant_payer) as montant_rirf - from epaiement_retenu epr + from e_paiement_retenu epr where epr.exercice=v_annee-1 group by epr.ifu_retenue, epr.r_quartier, diff --git a/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_irf_batie_unite_logement_une_parcelle.sql b/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_irf_batie_unite_logement_une_parcelle.sql index d2756da..4bf549e 100644 --- a/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_irf_batie_unite_logement_une_parcelle.sql +++ b/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_irf_batie_unite_logement_une_parcelle.sql @@ -296,7 +296,7 @@ BEGIN epa.id_impot_nature, epa.exercice, sum(epa.montant_payer) as montant_acompte - from epaiement_acompte epa + from e_paiement_acompte epa where epa.exercice=v_annee-1 and epa.id_impot_nature='IRF' group by epa.ifu, @@ -313,7 +313,7 @@ BEGIN epr.qip_parcelle, epr.exercice, sum(epr.montant_payer) as montant_rirf - from epaiement_retenu epr + from e_paiement_retenu epr where epr.exercice=v_annee-1 group by epr.ifu_retenue, epr.r_quartier, diff --git a/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_tfu_batie.sql b/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_tfu_batie.sql index b9fbc19..c3e55d5 100644 --- a/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_tfu_batie.sql +++ b/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_tfu_batie.sql @@ -454,7 +454,7 @@ BEGIN epa.id_impot_nature, epa.exercice, sum(epa.montant_payer) as montant_acompte - from epaiement_acompte epa + from e_paiement_acompte epa where epa.exercice=v_annee and epa.id_impot_nature='FB' group by epa.ifu, diff --git a/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_tfu_batie_une_parcelle.sql b/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_tfu_batie_une_parcelle.sql index 6e23d99..de517ea 100644 --- a/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_tfu_batie_une_parcelle.sql +++ b/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_tfu_batie_une_parcelle.sql @@ -455,7 +455,7 @@ BEGIN epa.id_impot_nature, epa.exercice, sum(epa.montant_payer) as montant_acompte - from epaiement_acompte epa + from e_paiement_acompte epa where epa.exercice=v_annee and epa.id_impot_nature='FB' group by epa.ifu, diff --git a/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_tfu_batie_unite_logement.sql b/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_tfu_batie_unite_logement.sql index da3eea2..43a80a1 100644 --- a/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_tfu_batie_unite_logement.sql +++ b/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_tfu_batie_unite_logement.sql @@ -432,7 +432,7 @@ BEGIN epa.id_impot_nature, epa.exercice, sum(epa.montant_payer) as montant_acompte - from epaiement_acompte epa + from e_paiement_acompte epa where epa.exercice=v_annee and epa.id_impot_nature='FB' group by epa.ifu, diff --git a/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_tfu_batie_unite_logement_une_parcelle.sql b/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_tfu_batie_unite_logement_une_parcelle.sql index cf6aea9..79aa218 100644 --- a/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_tfu_batie_unite_logement_une_parcelle.sql +++ b/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_tfu_batie_unite_logement_une_parcelle.sql @@ -433,7 +433,7 @@ BEGIN epa.id_impot_nature, epa.exercice, sum(epa.montant_payer) as montant_acompte - from epaiement_acompte epa + from e_paiement_acompte epa where epa.exercice=v_annee and epa.id_impot_nature='FB' group by epa.ifu, diff --git a/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_tfu_non_batie.sql b/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_tfu_non_batie.sql index 8b0980d..7404d78 100644 --- a/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_tfu_non_batie.sql +++ b/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_tfu_non_batie.sql @@ -342,7 +342,7 @@ BEGIN epa.id_impot_nature, epa.exercice, sum(epa.montant_payer) as montant_acompte - from epaiement_acompte epa + from e_paiement_acompte epa where epa.exercice=v_annee and epa.id_impot_nature='FNB' group by epa.ifu, diff --git a/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_tfu_non_batie_une_parcelle.sql b/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_tfu_non_batie_une_parcelle.sql index 7a9ac05..ed1e8ab 100644 --- a/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_tfu_non_batie_une_parcelle.sql +++ b/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/generer_donnees_imposition_tfu_non_batie_une_parcelle.sql @@ -180,7 +180,7 @@ BEGIN epa.id_impot_nature, epa.exercice, sum(epa.montant_payer) as montant_acompte - from epaiement_acompte epa + from e_paiement_acompte epa where epa.exercice=v_annee and epa.id_impot_nature='FNB' group by epa.ifu, diff --git a/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/maj_donnees_imposition_acompte_rirf.sql b/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/maj_donnees_imposition_acompte_rirf.sql index 2c18350..e8ddb43 100644 --- a/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/maj_donnees_imposition_acompte_rirf.sql +++ b/src/main/java/io/gmss/fiscad/persistence/procedure_fonction_stocke/maj_donnees_imposition_acompte_rirf.sql @@ -30,7 +30,7 @@ BEGIN nup, exercice, sum(montant_payer) as cumul_retenu - from epaiement_retenu + from e_paiement_retenu where exercice = v_annee group by ifu_retenue, r_commune, r_quartier, qip_quartier, qip_ilot, qip_parcelle, @@ -68,7 +68,7 @@ BEGIN nup, exercice, sum(montant_payer) as cumul_acompte - from epaiement_acompte + from e_paiement_acompte where exercice = v_annee group by ifu, r_commune, r_quartier, qip_quartier, qip_ilot, qip_parcelle, diff --git a/src/main/java/io/gmss/fiscad/service/MailService.java b/src/main/java/io/gmss/fiscad/service/MailService.java index 87e0545..491e968 100755 --- a/src/main/java/io/gmss/fiscad/service/MailService.java +++ b/src/main/java/io/gmss/fiscad/service/MailService.java @@ -450,8 +450,9 @@ public class MailService { } - - public MailSendResponse sendValidationMail( +@Async + //public MailSendResponse sendValidationMail( + public void sendValidationMail( String recipientEmail, String applicantName, String eServicesNumber, @@ -484,7 +485,7 @@ public class MailService { MailSendResponse.class ); - return response.getBody(); + // return response.getBody(); }