last transfer

This commit is contained in:
Vladimir Voronin
2025-01-07 13:00:16 +03:00
parent afd8e9f6d7
commit 2506e6081f
7 changed files with 35 additions and 7 deletions

View File

@@ -6,6 +6,7 @@ import org.springframework.web.bind.annotation.RestController
import reactor.core.publisher.Mono
import space.luminic.budgerapp.models.Budget
import space.luminic.budgerapp.models.Category
import space.luminic.budgerapp.models.Recurrent
import space.luminic.budgerapp.models.Transaction
import space.luminic.budgerapp.services.TransferService
@@ -23,6 +24,11 @@ class TransferController(private val transferService: TransferService) {
return transferService.getCategories()
}
@GetMapping("/recurrents")
fun recurrentTransactions(): Mono<List<Recurrent>> {
return transferService.recurrents()
}
@GetMapping("/budgets")
fun budgets(): Mono<List<Budget>> {
return transferService.transferBudgets()

View File

@@ -0,0 +1,6 @@
package space.luminic.budgerapp.repos
import org.springframework.data.mongodb.repository.MongoRepository
import space.luminic.budgerapp.models.Recurrent
interface RecurrentRepoOld : MongoRepository<Recurrent, String>

View File

@@ -7,13 +7,14 @@ import org.springframework.stereotype.Repository
import space.luminic.budgerapp.models.Recurrent
import space.luminic.budgerapp.models.Transaction
import space.luminic.budgerapp.models.TransactionType
import space.luminic.budgerapp.services.CategoryService
import space.luminic.budgerapp.repos.CategoryRepoOld
@Repository
class RecurrentRepoSQL(
private val jdbcTemplate: JdbcTemplate,
private val categoryService: CategoryService
private val categoryRepoOld: CategoryRepoOld
) {
private val logger = LoggerFactory.getLogger(RecurrentRepoSQL::class.java)
@@ -26,7 +27,7 @@ class RecurrentRepoSQL(
val recurrent = Recurrent(
atDay = rs.getInt("at_day"),
category = categoryService.getCategoryByName(rs.getString("c_name")).block()!!,
category = categoryRepoOld.findByName(rs.getString("c_name"))!!,
name = rs.getString("name"),
description = rs.getString("description"),
amount = rs.getInt("amount")

View File

@@ -5,21 +5,26 @@ import reactor.core.publisher.Flux
import reactor.core.publisher.Mono
import space.luminic.budgerapp.models.Budget
import space.luminic.budgerapp.models.Category
import space.luminic.budgerapp.models.Recurrent
import space.luminic.budgerapp.models.Transaction
import space.luminic.budgerapp.repos.BudgetRepo
import space.luminic.budgerapp.repos.CategoryRepo
import space.luminic.budgerapp.repos.RecurrentRepo
import space.luminic.budgerapp.repos.TransactionRepo
import space.luminic.budgerapp.repos.sqlrepo.BudgetRepoSQL
import space.luminic.budgerapp.repos.sqlrepo.CategoriesRepoSQL
import space.luminic.budgerapp.repos.sqlrepo.RecurrentRepoSQL
import space.luminic.budgerapp.repos.sqlrepo.TransactionsRepoSQl
@Service
class TransferService(
private val transactionsRepoSQl: TransactionsRepoSQl,
private val categoriesRepoSQL: CategoriesRepoSQL,
private val recurrentRepoSQL: RecurrentRepoSQL,
private val budgetRepoSQL: BudgetRepoSQL,
private val categoryRepo: CategoryRepo,
private val transactionRepo: TransactionRepo,
private val recurrentRepo: RecurrentRepo,
private val budgetService: BudgetService
) {
@@ -37,6 +42,13 @@ class TransferService(
.collectList() // Преобразуем Flux<Category> в Mono<List<Category>>
}
fun recurrents(): Mono<List<Recurrent>> {
val recurrents = recurrentRepoSQL.getRecurrents()
return Flux.fromIterable(recurrents).flatMap { recurrent ->
recurrentRepo.save(recurrent)
}.collectList()
}
fun transferBudgets(): Mono<List<Budget>> {
val budgets = budgetRepoSQL.getBudgets()

View File

@@ -1,8 +1,11 @@
spring.application.name=budger-app
spring.data.mongodb.host=127.0.0.1
spring.data.mongodb.host=213.226.71.138
spring.data.mongodb.port=27017
spring.data.mongodb.database=budger-app
spring.data.mongodb.username=budger-app
spring.data.mongodb.password=BA1q2w3e4r!
spring.data.mongodb.authentication-database=admin
management.endpoints.web.exposure.include=*

View File

@@ -1,7 +1,7 @@
spring.application.name=budger-app
spring.data.mongodb.host=213.226.71.138
spring.data.mongodb.host=127.0.0.1
spring.data.mongodb.port=27017
spring.data.mongodb.database=budger-app
spring.data.mongodb.username=budger-app
@@ -19,7 +19,7 @@ logging.level.org.springframework.data = INFO
logging.level.org.springframework.data.mongodb.core.ReactiveMongoTemplate=INFO
logging.level.org.springframework.security = INFO
logging.level.org.springframework.data.mongodb.code = INFO
logging.level.org.springframework.web.reactive=INFO
logging.level.org.springframework.web.reactive=INFO<EFBFBD>

View File

@@ -4,7 +4,7 @@ server.port=8082
#server.servlet.context-path=/api
spring.webflux.base-path=/api
spring.profiles.active=prod
spring.profiles.active=dev
spring.main.web-application-type=reactive