Package org.miage.tpae.metier
Class ServiceCompte
java.lang.Object
org.miage.tpae.metier.ServiceCompte
Bean métier pour la gestion des comptes
Le Transactional sert à éviter que les opérations soient réalisées partiellement.
C'est surtout important pour le virement.
-
Constructor Summary
ConstructorsConstructorDescriptionServiceCompte(ClientRepository clientRepository, CompteRepository compteRepository, OperationCompteRepository operationCompteRepository) Constructeur pour l'injection -
Method Summary
Modifier and TypeMethodDescriptionconsulter(long idCompte) Retourne la position courante du comptevoidcrediter(long idCompte, double montant) Crédite le comptevoiddebiter(long idCompte, double montant) Débite le comptevoidfermer(long idCompte) Fermeture d'un compteouvrir(long idClient, double soldeInitial) Permet la création d'un nouveau compterecupererOperations(long idCompte) Retourne la liste des opérations d'un comptevoidvirer(long idCompteDebiteur, long idCompteCrediteur, double montant) Virement entre deux comptes
-
Constructor Details
-
ServiceCompte
public ServiceCompte(ClientRepository clientRepository, CompteRepository compteRepository, OperationCompteRepository operationCompteRepository) Constructeur pour l'injection- Parameters:
clientRepository- bean repo clients injectécompteRepository- bean repo comptes injectéoperationCompteRepository- bean repo opérations injecté
-
-
Method Details
-
ouvrir
public Compte ouvrir(long idClient, double soldeInitial) throws MontantInvalidException, ClientInexistant Permet la création d'un nouveau compte- Parameters:
idClient- l'id du client pour lequel on ouvre le comptesoldeInitial- le solde initial- Returns:
- le nouveau compte
- Throws:
MontantInvalidException- si le montant est incorrect (négatif)ClientInexistant- si le client n'existe pas
-
fermer
Fermeture d'un compte- Parameters:
idCompte- id du compte- Throws:
CompteInconnuException- si le compte n'existe pas
-
consulter
Retourne la position courante du compte- Parameters:
idCompte- id du compte- Returns:
- la position
- Throws:
CompteInconnuException- si le compte n'existe pasCompteClotureException- si le compte est cloturé
-
debiter
public void debiter(long idCompte, double montant) throws CompteInconnuException, MontantInvalidException, SoldeInsuffisantException, CompteClotureException Débite le compte- Parameters:
idCompte- id du comptemontant- le montant à débiter- Throws:
CompteInconnuException- si le compte n'existe pasMontantInvalidException- si le montant est invalideSoldeInsuffisantException- si le solde est insuffisantCompteClotureException- si le compte est cloturé
-
crediter
public void crediter(long idCompte, double montant) throws CompteInconnuException, MontantInvalidException, CompteClotureException Crédite le compte- Parameters:
idCompte- id du comptemontant- le montant à créditer- Throws:
CompteInconnuException- si le compte n'existe pasMontantInvalidException- si le montant est invalideCompteClotureException- si le compte est cloturé
-
virer
public void virer(long idCompteDebiteur, long idCompteCrediteur, double montant) throws CompteInconnuException, MontantInvalidException, SoldeInsuffisantException, CompteClotureException Virement entre deux comptes- Parameters:
idCompteDebiteur- id du compte à débiteridCompteCrediteur- id du compte à créditermontant- montant à virer- Throws:
CompteInconnuException- si un des comptes n'existe pasMontantInvalidException- si le montant est invalideSoldeInsuffisantException- si le solde du compte à débiter est insuffisantCompteClotureException- si l'un des comptes est cloturé
-
recupererOperations
Retourne la liste des opérations d'un compte- Parameters:
idCompte- id du compte- Returns:
- la liste d'opérations
-