From aa174fa6c215f7eacc56b3810f618302b9e2c217 Mon Sep 17 00:00:00 2001 From: akulikov Date: Mon, 5 Sep 2022 11:42:46 +0300 Subject: [PATCH 1/3] reports-service, classes for reports --- .../docs/report.BR для разработчиков.docx | Bin 0 -> 140259 bytes .../reports/bt_17_3/ReportBR_0420318.java | 2 +- .../reports/bt_17_5/ReportBR_0420312_P10.java | 2 +- .../reports/bt_17_5/ReportBR_0420312_P11.java | 35 ++++++++ .../reports/bt_17_5/ReportBR_0420312_P3.java | 2 +- .../reports/bt_17_5/ReportBR_0420312_P4.java | 2 +- .../reports/bt_17_5/ReportBR_0420312_P5.java | 2 +- .../reports/bt_17_5/ReportBR_0420312_P6.java | 2 +- .../reports/bt_17_5/ReportBR_0420312_P8.java | 2 +- .../reports/bt_17_5/ReportBR_0420312_P9.java | 84 ++++++++++++++++++ 10 files changed, 126 insertions(+), 7 deletions(-) create mode 100644 clearing-parent/reports-service/docs/report.BR для разработчиков.docx create mode 100644 clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_5/ReportBR_0420312_P11.java create mode 100644 clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_5/ReportBR_0420312_P9.java diff --git a/clearing-parent/reports-service/docs/report.BR для разработчиков.docx b/clearing-parent/reports-service/docs/report.BR для разработчиков.docx new file mode 100644 index 0000000000000000000000000000000000000000..d6d6bd7fc32f229a21414eefa886a1c31b4d6045 GIT binary patch literal 140259 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≀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

