From a4be85620f07b052e838534c5ede548b9bad3295 Mon Sep 17 00:00:00 2001 From: kapcake Date: Sat, 6 May 2023 14:35:05 +0200 Subject: [PATCH] Add model classes --- .../bankingservice/domain/AccountStatus.java | 6 +++++ .../bankingservice/domain/Address.java | 20 ++++++++++++++ .../bankingservice/domain/Balance.java | 17 ++++++++++++ .../bankingservice/domain/BalanceType.java | 6 +++++ .../bankingservice/domain/BankAccount.java | 24 +++++++++++++++++ .../bankingservice/domain/Payment.java | 26 +++++++++++++++++++ .../bankingservice/domain/PaymentStatus.java | 5 ++++ .../kapcake/bankingservice/domain/User.java | 20 ++++++++++++++ 8 files changed, 124 insertions(+) create mode 100644 src/main/java/net/kapcake/bankingservice/domain/AccountStatus.java create mode 100644 src/main/java/net/kapcake/bankingservice/domain/Address.java create mode 100644 src/main/java/net/kapcake/bankingservice/domain/Balance.java create mode 100644 src/main/java/net/kapcake/bankingservice/domain/BalanceType.java create mode 100644 src/main/java/net/kapcake/bankingservice/domain/BankAccount.java create mode 100644 src/main/java/net/kapcake/bankingservice/domain/Payment.java create mode 100644 src/main/java/net/kapcake/bankingservice/domain/PaymentStatus.java create mode 100644 src/main/java/net/kapcake/bankingservice/domain/User.java diff --git a/src/main/java/net/kapcake/bankingservice/domain/AccountStatus.java b/src/main/java/net/kapcake/bankingservice/domain/AccountStatus.java new file mode 100644 index 0000000..03bb411 --- /dev/null +++ b/src/main/java/net/kapcake/bankingservice/domain/AccountStatus.java @@ -0,0 +1,6 @@ +package net.kapcake.bankingservice.domain; + +public enum AccountStatus { + ENABLED, + BLOCKED +} diff --git a/src/main/java/net/kapcake/bankingservice/domain/Address.java b/src/main/java/net/kapcake/bankingservice/domain/Address.java new file mode 100644 index 0000000..ec19f86 --- /dev/null +++ b/src/main/java/net/kapcake/bankingservice/domain/Address.java @@ -0,0 +1,20 @@ +package net.kapcake.bankingservice.domain; + +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.Id; +import lombok.Data; + +@Entity +@Data +public class Address { + + @Id + @GeneratedValue + private Long id; + private String street; + private Integer number; + private String numberExtension; + private Integer postalCode; + private String country; +} diff --git a/src/main/java/net/kapcake/bankingservice/domain/Balance.java b/src/main/java/net/kapcake/bankingservice/domain/Balance.java new file mode 100644 index 0000000..f1cfc2c --- /dev/null +++ b/src/main/java/net/kapcake/bankingservice/domain/Balance.java @@ -0,0 +1,17 @@ +package net.kapcake.bankingservice.domain; + +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.Id; +import lombok.Data; + +@Entity +@Data +public class Balance { + @Id + @GeneratedValue + private Long id; + private Long amount; + private String currency; + private BalanceType type; +} diff --git a/src/main/java/net/kapcake/bankingservice/domain/BalanceType.java b/src/main/java/net/kapcake/bankingservice/domain/BalanceType.java new file mode 100644 index 0000000..a84fa45 --- /dev/null +++ b/src/main/java/net/kapcake/bankingservice/domain/BalanceType.java @@ -0,0 +1,6 @@ +package net.kapcake.bankingservice.domain; + +public enum BalanceType { + END_OF_DAY, + AVAILABLE +} diff --git a/src/main/java/net/kapcake/bankingservice/domain/BankAccount.java b/src/main/java/net/kapcake/bankingservice/domain/BankAccount.java new file mode 100644 index 0000000..3048886 --- /dev/null +++ b/src/main/java/net/kapcake/bankingservice/domain/BankAccount.java @@ -0,0 +1,24 @@ +package net.kapcake.bankingservice.domain; + +import jakarta.persistence.*; +import lombok.Data; + +import java.util.List; + +@Entity +@Data +public class BankAccount { + @Id + @GeneratedValue + private Long id; + + private String accountNumber; + + @ManyToMany + private List users; + private String accountName; + @OneToMany + private List balances; + private AccountStatus status; + +} diff --git a/src/main/java/net/kapcake/bankingservice/domain/Payment.java b/src/main/java/net/kapcake/bankingservice/domain/Payment.java new file mode 100644 index 0000000..3e04170 --- /dev/null +++ b/src/main/java/net/kapcake/bankingservice/domain/Payment.java @@ -0,0 +1,26 @@ +package net.kapcake.bankingservice.domain; + +import jakarta.persistence.*; +import lombok.Data; +import org.hibernate.annotations.CreationTimestamp; + +import java.util.Date; + +@Entity +@Data +public class Payment { + @Id + @GeneratedValue + private Long id; + private Long amount; + private String currency; + @ManyToOne + private BankAccount giver; + private String beneficiaryAccountNumber; + private String beneficiaryName; + private String communication; + @CreationTimestamp + @Temporal(TemporalType.TIMESTAMP) + private Date creationDate; + private PaymentStatus status; +} diff --git a/src/main/java/net/kapcake/bankingservice/domain/PaymentStatus.java b/src/main/java/net/kapcake/bankingservice/domain/PaymentStatus.java new file mode 100644 index 0000000..e74f882 --- /dev/null +++ b/src/main/java/net/kapcake/bankingservice/domain/PaymentStatus.java @@ -0,0 +1,5 @@ +package net.kapcake.bankingservice.domain; + +public enum PaymentStatus { + EXECUTED +} diff --git a/src/main/java/net/kapcake/bankingservice/domain/User.java b/src/main/java/net/kapcake/bankingservice/domain/User.java new file mode 100644 index 0000000..a5a1bbd --- /dev/null +++ b/src/main/java/net/kapcake/bankingservice/domain/User.java @@ -0,0 +1,20 @@ +package net.kapcake.bankingservice.domain; + +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.Id; +import jakarta.persistence.ManyToOne; +import lombok.Data; + +@Entity +@Data +public class User { + @Id + @GeneratedValue + private Long id; + + private String username; + private String password; + @ManyToOne + private Address address; +}