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