From 0918a51f7aebfbf8b332bb15785683e783caadbc Mon Sep 17 00:00:00 2001 From: mirrerror Date: Thu, 21 Sep 2023 11:33:44 +0300 Subject: [PATCH] Add new entities --- pom.xml | 12 ++++ .../controllers/MainController.java | 4 +- src/main/java/entities/Expense.java | 41 +++++++++++ src/main/java/entities/ExpensesCategory.java | 5 ++ src/main/java/entities/Income.java | 41 +++++++++++ src/main/java/entities/IncomeCategory.java | 5 ++ src/main/java/entities/MoneyTransaction.java | 9 +++ src/main/java/entities/User.java | 68 +++++++++++++++++-- src/main/resources/application.properties | 4 +- 9 files changed, 180 insertions(+), 9 deletions(-) create mode 100644 src/main/java/entities/Expense.java create mode 100644 src/main/java/entities/ExpensesCategory.java create mode 100644 src/main/java/entities/Income.java create mode 100644 src/main/java/entities/IncomeCategory.java create mode 100644 src/main/java/entities/MoneyTransaction.java diff --git a/pom.xml b/pom.xml index e717a1a..7b353f3 100644 --- a/pom.xml +++ b/pom.xml @@ -27,6 +27,18 @@ test 3.1.2 + + + org.springframework.boot + spring-boot-starter-data-jpa + 3.1.3 + + + + com.microsoft.sqlserver + mssql-jdbc + 12.4.1.jre11 + diff --git a/src/main/java/com/faf223/expensetrackerfaf/controllers/MainController.java b/src/main/java/com/faf223/expensetrackerfaf/controllers/MainController.java index 1626d98..fe74c84 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/controllers/MainController.java +++ b/src/main/java/com/faf223/expensetrackerfaf/controllers/MainController.java @@ -13,9 +13,9 @@ public class MainController { return "Hello, World!"; } - @GetMapping("/users/{id}") + @GetMapping("/users/get/{id}") public User getUser(@PathVariable int id) { - return new User(id, "Test"); + return new User(id, "Test", null, null, null, null, null, null); } } diff --git a/src/main/java/entities/Expense.java b/src/main/java/entities/Expense.java new file mode 100644 index 0000000..606e4eb --- /dev/null +++ b/src/main/java/entities/Expense.java @@ -0,0 +1,41 @@ +package entities; + +public class Expense extends MoneyTransaction { + + private int userId; + private int amount; + private ExpensesCategory category; + + public Expense(int userId, int amount, ExpensesCategory category) { + this.userId = userId; + this.amount = amount; + this.category = category; + } + + @Override + public long getUserId() { + return userId; + } + + public void setUserId(int userId) { + this.userId = userId; + } + + @Override + public int getAmount() { + return amount; + } + + public void setAmount(int amount) { + this.amount = amount; + } + + @Override + public String getCategory() { + return category.toString(); + } + + public void setCategory(ExpensesCategory category) { + this.category = category; + } +} diff --git a/src/main/java/entities/ExpensesCategory.java b/src/main/java/entities/ExpensesCategory.java new file mode 100644 index 0000000..bf76cc7 --- /dev/null +++ b/src/main/java/entities/ExpensesCategory.java @@ -0,0 +1,5 @@ +package entities; + +public enum ExpensesCategory { + MISC; +} diff --git a/src/main/java/entities/Income.java b/src/main/java/entities/Income.java new file mode 100644 index 0000000..f3edc27 --- /dev/null +++ b/src/main/java/entities/Income.java @@ -0,0 +1,41 @@ +package entities; + +public class Income extends MoneyTransaction { + + private long userId; + private int amount; + private IncomeCategory category; + + public Income(long userId, int amount, IncomeCategory category) { + this.userId = userId; + this.amount = amount; + this.category = category; + } + + @Override + public long getUserId() { + return userId; + } + + @Override + public int getAmount() { + return amount; + } + + @Override + public String getCategory() { + return category.toString(); + } + + public void setUserId(long userId) { + this.userId = userId; + } + + public void setAmount(int amount) { + this.amount = amount; + } + + public void setCategory(IncomeCategory category) { + this.category = category; + } +} diff --git a/src/main/java/entities/IncomeCategory.java b/src/main/java/entities/IncomeCategory.java new file mode 100644 index 0000000..7d1666c --- /dev/null +++ b/src/main/java/entities/IncomeCategory.java @@ -0,0 +1,5 @@ +package entities; + +public enum IncomeCategory { + MISC; +} diff --git a/src/main/java/entities/MoneyTransaction.java b/src/main/java/entities/MoneyTransaction.java new file mode 100644 index 0000000..2232df4 --- /dev/null +++ b/src/main/java/entities/MoneyTransaction.java @@ -0,0 +1,9 @@ +package entities; + +public abstract class MoneyTransaction { + + public abstract long getUserId(); + public abstract int getAmount(); + public abstract String getCategory(); + +} diff --git a/src/main/java/entities/User.java b/src/main/java/entities/User.java index ee467a1..37f571a 100644 --- a/src/main/java/entities/User.java +++ b/src/main/java/entities/User.java @@ -1,19 +1,27 @@ package entities; +import java.util.List; + public class User { - private long id; - private String name; - private String email; - private String login; - private String password; + private String name, email, login, password; private Role role; + private List expenses; + private List incomes; - public User(long id, String name) { + public User(long id, String name, String email, String login, String password, Role role, List expenses, List incomes) { this.id = id; this.name = name; + this.email = email; + this.login = login; + this.password = password; + this.role = role; + this.expenses = expenses; + this.incomes = incomes; } + public User() {} + public long getId() { return id; } @@ -29,4 +37,52 @@ public class User { public void setName(String name) { this.name = name; } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getLogin() { + return login; + } + + public void setLogin(String login) { + this.login = login; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public Role getRole() { + return role; + } + + public void setRole(Role role) { + this.role = role; + } + + public List getExpenses() { + return expenses; + } + + public void setExpenses(List expenses) { + this.expenses = expenses; + } + + public List getIncomes() { + return incomes; + } + + public void setIncomes(List incomes) { + this.incomes = incomes; + } } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 8b13789..637a0d4 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1 +1,3 @@ - +spring.datasource.url=jdbc:sqlserver://DESKTOP-53DT8GT\\SQLEXPRESS:1433;databaseName=ExpensesApp;integratedSecurity=true +spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver +spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.SQLServer2008Dialect \ No newline at end of file