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

---
 apifdxweb/api/apifdxweb-service-impl/src/main/java/com/megatim/apifdxweb/service/batch/DataPerBatchRSImpl.java |   68 ++++++++++++++++++++++++++++++++++
 1 files changed, 68 insertions(+), 0 deletions(-)

diff --git a/apifdxweb/api/apifdxweb-service-impl/src/main/java/com/megatim/apifdxweb/service/batch/DataPerBatchRSImpl.java b/apifdxweb/api/apifdxweb-service-impl/src/main/java/com/megatim/apifdxweb/service/batch/DataPerBatchRSImpl.java
new file mode 100644
index 0000000..0668a0b
--- /dev/null
+++ b/apifdxweb/api/apifdxweb-service-impl/src/main/java/com/megatim/apifdxweb/service/batch/DataPerBatchRSImpl.java
@@ -0,0 +1,68 @@
+/*
+ * 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.apifdxweb.service.batch;
+
+import com.megatim.apifdxweb.core.ifaces.administration.UserManager;
+import com.megatim.apifdxweb.core.ifaces.tmp.TokenTmpManager;
+import com.megatim.apifdxweb.core.ifaces.tmp.TypeFichierDataTmpManager;
+import com.megatim.apifdxweb.model.administration.User;
+import com.megatim.apifdxweb.model.dtos.tmp.DataTmpDto;
+import com.megatim.apifdxweb.model.dtos.tmp.TokenTmpDto;
+import com.megatim.apifdxweb.model.mappers.MapStructMapper;
+import com.megatim.apifdxweb.model.tmp.TokenTmp;
+import com.mgt.rs.security.core.common.AuthenticatedUser;
+import com.mgt.rs.security.core.common.SecuredClass;
+import javax.enterprise.context.RequestScoped;
+import javax.enterprise.event.Observes;
+import javax.inject.Inject;
+import javax.ws.rs.Path;
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.Response;
+import com.megatim.apifdxweb.service.ifaces.batch.DataPerBatchRS;
+
+/**
+ *
+ * @author ASUS
+ */
+@SecuredClass(module = "application", path = "gestion des tokens pour l'envoie de données par lots", description = "gestion des tokens")
+@Path("batch-data")
+@RequestScoped
+public class DataPerBatchRSImpl implements DataPerBatchRS {
+
+    @Inject
+    private MapStructMapper mapper;
+
+    @Inject
+    private TypeFichierDataTmpManager manager;
+
+    @Inject
+    private UserManager userManager;
+
+    private String codeParticipant;
+
+    @Inject
+    private TokenTmpManager tokenTmpManager;
+
+    public void handleAuthenticationEvent(@Observes @AuthenticatedUser String connectedUserName) {
+        User user = userManager.recuperUtilisateur(connectedUserName);
+        this.codeParticipant = user != null ? user.getParticipant().getCode() : null;
+    }
+
+    @Override
+    public Response addData(HttpHeaders headers, DataTmpDto entity) {
+        manager.saveData(codeParticipant, entity);
+        return Response.ok().build();
+    }
+
+    @Override
+    public Response generateToken(HttpHeaders headers, TokenTmpDto dto) {
+        
+        TokenTmp entity = mapper.tokenTmpDtoToTokenTmp(dto);
+        TokenTmpDto finalDto = mapper.tokenTmpToTokenTmpDto(tokenTmpManager.saveEntity(entity, codeParticipant));
+        finalDto.setValidite(dto.getValidite());
+
+        return Response.ok(finalDto).build();
+    }
+}

--
Gitblit v1.10.0