diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..7f597d6 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml new file mode 100644 index 0000000..fe7be77 --- /dev/null +++ b/.idea/dataSources.xml @@ -0,0 +1,17 @@ + + + + + postgresql + true + org.postgresql.Driver + jdbc:postgresql://10.200.200.133:5432/credit_tracker + + + + + + $ProjectFileDir$ + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..63e9001 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..dca7785 --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..67e1e61 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..d843f34 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/HELP.md b/HELP.md new file mode 100644 index 0000000..782152b --- /dev/null +++ b/HELP.md @@ -0,0 +1,26 @@ +# Getting Started + +### Reference Documentation +For further reference, please consider the following sections: + +* [Official Apache Maven documentation](https://maven.apache.org/guides/index.html) +* [Spring Boot Maven Plugin Reference Guide](https://docs.spring.io/spring-boot/3.4.6/maven-plugin) +* [Create an OCI image](https://docs.spring.io/spring-boot/3.4.6/maven-plugin/build-image.html) +* [Spring Web](https://docs.spring.io/spring-boot/3.4.6/reference/web/servlet.html) +* [MyBatis Framework](https://mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/) + +### Guides +The following guides illustrate how to use some features concretely: + +* [Building a RESTful Web Service](https://spring.io/guides/gs/rest-service/) +* [Serving Web Content with Spring MVC](https://spring.io/guides/gs/serving-web-content/) +* [Building REST services with Spring](https://spring.io/guides/tutorials/rest/) +* [MyBatis Quick Start](https://github.com/mybatis/spring-boot-starter/wiki/Quick-Start) + +### Maven Parent overrides + +Due to Maven's design, elements are inherited from the parent POM to the project POM. +While most of the inheritance is fine, it also inherits unwanted elements like `` and `` from the parent. +To prevent this, the project POM contains empty overrides for these elements. +If you manually switch to a different parent and actually want the inheritance, you need to remove those overrides. + diff --git a/target/classes/application.properties b/target/classes/application.properties new file mode 100644 index 0000000..2e2b862 --- /dev/null +++ b/target/classes/application.properties @@ -0,0 +1,15 @@ +spring.application.name=credit_tracker + + +# datasources +# indic +ct.indic-data-source-settings.driver=com.ibm.db2.jcc.DB2Driver +ct.indic-data-source-settings.url=jdbc:db2://10.230.227.100:2668/cprosd22:currentSchema=INDIC; +ct.indic-data-source-settings.username=ros9appl +ct.indic-data-source-settings.password=R0s9Appl + +# signal +ct.signal-data-source-settings.driver=org.postgresql.Driver +ct.signal-data-source-settings.url=jdbc:postgresql://10.200.200.133:5432/credit_tracker +ct.signal-data-source-settings.username=credit_tracker_user +ct.signal-data-source-settings.password= diff --git a/target/classes/credit_tracker_db.ddl b/target/classes/credit_tracker_db.ddl new file mode 100644 index 0000000..3fc3c32 --- /dev/null +++ b/target/classes/credit_tracker_db.ddl @@ -0,0 +1,42 @@ +-- Create signals_user_packages +-- Хранит основную информацию о каждом пакете мониторинга, установленном клиентом +CREATE TABLE signals_user_packages ( + id SERIAL PRIMARY KEY, -- внутренний идентификатор в таблице + membercode VARCHAR(255), -- логин клиента + package_name VARCHAR(255), -- имя пакета + created_at TIMESTAMP, -- дата и время первичной регистрации пакета + status VARCHAR(255), -- статус пакета: ON_MONITORING, REJECTED, PROCESSING, DELETED, ERROR + deactivated_at TIMESTAMP, -- дата и время удаления пакета + last_downloaded_report VARCHAR(255) -- имя последнего успешно загруженного отчёта из оф. сервиса по пакету +); + +-- Create signals_phone_fid_map +CREATE TABLE signals_phone_fid_map ( + id SERIAL PRIMARY KEY, -- внутренний идентификатор в таблице + package_id INTEGER NOT NULL, -- идентификатор пакета + subject_id VARCHAR(255), -- идентификатор субъекта из XML + phone VARCHAR(255), -- номер телефона + fid VARCHAR(255), -- найденный FID или NULL + flag_debt5000 SMALLINT, -- 1, если есть активная просрочка > 5000 руб., иначе 0 + flag_90_12 SMALLINT, -- 1, если по субъекту когда-либо была просрочка 90+ дней за последний год, иначе – 0 + calculated_at TIMESTAMP, -- дата последнего расчёта флагов + CONSTRAINT fk_signals_user_packages + FOREIGN KEY (package_id) + REFERENCES signals_user_packages(id) +); + +-- Create signals_hits +CREATE TABLE signals_hits ( + id SERIAL PRIMARY KEY, -- внутренний идентификатор в таблице + package_id INTEGER NOT NULL, -- идентификатор пакета + subject_id VARCHAR(255), -- идентификатор субъекта, по которому сработал сигнал + signal_type INTEGER, -- тип сигнала + response_sent_at TIMESTAMP, -- дата и время формирования отчета с данным сигналом + report_file_name VARCHAR(255), -- имя XML-файла отчёта, в который вошел данный сигнал + CONSTRAINT fk_signals_user_packages + FOREIGN KEY (package_id) + REFERENCES signals_user_packages(id) +); + +-- Create index on response_sent_at +CREATE INDEX idx_signals_hits_response_sent_at ON signals_hits(response_sent_at); \ No newline at end of file diff --git a/target/classes/ru/nbch/credit_tracker/CreditTrackerApplication.class b/target/classes/ru/nbch/credit_tracker/CreditTrackerApplication.class new file mode 100644 index 0000000..6607eff Binary files /dev/null and b/target/classes/ru/nbch/credit_tracker/CreditTrackerApplication.class differ diff --git a/target/classes/ru/nbch/credit_tracker/config/datasource/IndicDataSourceConfig.class b/target/classes/ru/nbch/credit_tracker/config/datasource/IndicDataSourceConfig.class new file mode 100644 index 0000000..b9099c5 Binary files /dev/null and b/target/classes/ru/nbch/credit_tracker/config/datasource/IndicDataSourceConfig.class differ diff --git a/target/classes/ru/nbch/credit_tracker/config/datasource/SignalDataSourceConfig.class b/target/classes/ru/nbch/credit_tracker/config/datasource/SignalDataSourceConfig.class new file mode 100644 index 0000000..d632c28 Binary files /dev/null and b/target/classes/ru/nbch/credit_tracker/config/datasource/SignalDataSourceConfig.class differ diff --git a/target/classes/ru/nbch/credit_tracker/config/settings/CreditTrackerSettings.class b/target/classes/ru/nbch/credit_tracker/config/settings/CreditTrackerSettings.class new file mode 100644 index 0000000..29f4a66 Binary files /dev/null and b/target/classes/ru/nbch/credit_tracker/config/settings/CreditTrackerSettings.class differ diff --git a/target/classes/ru/nbch/credit_tracker/config/settings/DataSourceSettings.class b/target/classes/ru/nbch/credit_tracker/config/settings/DataSourceSettings.class new file mode 100644 index 0000000..cb979ab Binary files /dev/null and b/target/classes/ru/nbch/credit_tracker/config/settings/DataSourceSettings.class differ