+c4h?$Lgt^x1Jo(>QL&J)kbZiD??Z;e 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 H0`&g@jQvpF literal 0 HcmV?d00001 diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_3/ReportBR_0420318.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_3/ReportBR_0420318.java index df5aedc3c..fc66f6abb 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_3/ReportBR_0420318.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_3/ReportBR_0420318.java @@ -34,7 +34,7 @@ public class ReportBR_0420318 extends AbstractReport { private String liabilitiesClaimsAssetsFullName; @XStreamAsAttribute - @XStreamAlias("CompanySymbols_code") + @XStreamAlias("companySymbols_code") private String companySymbolsCode; @XStreamAsAttribute diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_5/ReportBR_0420312_P10.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_5/ReportBR_0420312_P10.java index 021fb5ec2..ab24a7a0c 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_5/ReportBR_0420312_P10.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_5/ReportBR_0420312_P10.java @@ -9,7 +9,7 @@ import java.time.LocalDate; @XStreamAlias("report") public class ReportBR_0420312_P10 extends AbstractReport { - @XStreamAlias("partThree") + @XStreamAlias("partTen") private final Info_0420312_P10 partTen; public ReportBR_0420312_P10(LocalDate startDate, diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_5/ReportBR_0420312_P11.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_5/ReportBR_0420312_P11.java new file mode 100644 index 000000000..3f08e4f46 --- /dev/null +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_5/ReportBR_0420312_P11.java @@ -0,0 +1,35 @@ +package ru.spcex.clearing.reports_service.reports.bt_17_5; + +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamAsAttribute; +import ru.spcex.clearing.reports_service.reports.AbstractReport; + +import java.time.LocalDate; + +@XStreamAlias("report") +public class ReportBR_0420312_P11 extends AbstractReport { + + @XStreamAlias("partEleven") + private final Info_0420312_P11 partEleven; + + public ReportBR_0420312_P11(LocalDate startDate, + LocalDate endDate, + String liabilitiesAmount) { + super("0.0.5", + "0420312", + "Сведения о клиринговом обеспечении", + startDate, + endDate); + partEleven = new Info_0420312_P11(liabilitiesAmount); + } + + public static class Info_0420312_P11 { + @XStreamAsAttribute + @XStreamAlias("liabilities_amount") + private String liabilitiesAmount; + + public Info_0420312_P11(String liabilitiesAmount) { + this.liabilitiesAmount = liabilitiesAmount; + } + } +} diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_5/ReportBR_0420312_P3.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_5/ReportBR_0420312_P3.java index 521f6d0bd..c77e200c2 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_5/ReportBR_0420312_P3.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_5/ReportBR_0420312_P3.java @@ -30,7 +30,7 @@ public class ReportBR_0420312_P3 extends AbstractReport { private String liabilitiesClaimsAssetsCompanyId; @XStreamAsAttribute - @XStreamAlias("liabilitiesClaimsAssets_fullName") + @XStreamAlias("liabilitiesClaimsAssets_liabilities") private String liabilitiesClaimsAssetsLiabilities; diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_5/ReportBR_0420312_P4.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_5/ReportBR_0420312_P4.java index f9e7b695c..28df729dc 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_5/ReportBR_0420312_P4.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_5/ReportBR_0420312_P4.java @@ -9,7 +9,7 @@ import java.time.LocalDate; @XStreamAlias("report") public class ReportBR_0420312_P4 extends AbstractReport { - @XStreamAlias("partThree") + @XStreamAlias("partFour") private final Info_0420312_P4 partFour; public ReportBR_0420312_P4(LocalDate startDate, diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_5/ReportBR_0420312_P5.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_5/ReportBR_0420312_P5.java index 154536139..5702d7a28 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_5/ReportBR_0420312_P5.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_5/ReportBR_0420312_P5.java @@ -9,7 +9,7 @@ import java.time.LocalDate; @XStreamAlias("report") public class ReportBR_0420312_P5 extends AbstractReport { - @XStreamAlias("partThree") + @XStreamAlias("partFive") private final Info_0420312_P5 partFive; public ReportBR_0420312_P5(LocalDate startDate, diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_5/ReportBR_0420312_P6.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_5/ReportBR_0420312_P6.java index 41d1200dc..12abe818d 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_5/ReportBR_0420312_P6.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_5/ReportBR_0420312_P6.java @@ -9,7 +9,7 @@ import java.time.LocalDate; @XStreamAlias("report") public class ReportBR_0420312_P6 extends AbstractReport { - @XStreamAlias("partThree") + @XStreamAlias("partSix") private final Info_0420312_P6 partSix; public ReportBR_0420312_P6(LocalDate startDate, diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_5/ReportBR_0420312_P8.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_5/ReportBR_0420312_P8.java index 3e26fcea5..6a92fb8bc 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_5/ReportBR_0420312_P8.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_5/ReportBR_0420312_P8.java @@ -9,7 +9,7 @@ import java.time.LocalDate; @XStreamAlias("report") public class ReportBR_0420312_P8 extends AbstractReport { - @XStreamAlias("partThree") + @XStreamAlias("partEight") private final Info_0420312_P8 partEight; public ReportBR_0420312_P8(LocalDate startDate, diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_5/ReportBR_0420312_P9.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_5/ReportBR_0420312_P9.java new file mode 100644 index 000000000..c118a1cf0 --- /dev/null +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports_service/reports/bt_17_5/ReportBR_0420312_P9.java @@ -0,0 +1,84 @@ +package ru.spcex.clearing.reports_service.reports.bt_17_5; + +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamAsAttribute; +import ru.spcex.clearing.reports_service.reports.AbstractReport; + +import java.time.LocalDate; + +@XStreamAlias("report") +public class ReportBR_0420312_P9 extends AbstractReport { + + @XStreamAlias("partNine") + private final Info_0420312_P9 partNine; + + public ReportBR_0420312_P9(LocalDate startDate, + LocalDate endDate, + String currencyId, + String liabilitiesClaimsAssetsCompanyId, + String liabilitiesClaimsAssetsFullName, + String companySymbolCode, + String companySymbolValue, + String companyInfoCountryCode, + String clearingMemberCategoryClearingMemberCategory) { + super("0.0.5", + "0420312", + "Сведения о клиринговом обеспечении", + startDate, + endDate); + partNine = new Info_0420312_P9(currencyId, + liabilitiesClaimsAssetsCompanyId, + liabilitiesClaimsAssetsFullName, + companySymbolCode, + companySymbolValue, + companyInfoCountryCode, + clearingMemberCategoryClearingMemberCategory); + } + + public static class Info_0420312_P9 { + @XStreamAsAttribute + @XStreamAlias("currency_id") + private String currencyId; + + @XStreamAsAttribute + @XStreamAlias("liabilitiesClaimsAssets_companyId") + private String liabilitiesClaimsAssetsCompanyId; + + @XStreamAsAttribute + @XStreamAlias("liabilitiesClaimsAssets_fullName") + private String liabilitiesClaimsAssetsFullName; + + @XStreamAsAttribute + @XStreamAlias("companySymbol_code") + private String companySymbolCode; + + @XStreamAsAttribute + @XStreamAlias("companySymbol_value") + private String companySymbolValue; + + @XStreamAsAttribute + @XStreamAlias("companyInfo_countryCode") + private String companyInfoCountryCode; + + @XStreamAsAttribute + @XStreamAlias("clearingMemberCategory_clearingMemberCategory") + private String clearingMemberCategoryClearingMemberCategory; + + + public Info_0420312_P9(String currencyId, + String liabilitiesClaimsAssetsCompanyId, + String liabilitiesClaimsAssetsFullName, + String companySymbolCode, + String companySymbolValue, + String companyInfoCountryCode, + String clearingMemberCategoryClearingMemberCategory) { + this.currencyId = currencyId; + this.liabilitiesClaimsAssetsCompanyId = liabilitiesClaimsAssetsCompanyId; + this.liabilitiesClaimsAssetsFullName = liabilitiesClaimsAssetsFullName; + this.companySymbolCode = companySymbolCode; + this.companySymbolValue = companySymbolValue; + this.companyInfoCountryCode = companyInfoCountryCode; + this.clearingMemberCategoryClearingMemberCategory = clearingMemberCategoryClearingMemberCategory; + } + } +} From 36540fe5030a9ccbf2f231f6e818cb1f72891f5f Mon Sep 17 00:00:00 2001 From: aalehin Date: Mon, 5 Sep 2022 14:25:40 +0300 Subject: [PATCH 2/3] =?UTF-8?q?http://jira.mfd.msk:8088/browse/CLS-21=20ht?= =?UTF-8?q?tp://jira.mfd.msk:8088/browse/CLS-24=20---=20company=5Fservices?= =?UTF-8?q?:=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=B8=20=D1=83=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=BA=D0=B0=D1=82=D0=B5=D0=B3=D0=BE=D1=80=D0=B8=D0=B8=20=D0=BA?= =?UTF-8?q?=D0=BE=D0=BC=D0=BF=D0=B0=D0=BD=D0=B8=D0=B8=20clearingMemberCate?= =?UTF-8?q?gory=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B8=D0=BC=D0=B5=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BB=20=D0=BF=D0=B5=D1=80=D1=84=D0=B8=D0=BA=D1=81?= =?UTF-8?q?=D1=8B=20=D0=B2=20application.properties=20=D0=BF=D0=B5=D1=80?= =?UTF-8?q?=D0=B5=D0=B8=D0=BC=D0=B5=D0=BD=D0=BE=D0=B2=D0=B0=D0=BB=20Utilit?= =?UTF-8?q?yServiceImdgConfig?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...fig.java => CompanyServiceImdgConfig.java} | 2 +- .../ClearingMemberCategoryService.java | 57 +++++++++++++++++++ .../company/service/ContactService.java | 2 +- .../src/main/resources/application.properties | 22 ++++--- 4 files changed, 69 insertions(+), 14 deletions(-) rename clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/{UtilityServiceImdgConfig.java => CompanyServiceImdgConfig.java} (97%) create mode 100644 clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/ClearingMemberCategoryService.java diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/UtilityServiceImdgConfig.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/CompanyServiceImdgConfig.java similarity index 97% rename from clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/UtilityServiceImdgConfig.java rename to clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/CompanyServiceImdgConfig.java index bbe41d92f..f2ecca156 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/UtilityServiceImdgConfig.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/CompanyServiceImdgConfig.java @@ -10,7 +10,7 @@ import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService; @Configuration -public class UtilityServiceImdgConfig { +public class CompanyServiceImdgConfig { private static ThreadPoolTaskExecutor createThreadPoolTaskExecutor(int maxPoolSz, boolean waitForCompletion) { ThreadPoolTaskExecutor pool = new ThreadPoolTaskExecutor(); if (maxPoolSz > 2) { diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/ClearingMemberCategoryService.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/ClearingMemberCategoryService.java new file mode 100644 index 000000000..235c1ddec --- /dev/null +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/ClearingMemberCategoryService.java @@ -0,0 +1,57 @@ +package ru.spcex.clearing.company.service; + +import org.apache.kafka.clients.consumer.Consumer; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.beans.factory.annotation.Autowired; +import ru.clearing.classes.StaticData.generated.ClearingMemberCategory; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.platform.messaging.domain.BaseRequest; +import ru.spcex.clearing.platform.messaging.domain.Consts; +import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest; +import ru.spcex.clearing.platform.messaging.domain.cud.company.ClearingMemberCategoryUpdateRequest; +import ru.spcex.clearing.platform.messaging.service.QueueConsumer; +import ru.spcex.platform.imdg.api.Imdg; +import ru.spcex.platform.imdg.api.ImdgProvider; + +public class ClearingMemberCategoryService extends QueueConsumer implements InitializingBean { + private final Logger log = LoggerFactory.getLogger(getClass()); + private final Imdg clearingMemberCategoryMap; + + @Autowired + public ClearingMemberCategoryService(Consumer kafkaQueue, ImdgProvider imdgProvider) { + super(kafkaQueue); + this.clearingMemberCategoryMap = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearingMemberCategory, ClearingMemberCategory.class); + } + + @Override + public void afterPropertiesSet() { + callback(ClearingMemberCategoryUpdateRequest.class) + .setConsumer(this::clearingMemberCategoryUpdate) + .forDestination(Consts.DESTINATION_CLEARING_MEMBER_CATEGORY_UPDATE, callbacks::put); + callback(CommonDeleteRequest.class) + .setConsumer(this::clearingMemberCategoryDelete) + .forDestination(Consts.DESTINATION_CLEARING_MEMBER_CATEGORY_DELETE, callbacks::put); + init(); + } + + + public void clearingMemberCategoryUpdate(BaseRequest userRequest) { + ClearingMemberCategoryUpdateRequest req = userRequest.getRequestPayload(); + log.debug("ClearingMemberCategoryUpdateRequest received"); + ClearingMemberCategory clearingMemberCategory = clearingMemberCategoryMap.getSingleObjectByID(req.getId()); + + clearingMemberCategory.setClearingMemberCategory(req.getClearingMemberCategory()); + + clearingMemberCategoryMap.update(clearingMemberCategory); + log.debug("successfully processed, id {}", clearingMemberCategory.getId()); + } + + private void clearingMemberCategoryDelete(BaseRequest userRequest) { + CommonDeleteRequest req = userRequest.getRequestPayload(); + log.debug("CommonDeleteRequest received id = {}", req.getId()); + ClearingMemberCategory clearingMemberCategory = clearingMemberCategoryMap.getSingleObjectByID(req.getId()); + clearingMemberCategoryMap.delete(clearingMemberCategory); + } +} diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/ContactService.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/ContactService.java index f28ef832f..d96342ec1 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/ContactService.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/ContactService.java @@ -34,7 +34,7 @@ public class ContactService extends QueueConsumer implements InitializingBean { public void contactUpdate(BaseRequest userRequest) { ContactUpdateRequest req = userRequest.getRequestPayload(); - log.debug("CompanySymbolUpdateRequest received"); + log.debug("ContactUpdateRequest received"); Contact contact = contactMap.getSingleObjectByID(req.getId()); contact.setContactType(req.getContactType()); contact.setContactValue(req.getContactValue()); diff --git a/clearing-parent/company-service/src/main/resources/application.properties b/clearing-parent/company-service/src/main/resources/application.properties index f3f6bd027..2d6a2cfe0 100644 --- a/clearing-parent/company-service/src/main/resources/application.properties +++ b/clearing-parent/company-service/src/main/resources/application.properties @@ -1,13 +1,11 @@ spring.main.web-application-type=none - -utility-service.hazelcast.cluster-members=127.0.0.1 -utility-service.hazelcast.login=dev -utility-service.hazelcast.password=dev-pass - -utility-service.kafka.bootstrap-servers=localhost:9092 -utility-service.kafka.group-id=dev-group -utility-service.kafka.enable-auto-commit=false -utility-service.kafka.session-timeout-ms=30000 -utility-service.kafka.auto-offset-reset=latest -utility-service.kafka.linger-ms=1 -utility-service.kafka.buffer-memory=33554432 \ No newline at end of file +company-service.hazelcast.cluster-members=127.0.0.1 +company-service.hazelcast.login=dev +company-service.hazelcast.password=dev-pass +company-service.kafka.bootstrap-servers=localhost:9092 +company-service.kafka.group-id=dev-group +company-service.kafka.enable-auto-commit=false +company-service.kafka.session-timeout-ms=30000 +company-service.kafka.auto-offset-reset=latest +company-service.kafka.linger-ms=1 +company-service.kafka.buffer-memory=33554432 \ No newline at end of file From 9a77ad254e7ee64dc6590fae0cc8b25b73bd8678 Mon Sep 17 00:00:00 2001 From: aalehin Date: Mon, 5 Sep 2022 15:05:07 +0300 Subject: [PATCH 3/3] =?UTF-8?q?http://jira.mfd.msk:8088/browse/CLS-32=20--?= =?UTF-8?q?-=20account=5Fservices:=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5,=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5,=20=D1=83=D0=B4=D0=B0=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=B1=D0=B0=D0=BD=D0=BA=D0=BE=D0=B2=D1=81?= =?UTF-8?q?=D0=BA=D0=B8=D1=85=20=D1=80=D0=B5=D0=BA=D0=B2=D0=B8=D0=B7=D0=B8?= =?UTF-8?q?=D1=82=D0=BE=D0=B2=20bankAccount?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- clearing-parent/account-service/pom.xml | 69 ++++++++++++ .../account/AccountServiceApplication.java | 12 ++ .../config/AccountServiceImdgConfig.java | 47 ++++++++ .../clearing/account/config/KafkaConfig.java | 18 +++ .../settings/AccountServiceSettings.java | 31 +++++ .../account/service/BankAccountService.java | 84 ++++++++++++++ .../src/main/resources/application.properties | 11 ++ .../src/main/resources/logback.xml | 38 +++++++ clearing-parent/pom.xml | 3 +- .../platform/messaging/domain/Consts.java | 5 +- .../cud/account/BankAccountNewRequest.java | 96 ++++++++++++++++ .../cud/account/BankAccountUpdateRequest.java | 106 ++++++++++++++++++ 12 files changed, 518 insertions(+), 2 deletions(-) create mode 100644 clearing-parent/account-service/pom.xml create mode 100644 clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/AccountServiceApplication.java create mode 100644 clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/AccountServiceImdgConfig.java create mode 100644 clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/KafkaConfig.java create mode 100644 clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/settings/AccountServiceSettings.java create mode 100644 clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/BankAccountService.java create mode 100644 clearing-parent/account-service/src/main/resources/application.properties create mode 100644 clearing-parent/account-service/src/main/resources/logback.xml create mode 100644 platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/account/BankAccountNewRequest.java create mode 100644 platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/account/BankAccountUpdateRequest.java diff --git a/clearing-parent/account-service/pom.xml b/clearing-parent/account-service/pom.xml new file mode 100644 index 000000000..7585732cf --- /dev/null +++ b/clearing-parent/account-service/pom.xml @@ -0,0 +1,69 @@ + + + + clearing-parent + ru.spcex.clearing + SPCEX-1.0.0.0 + + 4.0.0 + + account-service + + + 17 + 17 + + + + ru.spcex.platform + platform-messaging + + + ru.spcex.platform + platform-imdg-api-hazelcast-impl + + + ru.spcex.clearing + classes + + + org.springframework.boot + spring-boot-starter + + + com.fasterxml.jackson.core + jackson-databind + + + + + + + src/main/resources + + application.properties + + false + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + repackage + + + + + ${project.artifactId} + + + + + + \ No newline at end of file diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/AccountServiceApplication.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/AccountServiceApplication.java new file mode 100644 index 000000000..1b8ba13c8 --- /dev/null +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/AccountServiceApplication.java @@ -0,0 +1,12 @@ +package ru.spcex.clearing.account; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class AccountServiceApplication { + public static void main(String[] args) { + SpringApplication springApplication = new SpringApplication(AccountServiceApplication.class); + springApplication.run(args); + } +} diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/AccountServiceImdgConfig.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/AccountServiceImdgConfig.java new file mode 100644 index 000000000..a129869d5 --- /dev/null +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/AccountServiceImdgConfig.java @@ -0,0 +1,47 @@ +package ru.spcex.clearing.account.config; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; +import ru.spcex.clearing.account.config.settings.AccountServiceSettings; +import ru.spcex.platform.imdg.api.ImdgProvider; +import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService; + +@Configuration +public class AccountServiceImdgConfig { + private static ThreadPoolTaskExecutor createThreadPoolTaskExecutor(int maxPoolSz, boolean waitForCompletion) { + ThreadPoolTaskExecutor pool = new ThreadPoolTaskExecutor(); + if (maxPoolSz > 2) { + pool.setKeepAliveSeconds(60); + pool.setAllowCoreThreadTimeOut(true); + } + pool.setCorePoolSize(maxPoolSz); + pool.setWaitForTasksToCompleteOnShutdown(waitForCompletion); + return pool; + } + + @Bean(name = "taskExecutorHazelcastClientInitializer") + public ThreadPoolTaskExecutor taskExecutorHazelcastClientInitializer() { + return createThreadPoolTaskExecutor(1, true); + } + + @Bean(name = "taskExecutorIdGeneratorAwaiter") + public ThreadPoolTaskExecutor taskExecutorIdGeneratorAwaiter() { + return createThreadPoolTaskExecutor(1, false); + } + + @Autowired + @Bean + public ImdgProvider imdgProvider( + @Qualifier("taskExecutorHazelcastClientInitializer") ThreadPoolTaskExecutor taskExecutorHazelcastClientInitializer, + @Qualifier("taskExecutorIdGeneratorAwaiter") ThreadPoolTaskExecutor taskExecutorIdGeneratorAwaiter, + AccountServiceSettings settings + ) { + return new HazelcastService(taskExecutorHazelcastClientInitializer, + taskExecutorIdGeneratorAwaiter, + settings.getHazelcast()); + } + +} diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/KafkaConfig.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/KafkaConfig.java new file mode 100644 index 000000000..34973fffa --- /dev/null +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/KafkaConfig.java @@ -0,0 +1,18 @@ +package ru.spcex.clearing.account.config; + +import org.apache.kafka.clients.consumer.Consumer; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import ru.spcex.clearing.account.config.settings.AccountServiceSettings; +import ru.spcex.clearing.platform.messaging.config.KafkaConsumerFactory; + + +@Configuration +public class KafkaConfig { + @Autowired + @Bean + public Consumer createProducer(AccountServiceSettings settings) { + return KafkaConsumerFactory.consumer(settings.getKafka()); + } +} diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/settings/AccountServiceSettings.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/settings/AccountServiceSettings.java new file mode 100644 index 000000000..6f6a12280 --- /dev/null +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/settings/AccountServiceSettings.java @@ -0,0 +1,31 @@ +package ru.spcex.clearing.account.config.settings; + +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.PropertySource; +import org.springframework.stereotype.Component; +import ru.spcex.clearing.platform.messaging.config.element.KafkaConsumerSettings; +import ru.spcex.platform.imdg.iml.hazelcast.config.HazelcastClientParams; + +@Component +@PropertySource("file:${spring.config.location}/application.properties") +@ConfigurationProperties("utility-service") +public class AccountServiceSettings { + private HazelcastClientParams hazelcast; + private KafkaConsumerSettings kafka; + + public HazelcastClientParams getHazelcast() { + return hazelcast; + } + + public void setHazelcast(HazelcastClientParams hazelcast) { + this.hazelcast = hazelcast; + } + + public KafkaConsumerSettings getKafka() { + return kafka; + } + + public void setKafka(KafkaConsumerSettings kafka) { + this.kafka = kafka; + } +} diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/BankAccountService.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/BankAccountService.java new file mode 100644 index 000000000..57db13a20 --- /dev/null +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/BankAccountService.java @@ -0,0 +1,84 @@ +package ru.spcex.clearing.account.service; + +import org.apache.kafka.clients.consumer.Consumer; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import ru.clearing.classes.StaticData.Account.BankAccount; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.platform.messaging.domain.BaseRequest; +import ru.spcex.clearing.platform.messaging.domain.Consts; +import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountNewRequest; +import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountUpdateRequest; +import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest; +import ru.spcex.clearing.platform.messaging.service.QueueConsumer; +import ru.spcex.platform.imdg.api.Imdg; +import ru.spcex.platform.imdg.api.ImdgProvider; + +@Service +public class BankAccountService extends QueueConsumer implements InitializingBean { + private final Logger log = LoggerFactory.getLogger(getClass()); + private final Imdg bankAccountMap; + + @Autowired + public BankAccountService(Consumer kafkaQueue, ImdgProvider imdgProvider) { + super(kafkaQueue); + this.bankAccountMap = imdgProvider.getImdg(IMDGDistributedNames.Map_BankAccount, BankAccount.class); + } + + @Override + public void afterPropertiesSet() { + callback(BankAccountNewRequest.class) + .setConsumer(this::bankAccountNew) + .forDestination(Consts.DESTINATION_BANK_ACCOUNT_NEW, callbacks::put); + callback(BankAccountUpdateRequest.class) + .setConsumer(this::bankAccountUpdate) + .forDestination(Consts.DESTINATION_BANK_ACCOUNT_UPDATE, callbacks::put); + callback(CommonDeleteRequest.class) + .setConsumer(this::bankAccountDelete) + .forDestination(Consts.DESTINATION_BANK_ACCOUNT_DELETE, callbacks::put); + init(); + } + + private void bankAccountNew(BaseRequest userRequest) { + BankAccountNewRequest req = userRequest.getRequestPayload(); + log.debug("MoneyMarketSecurityNewRequest received"); + BankAccount bankAccount = new BankAccount(); + bankAccount.setBankIdentificationCode(req.getBankIdentificationCode()); + bankAccount.setBankName(req.getBankName()); + bankAccount.setCorrespondentAccount(req.getCorrespondentAccount()); + bankAccount.setCorrespondentAccountName(req.getCorrespondentAccountName()); + bankAccount.setCurrency(req.getCurrency()); + bankAccount.setDestination(req.getDestination()); + bankAccount.setTaxpayerIdentificationNumber(req.getTaxpayerIdentificationNumber()); + bankAccount.setTaxRegistrationReasonCode(req.getTaxRegistrationReasonCode()); + + bankAccountMap.insert(bankAccount); + log.debug("successfully processed, new id {}", bankAccount.getId()); + } + + private void bankAccountUpdate(BaseRequest userRequest) { + BankAccountUpdateRequest req = userRequest.getRequestPayload(); + log.debug("MoneyMarketSecurityUpdateRequest received id = {}", req.getId()); + BankAccount bankAccount = bankAccountMap.getSingleObjectByID(req.getId()); + bankAccount.setBankIdentificationCode(req.getBankIdentificationCode()); + bankAccount.setBankName(req.getBankName()); + bankAccount.setCorrespondentAccount(req.getCorrespondentAccount()); + bankAccount.setCorrespondentAccountName(req.getCorrespondentAccountName()); + bankAccount.setCurrency(req.getCurrency()); + bankAccount.setDestination(req.getDestination()); + bankAccount.setTaxpayerIdentificationNumber(req.getTaxpayerIdentificationNumber()); + bankAccount.setTaxRegistrationReasonCode(req.getTaxRegistrationReasonCode()); + bankAccountMap.update(bankAccount); + } + + private void bankAccountDelete(BaseRequest userRequest) { + CommonDeleteRequest req = userRequest.getRequestPayload(); + log.debug("CommonDeleteRequest received id = {}", req.getId()); + BankAccount bankAccount = bankAccountMap.getSingleObjectByID(req.getId()); + bankAccountMap.delete(bankAccount); + } + +} diff --git a/clearing-parent/account-service/src/main/resources/application.properties b/clearing-parent/account-service/src/main/resources/application.properties new file mode 100644 index 000000000..f2d6fe4d8 --- /dev/null +++ b/clearing-parent/account-service/src/main/resources/application.properties @@ -0,0 +1,11 @@ +spring.main.web-application-type=none +account-service.hazelcast.cluster-members=127.0.0.1 +account-service.hazelcast.login=dev +account-service.hazelcast.password=dev-pass +account-service.kafka.bootstrap-servers=localhost:9092 +account-service.kafka.group-id=dev-group +account-service.kafka.enable-auto-commit=false +account-service.kafka.session-timeout-ms=30000 +account-service.kafka.auto-offset-reset=latest +account-service.kafka.linger-ms=1 +account-service.kafka.buffer-memory=33554432 \ No newline at end of file diff --git a/clearing-parent/account-service/src/main/resources/logback.xml b/clearing-parent/account-service/src/main/resources/logback.xml new file mode 100644 index 000000000..28e170416 --- /dev/null +++ b/clearing-parent/account-service/src/main/resources/logback.xml @@ -0,0 +1,38 @@ + + + + + + %date{HH:mm:ss.SSS} [%thread] %-5level %class{0}:%line - %message%n + utf-8 + + + + ./logs/account-service.log + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %class{0}:%msg%n + utf8 + + + + ./logs/account-service.%i.log + + 1 + 10 + + + 500MB + + + + + + + + + + + + + diff --git a/clearing-parent/pom.xml b/clearing-parent/pom.xml index 717490f8d..859773303 100644 --- a/clearing-parent/pom.xml +++ b/clearing-parent/pom.xml @@ -1,5 +1,5 @@ - 4.0.0 @@ -27,6 +27,7 @@ utility-service company-service reports-service + account-service diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java index fdbb8c116..cbaeefcd7 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java @@ -14,5 +14,8 @@ public interface Consts { String DESTINATION_COMPANY_SYMBOL_UPDATE = "company-symbol-update"; String DESTINATION_CONTACT_UPDATE = "contact-update"; String DESTINATION_CLEARING_MEMBER_CATEGORY_UPDATE = "clearing-member-category-update"; - String DESTINATION_CLEARING_MEMBER_CATEGORY_DELETE = "clearing-member-category-delete"; + String DESTINATION_BANK_ACCOUNT_DELETE = "bank-account-delete"; + String DESTINATION_BANK_ACCOUNT_UPDATE = "bank-account-update"; + String DESTINATION_BANK_ACCOUNT_NEW = "bank-account-new"; + } diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/account/BankAccountNewRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/account/BankAccountNewRequest.java new file mode 100644 index 000000000..527ed2ce4 --- /dev/null +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/account/BankAccountNewRequest.java @@ -0,0 +1,96 @@ +package ru.spcex.clearing.platform.messaging.domain.cud.account; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class BankAccountNewRequest { + @JsonProperty + public String bankIdentificationCode;//Банковский идентификационный код (БИК) + @JsonProperty + public String bankName;//Наименование банка + @JsonProperty + public String correspondentAccount;//Корреспондентский счет + @JsonProperty + public String correspondentAccountName;//Наименование корреспондентского счета + @JsonProperty + public String currency;//Идентификатор валюты + @JsonProperty + public String destination;//Назначение + @JsonProperty + public String taxpayerIdentificationNumber;//Идентификационный номер налогоплательщика (ИНН) + @JsonProperty + public String taxRegistrationReasonCode;//Код причины постановки (КПП) + @JsonProperty + public String account;//Номер счета + + public String getBankIdentificationCode() { + return bankIdentificationCode; + } + + public void setBankIdentificationCode(String bankIdentificationCode) { + this.bankIdentificationCode = bankIdentificationCode; + } + + public String getBankName() { + return bankName; + } + + public void setBankName(String bankName) { + this.bankName = bankName; + } + + public String getCorrespondentAccount() { + return correspondentAccount; + } + + public void setCorrespondentAccount(String correspondentAccount) { + this.correspondentAccount = correspondentAccount; + } + + public String getCorrespondentAccountName() { + return correspondentAccountName; + } + + public void setCorrespondentAccountName(String correspondentAccountName) { + this.correspondentAccountName = correspondentAccountName; + } + + public String getCurrency() { + return currency; + } + + public void setCurrency(String currency) { + this.currency = currency; + } + + public String getDestination() { + return destination; + } + + public void setDestination(String destination) { + this.destination = destination; + } + + public String getTaxpayerIdentificationNumber() { + return taxpayerIdentificationNumber; + } + + public void setTaxpayerIdentificationNumber(String taxpayerIdentificationNumber) { + this.taxpayerIdentificationNumber = taxpayerIdentificationNumber; + } + + public String getTaxRegistrationReasonCode() { + return taxRegistrationReasonCode; + } + + public void setTaxRegistrationReasonCode(String taxRegistrationReasonCode) { + this.taxRegistrationReasonCode = taxRegistrationReasonCode; + } + + public String getAccount() { + return account; + } + + public void setAccount(String account) { + this.account = account; + } +} diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/account/BankAccountUpdateRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/account/BankAccountUpdateRequest.java new file mode 100644 index 000000000..5ee6fc958 --- /dev/null +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/account/BankAccountUpdateRequest.java @@ -0,0 +1,106 @@ +package ru.spcex.clearing.platform.messaging.domain.cud.account; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class BankAccountUpdateRequest { + @JsonProperty + public Long id; //Идентификатор записи + @JsonProperty + public String bankIdentificationCode;//Банковский идентификационный код (БИК) + @JsonProperty + public String bankName;//Наименование банка + @JsonProperty + public String correspondentAccount;//Корреспондентский счет + @JsonProperty + public String correspondentAccountName;//Наименование корреспондентского счета + @JsonProperty + public String currency;//Идентификатор валюты + @JsonProperty + public String destination;//Назначение + @JsonProperty + public String taxpayerIdentificationNumber;//Идентификационный номер налогоплательщика (ИНН) + @JsonProperty + public String taxRegistrationReasonCode;//Код причины постановки (КПП) + @JsonProperty + public String account;//Номер счета + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getBankIdentificationCode() { + return bankIdentificationCode; + } + + public void setBankIdentificationCode(String bankIdentificationCode) { + this.bankIdentificationCode = bankIdentificationCode; + } + + public String getBankName() { + return bankName; + } + + public void setBankName(String bankName) { + this.bankName = bankName; + } + + public String getCorrespondentAccount() { + return correspondentAccount; + } + + public void setCorrespondentAccount(String correspondentAccount) { + this.correspondentAccount = correspondentAccount; + } + + public String getCorrespondentAccountName() { + return correspondentAccountName; + } + + public void setCorrespondentAccountName(String correspondentAccountName) { + this.correspondentAccountName = correspondentAccountName; + } + + public String getCurrency() { + return currency; + } + + public void setCurrency(String currency) { + this.currency = currency; + } + + public String getDestination() { + return destination; + } + + public void setDestination(String destination) { + this.destination = destination; + } + + public String getTaxpayerIdentificationNumber() { + return taxpayerIdentificationNumber; + } + + public void setTaxpayerIdentificationNumber(String taxpayerIdentificationNumber) { + this.taxpayerIdentificationNumber = taxpayerIdentificationNumber; + } + + public String getTaxRegistrationReasonCode() { + return taxRegistrationReasonCode; + } + + public void setTaxRegistrationReasonCode(String taxRegistrationReasonCode) { + this.taxRegistrationReasonCode = taxRegistrationReasonCode; + } + + public String getAccount() { + return account; + } + + public void setAccount(String account) { + this.account = account; + } +}