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-service-impl/src/main/java/com/megatim/fdxconsultation/service/impl/sockets/MessagesSystemeCronBean.java |  103 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 103 insertions(+), 0 deletions(-)

diff --git a/fdx-consultation/fdxconsultation-service-impl/src/main/java/com/megatim/fdxconsultation/service/impl/sockets/MessagesSystemeCronBean.java b/fdx-consultation/fdxconsultation-service-impl/src/main/java/com/megatim/fdxconsultation/service/impl/sockets/MessagesSystemeCronBean.java
new file mode 100644
index 0000000..4e784cc
--- /dev/null
+++ b/fdx-consultation/fdxconsultation-service-impl/src/main/java/com/megatim/fdxconsultation/service/impl/sockets/MessagesSystemeCronBean.java
@@ -0,0 +1,103 @@
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package com.megatim.fdxconsultation.service.impl.sockets;
+
+/**
+ *
+ * @author Lenovo P53
+ */
+import com.megatim.fdxconsultation.core.ifaces.administration.UserManager;
+import com.megatim.fdxconsultation.core.ifaces.message.systeme.MessageSystemeManager;
+import com.megatim.fdxconsultation.model.administration.User;
+import com.megatim.fdxconsultation.model.dto.MessageSystemeDto;
+import com.megatim.fdxconsultation.model.message.systeme.ApplicationData;
+import com.megatim.fdxconsultation.model.message.systeme.UserSesionApplication;
+import com.megatim.fdxconsultation.tools.context.AppCommonContext;
+import java.util.Iterator;
+import javax.annotation.PostConstruct;
+import javax.ejb.LocalBean;
+import javax.ejb.Schedule;
+import javax.ejb.Singleton;
+import javax.ejb.Startup;
+import javax.inject.Inject;
+import javax.websocket.Session;
+
+@Singleton
+@Startup
+@LocalBean
+public class MessagesSystemeCronBean {
+    
+    @Inject
+    private MessageSystemeManager messageSystemeManager;
+    
+    @Inject
+    private UserManager userManager;
+    
+    @PostConstruct
+    public void init() {
+        
+    }
+
+    @Schedule(second = "*/3", minute = "*", hour = "*", persistent = false)
+    public void refreshDatas() {
+        
+        //Variables
+        ApplicationData message = new ApplicationData();
+        MessageSystemeDto messageSystemeDto = null;
+        Iterator<String> iterateur = null;
+        String idSession = null;
+        Session session = null;
+        User utilisateur = null;
+        
+        try {
+        
+            //On crée une instance de l'iterateur
+            iterateur = UserSesionApplication.getInstance().getUsers().keySet().iterator();   
+
+            //On parcourt la liste des sessions
+            while(iterateur.hasNext()){  
+
+                //On recupère l'id de la session
+                idSession = iterateur.next();
+                
+                //On filtre par type
+                if(UserSesionApplication.getInstance().getUsers() != null && UserSesionApplication.getInstance().getUsers().get(idSession) != null
+                        && (UserSesionApplication.getInstance().getUsers().get(idSession).getType() != null
+                        && UserSesionApplication.getInstance().getUsers().get(idSession).getType().equalsIgnoreCase(AppCommonContext.CODE_WEB_SOCKET_PATH_SYSTEME_MESSAGE))){
+                
+                    //On recupère la session
+                    session = UserSesionApplication.getInstance().getUsers().get(idSession).getSession();
+
+                    //On recupère l'utilisateur associé à cette session
+                    utilisateur = UserSesionApplication.getInstance().getUsers().get(idSession).getUtilisateur();
+
+                    //On recupère le message système
+                    messageSystemeDto = messageSystemeManager.recupererUnMessageSystemeDto(utilisateur);
+
+                    //Si non null
+                    if(messageSystemeDto != null){
+                    
+                        //On hydrate le message
+                        message.setMessageSystemeDto(messageSystemeDto);
+
+                        //On envoie le message
+                        UserSesionApplication.getInstance().send(session, message);
+                    
+                    }
+                    
+                }
+
+            }
+            
+        } catch (Exception ex) {
+                
+            //On affiche les erreurs
+            ex.printStackTrace();
+
+        }
+        
+    }
+    
+}

--
Gitblit v1.10.0