From 868bceddbb71d573a5835767e361a244e764c71b Mon Sep 17 00:00:00 2001 From: Alexey Grunskii Date: Thu, 17 Nov 2022 22:46:26 +0300 Subject: [PATCH 01/13] Initial commit which shows working address https://localhost:8080/greeting?name=Semen --- settings.gradle | 2 +- user-service/build.gradle | 15 +++++++++++++++ .../main/java/ru/ct/belfort/HelloController.java | 16 ++++++++++++++++ .../java/ru/ct/belfort/UserServiceRunner.java | 11 +++++++++++ 4 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 user-service/build.gradle create mode 100644 user-service/src/main/java/ru/ct/belfort/HelloController.java create mode 100644 user-service/src/main/java/ru/ct/belfort/UserServiceRunner.java diff --git a/settings.gradle b/settings.gradle index c6a1977..016d7e9 100644 --- a/settings.gradle +++ b/settings.gradle @@ -22,4 +22,4 @@ include 'trading-bot' include 'telegram-service' include 'tinkoff-service' include 'api' - +include 'user-service' diff --git a/user-service/build.gradle b/user-service/build.gradle new file mode 100644 index 0000000..6173de9 --- /dev/null +++ b/user-service/build.gradle @@ -0,0 +1,15 @@ +plugins { + id 'java' +} + +dependencies { + implementation 'org.springframework.boot:spring-boot-starter' + implementation 'org.springframework.boot:spring-boot-starter-web' + implementation 'org.slf4j:slf4j-api' + implementation 'org.slf4j:slf4j-simple' + implementation(project(":api")) +} + +test { + useJUnitPlatform() +} \ No newline at end of file diff --git a/user-service/src/main/java/ru/ct/belfort/HelloController.java b/user-service/src/main/java/ru/ct/belfort/HelloController.java new file mode 100644 index 0000000..32f1314 --- /dev/null +++ b/user-service/src/main/java/ru/ct/belfort/HelloController.java @@ -0,0 +1,16 @@ +package ru.ct.belfort; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +@Controller +public class HelloController { + + @ResponseBody + @GetMapping("/greeting") + public String getHelloWorld(@RequestParam(value="name", required = false, defaultValue = "world") String name) { + return String.format("Hello, %s!", name); + } +} diff --git a/user-service/src/main/java/ru/ct/belfort/UserServiceRunner.java b/user-service/src/main/java/ru/ct/belfort/UserServiceRunner.java new file mode 100644 index 0000000..51d3492 --- /dev/null +++ b/user-service/src/main/java/ru/ct/belfort/UserServiceRunner.java @@ -0,0 +1,11 @@ +package ru.ct.belfort; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class UserServiceRunner { + public static void main(String[] args) { + SpringApplication.run(UserServiceRunner.class, args); + } +} From d9484cbd00f4b34c527256c3d920b55498811bf0 Mon Sep 17 00:00:00 2001 From: Alexey Grunskii Date: Thu, 17 Nov 2022 23:18:30 +0300 Subject: [PATCH 02/13] Add log file for liquibase --- .../src/main/resources/application.properties | 4 +++ .../db/changelog/db.changelog-master.xml | 35 +++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 user-service/src/main/resources/application.properties create mode 100644 user-service/src/main/resources/db/changelog/db.changelog-master.xml diff --git a/user-service/src/main/resources/application.properties b/user-service/src/main/resources/application.properties new file mode 100644 index 0000000..d78a36a --- /dev/null +++ b/user-service/src/main/resources/application.properties @@ -0,0 +1,4 @@ +spring.datasource.url=jdbc:h2:~/liquibase;DB_CLOSE_ON_EXIT=FALSE +spring.datasource.username=sa +spring.datasource.password= +spring.liquibase.change-log=classpath:db/changelog/db.changelog-master.xml \ No newline at end of file diff --git a/user-service/src/main/resources/db/changelog/db.changelog-master.xml b/user-service/src/main/resources/db/changelog/db.changelog-master.xml new file mode 100644 index 0000000..d4125a5 --- /dev/null +++ b/user-service/src/main/resources/db/changelog/db.changelog-master.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 5be48920da1ca0a26e2b9a31a144e218f23cc4ec Mon Sep 17 00:00:00 2001 From: Alexey Grunskii Date: Fri, 18 Nov 2022 13:38:58 +0300 Subject: [PATCH 03/13] Add necessary dependencies && Add changelog file --- user-service/build.gradle | 6 +++ .../db/changelog/db.changelog-master.xml | 40 ++++++------------- 2 files changed, 18 insertions(+), 28 deletions(-) diff --git a/user-service/build.gradle b/user-service/build.gradle index 6173de9..9067fbd 100644 --- a/user-service/build.gradle +++ b/user-service/build.gradle @@ -7,6 +7,12 @@ dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.slf4j:slf4j-api' implementation 'org.slf4j:slf4j-simple' + implementation 'org.postgresql:postgresql' + implementation 'org.liquibase:liquibase-core' + implementation 'org.springframework:spring-jdbc' + compileOnly 'org.projectlombok:lombok' + annotationProcessor 'org.projectlombok:lombok' + implementation(project(":api")) } diff --git a/user-service/src/main/resources/db/changelog/db.changelog-master.xml b/user-service/src/main/resources/db/changelog/db.changelog-master.xml index d4125a5..cb4f92c 100644 --- a/user-service/src/main/resources/db/changelog/db.changelog-master.xml +++ b/user-service/src/main/resources/db/changelog/db.changelog-master.xml @@ -2,34 +2,18 @@ - - - - - - - - - - - - - - - - - - - - - - - + http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd"> + + + + + + + + + + + \ No newline at end of file From d70df3f4be179ee8b5110a54b0d68b3a5d9c5d02 Mon Sep 17 00:00:00 2001 From: Alexey Grunskii Date: Sat, 19 Nov 2022 20:11:28 +0300 Subject: [PATCH 04/13] Add files for liquibaseConfig --- .../ru/ct/belfort/db/LiquibaseConfig.java | 39 +++++++++++++++++++ .../java/ru/ct/belfort/db/UserEntity.java | 8 ++++ .../java/ru/ct/belfort/db/UserRepository.java | 35 +++++++++++++++++ .../src/main/resources/application.properties | 2 +- .../src/main/resources/database.properties | 4 ++ .../db/changelog/db.changelog-master.xml | 19 --------- .../main/resources/db/migration/master.xml | 15 +++++++ .../db/migration/sql/create_users.sql | 5 +++ 8 files changed, 107 insertions(+), 20 deletions(-) create mode 100644 user-service/src/main/java/ru/ct/belfort/db/LiquibaseConfig.java create mode 100644 user-service/src/main/java/ru/ct/belfort/db/UserEntity.java create mode 100644 user-service/src/main/java/ru/ct/belfort/db/UserRepository.java create mode 100644 user-service/src/main/resources/database.properties delete mode 100644 user-service/src/main/resources/db/changelog/db.changelog-master.xml create mode 100644 user-service/src/main/resources/db/migration/master.xml create mode 100644 user-service/src/main/resources/db/migration/sql/create_users.sql diff --git a/user-service/src/main/java/ru/ct/belfort/db/LiquibaseConfig.java b/user-service/src/main/java/ru/ct/belfort/db/LiquibaseConfig.java new file mode 100644 index 0000000..f15eed8 --- /dev/null +++ b/user-service/src/main/java/ru/ct/belfort/db/LiquibaseConfig.java @@ -0,0 +1,39 @@ +package ru.ct.belfort.db; + +import liquibase.integration.spring.SpringLiquibase; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.PropertySource; +import org.springframework.core.env.Environment; +import org.springframework.jdbc.datasource.DriverManagerDataSource; + +import javax.sql.DataSource; + +@Configuration +@PropertySource("classpath:database.properties") +public class LiquibaseConfig { + + @Autowired + Environment env; + + @Bean + public DataSource dataSource() { + DriverManagerDataSource dataSource = new DriverManagerDataSource(); + + dataSource.setDriverClassName(env.getProperty("spring.datasource.drivername")); + dataSource.setUrl(env.getProperty("spring.datasource.url")); + dataSource.setUsername(env.getProperty("spring.datasource.username")); + dataSource.setPassword(env.getProperty("spring.datasource.password")); + + return dataSource; + } + + @Bean + public SpringLiquibase liquibase() { + SpringLiquibase liquibase = new SpringLiquibase(); + liquibase.setChangeLog("classpath:db/migration/master.xml"); + liquibase.setDataSource(dataSource()); + return liquibase; + } +} diff --git a/user-service/src/main/java/ru/ct/belfort/db/UserEntity.java b/user-service/src/main/java/ru/ct/belfort/db/UserEntity.java new file mode 100644 index 0000000..035a432 --- /dev/null +++ b/user-service/src/main/java/ru/ct/belfort/db/UserEntity.java @@ -0,0 +1,8 @@ +package ru.ct.belfort.db; + + +import lombok.Builder; + +@Builder +public record UserEntity(long id, String str) { +} diff --git a/user-service/src/main/java/ru/ct/belfort/db/UserRepository.java b/user-service/src/main/java/ru/ct/belfort/db/UserRepository.java new file mode 100644 index 0000000..e1cfdd4 --- /dev/null +++ b/user-service/src/main/java/ru/ct/belfort/db/UserRepository.java @@ -0,0 +1,35 @@ +package ru.ct.belfort.db; + + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.core.RowMapper; +import org.springframework.stereotype.Service; + +import java.sql.ResultSet; +import java.sql.SQLException; + +@Service +@Slf4j +public class UserRepository { + private final JdbcTemplate jdbcTemplate; + + private static final UserEntityMapper mapper = new UserEntityMapper(); + + @Autowired + public UserRepository(JdbcTemplate jdbcTemplate) { + this.jdbcTemplate = jdbcTemplate; + } + + private static class UserEntityMapper implements RowMapper { + @Override + public UserEntity mapRow(ResultSet rs, int rowNum) throws SQLException { + return UserEntity.builder() + .id(rs.getInt("id")) + .str(rs.getString("str")) + .build(); + } + } +} diff --git a/user-service/src/main/resources/application.properties b/user-service/src/main/resources/application.properties index d78a36a..05469c0 100644 --- a/user-service/src/main/resources/application.properties +++ b/user-service/src/main/resources/application.properties @@ -1,4 +1,4 @@ spring.datasource.url=jdbc:h2:~/liquibase;DB_CLOSE_ON_EXIT=FALSE spring.datasource.username=sa spring.datasource.password= -spring.liquibase.change-log=classpath:db/changelog/db.changelog-master.xml \ No newline at end of file +spring.liquibase.change-log=classpath:db/migration/master.xml \ No newline at end of file diff --git a/user-service/src/main/resources/database.properties b/user-service/src/main/resources/database.properties new file mode 100644 index 0000000..1b5c075 --- /dev/null +++ b/user-service/src/main/resources/database.properties @@ -0,0 +1,4 @@ +spring.datasource.drivername=org.postgresql.Driver +spring.datasource.url=jdbc:postgresql://172.17.0.1:5432/trading_bot +spring.datasource.username=postgres +spring.datasource.password=postgres \ No newline at end of file diff --git a/user-service/src/main/resources/db/changelog/db.changelog-master.xml b/user-service/src/main/resources/db/changelog/db.changelog-master.xml deleted file mode 100644 index cb4f92c..0000000 --- a/user-service/src/main/resources/db/changelog/db.changelog-master.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/user-service/src/main/resources/db/migration/master.xml b/user-service/src/main/resources/db/migration/master.xml new file mode 100644 index 0000000..4dddfee --- /dev/null +++ b/user-service/src/main/resources/db/migration/master.xml @@ -0,0 +1,15 @@ + + + + + + + + \ No newline at end of file diff --git a/user-service/src/main/resources/db/migration/sql/create_users.sql b/user-service/src/main/resources/db/migration/sql/create_users.sql new file mode 100644 index 0000000..afd081d --- /dev/null +++ b/user-service/src/main/resources/db/migration/sql/create_users.sql @@ -0,0 +1,5 @@ +CREATE TABLE users +( + id SERIAL PRIMARY KEY, + score DOUBLE PRECISION +) \ No newline at end of file From 8e459b45736b1f9a6542200e1823f5cf175e4df9 Mon Sep 17 00:00:00 2001 From: Alexey Grunskii Date: Sat, 19 Nov 2022 20:24:29 +0300 Subject: [PATCH 05/13] Tries to get working code --- user-service/src/main/java/ru/ct/belfort/db/UserEntity.java | 2 +- .../src/main/java/ru/ct/belfort/db/UserRepository.java | 6 ++++++ user-service/src/main/resources/database.properties | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/user-service/src/main/java/ru/ct/belfort/db/UserEntity.java b/user-service/src/main/java/ru/ct/belfort/db/UserEntity.java index 035a432..e0e1c09 100644 --- a/user-service/src/main/java/ru/ct/belfort/db/UserEntity.java +++ b/user-service/src/main/java/ru/ct/belfort/db/UserEntity.java @@ -4,5 +4,5 @@ import lombok.Builder; @Builder -public record UserEntity(long id, String str) { +public record UserEntity(int id, String str) { } diff --git a/user-service/src/main/java/ru/ct/belfort/db/UserRepository.java b/user-service/src/main/java/ru/ct/belfort/db/UserRepository.java index e1cfdd4..863daaa 100644 --- a/user-service/src/main/java/ru/ct/belfort/db/UserRepository.java +++ b/user-service/src/main/java/ru/ct/belfort/db/UserRepository.java @@ -7,9 +7,11 @@ import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; import org.springframework.stereotype.Service; +import ru.ct.belfort.UserDTO; import java.sql.ResultSet; import java.sql.SQLException; +import java.util.List; @Service @Slf4j @@ -18,6 +20,10 @@ public class UserRepository { private static final UserEntityMapper mapper = new UserEntityMapper(); + public List selectAll() { + return jdbcTemplate.query("SELECT * FROM users", mapper); + } + @Autowired public UserRepository(JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplate; diff --git a/user-service/src/main/resources/database.properties b/user-service/src/main/resources/database.properties index 1b5c075..5b1b53c 100644 --- a/user-service/src/main/resources/database.properties +++ b/user-service/src/main/resources/database.properties @@ -1,4 +1,4 @@ spring.datasource.drivername=org.postgresql.Driver -spring.datasource.url=jdbc:postgresql://172.17.0.1:5432/trading_bot +spring.datasource.url=jdbc:postgresql://172.17.0.1:5432/user-service spring.datasource.username=postgres spring.datasource.password=postgres \ No newline at end of file From 5891bdc503969e76ee09747e3c9d9f8ca68daa75 Mon Sep 17 00:00:00 2001 From: Alexey Grunskii Date: Sun, 20 Nov 2022 09:52:47 +0300 Subject: [PATCH 06/13] Successful try to launch project with liquibase --- user-service/src/main/resources/application.properties | 3 --- user-service/src/main/resources/database.properties | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/user-service/src/main/resources/application.properties b/user-service/src/main/resources/application.properties index 05469c0..37f0662 100644 --- a/user-service/src/main/resources/application.properties +++ b/user-service/src/main/resources/application.properties @@ -1,4 +1 @@ -spring.datasource.url=jdbc:h2:~/liquibase;DB_CLOSE_ON_EXIT=FALSE -spring.datasource.username=sa -spring.datasource.password= spring.liquibase.change-log=classpath:db/migration/master.xml \ No newline at end of file diff --git a/user-service/src/main/resources/database.properties b/user-service/src/main/resources/database.properties index 5b1b53c..1b5c075 100644 --- a/user-service/src/main/resources/database.properties +++ b/user-service/src/main/resources/database.properties @@ -1,4 +1,4 @@ spring.datasource.drivername=org.postgresql.Driver -spring.datasource.url=jdbc:postgresql://172.17.0.1:5432/user-service +spring.datasource.url=jdbc:postgresql://172.17.0.1:5432/trading_bot spring.datasource.username=postgres spring.datasource.password=postgres \ No newline at end of file From 0699413f5f14f023422270f43bbb3b2ebb580d0f Mon Sep 17 00:00:00 2001 From: Alexey Grunskii Date: Sun, 20 Nov 2022 10:36:19 +0300 Subject: [PATCH 07/13] Add new tables --- user-service/src/main/resources/db/migration/master.xml | 8 ++++++++ .../resources/db/migration/sql/create_correct_users.sql | 6 ++++++ .../src/main/resources/db/migration/sql/create_figis.sql | 5 +++++ 3 files changed, 19 insertions(+) create mode 100644 user-service/src/main/resources/db/migration/sql/create_correct_users.sql create mode 100644 user-service/src/main/resources/db/migration/sql/create_figis.sql diff --git a/user-service/src/main/resources/db/migration/master.xml b/user-service/src/main/resources/db/migration/master.xml index 4dddfee..f1b055e 100644 --- a/user-service/src/main/resources/db/migration/master.xml +++ b/user-service/src/main/resources/db/migration/master.xml @@ -12,4 +12,12 @@ + + + + + + + + \ No newline at end of file diff --git a/user-service/src/main/resources/db/migration/sql/create_correct_users.sql b/user-service/src/main/resources/db/migration/sql/create_correct_users.sql new file mode 100644 index 0000000..9ae0dda --- /dev/null +++ b/user-service/src/main/resources/db/migration/sql/create_correct_users.sql @@ -0,0 +1,6 @@ +CREATE TABLE users_table +( + id SERIAL PRIMARY KEY, + token varchar(255), + strategy varchar(255) +) \ No newline at end of file diff --git a/user-service/src/main/resources/db/migration/sql/create_figis.sql b/user-service/src/main/resources/db/migration/sql/create_figis.sql new file mode 100644 index 0000000..647dde0 --- /dev/null +++ b/user-service/src/main/resources/db/migration/sql/create_figis.sql @@ -0,0 +1,5 @@ +CREATE TABLE figis +( + id INTEGER, + figi varchar(255) +) \ No newline at end of file From 53eb885dda60eeec7a7577ffc6a0b3133c513312 Mon Sep 17 00:00:00 2001 From: Alexey Grunskii Date: Sun, 20 Nov 2022 18:00:47 +0300 Subject: [PATCH 08/13] Move on field injection with constructor && Add Objects.requireNonNull --- .../main/java/ru/ct/belfort/db/LiquibaseConfig.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/user-service/src/main/java/ru/ct/belfort/db/LiquibaseConfig.java b/user-service/src/main/java/ru/ct/belfort/db/LiquibaseConfig.java index f15eed8..b5e6bb8 100644 --- a/user-service/src/main/java/ru/ct/belfort/db/LiquibaseConfig.java +++ b/user-service/src/main/java/ru/ct/belfort/db/LiquibaseConfig.java @@ -1,7 +1,6 @@ package ru.ct.belfort.db; import liquibase.integration.spring.SpringLiquibase; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.PropertySource; @@ -9,19 +8,22 @@ import org.springframework.jdbc.datasource.DriverManagerDataSource; import javax.sql.DataSource; +import java.util.Objects; @Configuration @PropertySource("classpath:database.properties") public class LiquibaseConfig { + final Environment env; - @Autowired - Environment env; + LiquibaseConfig(Environment env) { + this.env = env; + } @Bean - public DataSource dataSource() { + public DataSource dataSource() { DriverManagerDataSource dataSource = new DriverManagerDataSource(); - dataSource.setDriverClassName(env.getProperty("spring.datasource.drivername")); + dataSource.setDriverClassName(Objects.requireNonNull(env.getProperty("spring.datasource.drivername"))); dataSource.setUrl(env.getProperty("spring.datasource.url")); dataSource.setUsername(env.getProperty("spring.datasource.username")); dataSource.setPassword(env.getProperty("spring.datasource.password")); From 4512f38b5f2931eceef2a71f6d2be38b39ca8d58 Mon Sep 17 00:00:00 2001 From: Alexey Grunskii Date: Sun, 20 Nov 2022 20:16:48 +0300 Subject: [PATCH 09/13] Delete @Autowired before constructor because Spring automaticly add it --- .../main/java/ru/ct/belfort/db/UserRepository.java | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/user-service/src/main/java/ru/ct/belfort/db/UserRepository.java b/user-service/src/main/java/ru/ct/belfort/db/UserRepository.java index 863daaa..d26a6ed 100644 --- a/user-service/src/main/java/ru/ct/belfort/db/UserRepository.java +++ b/user-service/src/main/java/ru/ct/belfort/db/UserRepository.java @@ -1,13 +1,10 @@ package ru.ct.belfort.db; -import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; import org.springframework.stereotype.Service; -import ru.ct.belfort.UserDTO; import java.sql.ResultSet; import java.sql.SQLException; @@ -18,17 +15,16 @@ public class UserRepository { private final JdbcTemplate jdbcTemplate; + public UserRepository(JdbcTemplate jdbcTemplate) { + this.jdbcTemplate = jdbcTemplate; + } + private static final UserEntityMapper mapper = new UserEntityMapper(); public List selectAll() { return jdbcTemplate.query("SELECT * FROM users", mapper); } - @Autowired - public UserRepository(JdbcTemplate jdbcTemplate) { - this.jdbcTemplate = jdbcTemplate; - } - private static class UserEntityMapper implements RowMapper { @Override public UserEntity mapRow(ResultSet rs, int rowNum) throws SQLException { From 6c1bf7eb6f2f9daf332b4a1ea308dfb387eb1dc2 Mon Sep 17 00:00:00 2001 From: Alexey Grunskii Date: Mon, 21 Nov 2022 20:18:10 +0300 Subject: [PATCH 10/13] Update ChangeLog file && Add operations TABLE in .sql --- user-service/src/main/resources/db/migration/master.xml | 7 ++++++- .../main/resources/db/migration/sql/create_operation.sql | 8 ++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 user-service/src/main/resources/db/migration/sql/create_operation.sql diff --git a/user-service/src/main/resources/db/migration/master.xml b/user-service/src/main/resources/db/migration/master.xml index f1b055e..efacbaa 100644 --- a/user-service/src/main/resources/db/migration/master.xml +++ b/user-service/src/main/resources/db/migration/master.xml @@ -12,7 +12,6 @@ - @@ -20,4 +19,10 @@ + + + + + + \ No newline at end of file diff --git a/user-service/src/main/resources/db/migration/sql/create_operation.sql b/user-service/src/main/resources/db/migration/sql/create_operation.sql new file mode 100644 index 0000000..fb46079 --- /dev/null +++ b/user-service/src/main/resources/db/migration/sql/create_operation.sql @@ -0,0 +1,8 @@ +CREATE TABLE operations +( + id INT PRIMARY KEY, + payment DOUBLE PRECISION, + price DOUBLE PRECISION, + figi varchar(255), + operationType varchar(255) +) \ No newline at end of file From cc2160c57cbebf6ca498fb3061447b82b7e371d7 Mon Sep 17 00:00:00 2001 From: Alexey Grunskii Date: Mon, 21 Nov 2022 20:18:36 +0300 Subject: [PATCH 11/13] Add OperationDTO class in common api folder --- api/src/main/java/ru/ct/belfort/OperationDTO.java | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 api/src/main/java/ru/ct/belfort/OperationDTO.java diff --git a/api/src/main/java/ru/ct/belfort/OperationDTO.java b/api/src/main/java/ru/ct/belfort/OperationDTO.java new file mode 100644 index 0000000..c3e71b8 --- /dev/null +++ b/api/src/main/java/ru/ct/belfort/OperationDTO.java @@ -0,0 +1,4 @@ +package ru.ct.belfort; + +public record OperationDTO(String id, MoneyValueDTO payment, MoneyValueDTO price, String figi, Advice operationType) { +} From b5c849a63ebe708bc8e53a93a73b56b5f18dec5a Mon Sep 17 00:00:00 2001 From: Alexey Grunskii Date: Tue, 22 Nov 2022 00:30:29 +0300 Subject: [PATCH 12/13] Add sql joins to changelog liquibase --- .../src/main/resources/db/migration/master.xml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/user-service/src/main/resources/db/migration/master.xml b/user-service/src/main/resources/db/migration/master.xml index efacbaa..32427f3 100644 --- a/user-service/src/main/resources/db/migration/master.xml +++ b/user-service/src/main/resources/db/migration/master.xml @@ -25,4 +25,20 @@ + + + + + + + SELECT * FROM users + INNER JOIN figis + ON users.id = figis.id + + + SELECT * FROM users + INNER JOIN operations + ON users.id = operations.id + + \ No newline at end of file From 42449766d1e84ba5ceb4dd7cc601af7c92249430 Mon Sep 17 00:00:00 2001 From: Alexey Grunskii Date: Mon, 28 Nov 2022 03:56:14 +0300 Subject: [PATCH 13/13] Working db --- docker-compose.yaml | 9 +++++++++ user-service/src/main/resources/database.properties | 2 +- user-service/src/main/resources/db/migration/master.xml | 4 ++-- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index 30f4e84..5c6e150 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -30,3 +30,12 @@ services: POSTGRES_DB: trading_bot POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres + + postgres_user: + image: postgres + ports: + - "5431:5432" + environment: + POSTGRES_DB: user_service + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres diff --git a/user-service/src/main/resources/database.properties b/user-service/src/main/resources/database.properties index 1b5c075..599b0ea 100644 --- a/user-service/src/main/resources/database.properties +++ b/user-service/src/main/resources/database.properties @@ -1,4 +1,4 @@ spring.datasource.drivername=org.postgresql.Driver -spring.datasource.url=jdbc:postgresql://172.17.0.1:5432/trading_bot +spring.datasource.url=jdbc:postgresql://172.17.0.1:5431/user_service spring.datasource.username=postgres spring.datasource.password=postgres \ No newline at end of file diff --git a/user-service/src/main/resources/db/migration/master.xml b/user-service/src/main/resources/db/migration/master.xml index 32427f3..d889590 100644 --- a/user-service/src/main/resources/db/migration/master.xml +++ b/user-service/src/main/resources/db/migration/master.xml @@ -20,13 +20,13 @@ - + - +