Skip to content

Check transactions in file with transactions from db and make report

Notifications You must be signed in to change notification settings

inallyoung/spring-boot-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Отредактировать application.properties - задать путь к файлу, задать порт.
mvn clean package
java -jar target/TestSpring-1.0-SNAPSHOT.jar

Запустится приложение на указанном порту, которое каждую минуту выполняет сверку.
Так же можно выполнить сверку вручную, вызывав ссылку http://localhost:8099/execute

Дабы не захламлять комментариями код, напишу вкратце здесь.
Базовый интерфейс Service с методами init и stop, 
от него наследуются интерфейсы для работы 
с БД (DataBaseStorage), 
с хранилищем транзакций (TransactionsStorage), 
с отчетами по транзакциям (TransactionsReport)

Каждый из этих сервисов, помимо реализации методов инициализации и завершения,
реализует свои методы.

DataBaseStorage.getTransactionStatus позволяет искать в БД транзакию и возвращает ее статус.
TransactionsStorage.next итерируется по хранилищу транзаккций, пока не дойдем до последней транзакции.
TransactionsReport.sendTransaction отправляет транзакию в отчет.

Еще есть сущности Transaction и TransactionStatus (смысл понятен из названия), 
в последнем также определен статический метод compareAndGetStatus, 
который сравнивает транзакию из базы и хранилища и возвращает ее статус. 

Все действо происходит в классе TrasactionService, логика там совсем простая.
Итерируемся по хранилищу транзакций, ищем транзакцию в базе по id, возвращаем статус и отправляем в отчет.

Есть еще утилитный класс SeviceRegister, в котором мы регистрируем три сервиса, 
чтобы удобно было их инициализировать вызовом init, а после завершать вызовом stop.

Реализация сервисов находится impl. Зависимости внедряются spring-ом. 
Соответственно, можно написать другие реализации, просто добавив классы в impl и не переписывая остальные классы.

About

Check transactions in file with transactions from db and make report

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published