From 23a46b4be35277e06ec89f48730eeb694e686be8 Mon Sep 17 00:00:00 2001
From: Kenmegne <stephanie.kenmegne@gmail.com>
Date: Thu, 18 Jun 2026 15:40:06 +0000
Subject: [PATCH] add fdx-commons and fdx-consultation
---
fdx-consultation/fdxconsultation-dao-impl/src/main/java/com/megatim/fdxconsultation/dao/impl/administration/UserDAOImpl.java | 140 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 140 insertions(+), 0 deletions(-)
diff --git a/fdx-consultation/fdxconsultation-dao-impl/src/main/java/com/megatim/fdxconsultation/dao/impl/administration/UserDAOImpl.java b/fdx-consultation/fdxconsultation-dao-impl/src/main/java/com/megatim/fdxconsultation/dao/impl/administration/UserDAOImpl.java
new file mode 100644
index 0000000..bfb65d6
--- /dev/null
+++ b/fdx-consultation/fdxconsultation-dao-impl/src/main/java/com/megatim/fdxconsultation/dao/impl/administration/UserDAOImpl.java
@@ -0,0 +1,140 @@
+package com.megatim.fdxconsultation.dao.impl.administration;
+
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+
+import com.bekosoftware.genericdaolayer.dao.impl.AbstractGenericDAO;
+import com.bekosoftware.genericdaolayer.dao.tools.RestrictionsContainer;
+import com.megatim.commons.tools.CommonsTools;
+import com.megatim.fdxcommons.model.enumeration.TypeOperation;
+import com.megatim.fdxconsultation.dao.ifaces.administration.UserDAO;
+import com.megatim.fdxconsultation.model.administration.Role;
+import com.megatim.fdxconsultation.model.administration.User;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Optional;
+import javax.enterprise.context.Dependent;
+
+@Dependent
+public class UserDAOImpl extends AbstractGenericDAO<User, Long> implements UserDAO {
+
+ @PersistenceContext(unitName = "fdxConsultationPersistenceUnit")
+ protected EntityManager em;
+
+ public UserDAOImpl() {
+ }
+
+ @Override
+ public EntityManager getEntityManager() {
+ return em;
+ }
+
+ @Override
+ public Class<User> getManagedEntityClass() {
+ return (User.class);
+ }
+
+ @Override
+ public User getById(Long id) {
+ Optional<User> optional = em.createQuery("SELECT u from User u"
+ + " LEFT JOIN FETCH u.typeFichiers "
+ + " WHERE u.id = :id")
+ .setParameter("id", id)
+ .getResultList()
+ .stream()
+ .findFirst();;
+ return optional.isPresent() ? optional.get() : null;
+ }
+
+ @Override
+ public User getCurrentUser() {
+ RestrictionsContainer requeteur = RestrictionsContainer.newInstance();
+ requeteur.addEq("typeOperation", TypeOperation.AJOUTER);
+ return filter(requeteur.getPredicats(), null, null, 0, 1).stream().findAny().orElse(null);
+ }
+
+ @Override
+ public User recuperUtilisateur(String username, String motDePasse) {
+ //Variables
+ List<User> resutlats = null;
+ User user = null;
+ boolean isCorrect = false;
+ RestrictionsContainer requeteur = RestrictionsContainer.newInstance();
+
+ //On construit la requete
+ requeteur.addEq("userName", username);
+ requeteur.addEq("typeOperation", TypeOperation.AJOUTER);
+
+ //On execute la requte
+ resutlats = filter(requeteur.getPredicats(), null, null, 0, 1);
+
+ //Si liste non vide
+ if (resutlats != null && !resutlats.isEmpty()) {
+
+ try {
+
+ //On recupere le user
+ user = resutlats.get(0);
+
+ //On verifie si le mot de passe est correct
+ isCorrect = CommonsTools.validerMotDePasse(motDePasse, user.getPwd());
+
+ //Si incorrect
+ if (!isCorrect) {
+
+ //Utilisateur non trouvé
+ user = null;
+
+ }
+
+ } catch (Exception ex) {
+
+ //On affiche l'erreur
+ ex.printStackTrace();
+
+ }
+
+ }
+
+ return user;
+ }
+
+ @Override
+ public User recuperUtilisateur(String username) {
+ Optional<User> optional = em.createQuery("SELECT u from User u"
+ + " LEFT JOIN FETCH u.typeFichiers "
+ + " LEFT JOIN FETCH u.participants "
+ + " WHERE u.userName = :username AND u.typeOperation = :typeOperation")
+ .setParameter("username", username)
+ .setParameter("typeOperation", TypeOperation.AJOUTER)
+ .getResultList()
+ .stream()
+ .findFirst();
+ return optional.isPresent() ? optional.get() : null;
+ }
+
+ @Override
+ public List<User> obtenirListeUtilisateursRole(Role role) {
+
+ //variables
+ List<User> utilisateurs = null;
+ RestrictionsContainer requeteur = RestrictionsContainer.newInstance();
+
+ //On construit la requete
+ requeteur.addEq("role", role);
+ requeteur.addEq("typeOperation", TypeOperation.AJOUTER);
+
+ //On execute la requte
+ utilisateurs = filter(requeteur.getPredicats(), null, null, 0, -1);
+
+ //Si liste null
+ if (utilisateurs == null) {
+
+ //On crée une instance vide
+ utilisateurs = new ArrayList<User>();
+
+ }
+
+ return utilisateurs;
+ }
+}
--
Gitblit v1.10.0