diff --git a/unionflow/specs/001-mutuelles-anti-blanchiment/PROGRESSION.md b/unionflow/specs/001-mutuelles-anti-blanchiment/PROGRESSION.md index d2144fd..c83330d 100644 --- a/unionflow/specs/001-mutuelles-anti-blanchiment/PROGRESSION.md +++ b/unionflow/specs/001-mutuelles-anti-blanchiment/PROGRESSION.md @@ -12,10 +12,10 @@ |-------|--------|--------|---------| | **Phase 1 - API** | 6/6 | ✅ **100%** | DTOs et enums LCB-FT | | **Phase 2 - Migrations** | 5/5 | ✅ **100%** | V3.4 déjà existante | -| **Phase 3 - Impl Quarkus** | 0/6 | 🔄 **0%** | Services + validation | +| **Phase 3 - Impl Quarkus** | 4/6 | ✅ **67%** | Services + endpoints | | **Phase 4 - Mobile** | 0/7 | ⏳ **0%** | Écrans + KYC | | **Phase 5 - Finition** | 0/3 | ⏳ **0%** | Tests + docs | -| **TOTAL** | **11/27** | 🎯 **41%** | | +| **TOTAL** | **15/27** | 🎯 **56%** | | --- @@ -136,36 +136,69 @@ CREATE TABLE parametres_lcb_ft ( --- -## ⏳ Phase 3 - Impl Quarkus (0% - À démarrer) +## ✅ Phase 3 - Impl Quarkus (67% complétée) -### Tâches restantes +**Commit** : `eb729bd` (sous-module unionflow-server-impl-quarkus) +**Date** : 2026-03-13 -#### T012 : Lecture paramètres LCB-FT depuis BDD -- Créer `ParametresLcbFtService` / `ParametresLcbFtRepository` -- Récupération seuils par organisation ou plateforme -- Cache pour performance +### Réalisations -#### T013 : Validation seuils transactions épargne -- Dans `TransactionEpargneService` -- Si montant >= seuil : exiger `origineFonds` (non vide) -- Rejet 400 avec message clair si manquant +#### T012 : Service ParametresLcbFtService ✅ +- ✅ `ParametresLcbFtRepository` déjà existant +- ✅ `ParametresLcbFtService` créé avec : + - `getParametres()` : params complets (avec cache) + - `getSeuilJustification()` : seuil rapide (avec cache) + - `saveOrUpdateParametres()` : CRUD + - Fallback 500k XOF par défaut +- ✅ Cache Quarkus `@CacheResult` pour performance -#### T014 : Audit opérations mutuelles -- Enregistrement audit_logs -- Portée ORGANISATION -- Détails : montant, type, membre, seuil franchi +**Fichiers** : +- `unionflow-server-impl-quarkus/.../service/ParametresLcbFtService.java` (nouveau) +- `unionflow-server-impl-quarkus/.../repository/ParametresLcbFtRepository.java` (existant) -#### T015 : Vérification KYC crédit (optionnel) -- Avant déblocage crédit -- Vérifier `dateVerificationIdentite` à jour +#### T013 : Validation seuils transactions épargne ✅ +- ✅ `TransactionEpargneService.validerLcbFtSiSeuilAtteint()` **déjà implémentée** + - Vérifie montant >= seuil + - Exige `origineFonds` (non vide) si seuil atteint + - Rejet `IllegalArgumentException` avec message clair + - Validation longueur max (ValidationConstants) +- ✅ Récupération seuil depuis `ParametresLcbFtRepository` -#### T016 : Ressource alertes LCB-FT (optionnel) -- Dépassement seuil -- Motif vide au-dessus seuil +**Fichier** : +- `unionflow-server-impl-quarkus/.../service/mutuelle/epargne/TransactionEpargneService.java` (existant) -#### T017 : Endpoint paramètres LCB-FT pour mobile -- `GET /api/parametres-lcb-ft` -- Mobile récupère seuils pour validation client +#### T014 : Audit opérations mutuelles ✅ +- ✅ `AuditService.logLcbFtSeuilAtteint()` **déjà implémenté** + - Appelé dans `TransactionEpargneService` + - Enregistre dans `audit_logs` si montant >= seuil + - Portée ORGANISATION + - Détails : orgId, operateurId, compteId, montant, origineFonds + +**Fichier** : +- `unionflow-server-impl-quarkus/.../service/AuditService.java` (existant) + +#### T015 : Vérification KYC crédit ⏩ OPTIONNEL (skip) +- Vérification `dateVerificationIdentite` avant déblocage crédit +- Non critique pour MVP + +#### T016 : Ressource alertes LCB-FT ⏩ OPTIONNEL (skip) +- Alertes dépassement seuil / motif vide +- Peut être ajouté en Phase 2 de la spec + +#### T017 : Resource ParametresLcbFtResource ✅ +- ✅ `ParametresLcbFtResource` créée avec 3 endpoints : + - `GET /api/parametres-lcb-ft` : params complets (@PermitAll pour mobile) + - `GET /api/parametres-lcb-ft/seuil-justification` : seuil uniquement (endpoint léger) + - `POST /api/parametres-lcb-ft` : CRUD admin (@RolesAllowed ADMIN/SUPER_ADMIN) +- ✅ Documentation OpenAPI/Swagger complète +- ✅ Validation Jakarta Bean Validation + +**Fichier** : +- `unionflow-server-impl-quarkus/.../resource/ParametresLcbFtResource.java` (nouveau) + +### Tâches optionnelles skippées (T015, T016) + +Ces tâches ne sont pas critiques pour le MVP de la spec 001 et peuvent être ajoutées ultérieurement si nécessaire. ---