From 738bb38b5246e8f408fdf3aa350199bab4dc5129 Mon Sep 17 00:00:00 2001 From: ialbert Date: Tue, 25 Jul 2023 15:02:15 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BF=D0=BE=D1=82=D0=B5=D1=80=20=D0=BA=D0=BE?= =?UTF-8?q?=D0=BC=D0=BC=D0=B5=D0=BD=D1=82=D1=8B=20=D0=B2=20*.java=20=D1=84?= =?UTF-8?q?=D0=B0=D0=B9=D0=BB=D0=B0=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../validation/AccountValidationConfig.java | 3 - .../BankAccountValidationConfig.java | 3 - .../ClearingAccountValidationConfig.java | 1 - .../ClientCodeValidationConfig.java | 1 - .../DepoAccountValidationConfig.java | 1 - ...adingClearingRegistryValidationConfig.java | 21 -- .../config/validation/ValidationConfig.java | 7 +- .../clearing/account/errors/AccountError.java | 2 +- .../account/service/AccountService.java | 17 +- .../account/service/BankAccountService.java | 1 - .../service/ClearingAccountService.java | 6 +- .../account/service/ClientCodeService.java | 29 +- .../account/service/DepoAccountService.java | 10 +- .../service/InformationAccountService.java | 23 +- .../TradingClearingRegistryService.java | 36 +-- .../validation/AccountValidationRule.java | 1 - .../account/service/AccountServiceTest.java | 23 -- .../service/BankAccountServiceTest.java | 82 ----- .../service/ClearingAccountServiceTest.java | 74 ----- .../service/ClientCodeServiceTest.java | 108 +------ .../InformationAccountServiceTest.java | 2 - .../TradingClearingRegistryServiceTest.java | 8 - .../clearing/account/utils/ImapEvent.java | 4 +- .../account/utils/MatcherFactory.java | 5 - .../backendapi/BackendApiApplication.java | 4 - .../clearing/backendapi/config/WebConfig.java | 1 - .../queue/AbstractQueueController.java | 4 - .../queue/scheduler/LauncherController.java | 2 - .../queue/securities/SecurityController.java | 4 - .../controller/queue/user/UserController.java | 4 - .../queue/utilities/StatementController.java | 2 - .../entity/company/CompanyBackendGetAll.java | 20 -- ...TradingClearingRegistryBackendGetById.java | 6 - .../response/system/RequestInfoResponse.java | 5 - .../backendapi/filter/ClearingCorsFilter.java | 22 +- .../filter/CorsAllowedOriginsService.java | 1 - .../backendapi/meta/ActionElement.java | 2 - .../backendapi/meta/CudMetaService.java | 3 - .../backendapi/meta/FieldExtracted.java | 6 +- .../backendapi/meta/GetResponseFactory.java | 52 --- .../clearing/backendapi/meta/MetaServer.java | 41 +-- .../clearing/backendapi/meta/RfHelper.java | 2 +- ...oakRestTemplateAuthenticationProvider.java | 1 - .../backendapi/security/KeycloakUtils.java | 9 +- .../backendapi/security/LoginController.java | 5 - .../security/RestTemplateConfig.java | 3 - .../security/SimpleUserDetailService.java | 4 +- .../security/WebSecurityConfig.java | 7 +- .../backendapi/service/IOperator.java | 11 - .../backendapi/service/IStateLoader.java | 3 - .../service/RequestInfoAccepter.java | 1 - .../backendapi/service/UserAuthProcessor.java | 4 +- .../backendapi/service/impl/OperatorImpl.java | 8 - .../validation/ActionMetaValidation.java | 12 +- .../queue/AbstractControllerTest.java | 49 +-- .../queue/account/AccountControllerTest.java | 33 -- .../account/BankAccountControllerTest.java | 79 +---- .../ClearingAccountControllerTest.java | 9 - .../account/ClientCodeControllerTest.java | 53 ---- .../account/DepoAccountControllerTest.java | 9 - .../InformationAccountControllerTest.java | 10 - .../ClearingMemberCategoryControllerTest.java | 44 --- .../queue/company/CompanyControllerTest.java | 30 -- .../company/CompanyInfoControllerTest.java | 53 +--- .../company/CompanyRoleSetControllerTest.java | 10 - .../company/CompanySymbolControllerTest.java | 29 -- .../queue/company/ContactControllerTest.java | 42 --- .../ProfileDocumentControllerTest.java | 9 - .../queue/company/RelationControllerTest.java | 18 -- .../ExecutionDepositControllerTest.java | 9 - .../ExecutionFondControllerTest.java | 9 - .../InDocumentJournalControllerTest.java | 9 - .../ManagementJournalControllerTest.java | 9 - .../OutDocumentJournalControllerTest.java | 9 - .../queue/misc/CurrencyControllerTest.java | 9 - .../queue/misc/ErrorTextControllerTest.java | 7 - .../queue/misc/ListingControllerTest.java | 9 - .../queue/misc/MarketControllerTest.java | 9 - .../misc/NotificationControllerTest.java | 12 +- .../queue/misc/SessionControllerTest.java | 11 +- .../PaymentInstructionControllerTest.java | 13 +- ...ttedLiabilitiesRegisterControllerTest.java | 9 - .../ContractRegisterControllerTest.java | 9 - ...eredLiabilitiesRegisterControllerTest.java | 9 - .../DepoBalanceRegisterControllerTest.java | 9 - ...mentInstructionRegisterControllerTest.java | 9 - ...ludeLiabilitiesRegisterControllerTest.java | 9 - .../ExecutionRegisterControllerTest.java | 10 - .../LiabilitiesRegisterControllerTest.java | 10 - .../MoneyBalanceRegisterControllerTest.java | 10 - .../register/RegistryControllerTest.java | 15 - .../ReportRegisterControllerTest.java | 9 - ...TradingClearingRegistryControllerTest.java | 61 +--- .../ClearingCalendarControllerTest.java | 33 -- .../scheduler/LauncherControllerTest.java | 56 +--- .../PlannerAllTodayControllerTest.java | 11 +- .../scheduler/PlannerControllerTest.java | 11 +- .../PlannerTemplateControllerTest.java | 33 -- .../CouponPeriodControllerTest.java | 9 - .../EquitySecurityControllerTest.java | 33 -- .../FixedIncomeCashFlowControllerTest.java | 9 - .../FixedIncomeSecurityControllerTest.java | 33 -- .../MoneyMarketSecurityControllerTest.java | 33 -- .../securities/SecurityControllerTest.java | 9 - .../queue/user/UserControllerTest.java | 22 +- .../user/UserRoleSessionControllerTest.java | 9 - .../utilities/StatementControllerTest.java | 21 +- .../utilities/UserSettingsControllerTest.java | 19 +- .../cud/QueueSuccessResponseTest.java | 1 - .../GetResponseFactoryTestConfiguration.java | 4 - .../validation/ActionMetaValidationTest.java | 6 +- .../balance/config/SdfExecutorsConfig.java | 4 +- .../balance/config/ValidationConfig.java | 4 - .../service/AccountBalanceService.java | 6 +- .../balance/service/AccountResult.java | 2 +- .../balance/service/Sdf08Service.java | 2 - .../balance/service/Sdf09Executor.java | 176 ---------- .../balance/service/Sdf16Executor.java | 6 +- .../balance/service/StatementService.java | 3 - .../validation/Sdf09ValidationRule.java | 35 +- .../balance/service/AbstractServiceTest.java | 18 +- .../service/AccountBalanceServiceTest.java | 25 -- .../balance/service/Sdf08ServiceTest.java | 9 - .../balance/service/Sdf09ExecutorTest.java | 243 -------------- .../balance/service/Sdf16ExecutorTest.java | 48 --- .../clearing/balance/utils/ImapEvent.java | 4 +- .../balance/utils/MatcherFactory.java | 5 - .../validation/Sdf16ValidationRuleTest.java | 3 +- .../clearing/classes/ConstSerializable.java | 3 - .../classes/objects/BusinessEvent.java | 7 +- .../classes/objects/BusinessObject.java | 3 - .../classes/statics/data/account/Account.java | 5 - .../statics/data/account/AccountBalance.java | 5 - .../data/account/AccountBalanceHistory.java | 5 - .../statics/data/account/AccountHistory.java | 6 +- .../statics/data/account/BankAccount.java | 5 - .../data/account/BankAccountHistory.java | 7 +- .../statics/data/account/ClearingAccount.java | 5 - .../data/account/ClearingAccountHistory.java | 6 +- .../statics/data/account/ClientCode.java | 7 - .../data/account/ClientCodeHistory.java | 5 - .../statics/data/account/DepoAccount.java | 5 - .../data/account/DepoAccountHistory.java | 5 - .../data/account/InformationAccount.java | 5 - .../account/InformationAccountHistory.java | 6 +- .../data/company/ClearingMemberCategory.java | 5 - .../ClearingMemberCategoryHistory.java | 3 - .../classes/statics/data/company/Company.java | 5 +- .../statics/data/company/CompanyHistory.java | 3 - .../statics/data/company/CompanyRoleSet.java | 3 - .../statics/data/company/CompanySymbols.java | 5 +- .../data/company/CompanySymbolsHistory.java | 3 - .../data/company/relation/Relation.java | 5 - .../company/relation/RelationHistory.java | 6 +- .../execution/ExecutionDepositHistory.java | 5 - .../statics/data/execution/ExecutionFond.java | 5 - .../data/execution/ExecutionFondHistory.java | 5 - .../data/instrument/issue/CouponPeriod.java | 5 - .../instrument/issue/CouponPeriodHistory.java | 3 - .../data/instrument/issue/EquitySecurity.java | 6 - .../instrument/issue/FixedIncomeCashFlow.java | 5 - .../instrument/issue/FixedIncomeSecurity.java | 6 - .../data/journal/InDocumentJournal.java | 5 - .../data/journal/OutDocumentJournal.java | 5 - .../statics/data/messages/ErrorText.java | 5 - .../statics/data/misc/CurrencyHistory.java | 6 +- .../classes/statics/data/misc/KeyRate.java | 5 - .../statics/data/misc/ListingHistory.java | 6 +- .../data/misc/MarketDataLiquidation.java | 5 - .../statics/data/misc/MarketHistory.java | 6 +- .../data/misc/NotificationHistory.java | 5 - .../classes/statics/data/misc/STrades.java | 6 - .../statics/data/misc/SessionHistory.java | 5 - .../statics/data/payment/Operation.java | 6 +- .../statics/data/profile/CompanyInfo.java | 25 +- .../classes/statics/data/profile/Contact.java | 5 +- .../statics/data/profile/ProfileDocument.java | 5 +- .../data/profile/ProfileDocumentHistory.java | 3 - .../register/AdmittedLiabilitiesRegister.java | 7 - .../register/CoveredLiabilitiesRegister.java | 7 - .../data/register/DepoBalanceRegister.java | 7 - .../DepoPaymentInstructionRegister.java | 5 - .../register/ExcludeLiabilitiesRegister.java | 6 - .../data/register/ExecutionRegister.java | 6 - .../data/register/LiabilitiesRegister.java | 6 - .../data/register/MoneyBalanceRegister.java | 5 - .../MoneyPaymentInstructionRegister.java | 5 - .../statics/data/register/ReportRegister.java | 3 - .../statics/data/registry/Registry.java | 7 +- .../data/registry/RegistryHistory.java | 5 - .../registry/TradingClearingRegistry.java | 5 - .../TradingClearingRegistryHistory.java | 5 - .../data/scheduler/ClearingCalendar.java | 5 - .../statics/data/scheduler/Launcher.java | 5 - .../statics/data/scheduler/Planner.java | 5 - .../data/scheduler/PlannerAllToday.java | 5 - .../data/scheduler/PlannerTemplate.java | 5 - .../classes/statics/data/sdf/SDf01.java | 5 - .../classes/statics/data/sdf/SDf02.java | 5 - .../classes/statics/data/sdf/SDf03.java | 5 - .../classes/statics/data/sdf/SDf04.java | 5 - .../classes/statics/data/sdf/SDf05.java | 6 - .../classes/statics/data/sdf/SDf06.java | 5 - .../classes/statics/data/sdf/SDf07.java | 5 - .../classes/statics/data/sdf/SDf08.java | 5 - .../classes/statics/data/sdf/SDf09.java | 6 - .../classes/statics/data/sdf/SDf10.java | 5 - .../classes/statics/data/sdf/SDf11.java | 6 - .../classes/statics/data/sdf/SDf12.java | 6 - .../classes/statics/data/sdf/SDf13.java | 6 - .../classes/statics/data/sdf/SDf14.java | 6 - .../classes/statics/data/sdf/SDf16.java | 5 - .../classes/statics/data/sdf/SDf17.java | 5 - .../classes/statics/data/sdf/SDf18.java | 5 - .../classes/statics/data/sdf/SDf20.java | 5 - .../classes/statics/data/sdf/SDf21.java | 5 - .../classes/statics/data/sdf/SDf51.java | 5 - .../classes/statics/data/sdf/SDf52.java | 5 - .../classes/statics/data/sdf/SDf53.java | 6 - .../classes/statics/data/sdf/SDf54.java | 5 - .../classes/statics/data/sdf/SDf55.java | 5 - .../classes/statics/data/sdf/SDf56.java | 5 - .../classes/statics/data/sdf/SDf57.java | 5 - .../data/security/MoneyMarketSecurity.java | 7 - .../security/MoneyMarketSecurityHistory.java | 3 - .../statics/data/security/Security.java | 5 - .../data/security/SecurityHistory.java | 6 +- .../security/TradedMoneyMarketSecurity.java | 5 - .../statics/data/statement/Statement.java | 5 - .../classes/statics/data/user/User.java | 6 - .../statics/data/user/UserConnect.java | 5 - .../statics/data/user/UserConnectHistory.java | 6 +- .../statics/data/user/UserHistory.java | 5 - .../statics/data/user/UserRoleSession.java | 5 - .../statics/data/user/UserSettings.java | 5 - .../scheduler/PlannerAllTodayBuilder.java | 2 - .../spcex/clearing/config/MessagesConfig.java | 1 - .../clearing/config/ValidationConfig.java | 7 - .../config/session/MachineTestService.java | 12 +- .../config/session/StateActionAdapter.java | 5 - .../config/session/StateBnConfig.java | 14 - .../spcex/clearing/error/ClearingError.java | 1 - .../spcex/clearing/service/AnltSearcher.java | 1 - .../ru/spcex/clearing/service/Clearing.java | 34 +- .../clearing/service/ClearingService.java | 1 - .../clearing/service/EventsReceiver.java | 3 - .../service/LauncherCommandReceiver.java | 2 +- .../clearing/service/RegistryService.java | 8 - .../service/SdfCreatorBySTLDPayment.java | 15 - .../clearing/service/StatementService.java | 21 +- .../service/VerificationResultComponent.java | 27 +- .../LiabilitiesClaimsAssetsCreator.java | 27 +- .../LiabilitiesClaimsMoneyCreator.java | 2 +- .../builder/PaymentInstructionBuilder.java | 2 - ...aymentInstructionBuilderFinalMkrDeals.java | 19 +- .../builder/PaymentInstructionCreator.java | 300 +----------------- .../service/builder/RegistryBuilder.java | 8 +- .../service/builder/Sdf03Builder.java | 19 -- .../service/builder/Sdf11Builder.java | 80 ----- .../execution/ExecutionDepositComponent.java | 13 - .../execution/ExecutionFondComponent.java | 13 - .../service/executors/Sdf01Executor.java | 23 +- .../service/executors/Sdf04Executor.java | 3 - .../service/executors/Sdf06Executor.java | 11 +- .../service/executors/Sdf08Executor.java | 23 +- .../service/executors/Sdf13Executor.java | 1 - .../service/executors/Sdf57Executor.java | 57 +--- .../service/executors/SdfLegacyExecutor.java | 12 - .../service/order/ExecutionDepositSorter.java | 17 - .../order/PaymentInstructionSorter.java | 2 - .../ExecutionDepositValidationRule.java | 21 -- .../validation/STradesValidationRule.java | 12 +- .../validation/Sdf06NewValidationRule.java | 4 +- .../validation/Sdf08NewValidationRule.java | 2 +- .../session/stage/FinalMkrSession.java | 32 +- .../clearing/session/stage/ISessionStage.java | 1 - .../session/stage/IntermediateMkrSession.java | 20 +- .../stage/PrimaryAuctionB0Session.java | 17 +- .../stage/PrimaryAuctionBnSession.java | 18 +- .../stage/PrimaryAuctionT0Session.java | 17 +- .../session/stage/ReturnDepositSession.java | 14 +- .../stage/SecondaryAuctionT0Session.java | 18 +- .../session/stage/SessionManager.java | 4 +- .../clearing/session/stage/SessionStage.java | 1 - .../clearing/session/stage/TaskType.java | 37 --- .../session/stage/impl/BalanceRevise.java | 1 - .../session/stage/impl/DealsPrepare.java | 2 +- .../stage/impl/EndStageNotification.java | 1 - .../session/stage/impl/FinishingSession.java | 7 - .../stage/impl/FormingPaymentInstruction.java | 2 - ...ormingPaymentInstructionDealsFinalMkr.java | 16 - ...ormingPaymentInstructionDepositReturn.java | 10 +- .../FormingPaymentInstructionReturnMkr.java | 7 +- .../FormingPaymentInstructionSecondaryT0.java | 17 +- .../stage/impl/FormingRegistersOnOS.java | 19 -- .../stage/impl/InclusionObligations.java | 8 - .../stage/impl/InspectionObligations.java | 1 - .../InspectionObligationsDepositReturn.java | 5 - .../stage/impl/RegistryDepoBuilder.java | 1 - .../stage/impl/RegistryFondBuilder.java | 6 +- .../RequirementsAndObligationCreation.java | 16 - .../session/stage/impl/UnlockResources.java | 13 - ...mingPaymentInstructionDealsMkrPayload.java | 4 - .../stage/task/UnlockResourcesPayload.java | 17 - .../clearing/service/ClearingServiceTest.java | 79 +---- .../service/PaymentUpdateBySdf04Test.java | 18 -- .../service/SdfCreatorBySTLDPaymentTest.java | 7 - .../clearing/service/SpecifUtilTest.java | 23 -- .../service/StatementServiceServiceTest.java | 107 ------- .../VerificationResultComponentTest.java | 20 -- .../sql/RegistryCodeSqlBuilderTest.java | 43 --- .../ExecutionDepositComponentTest.java | 10 - .../service/executors/Sdf01ExecutorTest.java | 234 -------------- .../spcex/clearing/utils/MatcherFactory.java | 5 - .../ru/spcex/clearing/utils/TestUtils.java | 2 - clearing-parent/clearing-validation/pom.xml | 2 +- .../clearing/scheduler/ISchedulerChecker.java | 3 - .../ru/spcex/clearing/util/package-info.java | 3 - .../util/services/IMDGMessageResolver.java | 5 +- .../clearing/util/services/RequestHelper.java | 19 -- .../exchangers/BiDirectionQueueExchanger.java | 39 +-- .../validation/common/ValidationHelper.java | 6 - .../common/rules/DateNotBeforeRule.java | 19 -- .../common/rules/DictionaryPresentRule.java | 29 -- .../common/rules/EndDtAfterStartDtRule.java | 23 -- .../common/rules/EnumPresentRule.java | 25 -- .../common/rules/FieldRequiredRule.java | 29 -- .../common/rules/IdPresentRule.java | 29 -- .../common/rules/IsLongValueRule.java | 20 -- .../common/rules/SpecialIdPresentRule.java | 9 - .../common/rules/TimeNotBeforeRule.java | 19 -- .../services/IMDGMessageResolverTest.java | 8 +- .../CompanySymbolValidationConfig.java | 4 - .../validation/CompanyValidationConfig.java | 13 - .../ProfileDocumentValidationConfig.java | 7 +- .../validation/RelationValidationConfig.java | 13 - .../clearing/company/error/CompanyErrors.java | 48 +-- .../service/AccountNotificationHelper.java | 13 - .../ClearingMemberCategoryService.java | 7 +- .../company/service/CompanyInfoService.java | 4 +- .../service/CompanyRoleSetService.java | 16 +- .../company/service/CompanyService.java | 33 +- .../company/service/CompanySymbolService.java | 11 +- .../company/service/ContactService.java | 2 - .../company/service/MultiCompanyService.java | 13 +- .../service/ProfileDocumentService.java | 6 - .../company/service/RelationService.java | 75 +---- .../validation/CompanySymbolNotExistRule.java | 3 - ...ySymbolOfSymbolNewRequestNotExistRule.java | 3 - .../ClearingMemberCategoryServiceTest.java | 29 -- .../service/CompanyInfoServiceTest.java | 25 +- .../company/service/CompanyServiceTest.java | 33 -- .../service/CompanySymbolServiceTest.java | 15 - .../company/service/ContactServiceTest.java | 19 -- .../service/MultiCompanyServiceTest.java | 2 +- .../service/ProfileDocumentServiceTest.java | 22 -- .../company/service/RelationServiceTest.java | 19 +- .../src/main/resources/db/readme.txt | 1 - .../exporter/config/KafkaSenderConfig.java | 1 - .../exporter/logic/data/ResultContainer.java | 3 - .../dbf/exporter/logic/data/enums/Table.java | 9 - .../logic/stages/ExportFromHazelcast.java | 10 - .../dbf/exporter/logic/stages/Journal.java | 3 - .../exporter/logic/stages/PrepareDBFFile.java | 3 - .../dbf/exporter/services/CommandService.java | 2 +- .../services/converters/DFConverter.java | 5 - .../services/converters/S_DF51_Converter.java | 4 +- .../services/converters/S_DF56_Converter.java | 4 +- .../dbf/exporter/AbstractServiceTest.java | 1 - .../data/enums/FilenameTemplateTest.java | 4 - .../dbf/exporter/services/S_DF02_Test.java | 5 - .../dbf/exporter/services/S_DF03_Test.java | 5 - .../dbf/exporter/services/S_DF05_Test.java | 5 - .../dbf/exporter/services/S_DF07_Test.java | 5 - .../dbf/exporter/services/S_DF51_Test.java | 5 - .../dbf/exporter/services/S_DF53_Test.java | 6 - .../dbf/exporter/services/S_DF54_Test.java | 5 - .../dbf/exporter/services/S_DF56_Test.java | 5 - .../dbf/importer/config/settings/Store.java | 1 - .../importer/logic/data/ResultContainer.java | 3 - .../importer/logic/data/enums/ColumnType.java | 4 - .../logic/data/tables/SDf57Table.java | 2 +- .../logic/stages/DbfImportKafkaMessenger.java | 4 - .../dbf/importer/logic/stages/ImportToDB.java | 3 - .../importer/logic/stages/ValidateFields.java | 6 - .../services/LauncherCommandReceiver.java | 11 +- .../src/main/resources/application.properties | 10 +- .../logic/data/tables/SDf57TableTest.java | 16 +- .../dictionary/AccountTypeDictionary.java | 5 - .../dictionary/AllowedDictionary.java | 3 - .../BalanceDimensionDictionary.java | 5 - .../dictionary/BondTypeDictionary.java | 5 - .../ClearingAccountTypeDictionary.java | 5 - .../ClearingCategoryDictionary.java | 3 - .../dictionary/ClearingStatusDictionary.java | 5 - .../dictionary/CompanyRoleDictionary.java | 3 - .../dictionary/CompanySymbolDictionary.java | 4 - .../dictionary/ConnectionStateDictionary.java | 5 - .../dictionary/ContactTypeDictionary.java | 3 - .../CorporationSoleTypeDictionary.java | 3 - .../dictionary/CountryCodeDictionary.java | 3 - .../dictionary/CourierTypeDictionary.java | 5 - .../dictionary/CurrencyCodeDictionary.java | 5 - .../dictionary/DayStatusDictionary.java | 5 - .../dictionary/DepoAccountTypeDictionary.java | 5 - .../platform/dictionary/Dictionary.java | 3 - .../dictionary/DocumentTypeDictionary.java | 3 - .../dictionary/ErrorCodeDictionary.java | 5 - .../dictionary/EventTypeDictionary.java | 5 - .../dictionary/InOutDirectionDictionary.java | 5 - .../dictionary/InOutSDfTypeDictionary.java | 5 - .../dictionary/InstrumentTypeDictionary.java | 5 - .../dictionary/LegalKindDictionary.java | 3 - .../ManagementJournalPurposeDictionary.java | 5 - .../ManagementJournalStatusDictionary.java | 5 - .../ManagementJournalTypeDictionary.java | 5 - .../dictionary/MarketCodeDictionary.java | 5 - .../dictionary/MarketTypeDictionary.java | 5 - .../dictionary/MoneyFlowSideDictionary.java | 5 - .../NotificationStatusDictionary.java | 5 - .../dictionary/ObjectTypeDictionary.java | 5 - .../dictionary/OperationStatusDictionary.java | 5 - .../dictionary/OperationTypeDictionary.java | 5 - .../OrganizationTypeDictionary.java | 3 - .../platform/dictionary/ParentDictionary.java | 5 - .../dictionary/PriorityDictionary.java | 5 - .../RegistryCapacityDictionary.java | 5 - .../dictionary/RegistryCodeDictionary.java | 5 - .../RegistryDesignationDictionary.java | 5 - .../RegistryInstrumentTypeDictionary.java | 5 - .../dictionary/RegistryStatusDictionary.java | 5 - .../dictionary/RegistryUnitDictionary.java | 5 - .../dictionary/ResultStatusDictionary.java | 5 - .../dictionary/SectionDictionary.java | 5 - .../dictionary/ServiceDictionary.java | 5 - .../dictionary/ServiceProductDictionary.java | 5 - .../dictionary/ServiceStatusDictionary.java | 5 - .../dictionary/SessionStatusDictionary.java | 5 - .../dictionary/SessionTypeDictionary.java | 5 - .../dictionary/ShareTypeDictionary.java | 3 - .../platform/dictionary/SideDictionary.java | 5 - .../dictionary/StatementTypeDictionary.java | 5 - .../platform/dictionary/TaskDictionary.java | 5 - .../dictionary/TaskStatusDictionary.java | 5 - .../dictionary/TermTypeDictionary.java | 5 - ...radingClearingRegistryLevelDictionary.java | 5 - ...dingClearingRegistryPurposeDictionary.java | 5 - ...TradingClearingRegistryTypeDictionary.java | 5 - .../TransactionStatusDictionary.java | 5 - .../dictionary/UserRoleDictionary.java | 5 - .../dictionary/WorkflowStatusDictionary.java | 3 - .../controller/GatewayController.java | 5 - .../inbound/request/company/Company.java | 3 - .../outbound/request/OutboundRequest.java | 1 - .../service/CodeStatusComparator.java | 5 - .../service/IssueCompanyService.java | 3 - .../adapter/CompanyRequestAdapter.java | 2 +- .../service/CodeStatusComparatorTest.java | 3 - .../service/GatewayServiceTest.java | 11 - .../clearing/imdg/base/AutoconfiguredMap.java | 8 - .../imdg/base/BusinessObjectMapStore.java | 10 - .../imdg/base/DictionaryMapStore.java | 5 - .../imdg/base/DictionaryTMapStore.java | 3 - .../imdg/base/ObjectBaseMapStore.java | 4 +- .../imdg/base/SimpleObjectMapStore.java | 7 +- .../imdg/base/TemplateEventMapStore.java | 15 - .../imdg/base/TemplateHistoryMapStore.java | 37 --- .../clearing/imdg/base/TemplateMapStore.java | 23 -- .../ASecurityHistoryMapStore.java | 7 +- .../businessevent/CompanyHistoryMapStore.java | 19 +- .../SecurityHistoryMapStore.java | 1 - .../businessobject/ASecurityMapStore.java | 10 +- .../imdg/businessobject/CompanyMapStore.java | 26 +- .../EquitySecurityMapStore.java | 8 +- .../MoneyMarketSecurityMapStore.java | 12 - .../imdg/businessobject/RelationMapStore.java | 1 - .../imdg/businessobject/SecurityMapStore.java | 1 - .../imdg/config/HazelcastConfiguration.java | 3 +- .../clearing/imdg/config/PoolMapConfigs.java | 9 +- .../imdg/object/CompanyRoleSetMapStore.java | 2 +- .../AbstractHazelcastLifecycleSupport.java | 16 +- .../services/AbstractUpdateMapService.java | 5 +- .../services/HazelcastLifecycleSupport.java | 3 - .../imdg/services/UpdateMapService.java | 4 +- .../spcex/clearing/imdg/AllMapStoreTest.java | 6 - .../imdg/config/DbTestConnectionConfig.java | 2 - .../structure/CheckerBusinessMapStore.java | 3 +- .../structure/RunnableMapNamesForTesting.java | 49 +-- .../imdg/utils/AbstractHistoryRowMapper.java | 2 - .../imdg/utils/BusinessEventRowMapper.java | 1 - .../clearing/imdg/utils/DbDataUtils.java | 45 +-- .../clearing/imdg/utils/MatcherFactory.java | 5 - .../imdg/utils/SpcexObjectBaseRowMapper.java | 1 - .../lim/exporter/config/KafkaConfig.java | 2 +- .../lim/exporter/config/LimFormat.java | 2 - .../services/AbstractExporterService.java | 2 - .../services/LauncherCommandReceiver.java | 4 +- .../services/AbstractExporterServiceTest.java | 16 - .../services/MoneyExporterServiceTest.java | 7 - .../services/SecurityExporterServiceTest.java | 4 - .../ExcludeLiabilitiesRegisterService.java | 1 - .../service/LiabilitiesRegisterService.java | 1 - .../registry/utils/MatcherFactory.java | 5 - .../clearing/registry/utils/TestUtils.java | 2 - .../reports/ReportsServiceApplication.java | 17 - .../config/validation/ValidationConfig.java | 6 - .../reports/notifications/DOCXService.java | 61 ---- .../notifications/NotificationBuilder.java | 1 - .../reports/reports/CSVReportBuilder.java | 39 --- .../clearing/reports/reports/EmptyParams.java | 3 - .../reports/reports/SessionIdParam.java | 3 - .../NCMPNotificationBuilderTest.java | 3 - .../NTCRNotificationBuilderTest.java | 3 +- .../reports/services/DOCXServiceTest.java | 4 +- .../services/ReportServiceTest_BP.java | 9 - .../PlannerTemplateValidationConfig.java | 8 - .../scheduler/error/ValidationError.java | 2 +- .../service/ClearingCalendarService.java | 6 - .../scheduler/service/LauncherSender.java | 4 +- .../scheduler/service/PlannerService.java | 2 - .../service/PlannerTemplateService.java | 2 - .../scheduler/service/TaskManager.java | 31 +- .../rules/common/DateAfterTodayRule.java | 15 - .../rules/common/DateNotBeforeRule.java | 15 - .../rules/common/DictionaryPresentRule.java | 22 -- .../rules/common/EnumPresentRule.java | 20 -- .../rules/common/FieldRequiredRule.java | 11 - .../rules/common/IdPresentRule.java | 16 - .../rules/common/TimeNotBeforeRule.java | 32 -- .../scheduler/AbstractServiceTest.java | 1 - .../service/ClearingCalendarServiceTest.java | 44 --- .../service/LauncherServiceTest.java | 11 - .../scheduler/service/PlannerServiceTest.java | 41 --- .../service/PlannerTemplateServiceTest.java | 31 -- .../scheduler/service/TaskManagerTest.java | 25 -- .../securities/errors/SecuritiesError.java | 14 +- .../service/cud/CurrencyService.java | 2 +- .../service/cud/GatewaySecurityService.java | 11 +- .../service/cud/ListingService.java | 11 +- .../cud/MoneyMarketSecurityService.java | 5 +- .../rule/HaveValidCodeByDictionary.java | 2 +- .../validation/rule/HaveValidCompanyId.java | 2 +- .../rule/MmsDeleteValidationRule.java | 1 - .../rule/MmsUpdateValidationRule.java | 1 - .../validation/rule/WorkflowStatusActv.java | 1 - .../service/CouponPeriodServiceTest.java | 20 -- .../service/CurrencyServiceTest.java | 19 -- .../service/EquitySecurityServiceTest.java | 48 --- .../FixedIncomeCashFlowServiceTest.java | 10 - .../FixedIncomeSecurityServiceTest.java | 48 --- .../service/MoneyMarketSecurityFactory.java | 6 +- .../MoneyMarketSecurityServiceTest.java | 82 ----- .../util/security/SecuritySelector.java | 2 +- .../util/security/UserRoleVerification.java | 49 --- .../swt/exporter/config/KafkaConfig.java | 6 +- .../settings/ExportSwtServiceSettings.java | 1 - .../services/AbstractExporterService.java | 22 +- .../services/LauncherCommandReceiver.java | 4 - .../services/exportimpl/DF12Exporter.java | 9 +- .../services/exportimpl/DF14Exporter.java | 9 +- .../services/AbstractExporterServiceTest.java | 1 - .../services/exportimpl/DF09ExporterTest.java | 11 +- .../controller/LauncherCommandReceiver.java | 9 +- .../importer/logic/data/ResultContainer.java | 3 - .../importer/logic/data/enums/ColumnType.java | 4 - .../swt/importer/logic/data/enums/ETable.java | 1 - .../swt/importer/logic/stages/ImportToDB.java | 3 - .../logic/stages/SWTImportKafkaMessenger.java | 4 - .../importer/logic/stages/ValidateFields.java | 6 - .../ru/spcex/clearing/test/ImapEvent.java | 4 +- .../spcex/clearing/test/MatcherFactory.java | 5 - .../clearing/test/TestObjectCreator.java | 18 -- .../ru/spcex/clearing/test/TestUtils.java | 9 +- .../clearing/test/config/KafkaTestConfig.java | 8 +- .../ru/spcex/clearing/test/json/JsonUtil.java | 5 - .../test/json/MatcherFactoryWithJson.java | 6 - .../services/LauncherCommandReceiver.java | 2 +- .../services/TradeImporterService.java | 5 - .../config/config/DbTestConnectionConfig.java | 1 - .../services/TradeImporterServiceTest.java | 14 - .../utility/service/KeyRateService.java | 2 +- .../clearing/utility/service/UserService.java | 1 - .../service/KeyRateServiceDisabled.java | 27 -- .../utility/utils/MatcherFactory.java | 6 +- .../classes/base/SpcexObjectBase.java | 3 - .../enumeration/BalanceAccountType.java | 2 +- .../spcex/platform/enumeration/BondType.java | 14 +- .../enumeration/ClearingCategory.java | 17 +- .../platform/enumeration/ClearingStatus.java | 2 +- .../platform/enumeration/ContactTypes.java | 25 +- .../platform/enumeration/CurrencyCode.java | 2 +- .../platform/enumeration/DocumentTypes.java | 49 ++- .../platform/enumeration/InstrumentType.java | 6 +- .../spcex/platform/enumeration/Priority.java | 8 +- .../enumeration/RegistryCapacity.java | 1 - .../platform/enumeration/RegistryCode.java | 1 - .../enumeration/ReportBuilderType.java | 4 - .../platform/enumeration/ReportType.java | 4 - .../platform/enumeration/ResultStatuses.java | 7 +- .../ru/spcex/platform/enumeration/Sender.java | 6 +- .../platform/enumeration/ServiceProduct.java | 4 +- .../spcex/platform/enumeration/ShareType.java | 4 +- .../ru/spcex/platform/enumeration/Task.java | 92 +++--- .../spcex/platform/enumeration/TermType.java | 6 +- .../TradingClearingRegistryType.java | 20 +- .../iml/hazelcast/adapter/ImdgHazelcast.java | 12 - .../adapter/ImdgTransactionalHazelcast.java | 10 +- .../service/HazelcastServiceBase.java | 32 +- .../iml/hazelcast/util/HazelcastHelper.java | 23 +- .../clearing/imdg/IMDGDistributedNames.java | 3 - .../java/ru/spcex/platform/imdg/api/Imdg.java | 15 - .../spcex/platform/imdg/api/ImdgProvider.java | 3 - .../platform/imdg/api/ImdgTransaction.java | 4 - .../validation/ImdgValidationContext.java | 3 - .../platform/imdg/validation/Stored.java | 6 - .../imdg/validation/rule/PresentById.java | 3 - .../config/KafkaConsumerFactory.java | 2 - .../config/KafkaProducerFactory.java | 24 -- .../messaging/domain/BaseRequest.java | 12 - .../platform/messaging/domain/Consts.java | 5 +- .../cud/account/BankAccountUpdateRequest.java | 20 +- .../cud/account/ClientCodeUpdateRequest.java | 2 +- .../account/sdf01/AccountSdf01Request.java | 3 - .../domain/cud/balance/StatementRequest.java | 2 - .../cud/clearing/Sdf56And51Request.java | 9 - .../domain/cud/company/CompanyNewRequest.java | 1 - .../company/CompanySymbolUpdateRequest.java | 2 +- .../registry/ContractRegisterNewRequest.java | 2 +- .../cud/reports/NotificationRequest.java | 6 - .../domain/cud/reports/ReportRequest.java | 8 - .../cud/reports/ReportRequestWithPeriod.java | 3 - .../reports/ReportRequestWithRegistryId.java | 6 - .../reports/ReportRequestWithSessionId.java | 6 - .../ReportRequestWithSessionIdList.java | 6 - .../JournalEventExportedRequest.java | 4 - .../logic/functional/BuilderConsumerStep.java | 12 - .../functional/ConsumerSpecificClass.java | 10 - .../serialization/JsonDeserializer.java | 10 - .../serialization/JsonSerializer.java | 10 - .../messaging/serialization/LogFormatter.java | 9 - .../messaging/service/QueueConsumer.java | 20 -- .../messaging/service/sender/KafkaSender.java | 8 - .../utils/enumeration/EnumMessage.java | 4 - .../platform/utils/enumeration/IEnumId.java | 14 - .../platform/utils/enumeration/IEnumKey.java | 14 - .../SpringPropertiesMessageResolver.java | 3 - .../utils/error/ClearingBaseException.java | 5 - .../platform/utils/number/BigDecimalUtil.java | 5 - .../spcex/platform/utils/time/TimeUtil.java | 3 - .../utils/validation/IValidationRule.java | 13 - .../platform/utils/validation/IValidator.java | 22 -- .../utils/validation/ValidatorImpl.java | 5 +- 652 files changed, 517 insertions(+), 7490 deletions(-) diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/AccountValidationConfig.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/AccountValidationConfig.java index 6201d0bbd..d4775ffad 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/AccountValidationConfig.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/AccountValidationConfig.java @@ -18,12 +18,10 @@ import ru.spcex.platform.classes.base.SpcexObjectBase; import ru.spcex.platform.enumeration.AccountStatus; import ru.spcex.platform.enumeration.AccountType; import ru.spcex.platform.enumeration.ServiceStatus; -import ru.spcex.platform.enumeration.WorkflowStatus; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.predicate.ImdgPredicate; import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder; import ru.spcex.platform.imdg.validation.ImdgValidationContext; -import ru.spcex.platform.utils.enumeration.IErrorEnumId; import ru.spcex.platform.utils.validation.IValidator; import ru.spcex.platform.utils.validation.ValidatorImpl; @@ -55,7 +53,6 @@ public class AccountValidationConfig { Company.class, AccountError.RequiredFieldEmpty, AccountError.CompanyNotFound -// company -> WorkflowStatus.Active.equalsByKey(company.getWorkflowStatus()) ? null : AccountError.CompanyNotActive ), FieldRequiredRule.instance("account", CorrespondentAccountNewRequest::getAccount, diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/BankAccountValidationConfig.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/BankAccountValidationConfig.java index 9d88a7bec..2cf43ce7e 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/BankAccountValidationConfig.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/BankAccountValidationConfig.java @@ -7,7 +7,6 @@ import ru.clearing.classes.statics.data.account.BankAccount; import ru.clearing.classes.statics.data.company.Company; import ru.clearing.platform.dictionary.CurrencyCodeDictionary; import ru.clearing.platform.dictionary.ServiceStatusDictionary; -import ru.clearing.platform.dictionary.WorkflowStatusDictionary; import ru.spcex.clearing.account.errors.AccountError; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountNewRequest; @@ -20,7 +19,6 @@ import ru.spcex.platform.classes.base.SpcexObjectBase; import ru.spcex.platform.enumeration.AccountStatus; import ru.spcex.platform.enumeration.AccountType; import ru.spcex.platform.enumeration.ServiceStatus; -import ru.spcex.platform.enumeration.WorkflowStatus; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.predicate.ImdgPredicate; import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder; @@ -124,7 +122,6 @@ public class BankAccountValidationConfig { ); Account account = accountImdg.getSingleObjectByID(accountId); if (account == null) return AccountError.AccountNotFound; -// if (!AccountStatus.ACTIVE.equalsByKey(account.getStatus())) return AccountError.AccountNotActive; return null; }), DictionaryPresentRule.instance("currency", diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/ClearingAccountValidationConfig.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/ClearingAccountValidationConfig.java index f6ab57dea..08e1e8b1a 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/ClearingAccountValidationConfig.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/ClearingAccountValidationConfig.java @@ -51,7 +51,6 @@ public class ClearingAccountValidationConfig { Company.class, AccountError.RequiredFieldEmpty, AccountError.CompanyNotFound -// company -> !WorkflowStatus.Active.equalsByKey(company.getWorkflowStatus()) ? AccountError.CompanyNotActive : null ), FieldRequiredRule.instance("account", ClearingAccountNewRequest::getAccount, diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/ClientCodeValidationConfig.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/ClientCodeValidationConfig.java index 963e74fc1..a9cf8d10a 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/ClientCodeValidationConfig.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/ClientCodeValidationConfig.java @@ -148,7 +148,6 @@ public class ClientCodeValidationConfig { Consumer addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s)); addImdg.accept(IMDGDistributedNames.Map_ClientCode); return new ValidatorImpl<>(context, -// FieldRequiredRule.instance("id", CommonDeleteRequest::getId, CompanyErrors.RequiredFieldEmpty), IdPresentRule.instance("id", CommonDeleteRequest::getId, IMDGDistributedNames.Map_ClientCode, diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/DepoAccountValidationConfig.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/DepoAccountValidationConfig.java index 819ebe362..d9badc2a9 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/DepoAccountValidationConfig.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/DepoAccountValidationConfig.java @@ -48,7 +48,6 @@ public class DepoAccountValidationConfig { Company.class, AccountError.RequiredFieldEmpty, AccountError.CompanyNotFound -// company -> !WorkflowStatus.Active.equalsByKey(company.getWorkflowStatus()) ? AccountError.CompanyNotActive : null ), FieldRequiredRule.instance("account", DepoAccountNewRequest::getAccount, diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/TradingClearingRegistryValidationConfig.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/TradingClearingRegistryValidationConfig.java index a402551ce..749a24ee5 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/TradingClearingRegistryValidationConfig.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/TradingClearingRegistryValidationConfig.java @@ -83,26 +83,10 @@ public class TradingClearingRegistryValidationConfig { return AccountError.AccountNotFound; } else { if (AccountType.Clrn.equalsByKey(account.getAccountType()) || AccountType.Info.equalsByKey(account.getAccountType())) { - // ok } else { - // неправильный тип return AccountError.AccountNotFound; } } -// Imdg clearingAccountImdg = context.obtainMap( -// IMDGDistributedNames.Map_ClearingAccount, ClearingAccount.class -// ); -// ClearingAccount clearingAccount = clearingAccountImdg.getSingleObjectByFieldValues( -// Map.of("accountId",moneyAccountId) -// ); -// if (clearingAccount == null) { -// Imdg informationAccountImdg = context.obtainMap( -// IMDGDistributedNames.Map_InformationAccount, InformationAccount.class -// ); -// InformationAccount infoAccount = informationAccountImdg.getSingleObjectByFieldValues( -// Map.of("accountId",moneyAccountId)); -// if (infoAccount == null) return AccountError.AccountNotFound; -// } return null; }), FieldRequiredRule.instance("depoAccountId", @@ -139,11 +123,6 @@ public class TradingClearingRegistryValidationConfig { if (validatedObject.getMoneyAccountId() == null) { return of(AccountError.RequiredFieldEmpty, "MoneyAccountId"); } - //Map> query = new HashMap<>(); -// query.put("moneyAccountId", validatedObject.getMoneyAccountId()); -// if (validatedObject.getDepoAccountId() != null) { -// query.put("depoAccountId", validatedObject.getDepoAccountId()); -// } ImdgPredicateBuilder pb = tcrMap.predicateBuilder(); ImdgPredicate query = pb.equals("moneyAccountId", validatedObject.getMoneyAccountId()); if (validatedObject.getDepoAccountId() != null) { diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/ValidationConfig.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/ValidationConfig.java index 1a542396e..187432404 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/ValidationConfig.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/ValidationConfig.java @@ -8,7 +8,10 @@ import ru.clearing.classes.statics.data.company.ClearingMemberCategory; import ru.clearing.classes.statics.data.company.Company; import ru.clearing.classes.statics.data.company.CompanySymbols; import ru.clearing.classes.statics.data.registry.TradingClearingRegistry; -import ru.clearing.platform.dictionary.*; +import ru.clearing.platform.dictionary.AccountTypeDictionary; +import ru.clearing.platform.dictionary.ClearingAccountTypeDictionary; +import ru.clearing.platform.dictionary.CurrencyCodeDictionary; +import ru.clearing.platform.dictionary.ServiceStatusDictionary; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.validation.common.ValidationHelper; import ru.spcex.platform.classes.base.SpcexObjectBase; @@ -41,8 +44,6 @@ public class ValidationConfig { addImdg.accept(IMDGDistributedNames.Map_DepoAccount, DepoAccount.class); addImdg.accept(IMDGDistributedNames.Map_ServiceStatusDictionary, ServiceStatusDictionary.class); addImdg.accept(IMDGDistributedNames.Map_TradingClearingRegistry, TradingClearingRegistry.class); - - //for ClientCodeValidationConfig addImdg.accept(IMDGDistributedNames.Map_ClientCode, ClientCode.class); return imdg; diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/errors/AccountError.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/errors/AccountError.java index ad479b785..b7b094f34 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/errors/AccountError.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/errors/AccountError.java @@ -19,7 +19,7 @@ public enum AccountError implements IErrorEnumId { DepoAccountNotFound(5017L), MoneyAccountNotFound(5018L), ClearingCategoryNotFound(5019L), - ClearingCompanySymbolNotFound(5022L), // Для компании %s отсутствует клиринговый код». + ClearingCompanySymbolNotFound(5022L), AccountForTradingClearingRegistryAlreadyUsed(5023L), TradingClearingRegistryNotFound(3022L), ; diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/AccountService.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/AccountService.java index 786fc475e..fa55a15c6 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/AccountService.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/AccountService.java @@ -17,13 +17,8 @@ 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.CorrespondentAccountNewRequest; import ru.spcex.clearing.platform.messaging.domain.cud.account.CorrespondentAccountUpdateRequest; -import ru.spcex.clearing.platform.messaging.domain.cud.account.sdf01.AccountSdf01Request; -import ru.spcex.clearing.platform.messaging.domain.cud.account.sdf01.AccountSdfRequestPart; import ru.spcex.clearing.platform.messaging.domain.cud.account.sdf01.AccountTerminationRequest; -import ru.spcex.clearing.platform.messaging.domain.cud.balance.AccountSdfToStatementRequestPart; -import ru.spcex.clearing.platform.messaging.domain.cud.balance.StatementRequest; import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonIdRequest; -import ru.spcex.clearing.platform.messaging.serialization.LogFormatter; import ru.spcex.clearing.platform.messaging.service.QueueConsumer; import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate; import ru.spcex.clearing.platform.messaging.service.Status; @@ -44,9 +39,7 @@ import ru.spcex.platform.utils.enumeration.IMessageResolver; import ru.spcex.platform.utils.validation.IValidator; import java.time.Instant; -import java.util.ArrayList; import java.util.Collection; -import java.util.List; import java.util.function.Function; @Service @@ -200,7 +193,7 @@ public class AccountService extends QueueConsumer implements InitializingBean { log.debug("AccountTerminationRequest received, id={}", userRequest.getId()); RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest); - if (requestInfoUpdate != null) return requestInfoUpdate; // never - system + if (requestInfoUpdate != null) return requestInfoUpdate; AccountTerminationRequest req = userRequest.getRequestPayload(); final Long companyId = req.getCompanyId(); @@ -212,7 +205,6 @@ public class AccountService extends QueueConsumer implements InitializingBean { try { tx.beginTransaction(); for (Account account : accounts) { - //Account account = accountMap.getSingleObjectByID(request.getId()); if (!ServiceStatus.Blocked.equalsByKey(account.getStatus())) { account.setStatus(ServiceStatus.Blocked.getKey()); account.setUpdated(Instant.now()); @@ -238,11 +230,6 @@ public class AccountService extends QueueConsumer implements InitializingBean { } - /** - * Заполняет поля relationId и companyId из соответствующей записи Relation - * - * @param requestId Идентификатор запроса для вывода лога - */ public RequestInfoUpdate fillAccountFromRelation(Account account, Long requestId, boolean checkClearingMemberCategory) { Long companyId = account.getCompanyId(); Collection relations; @@ -269,7 +256,6 @@ public class AccountService extends QueueConsumer implements InitializingBean { } else { log.info("ClearingCategoryNotFound with clearingCategoryValue={} not implemented. Do not search Relation.", clearingCategoryValue); return null; - //return makeError(requestId, AccountError.ClearingCategoryNotFound, companyId, clearingCategoryValue + " (case not implemented)"); } finalRelationPredicate = relationPredicateBuilder.and(consumerIdPredicate, servicePredicate); relations = relationMap.getCollectionObjectsByPredicate(finalRelationPredicate); @@ -279,7 +265,6 @@ public class AccountService extends QueueConsumer implements InitializingBean { } if (relations.isEmpty()) { - //return makeError(requestId, AccountError.WrongFieldValue, "companyId", finalRelationPredicate.toString()); log.info("Relation not found: {}", finalRelationPredicate.toString()); return null; } 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 index 6c7dc1b8e..b5d3ee9da 100644 --- 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 @@ -221,7 +221,6 @@ public class BankAccountService extends QueueConsumer implements InitializingBea account.setUpdated(Instant.now()); accountMap.update(account); - //без изменений bankAccountMap.update(bankAccount); log.debug("successfully block, existing bankAccount with id {}", bankAccount.getId()); return null; diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/ClearingAccountService.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/ClearingAccountService.java index e879ac570..94bb3a2a6 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/ClearingAccountService.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/ClearingAccountService.java @@ -221,11 +221,11 @@ public class ClearingAccountService extends QueueConsumer implements Initializin account.setUpdated(now); RequestInfoUpdate requestInfoUpdate = accountService.fillAccountFromRelation(account, userRequest.getId(), true); if (requestInfoUpdate != null) { - log.warn("Error fill new account from relation. {}", /*account.getId(),*/ requestInfoUpdate.getMessage()); + log.warn("Error fill new account from relation. {}", requestInfoUpdate.getMessage()); { AccountSdfToStatementRequestPart responsePart = new AccountSdfToStatementRequestPart(); responsePart.setSdfId(accountReq.getSdfId()); - responsePart.setErrorCode(AccountError.ClearingCategoryNotFound.getId()); // see accountService.fillAccountFromRelation + responsePart.setErrorCode(AccountError.ClearingCategoryNotFound.getId()); responsePart.setErrorText(requestInfoUpdate.getMessage()); accountToStatement.add(responsePart); continue accountsLoop; @@ -286,7 +286,7 @@ public class ClearingAccountService extends QueueConsumer implements Initializin request.setGroupId(groupingSdf01Id); request.setAccountCreationResults(results); request.setContinueSdf(true); - request.setTable(SdfTable.SDF_01); // по нему запрос получили + request.setTable(SdfTable.SDF_01); log.debug("Send message to kafka \"{}\": {}", Consts.STATEMENT_PROCESS, LogFormatter.toStringWrapper(request)); kafkaSender.sendRequestToQueue(Consts.STATEMENT_PROCESS, request); } diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/ClientCodeService.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/ClientCodeService.java index c3db9f826..f679560f1 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/ClientCodeService.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/ClientCodeService.java @@ -115,18 +115,8 @@ public class ClientCodeService extends QueueConsumer implements InitializingBean } - /** - * Проверки - * 3.5.1 если не была найдена запись в tradingClearingRegistry по companyId, moneyAccountId, depoAccountId и tradingClearingRegistryType=B (п 3.5.1) - * 3.5.2 если не заполнены поля moneyAccountId ИЛИ moneyAccountId и depoAccountId - * @param userRequest - * @param moneyAccountId req.getMoneyAccountId() - * @param depoAccountId req.getDepoAccountId() - * @param companyId req.getCompanyId() - * @return - */ RequestInfoUpdate crossValidate(BaseRequest userRequest, Long moneyAccountId, Long depoAccountId, Long companyId) { - if (moneyAccountId == null) { // Если не заполнены moneyAccountId ИЛИ moneyAccountId и depoAccountId + if (moneyAccountId == null) { EnumMessage error = null; if (companyId == null) { error = new EnumMessage(AccountError.RequiredFieldEmpty, "companyId"); @@ -153,7 +143,6 @@ public class ClientCodeService extends QueueConsumer implements InitializingBean if (requestInfoUpdate != null) return requestInfoUpdate; ClientCodeNewRequest req = userRequest.getRequestPayload(); - // дополнительная проверка requestInfoUpdate = crossValidate(userRequest, req.getMoneyAccountId(), req.getDepoAccountId(), req.getCompanyId()); if (requestInfoUpdate != null) return requestInfoUpdate; @@ -190,7 +179,6 @@ public class ClientCodeService extends QueueConsumer implements InitializingBean ClientCodeNewRequest req = userRequest.getRequestPayload(); - // дополнительная проверка requestInfoUpdate = crossValidate(userRequest, req.getMoneyAccountId(), req.getDepoAccountId(), req.getCompanyId()); if (requestInfoUpdate != null) return requestInfoUpdate; @@ -224,7 +212,6 @@ public class ClientCodeService extends QueueConsumer implements InitializingBean requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, clientCodeUpdateRequestValidator); if (requestInfoUpdate != null) return requestInfoUpdate; - // дополнительная проверка requestInfoUpdate = crossValidate(userRequest, req.getMoneyAccountId(), req.getDepoAccountId(), req.getCompanyId()); if (requestInfoUpdate != null) return requestInfoUpdate; @@ -297,7 +284,6 @@ public class ClientCodeService extends QueueConsumer implements InitializingBean } private boolean checkNeedCreateTCR(Long companyId, Long moneyAccountId, Long depoAccountId) { - // moneyAccountId обязателен, depoAccountId опционален if (moneyAccountId == null) { return false; } @@ -321,11 +307,8 @@ public class ClientCodeService extends QueueConsumer implements InitializingBean requestPayload.setCompanyId(companyId); requestPayload.setMoneyAccountId(moneyAccountId); requestPayload.setDepoAccountId(depoAccountId); -// requestPayload.setStatus(WorkflowStatus.Active.getKey()); requestPayload.setTradingClearingRegistryType(TradingClearingRegistryType.Client_B.getKey()); request.setRequestPayload(requestPayload); - - // Следующий вызываемый метод обязательно должен быть synchronized. RequestInfoUpdate reply = tradingClearingRegistryService.tradingClearingRegistryNew(request); if (reply != null && Status.Error.equals(reply.getStatus())) { log.warn("tradingClearingRegistryService return error: " + reply.getMessage()); @@ -355,11 +338,6 @@ public class ClientCodeService extends QueueConsumer implements InitializingBean } - /** - * @param queue Consts.* - * @param message BaseRequest - * @return - */ private Long sendMessage(String queue, BaseRequest message) { Long sentRequestId = message.getId(); if (sentRequestId == null) { @@ -383,13 +361,8 @@ public class ClientCodeService extends QueueConsumer implements InitializingBean return null; } - /** - * @param req требуется заполнить tradingClearingRegistryId по tradingClearingRegistry.code - * @return - */ private ClientCode buildClientCode(ClientCodeNewRequest req) { ClientCode clientCode = new ClientCode(); -// clientCode.setId(idSequence.newId()); add in insert clientCode.setCreated(Instant.now()); clientCode.setUpdated(clientCode.getCreated()); diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/DepoAccountService.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/DepoAccountService.java index c3d0b16ce..2d01aeb60 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/DepoAccountService.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/DepoAccountService.java @@ -146,8 +146,6 @@ public class DepoAccountService extends QueueConsumer implements InitializingBea accountsLoop: for (AccountSdfRequestPart accountReq : req.getAccounts()) { -// DepoAccountNewRequest req = userRequest.getRequestPayload(); - Instant now = Instant.now(); Account account = new Account(); account.setAccount(accountReq.getAccount()); @@ -158,11 +156,11 @@ public class DepoAccountService extends QueueConsumer implements InitializingBea account.setUpdated(now); RequestInfoUpdate requestInfoUpdate = accountService.fillAccountFromRelation(account, userRequest.getId(), true); if (requestInfoUpdate != null) { - log.warn("Error fill new account from relation. {}", /*account.getId(),*/ requestInfoUpdate.getMessage()); + log.warn("Error fill new account from relation. {}", requestInfoUpdate.getMessage()); { AccountSdfToStatementRequestPart responsePart = new AccountSdfToStatementRequestPart(); responsePart.setSdfId(accountReq.getSdfId()); - responsePart.setErrorCode(AccountError.ClearingCategoryNotFound.getId()); // see accountService.fillAccountFromRelation + responsePart.setErrorCode(AccountError.ClearingCategoryNotFound.getId()); responsePart.setErrorText(requestInfoUpdate.getMessage()); accountToStatement.add(responsePart); continue accountsLoop; @@ -222,9 +220,9 @@ public class DepoAccountService extends QueueConsumer implements InitializingBea public void sendStatementRequestBack(Long groupingSdf01Id, List results) { StatementRequest request = new StatementRequest(); request.setGroupId(groupingSdf01Id); - request.setContinueSdf(true); //fixme???? + request.setContinueSdf(true); request.setAccountCreationResults(results); - request.setTable(SdfTable.SDF_08); // по нему запрос получили + request.setTable(SdfTable.SDF_08); log.debug("Send message to kafka \"{}\": {}", Consts.STATEMENT_PROCESS, LogFormatter.toStringWrapper(request)); kafkaSender.sendRequestToQueue(Consts.STATEMENT_PROCESS, request); } diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/InformationAccountService.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/InformationAccountService.java index 4cd49ffbb..7bd79a912 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/InformationAccountService.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/InformationAccountService.java @@ -16,7 +16,6 @@ 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.InformationAccountNewRequest; -import ru.spcex.clearing.platform.messaging.domain.cud.registry.TradingClearingRegistryNewRequest; import ru.spcex.clearing.platform.messaging.domain.cud.reports.NotificationRequest; import ru.spcex.clearing.platform.messaging.serialization.LogFormatter; import ru.spcex.clearing.platform.messaging.service.QueueConsumer; @@ -57,10 +56,6 @@ public class InformationAccountService extends QueueConsumer implements Initiali private final Function infoAccountNewRequestValidator; private final Imdg informationAccountImdg; private final Imdg accountImdg; - /** - * Кэш-счётчик сквозных номеров счетов. - * См. accountNextId() - */ protected AtomicLong infoCounter; @Autowired @@ -183,12 +178,10 @@ public class InformationAccountService extends QueueConsumer implements Initiali log.debug("InformationAccountNewRequest received (system), request id={}", userRequest.getId()); RequestInfoUpdate requestInfoUpdate; -// RequestInfoUpdate requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, infoAccountNewRequestValidator); -// if (requestInfoUpdate != null) return requestInfoUpdate; final Long forCompanyId = userRequest.getRequestPayload().getCompanyId(); ImdgPredicateBuilder pb = accountImdg.predicateBuilder(); - { // Проверка существования счёта + { Collection accountsAnlt = accountImdg.getCollectionObjectsByFieldValues(Map.of( "companyId", forCompanyId, "accountType", AccountType.Info.getKey() @@ -202,7 +195,7 @@ public class InformationAccountService extends QueueConsumer implements Initiali Long newId = informationAccountImdg.nextIDSequenceFor(); - Long infoSequenceId = accountNextId(); // требуется последовательность n+1 + Long infoSequenceId = accountNextId(); String accountValue = generateInfoAccount(infoSequenceId); log.trace("New info-account id={}, sequenceId={}, account={}", newId, infoSequenceId, accountValue); @@ -268,17 +261,12 @@ public class InformationAccountService extends QueueConsumer implements Initiali imdgTransaction.rollbackTransaction(); } } - - // send to kafka sendNotificationToReport(informationAccount, account); return null; } - /** - * Формирование уведолмения о регистрации УК - */ protected void sendNotificationToReport(InformationAccount informationAccount, Account account) { NotificationRequest request = new NotificationRequest(); request.setConsumerId(account.getCompanyId()); @@ -291,11 +279,6 @@ public class InformationAccountService extends QueueConsumer implements Initiali } - /** - * Сквозной номер инфо-счетов - * - * @return infoCounter++ - */ protected Long accountNextId() { if (infoCounter == null) synchronized (this) { if (infoCounter == null) { @@ -308,7 +291,7 @@ public class InformationAccountService extends QueueConsumer implements Initiali Pattern accPattern = Pattern.compile("39911810([0-9]{8})7000"); int maxN = 1; int parsedCount = 0; - String lastAccount = null; // for debug + String lastAccount = null; for (Account acc : allInfoAcc) { try { String number = acc.getAccount(); diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/TradingClearingRegistryService.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/TradingClearingRegistryService.java index 6a68bef1e..9abb57c97 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/TradingClearingRegistryService.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/TradingClearingRegistryService.java @@ -99,7 +99,7 @@ public class TradingClearingRegistryService extends QueueConsumer implements Ini this.accountImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Account, Account.class); this.relationImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Relation, Relation.class); this.tradingClearingRegistryNewRequestValidator = tradingClearingRegistryNewRequestValidator; - this.tradingClearingRegistryAutoNewRequestValidator = tradingClearingRegistryNewRequestValidator; // без relation. + this.tradingClearingRegistryAutoNewRequestValidator = tradingClearingRegistryNewRequestValidator; this.tradingClearingRegistryUpdateRequestValidator = tradingClearingRegistryUpdateRequestValidator; this.tradingClearingRegistryBlockRequestValidator = tradingClearingRegistryBlockRequestValidator; this.messageResolver = messageResolver; @@ -108,7 +108,7 @@ public class TradingClearingRegistryService extends QueueConsumer implements Ini @Override public void afterPropertiesSet() throws Exception { imdgProvider.waitAvailable(); - callback(TradingClearingRegistryNewRequest.class) // todo deprecated - unused. + callback(TradingClearingRegistryNewRequest.class) .setFunction(this::tradingClearingRegistryAutoNew) .forDestination(Consts.DESTINATION_TRADING_CLEARING_REGISTRY_AUTO_NEW, callbacks::put); callback(TradingClearingRegistryNewRequest.class) @@ -143,18 +143,13 @@ public class TradingClearingRegistryService extends QueueConsumer implements Ini Account depoAccountMain = req.getDepoAccountId() != null ? accountImdg.getSingleObjectByID(req.getDepoAccountId()) : null; DepoAccount depoAccount = depoAccountMain != null ? depoAccountImdg.getFirstObjectByFieldValues(Map.of("accountId", req.getDepoAccountId())) : null; - -// InformationAccount infoAccount = null; ClearingAccount clearingAccount = null; Account accountMain = null; if (req.getMoneyAccountId() != null) { clearingAccount = clearingAccountImdg.getFirstObjectByFieldValues(Map.of("accountId", req.getMoneyAccountId())); -// if (clearingAccount == null) infoAccount = informationAccountImdg.getSingleObjectByFieldValues(Map.of("accountId", req.getMoneyAccountId())); - Long accountId = req.getMoneyAccountId(); //clearingAccount != null ? clearingAccount.getAccountId() : infoAccount.getAccountId(); + Long accountId = req.getMoneyAccountId(); accountMain = accountImdg.getSingleObjectByID(accountId); } - - // кроссвалидация if (req.getMoneyAccountId() == null && (req.getMoneyAccountId() == null || req.getDepoAccountId() == null)) { TradingClearingRegistry registryByCompany = tradingClearingRegistryImdg.getFirstObjectByFieldValues(Map.of("companyId", req.getCompanyId())); if (registryByCompany == null) { @@ -194,7 +189,7 @@ public class TradingClearingRegistryService extends QueueConsumer implements Ini } if (accountId != null) { accountMain = accountImdg.getSingleObjectByID(accountId); - if (accountMain == null) { // never, только с инконсистентными данными + if (accountMain == null) { log.warn("Account {} not exist.", accountId); } else { tradingClearingRegistry.setMoneyAccountId(accountId); @@ -262,9 +257,6 @@ public class TradingClearingRegistryService extends QueueConsumer implements Ini tradingClearingRegistryImdg.insert(tradingClearingRegistry); log.debug("New TCR.id={} was created", tradingClearingRegistry.getId()); - -// sendNotificationToCompanySvc(tradingClearingRegistry); при автосоздании ТКР в company-service не отправлять. -// sendNotificationToClearingSvc(tradingClearingRegistry); sendNotificationToReportSvc(tradingClearingRegistry); sendNotificationToClearingSvc(tradingClearingRegistry); @@ -285,7 +277,6 @@ public class TradingClearingRegistryService extends QueueConsumer implements Ini } TradingClearingRegistryNewRequest req = userRequest.getRequestPayload(); - // Дополнительная проверка if (req.getMoneyAccountId() == null && (req.getMoneyAccountId() == null || req.getDepoAccountId() == null)) { TradingClearingRegistry registryByCompany = tradingClearingRegistryImdg.getFirstObjectByFieldValues(Map.of("companyId", req.getCompanyId())); if (registryByCompany == null) { @@ -394,14 +385,14 @@ public class TradingClearingRegistryService extends QueueConsumer implements Ini if (code.length() > 4) code = code.substring(code.length() - 4); code = "%4s".formatted(code).replace(' ', '0'); - code += registryPurpose.getKey(); // C / M / ... - String trType = tradingRegistryType + "T"; // 2 символа + code += registryPurpose.getKey(); + String trType = tradingRegistryType + "T"; code += trType; String sId = "%5s".formatted(id).replace(' ', '0'); if (sId.length() > 5) sId = sId.substring(sId.length() - 5); code += sId; - return code; // 12 имволов + return code; } public RequestInfoUpdate tradingClearingRegistryUpdate(BaseRequest userRequest) { @@ -414,16 +405,12 @@ public class TradingClearingRegistryService extends QueueConsumer implements Ini TradingClearingRegistryUpdateRequest req = userRequest.getRequestPayload(); TradingClearingRegistry tradingClearingRegistry = tradingClearingRegistryImdg.getSingleObjectByID(req.getId()); - - // кроссвалидация - нельзя менять эти поля: if (req.getMoneyAccountId() != null && !req.getMoneyAccountId().equals(tradingClearingRegistry.getMoneyAccountId())) { return requestHelper.makeErrorResponse(userRequest, AccountError.WrongFieldValue, "MoneyAccountId", req.getMoneyAccountId()); } if (req.getDepoAccountId() != null && !req.getDepoAccountId().equals(tradingClearingRegistry.getDepoAccountId())) { return requestHelper.makeErrorResponse(userRequest, AccountError.WrongFieldValue, "DepoAccountId", req.getDepoAccountId()); } -// tradingClearingRegistry.setMoneyAccountId(req.getMoneyAccountId()); -// tradingClearingRegistry.setDepoAccountId(req.getDepoAccountId()); if (req.getStatus() != null && !Objects.equals(req.getStatus(), tradingClearingRegistry.getStatus())) { @@ -461,9 +448,6 @@ public class TradingClearingRegistryService extends QueueConsumer implements Ini } - /** - * company-service сообщение об успешном добавлении ТКР клиента с параметром tradingClearingRegistry.code - */ protected void sendNotificationToCompanySvc(TradingClearingRegistry tradingClearingRegistry) { ClientCodeNewRequest request = new ClientCodeNewRequest(); request.setTradingClearingRegistryId(tradingClearingRegistry.getId()); @@ -475,9 +459,6 @@ public class TradingClearingRegistryService extends QueueConsumer implements Ini kafkaSender.sendRequestToQueue(Consts.DESTINATION_CLIENT_CODE_NEW_UM_COMPANY, request); } - /** - * clearing-service сообщение на открытие клиринговых регистров; - */ protected void sendNotificationToClearingSvc(TradingClearingRegistry tradingClearingRegistry) { CreateRegistryRequest request = new CreateRegistryRequest(); request.setCompanyId(tradingClearingRegistry.getCompanyId()); @@ -486,9 +467,6 @@ public class TradingClearingRegistryService extends QueueConsumer implements Ini kafkaSender.sendRequestToQueue(Consts.REGISTRY_NEW, request); } - /** - * report-service сообщение на формирование уведомления о создании нового ТКР - */ protected void sendNotificationToReportSvc(TradingClearingRegistry tradingClearingRegistry) { NotificationRequest request = new NotificationRequest(); request.setConsumerId(tradingClearingRegistry.getCompanyId()); diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/validation/AccountValidationRule.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/validation/AccountValidationRule.java index 977c67a89..bcdf54329 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/validation/AccountValidationRule.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/validation/AccountValidationRule.java @@ -29,7 +29,6 @@ public enum AccountValidationRule implements IValidationRule - * Тест проверяет генерацию сущности {@link BankAccount} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link BankAccountNewRequest}:
- * {@link BankAccountNewRequest#bankIdentificationCode} - 99999
- * {@link BankAccountNewRequest#bankName} - ооо тинькофф
- * {@link BankAccountNewRequest#correspondentAccount} - 9294189285498598598
- * {@link BankAccountNewRequest#correspondentAccountName} - BIK OF
- * {@link BankAccountNewRequest#currency} - RUB
- * {@link BankAccountNewRequest#destination} - OOO ROGA I KOPITA
- * {@link BankAccountNewRequest#taxpayerIdentificationNumber} - 848484848484
- * {@link BankAccountNewRequest#taxRegistrationReasonCode} - 886886
- * {@link BankAccountNewRequest#account} - 123456789123
- */ @Test public void bankAccountNew() { - //ARRANGE BankAccount predictableBankAccount = getBankAccount(); Company company = getTestCompany(); @@ -174,8 +159,6 @@ public class BankAccountServiceTest { BankAccountNewRequest bankAccountNewRequest = getBankAccountNewRequest(predictableBankAccount); String jsonString = getJsonStringForNew(bankAccountNewRequest, ID); - - //ACT addRecordToKafka((MockConsumer) bankAccountService.getConsumer(), TOPIC_ACCOUNT_NEW, PARTITION, 0, jsonString); waitingSendAndCheckRecord(ID, mockProducer); @@ -184,26 +167,10 @@ public class BankAccountServiceTest { predictableBankAccount.setAccountId(accountResult.getId()); predictableBankAccount.setId(bankAccountResult.getId()); setSameValueToField(accountResult, predictableAccount); - - //ASSERT BANK_ACCOUNT_MATCHER.assertMatch(bankAccountResult, predictableBankAccount); ACCOUNT_MATCHER.assertMatch(accountResult, predictableAccount); } - /** - * {@link BankAccountService#bankAccountNew(BaseRequest request)}
- * Тест проверяет валидацию.
- * Входной запрос {@link BankAccountNewRequest}:
- * {@link BankAccountNewRequest#bankIdentificationCode} - 99999
- * {@link BankAccountNewRequest#bankName} - ооо тинькофф
- * {@link BankAccountNewRequest#correspondentAccount} - 9294189285498598598
- * {@link BankAccountNewRequest#correspondentAccountName} - BIK OF
- * {@link BankAccountNewRequest#currency} - RUB
- * {@link BankAccountNewRequest#destination} - OOO ROGA I KOPITA
- * {@link BankAccountNewRequest#taxpayerIdentificationNumber} - 848484848484
- * {@link BankAccountNewRequest#taxRegistrationReasonCode} - 886886
- * {@link BankAccountNewRequest#account} - 123456789123
- */ @Test public void validatedBankAccountNew() { clearImdg(accountImdg); @@ -213,8 +180,6 @@ public class BankAccountServiceTest { BankAccountNewRequest bankAccountNewRequest = getBankAccountNewRequest(predictableBankAccount); String errMsg; - //AccountValidationRule.RequiredFields - //WrongFieldValue bankAccountNewRequest.setCurrency(null); errMsg = messageResolver.resolve(new EnumMessage(AccountError.RequiredFieldEmpty, "currency")); checkError(errMsg, bankAccountNewRequest); @@ -248,22 +213,14 @@ public class BankAccountServiceTest { errMsg = messageResolver.resolve(new EnumMessage(AccountError.RequiredFieldEmpty, "companyId")); checkError(errMsg, bankAccountNewRequest); bankAccountNewRequest.setCompanyId(addresseeIdNew); - - //AccountValidationRule.CompanyPresent - //CompanyNotFound bankAccountNewRequest.setCompanyId(999924535239L); errMsg = messageResolver.resolve(new EnumMessage(AccountError.CompanyNotFound, "companyId")); checkError(errMsg, bankAccountNewRequest); - - //CompanyNotActive company.setWorkflowStatus(Status.Blocked.getKey()); companyImdg.insert(company); bankAccountNewRequest.setCompanyId(company.getId()); errMsg = messageResolver.resolve(new EnumMessage(AccountError.CompanyNotActive, "companyId")); checkError(errMsg, bankAccountNewRequest); - - //AccountValidationRule.AccountIsNew - //AccountAlreadyExist company.setWorkflowStatus(Status.Active.getKey()); companyImdg.insert(company); Account existAccount = getTestAccount(accountId, acc); @@ -274,7 +231,6 @@ public class BankAccountServiceTest { } private void checkError(String errorMsg, BankAccountNewRequest bankAccountNewRequest) { - //ARRANGE int currentTime = countRun.getAndIncrement(); long currentOffset = currentTime; BaseRequest predictableBaseRequest = new BaseRequest<>(); @@ -287,40 +243,17 @@ public class BankAccountServiceTest { predictableBaseRequest.setRequestPayload(requestInfoUpdate); String jsonString = getJsonStringForNew(bankAccountNewRequest, ID); - - //ACT addRecordToKafka((MockConsumer) bankAccountService.getConsumer(), TOPIC_ACCOUNT_NEW, PARTITION, currentOffset, jsonString); - - //waiting for kafka producer send message (finale event) verify(producer, timeout(30_000L).times(currentTime)) .send(producerRecord.capture()); BaseRequest baseRequestResult = (BaseRequest) producerRecord.getValue().value(); - - //ASSERT assertEquals(Consts.REQUEST_INFO_UPDATE, producerRecord.getValue().topic()); BASE_REQUEST_MATCHER.assertMatch(baseRequestResult, predictableBaseRequest); } - /** - * {@link BankAccountService#bankAccountUpdate(BaseRequest)}
- * Тест проверяет обновление сущности {@link BankAccount} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link BankAccountUpdateRequest}:
- * {@link BankAccountUpdateRequest#bankIdentificationCode} - NEW BUNK NAME
- * {@link BankAccountUpdateRequest#bankName} - 88888
- * {@link BankAccountUpdateRequest#correspondentAccount} - 894984646541316
- * {@link BankAccountUpdateRequest#correspondentAccountName} - BIK OF NEW BUNK
- * {@link BankAccountUpdateRequest#currency} - EU
- * {@link BankAccountUpdateRequest#destination} - OOO NEW BUNK
- * {@link BankAccountUpdateRequest#taxpayerIdentificationNumber} - 65468461321
- * {@link BankAccountUpdateRequest#taxRegistrationReasonCode} - 532137
- * {@link BankAccountUpdateRequest#account} - 326984656514
- */ @Test void bankAccountUpdate() { clearImdg(accountImdg); - //ARRANGE -// Company company = getTestCompany(); -// companyImdg.insert(company); Account predictableAccount = getTestAccount(accountId, acc); accountImdg.insert(predictableAccount); @@ -351,11 +284,7 @@ public class BankAccountServiceTest { bankAccountUpdateRequest.setAccount(predictableUpdateBankAccount.getAccount()); String jsonString = getJsonStringForUpdate(bankAccountUpdateRequest, ID); - - //ACT addRecordToKafka((MockConsumer) bankAccountService.getConsumer(), TOPIC_ACCOUNT_UPDATE, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); Account accountResult = accountImdg.getSingleObjectByID(predictableAccount.getId()); @@ -367,15 +296,8 @@ public class BankAccountServiceTest { ACCOUNT_MATCHER.assertMatch(accountResult, predictableAccount); } - /** - * {@link BankAccountService#bankAccountDelete(BaseRequest)} - * Тест проверяет удаление сущности {@link BankAccount} в Hazelcast при передаче из Apache Kafka. - * Входной запрос {@link CommonDeleteRequest}: - * {@link CommonDeleteRequest#id} - Идентификатор записи - */ @Test void bankAccountDelete() { - //ARRANGE BankAccount bankAccountExists = getBankAccount(); bankAccountImdg.insert(bankAccountExists); Account account = new Account(); @@ -386,11 +308,7 @@ public class BankAccountServiceTest { CommonDeleteRequest commonDeleteRequest = new CommonDeleteRequest(); commonDeleteRequest.setId(ID); String jsonString = getJsonStringForDelete(commonDeleteRequest, ID); - - //ACT addRecordToKafka((MockConsumer) bankAccountService.getConsumer(), TOPIC_ACCOUNT_DELETE, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); BankAccount bankAccount = bankAccountImdg.getSingleObjectByID(ID); diff --git a/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/service/ClearingAccountServiceTest.java b/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/service/ClearingAccountServiceTest.java index 6c149f1dd..808398765 100644 --- a/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/service/ClearingAccountServiceTest.java +++ b/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/service/ClearingAccountServiceTest.java @@ -223,78 +223,4 @@ class ClearingAccountServiceTest { ACCOUNT_MATCHER.assertMatch(accountResult, predictableAccount); } - -// /** -// * {@link ClearingAccountService#accountNewSdf01(BaseRequest)}
-// * Тест проверяет создание сущности {@link BaseRequest} в Hazelcast при передаче из Apache Kafka.
-// * Входной запрос {@link AccountSdf01Request}:
-// * {@link AccountSdfRequestPart#setSdfId} - текущий Id
-// * {@link AccountSdfRequestPart#setAccount} - 123456789123
-// * {@link AccountSdfRequestPart#setCompanyId} - текущий Id
-// * {@link AccountSdf01Request#setGroupingSdf01Id} - текущий Id
-// * {@link AccountSdf01Request#setAccounts} - Collections.singletonList(AccountSdfRequestPart)
-// */ -// @Test -// void accountSdf01New() throws InterruptedException { -// //ARRANGE -// Long firstID = currentID.getAndIncrement(); -// Long secondID = currentID.getAndIncrement(); -// AccountSdfRequestPart accountSdfRequestPart = new AccountSdfRequestPart(); -// accountSdfRequestPart.setSdfId(firstID); -// accountSdfRequestPart.setAccount(account); -// accountSdfRequestPart.setCompanyId(firstID); -// AccountSdf01Request accountSdf01Request = new AccountSdf01Request(); -// accountSdf01Request.setGroupingSdf01Id(firstID); -// accountSdf01Request.setAccounts(Collections.singletonList(accountSdfRequestPart)); -// BaseRequest baseNewRequest = new BaseRequest<>(); -// baseNewRequest.setRequestPayload(accountSdf01Request); -// baseNewRequest.setId(firstID); -// baseNewRequest.setActionType(ActionType.NEW); -// String jsonBaseNewRequest; -// ObjectMapper objectMapper = new ObjectMapper(); -// try { -// jsonBaseNewRequest = objectMapper.writeValueAsString(baseNewRequest); -// } catch (JsonProcessingException e) { -// throw new RuntimeException(e); -// } -// -// AccountSdfToStatementRequestPart responsePart = new AccountSdfToStatementRequestPart(); -// responsePart.setSdfId(firstID); -// responsePart.setErrorCode(null); -// responsePart.setErrorText(null); -// List accountToStatement = Collections.singletonList(responsePart); -// StatementRequest statementRequest = new StatementRequest(); -// statementRequest.setGroupId(firstID); -// statementRequest.setAccountCreationResults(accountToStatement); -// -// BaseRequest baseRequest = new BaseRequest<>(); -// baseRequest.setId(secondID); -// baseRequest.setActionType(ActionType.SYSTEM); -// baseRequest.setRequestPayload(statementRequest); -// -// Account predictableAccount = new Account(); -// predictableAccount.setAccount(account); -// predictableAccount.setCompanyId(firstID); -// -// RequestInfo predictableRequestInfo = new RequestInfo(); -// predictableRequestInfo.setId(secondID); -// predictableRequestInfo.setStatus(Status.Processing); -// -// //KAFKA -// final String TOPIC_ACCOUNT_NEW = Consts.ACCOUNT_NEW_SDF01; -// addRecordToKafka((MockConsumer) accountService.getConsumer(), TOPIC_ACCOUNT_NEW, PARTITION, 0, jsonBaseNewRequest); -// -// //waiting for kafka producer send message (finale event) -// verify(producer, timeout(30_000L).times(2)) -// .send(producerRecord.capture()); -// //todo переписать валидацию ожидания на новые waitingSendAndCheckRecord / waitingWhenTryAddRecordAndCheckError -// -// ImdgHazelcast accountImdg = (ImdgHazelcast) hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_Account, Account.class); -// -// //ASSERT -// Account accountResult = accountImdg.getSingleObjectBySQL(String.format("account = %s", account)); -// predictableAccount.setId(accountResult.getId()); -// ACCOUNT_MATCHER.assertMatch(accountResult, predictableAccount); -// accountImdg.delete(accountResult); -// } } \ No newline at end of file diff --git a/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/service/ClientCodeServiceTest.java b/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/service/ClientCodeServiceTest.java index c362e1c41..14ff81d8c 100644 --- a/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/service/ClientCodeServiceTest.java +++ b/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/service/ClientCodeServiceTest.java @@ -26,7 +26,6 @@ import ru.spcex.clearing.account.config.validation.TradingClearingRegistryValida import ru.spcex.clearing.account.config.validation.ValidationConfig; import ru.spcex.clearing.account.utils.MatcherFactory; 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.ClientCodeNewRequest; import ru.spcex.clearing.platform.messaging.domain.cud.account.ClientCodeUpdateRequest; @@ -80,15 +79,10 @@ class ClientCodeServiceTest { private Imdg clientCodeImdg; - - // ****************************-******************* - @PostConstruct private void init() { hazelcastServiceTest.waitAvailable(); clientCodeImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_ClientCode, ClientCode.class); - - // Словари для теста, применяются в ValidationConfig putToDictionary(IMDGDistributedNames.Map_WorkflowStatusDictionary, new WorkflowStatusDictionary(), "ACTV"); putToDictionary(IMDGDistributedNames.Map_CompanySymbolDictionary, new CompanySymbolDictionary(), "CLRC"); putToDictionary(IMDGDistributedNames.Map_CorporationSoleTypeDictionary, new CorporationSoleTypeDictionary(), "GDIR"); @@ -129,7 +123,7 @@ class ClientCodeServiceTest { moneyAccount.setId(131L); moneyAccount.setAccount("AAAA-4444"); moneyAccount.setStatus("ACTV"); - moneyAccount.setCompanyId(COMPANY_ID); // для валидации принадлежности счёта + moneyAccount.setCompanyId(COMPANY_ID); accounts.insert(moneyAccount); ClearingAccount clsAcc = new ClearingAccount(); clsAcc.setId(moneyAccount.getId()); @@ -141,7 +135,7 @@ class ClientCodeServiceTest { depoAccount.setId(132L); depoAccount.setAccount("AAAB-44654"); depoAccount.setStatus("ACTV"); - depoAccount.setCompanyId(COMPANY_ID); // для валидации принадлежности счёта + depoAccount.setCompanyId(COMPANY_ID); accounts.insert(depoAccount); DepoAccount depoAcc = new DepoAccount(); depoAcc.setId(depoAccount.getId()); @@ -176,14 +170,8 @@ class ClientCodeServiceTest { } - /** - * {@link ClientCodeService#clientCodeUpdate(BaseRequest)}
- * Тест проверяет создание {@link ClientCode} в IMDG при передаче из Apache Kafka (очередь 1).
- * Входной запрос {@link ru.spcex.clearing.platform.messaging.domain.cud.account.ClientCodeNewRequest}:
- **/ @Test void clientCodeNew1() { - //ARRANGE final String ccCode = "Lucky planet"; ClientCodeNewRequest clientCodeNewRequest = new ClientCodeNewRequest(); clientCodeNewRequest.setCompanyId(COMPANY_ID); @@ -197,16 +185,9 @@ class ClientCodeServiceTest { predictableClientCode.setCode(ccCode); predictableClientCode.setStatus("ACTV"); predictableClientCode.setCompanyId(COMPANY_ID); -// predictableClientCode.setMoneyAccountId(131L); -// predictableClientCode.setDepoAccountId(132L); -// predictableClientCode.setTradingClearingRegistryId(TCR_ID); - - //ACT String jsonString = TestUtils.getJsonStringForNew(clientCodeNewRequest, ID); TestUtils.addRecordToKafka((MockConsumer) clientCodeService.getConsumer(), Consts.DESTINATION_CLIENT_CODE_NEW, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); ClientCode resultNew = clientCodeImdg.getFirstObjectBySQL(String.format("code = '%s'", ccCode)); predictableClientCode.setId(resultNew.getId()); @@ -214,14 +195,8 @@ class ClientCodeServiceTest { assertNotNull(resultNew.getCreated()); } - /** - * {@link ClientCodeService#clientCodeUpdate(BaseRequest)}
- * Тест проверяет создание {@link ClientCode} в IMDG при передаче из Apache Kafka (очередь 2).
- * Входной запрос {@link ru.spcex.clearing.platform.messaging.domain.cud.account.ClientCodeNewRequest}:
- **/ @Test void clientCodeNew2() { - //ARRANGE final String ccCode = "Lucky planet"; ClientCodeNewRequest clientCodeNewRequest = new ClientCodeNewRequest(); clientCodeNewRequest.setCompanyId(COMPANY_ID); @@ -235,16 +210,9 @@ class ClientCodeServiceTest { predictableClientCode.setCode(ccCode); predictableClientCode.setStatus("ACTV"); predictableClientCode.setCompanyId(COMPANY_ID); -// predictableClientCode.setMoneyAccountId(131L); -// predictableClientCode.setDepoAccountId(132L); -// predictableClientCode.setTradingClearingRegistryId(TCR_ID); - - //ACT String jsonString = TestUtils.getJsonStringForNew(clientCodeNewRequest, ID); TestUtils.addRecordToKafka((MockConsumer) clientCodeService.getConsumer(), Consts.DESTINATION_CLIENT_CODE_NEW_UM_COMPANY, PARTITION, 0, jsonString); - - //ASSERT TestUtils.waitingSendAndCheckRecord(ID, mockProducer, producerRecord); ClientCode resultNew = clientCodeImdg.getFirstObjectBySQL(String.format("code = '%s'", ccCode)); predictableClientCode.setId(resultNew.getId()); @@ -253,15 +221,8 @@ class ClientCodeServiceTest { } - /** - * {@link ClientCodeService#clientCodeUpdate(BaseRequest)}
- * Тест проверяет создание {@link ClientCode} в IMDG при передаче из Apache Kafka (очередь 1).
- * NEW с заполненными MoneyAccountId(131L), DepoAccountId(132L); - от этого будет создан ТКР. - * Входной запрос {@link ru.spcex.clearing.platform.messaging.domain.cud.account.ClientCodeNewRequest}:
- **/ @Test void clientCodeNew3() { - //ARRANGE final String ccCode = "Lucky planet2"; ClientCodeNewRequest clientCodeNewRequest = new ClientCodeNewRequest(); clientCodeNewRequest.setCompanyId(COMPANY_ID); @@ -278,13 +239,9 @@ class ClientCodeServiceTest { predictableClientCode.setMoneyAccountId(131L); predictableClientCode.setDepoAccountId(132L); predictableClientCode.setTradingClearingRegistryId(TCR_ID); - - //ACT String jsonString = TestUtils.getJsonStringForNew(clientCodeNewRequest, ID); TestUtils.addRecordToKafka((MockConsumer) clientCodeService.getConsumer(), Consts.DESTINATION_CLIENT_CODE_NEW, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); ClientCode resultNew = clientCodeImdg.getFirstObjectBySQL(String.format("code = '%s'", ccCode)); predictableClientCode.setId(resultNew.getId()); @@ -292,14 +249,8 @@ class ClientCodeServiceTest { assertNotNull(resultNew.getCreated()); } - /** - * {@link ClientCodeService#clientCodeUpdate(BaseRequest)}
- * Тест проверяет обновление сущности {@link ClientCode} в IMDG при передаче из Apache Kafka.
- * Входной запрос {@link ru.spcex.clearing.platform.messaging.domain.cud.account.ClientCodeUpdateRequest}:
- **/ @Test void clientCodeUpdate() { - //ARRANGE ClientCode existsClientCode = new ClientCode(); existsClientCode.setId(ID); existsClientCode.setCompanyId(COMPANY_ID); @@ -327,13 +278,9 @@ class ClientCodeServiceTest { predictableClientCode.setMoneyAccountId(131L); predictableClientCode.setDepoAccountId(132L); predictableClientCode.setStatus("ACTV"); - - //ACT String jsonString = TestUtils.getJsonStringForUpdate(clientCodeUpdateRequest, ID); TestUtils.addRecordToKafka((MockConsumer) clientCodeService.getConsumer(), Consts.DESTINATION_CLIENT_CODE_UPDATE, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); ClientCode resultUpdating = clientCodeImdg.getSingleObjectByID(ID); @@ -342,19 +289,12 @@ class ClientCodeServiceTest { } - /** - * {@link ClientCodeService#clientCodeUpdate(BaseRequest)}
- * Тест проверяет удаление {@link ClientCode} из IMDG при передаче из Apache Kafka.
- * Входной запрос {@link ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest}:
- **/ @Test void clientCodeDelete1() { - //ARRANGE ClientCode existsClientCode = new ClientCode(); existsClientCode.setId(ID); existsClientCode.setCompanyId(COMPANY_ID); existsClientCode.setCode("0000"); - // Если следующие поля заполнить, то дополнительно отправит сообщение в trading-clearing-registry-update: existsClientCode.setTradingClearingRegistryId(null); existsClientCode.setMoneyAccountId(null); existsClientCode.setDepoAccountId(null); @@ -365,56 +305,14 @@ class ClientCodeServiceTest { CommonDeleteRequest clientCodeDeleteRequest = new CommonDeleteRequest(); clientCodeDeleteRequest.setId(ID); - Assertions.assertNotNull(clientCodeImdg.getSingleObjectByID(ID)); // verify test data - - //ACT + Assertions.assertNotNull(clientCodeImdg.getSingleObjectByID(ID)); String jsonString = TestUtils.getJsonStringForUpdate(clientCodeDeleteRequest, ID); TestUtils.addRecordToKafka((MockConsumer) clientCodeService.getConsumer(), Consts.DESTINATION_CLIENT_CODE_DELETE, PARTITION, 0, jsonString); - //ASSERT - waitingSendAndCheckRecord(ID, mockProducer); ClientCode resultUpdate = clientCodeImdg.getSingleObjectByID(ID); Assertions.assertNull(resultUpdate); } -// /** -// * {@link ClientCodeService#clientCodeUpdate(BaseRequest)}
-// * Тест проверяет удаление {@link ClientCode} из IMDG при передаче из Apache Kafka.
-// * У ClientCode заполнены MoneyAccountId, DepoAccountId - по этому при удалении должно направиться дополнительное сообщение в очередь DESTINATION_TRADING_CLEARING_REGISTRY_UPDATE
-// * Входной запрос {@link ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest}:
-// **/ -// @Test -// void clientCodeDelete2() { -// //ARRANGE -// ClientCode existsClientCode = new ClientCode(); -// existsClientCode.setId(ID); -// existsClientCode.setCompanyId(COMPANY_ID); -// existsClientCode.setCode("0000"); -// // Если следующие поля заполнить, то дополнительно отправит сообщение в trading-clearing-registry-update: -// existsClientCode.setTradingClearingRegistryId(TCR_ID); -// existsClientCode.setMoneyAccountId(131L); -// existsClientCode.setDepoAccountId(132L); -// existsClientCode.setStatus("ACTV"); -// -// clientCodeImdg.insert(existsClientCode); -// -// CommonDeleteRequest clientCodeDeleteRequest = new CommonDeleteRequest(); -// clientCodeDeleteRequest.setId(ID); -// -// Assertions.assertNotNull(clientCodeImdg.getSingleObjectByID(ID)); // verify test data -// -// //ACT -// String jsonString = getJsonStringForUpdate(clientCodeDeleteRequest, ID); -// -// addRecordToKafka((MockConsumer) clientCodeService.getConsumer(), Consts.DESTINATION_CLIENT_CODE_DELETE, PARTITION, 0, jsonString); -// -// //ASSERT -// -// waitingWhenAddedRecordAndCheckIt(ID, mockProducer, producerRecord); -// ClientCode resultUpdate = clientCodeImdg.getSingleObjectByID(ID); -// Assertions.assertNull(resultUpdate); -// } - } \ No newline at end of file diff --git a/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/service/InformationAccountServiceTest.java b/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/service/InformationAccountServiceTest.java index 321b0ae0c..8bac18f8e 100644 --- a/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/service/InformationAccountServiceTest.java +++ b/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/service/InformationAccountServiceTest.java @@ -151,8 +151,6 @@ class InformationAccountServiceTest { PARTITION, 0, jsonString); - - //waiting for kafka producer send message (finale event) verify(producer, timeout(30_000L).times(2)) .send(producerRecord.capture()); diff --git a/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/service/TradingClearingRegistryServiceTest.java b/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/service/TradingClearingRegistryServiceTest.java index e9a2760f5..dda1694af 100644 --- a/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/service/TradingClearingRegistryServiceTest.java +++ b/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/service/TradingClearingRegistryServiceTest.java @@ -275,15 +275,11 @@ class TradingClearingRegistryServiceTest { tradingClearingRegistryUpdateRequest.setId(registryId); String jsonString = getJsonStringForUpdate(tradingClearingRegistryUpdateRequest, 0); - - //ACT addRecordToKafka((MockConsumer) tradingClearingRegistryService.getConsumer(), Consts.DESTINATION_TRADING_CLEARING_REGISTRY_UPDATE, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(0L, producer, producerRecord); TradingClearingRegistry resultUpdating = tradingClearingRegistryImdg.getSingleObjectByID(registryId); @@ -303,15 +299,11 @@ class TradingClearingRegistryServiceTest { tradingClearingRegistryDeleteRequest.setId(registryId); String jsonString = getJsonStringForDelete(tradingClearingRegistryDeleteRequest, 0); - - //ACT addRecordToKafka((MockConsumer) tradingClearingRegistryService.getConsumer(), Consts.DESTINATION_TRADING_CLEARING_REGISTRY_BLOCK, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(0L, producer, producerRecord); TradingClearingRegistry resultUpdating = tradingClearingRegistryImdg.getSingleObjectByID(registryId); diff --git a/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/utils/ImapEvent.java b/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/utils/ImapEvent.java index c018ead9a..9ba27cb14 100644 --- a/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/utils/ImapEvent.java +++ b/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/utils/ImapEvent.java @@ -39,14 +39,13 @@ public class ImapEvent { } public void waitWhenHappened() throws InterruptedException { - //running timer task as daemon thread Timer timer = new Timer(true); timer.scheduleAtFixedRate(new TimerTask() { boolean secondRan; @Override public void run() { - checkEventHappened.set(secondRan);//если что-то пойдет не так не тормозить основной поток + checkEventHappened.set(secondRan); secondRan = true; } }, 0, 30 * 1000); @@ -55,7 +54,6 @@ public class ImapEvent { checkEventHappened.wait(100); } } - //preparing hazelcastImdgProvider for next test iMap.removeEntryListener(listenerAdding); iMap.removeEntryListener(listenerUpdating); iMap.removeEntryListener(listenerRemoving); diff --git a/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/utils/MatcherFactory.java b/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/utils/MatcherFactory.java index b2d1a4fdc..c6777890f 100644 --- a/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/utils/MatcherFactory.java +++ b/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/utils/MatcherFactory.java @@ -4,11 +4,6 @@ import java.util.Arrays; import static org.assertj.core.api.Assertions.assertThat; -/** - * Factory for creating test matchers. - *

- * Comparing actual and expected objects via AssertJ - */ public class MatcherFactory { public static Matcher usingIgnoringFieldsComparator(String... fieldsToIgnore) { diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/BackendApiApplication.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/BackendApiApplication.java index 2264ef140..51d73307d 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/BackendApiApplication.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/BackendApiApplication.java @@ -26,7 +26,6 @@ public class BackendApiApplication extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { setKeycloakConfigFile(); - // springApplicationBuilder.initializers(DfaConfig.get().getLoggingInitializer()); return builder.sources(BackendApiApplication.class); } @@ -35,9 +34,6 @@ public class BackendApiApplication extends SpringBootServletInitializer { return super.run(application); } - /** - * чтобы переместить настройки keycloak в keycloak.json вместо application.properties - */ private static void setKeycloakConfigFile() { System.setProperty("keycloak.configurationFile", "classpath:keycloak.json"); } diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/config/WebConfig.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/config/WebConfig.java index 5a4e2c0d8..28c747125 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/config/WebConfig.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/config/WebConfig.java @@ -22,7 +22,6 @@ import java.util.function.Consumer; @SuppressWarnings("Duplicates") @Configuration @EnableWebMvc -//todo remove? see ClearingCorsFilter @CrossOrigin public class WebConfig implements WebMvcConfigurer { private final MappingJackson2HttpMessageConverter customJsonHttpConverter; diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/AbstractQueueController.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/AbstractQueueController.java index 7c4452737..f8ed93b38 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/AbstractQueueController.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/AbstractQueueController.java @@ -4,7 +4,6 @@ import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse; import ru.spcex.clearing.backendapi.domain.actions.IAction; import ru.spcex.clearing.backendapi.service.IOperator; -import java.util.Objects; import java.util.concurrent.ExecutionException; public abstract class AbstractQueueController { @@ -22,9 +21,6 @@ public abstract class AbstractQueueController { return responseToClient; } - /** - * Для оптимизации передачи userId - */ protected CudResponse processRequest(String destination, IAction iAction, Long userId) throws ExecutionException, InterruptedException { CudResponse responseToClient = new CudResponse(); responseToClient.setPayload(operator.sendRequestToQueue(destination, iAction, userId)); diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/LauncherController.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/LauncherController.java index 00ef3b49f..888602a1c 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/LauncherController.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/LauncherController.java @@ -82,8 +82,6 @@ public class LauncherController extends AbstractQueueController { } launcherCommand.setTask(dictionaryName); launcherCommand.setUserId(user.getId()); - //топики ограничиваются наличием в taskDictionary - //подписываются на разные топики в разных модулях, см. ru.spcex.platform.enumeration.Task#topic return processRequest(Consts.LAUNCHER_NEW, launcherCommand); } diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/securities/SecurityController.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/securities/SecurityController.java index f3b7a523a..d90211d3f 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/securities/SecurityController.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/securities/SecurityController.java @@ -11,7 +11,6 @@ import org.springframework.web.bind.annotation.ResponseBody; import ru.clearing.classes.statics.data.instrument.issue.EquitySecurity; import ru.clearing.classes.statics.data.instrument.issue.FixedIncomeSecurity; import ru.clearing.classes.statics.data.security.MoneyMarketSecurity; -import ru.clearing.classes.statics.data.security.Security; import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse; import ru.spcex.clearing.backendapi.service.IStateLoader; import ru.spcex.clearing.imdg.IMDGDistributedNames; @@ -20,9 +19,6 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Map; -/** - * SecurityController и MoneyMarketSecurityController разные контроллеры, не путать. - */ @Controller @RequestMapping("/securities") public class SecurityController { diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/user/UserController.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/user/UserController.java index ca48a838f..9b1dc6e24 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/user/UserController.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/user/UserController.java @@ -90,10 +90,6 @@ public class UserController extends AbstractQueueController { log.warn("user {} sended update request for user {}", username, userUpdateAction.getUsername()); throw new IllegalStateException("cannot perform delete action for " + username); } -// User user = userImdg.getSingleObjectByFieldValues(Map.of("identifier", username)); -// if (user == null) { -// log.info("update user {} authenticated, but User object was not created", username); -// } return processRequest(Consts.USER_UPDATE, userUpdateAction); } diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/utilities/StatementController.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/utilities/StatementController.java index df1cd0349..4a4606b80 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/utilities/StatementController.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/utilities/StatementController.java @@ -58,8 +58,6 @@ public class StatementController extends AbstractQueueController { Optional statement = stateLoader.getById(id, IMDGDistributedNames.Map_Statement, Statement.class); CommonGetByIdResponse response = new CommonGetByIdResponse(); if (statement.isEmpty()) { - //можно так, либо response.setCode(404); response.setMessage("blabla"); но тогда еще нужно - //отдельно HTTP статус проставлять throw new NotFound404Exception(String.valueOf(id)); } Statement stmt = statement.get(); diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/company/CompanyBackendGetAll.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/company/CompanyBackendGetAll.java index aa69dd436..2f5783e82 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/company/CompanyBackendGetAll.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/company/CompanyBackendGetAll.java @@ -4,7 +4,6 @@ import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import ru.clearing.classes.statics.data.company.Company; -import ru.clearing.classes.statics.data.profile.CompanyInfo; import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse; import java.util.ArrayList; @@ -51,25 +50,6 @@ public class CompanyBackendGetAll extends BasicSpcexResponse { singleItem.setFullName(company.getFullName()); singleItem.setCreated(company.getCreated()); singleItem.setUpdated(company.getUpdated()); -// CompanyInfo profile = company.getProfile(); -// if (profile != null) { -// singleItem.setCorporationSoleType(profile.getCorporationSoleType()); -// singleItem.setCountryCode(profile.getCountryCode()); -// singleItem.setDescription(profile.getDescription()); -// singleItem.setProfessionalSign(profile.getProfessionalSign()); -// singleItem.setLegalKind(profile.getLegalKind()); -// singleItem.setOrganizationType(profile.getOrganizationType()); -// singleItem.setResidence(profile.getResidence()); -// singleItem.setShortNameEng(profile.getShortNameEng()); -// singleItem.setFullNameEng(profile.getFullNameEng()); -// } - /* todo - CompanySymbol companySymbol = ; - if (companySymbol!=null) { - - singleItem.setCompanySymbol(profile.getCompanySymbol()); - singleItem.setCompanySymbolValue(profile.getCompanySymbolValue()); - }*/ payload.getItems().add(singleItem); } diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/registry/TradingClearingRegistryBackendGetById.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/registry/TradingClearingRegistryBackendGetById.java index d734efa4e..8c7b667f8 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/registry/TradingClearingRegistryBackendGetById.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/registry/TradingClearingRegistryBackendGetById.java @@ -6,12 +6,6 @@ import io.swagger.annotations.ApiModelProperty; import ru.clearing.classes.statics.data.registry.TradingClearingRegistry; import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse; -/** - * Банковские реквизиты для перечисления денежных средств - * - * @ApiModel(description = "Ответ в результате отправки операции в топик Kafka.") - * @ApiModelProperty(value = "Информация о принятом запросе") - **/ @ApiModel(description = "Ответ при получении объекта TradingClearingRegistry.") public class TradingClearingRegistryBackendGetById extends BasicSpcexResponse { diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/system/RequestInfoResponse.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/system/RequestInfoResponse.java index ed21ea44d..acfa20685 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/system/RequestInfoResponse.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/system/RequestInfoResponse.java @@ -9,11 +9,6 @@ import ru.spcex.clearing.platform.messaging.domain.json.serialize.EnumSerializer import ru.spcex.clearing.platform.messaging.service.Status; -/** - * Банковские реквизиты для перечисления денежных средств - * @ApiModel(description = "Ответ в результате отправки операции в топик Kafka.") - * @ApiModelProperty(value = "Информация о принятом запросе") - **/ @ApiModel(description = "Ответ при получении статуса запроса.") public class RequestInfoResponse extends BasicSpcexResponse { diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/filter/ClearingCorsFilter.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/filter/ClearingCorsFilter.java index b0346ffd0..c55150448 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/filter/ClearingCorsFilter.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/filter/ClearingCorsFilter.java @@ -19,18 +19,14 @@ import java.io.IOException; public class ClearingCorsFilter extends OncePerRequestFilter { private final Logger log = LoggerFactory.getLogger(getClass()); -// private final AConfigurationProperties configuration; - //todo cors settings - private final String[] meth = new String[] {};//"*" - private final String[] orig = new String[] {};//"/**" +private final String[] meth = new String[] {}; + private final String[] orig = new String[] {}; private final String[] head = new String[] {}; private final CorsAllowedOriginsService allowedOriginsService; public ClearingCorsFilter( -// AConfigurationProperties configuration, CorsAllowedOriginsService allowedOriginsService ) { -// this.configuration = configuration; this.allowedOriginsService = allowedOriginsService; } @@ -63,21 +59,7 @@ public class ClearingCorsFilter extends OncePerRequestFilter { log.trace("cors filter -> effectiveOrigin={}", effectiveOrigin); if (effectiveOrigin != null) { setHeaderValue(httpServletResponse, H_ACCESS_CONTROL_ALLOW_ORIGIN, effectiveOrigin); - -// String methods; -// if (meth.length > 0) { -// methods = String.join(", ", meth).toUpperCase(Locale.ROOT); -// } else { -// methods = "*"; -// } setHeaderValue(httpServletResponse, H_ACCESS_CONTROL_ALLOW_METHODS, "*"); - -// String headers; -// if (head.length > 0) { -// headers = String.join(", ", head).toLowerCase(Locale.ROOT); -// } else { -// headers = "*"; -// } setHeaderValue(httpServletResponse, H_ACCESS_CONTROL_ALLOW_HEADERS, "*"); setHeaderValue(httpServletResponse, H_ACCESS_CONTROL_ALLOW_CREDENTIALS, "true"); diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/filter/CorsAllowedOriginsService.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/filter/CorsAllowedOriginsService.java index a6e40a570..90d294c51 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/filter/CorsAllowedOriginsService.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/filter/CorsAllowedOriginsService.java @@ -12,7 +12,6 @@ public class CorsAllowedOriginsService { private final List originPatterns = new ArrayList<>(); - //todo cors settings public CorsAllowedOriginsService() { for (String originRegex : new String[]{".*"}) { originPatterns.add(Pattern.compile(originRegex)); diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/meta/ActionElement.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/meta/ActionElement.java index 8fa0523be..05e1aeeb3 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/meta/ActionElement.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/meta/ActionElement.java @@ -22,8 +22,6 @@ public class ActionElement { @JsonInclude(JsonInclude.Include.NON_EMPTY) private Boolean isArray = null; - // @JsonProperty(value = "fields", required = true) -// private List> fields = new LinkedList<>(); @JsonProperty(value = "fields", required = true) private List fields = new LinkedList<>(); diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/meta/CudMetaService.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/meta/CudMetaService.java index 97b823e53..2aaa558e0 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/meta/CudMetaService.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/meta/CudMetaService.java @@ -10,9 +10,6 @@ import ru.spcex.clearing.platform.messaging.domain.Consts; import java.util.HashMap; import java.util.Map; -/** - * todo временная заглушка: нужно добавить парсинг meta.xml и получать инфу оттуда - */ @Service public class CudMetaService { private final Map>> mapping; diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/meta/FieldExtracted.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/meta/FieldExtracted.java index bb2bfe495..87b1c317a 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/meta/FieldExtracted.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/meta/FieldExtracted.java @@ -58,10 +58,6 @@ public abstract class FieldExtracted { if (result == null) break; } - - //fixme somehow externalize custom serialization for type - // тут нужно вернуть список id объектов а не список самих объектов для случая - // - add(r, "addresseeId", o.getAddressee() == null ? null : o.getAddressee().stream().map(ObjectBase::getId).collect(Collectors.toSet()), fieldFilter); if (result instanceof Set && ((Set) result).size() > 0) { try { Set t = new HashSet(); @@ -70,7 +66,7 @@ public abstract class FieldExtracted { t.add(citem.getMethod(RfHelper.GETTER_NAME_ID).invoke(item)); } result = t; - } catch (Throwable ignored) {// вернем сами объекты + } catch (Throwable ignored) { } } else if (result instanceof LocalDate) { result = result.toString(); diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/meta/GetResponseFactory.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/meta/GetResponseFactory.java index 557ae545e..6d633b536 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/meta/GetResponseFactory.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/meta/GetResponseFactory.java @@ -34,9 +34,6 @@ public class GetResponseFactory { .collect(Collectors.toList()); } - /** - * dictionaryName - это имя тэга внутри - */ public Map responseFromDictionary(String dictionaryName, Object o) { ObjectExtracted objectExtracted = meta.getEnumsExtractedByTagName().get(dictionaryName); if (objectExtracted == null) { @@ -53,12 +50,6 @@ public class GetResponseFactory { return responseFromObjectExtracted(o, objExtr); } - /** - * Варианты методов с Class сделаны для сценариев, когда хотим распарсить объект, - * по мете для родительского класса объекта - * Т.е. вместо извлечение класса o.getClass, берем clazz извне. clazz - base class для o - * - */ public Collection> responseFromObjectCollection(Collection o, Class clazz) { return o.stream() .map((Function>) o1 -> responseFromObject(o1, clazz)) @@ -82,7 +73,6 @@ public class GetResponseFactory { continue; } currentField = field; -// if (fieldsToAdd.contains(field.getField().getCode())) { try { add(r, field, field.extractValue(o)); } catch (Throwable e) { @@ -95,7 +85,6 @@ public class GetResponseFactory { ))) ); } -// } } } catch (Exception e) { log.error(ExceptionUtils.getStackTrace(e)); @@ -134,45 +123,4 @@ public class GetResponseFactory { .ofPattern("yyyy-MM-dd'T'HH:mm:ss+03:00") .withLocale(Locale.US) .withZone(ZoneId.of("Europe/Moscow")); - - -// public Map newX(Object o, Collection fieldFilter, String destination) { -// ObjectExtracted targetClazz = getTargetClazz(o, destination); -// if (targetClazz == null) -// throw new FrontendException(String.format("Unknown response class: %s", o.getClass().getName())); -// Collection fieldsToAdd = getFilteredFields(targetClazz, fieldFilter); -// Map r = new LinkedHashMap<>(); -// FieldExtracted currentField = null; -// try { -// for (FieldExtracted field : targetClazz.getFields()) { -// if (field.getField().isVirtual() != null && field.getField().isVirtual()) { -// continue; -// } -// currentField = field; -// if (fieldsToAdd.contains(field.getField().getCode())) { -// try { -// add(r, field.getField().getCode(), field.extractValue(o)); -// } catch (Throwable e) { -// log.warn(ExceptionUtils.getStackTrace( -// new FrontendException(String.format("Can't extract value for field='%s' of %s(%s): %s -> %s\n%s", -// field.getField().getCode(), -// o.getClass().getSimpleName(), targetClazz.getClazz().getSimpleName(), -// e.getClass().getSimpleName(), e.getLocalizedMessage(), -// JsonHelper.writeAnyClassToLog(currentField) -// ))) -// ); -// } -// } -// } -// } catch (FrontendException e) { -// throw e; -// } catch (Throwable e) { -// throw new FrontendException(String.format("Can't get field of %s(%s): %s -> %s\n%s", -// o.getClass().getSimpleName(), targetClazz.getClazz().getSimpleName(), -// e.getClass().getSimpleName(), e.getLocalizedMessage(), -// JsonHelper.writeAnyClassToLog(currentField) -// )); -// } -// return r; -// } } diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/meta/MetaServer.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/meta/MetaServer.java index 82557d2ba..fddf1c8fb 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/meta/MetaServer.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/meta/MetaServer.java @@ -82,7 +82,7 @@ public class MetaServer extends MetaBase { log.warn("META SERVER >>> {}", e.getLocalizedMessage()); continue; } - String actionDestination = // обычно бывают =null о этому эффективнее по имени класса а не по: objectElement.getSubscription().destination + "/"+ actionElement.getDestination(); + String actionDestination = oe.getClassName(); actionObjectsExtracted.put(actionDestination, oe); } @@ -101,20 +101,6 @@ public class MetaServer extends MetaBase { log.warn("{} {}", key, ExceptionUtils.getStackTrace(e)); continue; } - /** - * можно было бы хранить только для нестандартных словарей (где не только id, name, code) - */ -// List dictFields = oe.getFields(); -// boolean add = false; -// for (FieldExtracted dictField : dictFields) { -// if (!dictionaryDefaultFields.contains(dictField.getMemberName())) { -// add = true; -// break; -// } -// } -// if (add) { -// enumsExtractedByTagName.put(key, oe); -// } enumsExtractedByTagName.put(key, oe); } @@ -127,7 +113,6 @@ public class MetaServer extends MetaBase { if (!RfHelper.isAbstract(o.getClazz())) { try { Object instance = newInstance(o.getClassName()); - // создается успешно. } catch (Throwable e) { log.warn("META SERVER >>> Не удается создать класс {} !", o.getClassName()); } @@ -139,32 +124,8 @@ public class MetaServer extends MetaBase { throw new ClearingMetaServerValidationException(e.getLocalizedMessage()); } } -// -// for (ObjectExtracted o : this.actionObjectsExtracted.values()) { -// try { -// if (!RfHelper.isAbstract(o.getClazz())) { -// try { -// Object instance = newInstance(o.getClassName()); -// // создается успешно. -// } catch (Throwable e) { -// log.warn("META SERVER ACTION >>> Не удается создать класс {} !", o.getClassName()); -// } -// } -// validateGetterForObject(o); -// } catch (ClrxMetaServerGetterNotFoundException e) { -// throw e; -// } catch (Throwable e) { -// throw new ClearingMetaServerValidationException(e.getLocalizedMessage()); -// } -// } } - /** - * проверим наличие геттеров к полям - * - * @param o - * @throws ClassNotFoundException - */ private void validateGetterForObject(ObjectExtracted o) throws ClassNotFoundException { for (FieldExtracted field : o.getFields()) { Class c = o.getClazz(); diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/meta/RfHelper.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/meta/RfHelper.java index 96aeed6b0..2b472f02d 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/meta/RfHelper.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/meta/RfHelper.java @@ -47,7 +47,7 @@ public class RfHelper { Class raw = Class.forName(((ParameterizedType) t).getRawType().getTypeName()); if (BUSINESS_OBJECT_REF.equals(raw.getSimpleName())) { return Class.forName(((ParameterizedType) t).getActualTypeArguments()[0].getTypeName()); - } else if ("Set".equals(raw.getSimpleName())) { // множества пока не распаковываем + } else if ("Set".equals(raw.getSimpleName())) { return Class.forName(raw.getName()); } } diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/security/KeycloakRestTemplateAuthenticationProvider.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/security/KeycloakRestTemplateAuthenticationProvider.java index 9c1f3d891..63666b46f 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/security/KeycloakRestTemplateAuthenticationProvider.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/security/KeycloakRestTemplateAuthenticationProvider.java @@ -85,7 +85,6 @@ public class KeycloakRestTemplateAuthenticationProvider implements Authenticatio throw new AuthenticationServiceException("keycloak direct access grant auth failed: bad token"); } AccessToken accessToken = AdapterTokenVerifier.verifyToken(accessTokenString, deployment); - //todo cors settings accessToken.setAllowedOrigins(Collections.singleton("*")); RefreshableKeycloakSecurityContext skSession = new RefreshableKeycloakSecurityContext(deployment, null, accessTokenString, accessToken, null, null, refreshTokenString); diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/security/KeycloakUtils.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/security/KeycloakUtils.java index f80fe11dc..8132447bc 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/security/KeycloakUtils.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/security/KeycloakUtils.java @@ -4,18 +4,17 @@ import org.keycloak.KeycloakPrincipal; import org.keycloak.adapters.spi.KeycloakAccount; import org.keycloak.adapters.springsecurity.token.KeycloakAuthenticationToken; import org.slf4j.Logger; -import org.slf4j.LoggerFactory;; +import org.slf4j.LoggerFactory; import org.springframework.security.core.Authentication; +; + public class KeycloakUtils { static Logger log = LoggerFactory.getLogger(KeycloakUtils.class); - /** - * Достать username из Keycloak имплементации Authentication - */ public static String getUserNameFromAuthentication(Authentication authentication) { if (authentication == null) return null; - if (!(authentication instanceof KeycloakAuthenticationToken)) { // AnonymousAuthenticationToken + if (!(authentication instanceof KeycloakAuthenticationToken)) { log.trace("Authentication token class {} is not KeycloakAuthenticationToken", authentication.getClass().getName()); return null; } diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/security/LoginController.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/security/LoginController.java index b12d59ad4..6e8530f4f 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/security/LoginController.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/security/LoginController.java @@ -20,11 +20,6 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Map; -/** - * при bearer only false - * клиент сюда не попадает - * срабатывает KeycloakAuthenticationProvider с редиректом на логин keycloak - */ @Controller @RequestMapping("/sso") public class LoginController { diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/security/RestTemplateConfig.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/security/RestTemplateConfig.java index 9d738a5b4..78340e4e5 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/security/RestTemplateConfig.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/security/RestTemplateConfig.java @@ -17,9 +17,6 @@ public class RestTemplateConfig { this.builder = builder; } - /** - * В настоящий момент используется для выгрузки AFS данных - */ @Bean("clearing-rest") public RestTemplate restTemplate() { return builder diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/security/SimpleUserDetailService.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/security/SimpleUserDetailService.java index 484a15861..1f1342199 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/security/SimpleUserDetailService.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/security/SimpleUserDetailService.java @@ -6,10 +6,8 @@ import org.springframework.stereotype.Component; @Component public class SimpleUserDetailService -// implements UserDetailsService { -// @Override - public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { +public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { return null; } } diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/security/WebSecurityConfig.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/security/WebSecurityConfig.java index 2100f9166..381e97c7b 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/security/WebSecurityConfig.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/security/WebSecurityConfig.java @@ -52,11 +52,7 @@ public class WebSecurityConfig extends KeycloakWebSecurityConfigurerAdapter { protected void configure(HttpSecurity http) throws Exception { super.configure(http); ExpressionUrlAuthorizationConfigurer.AuthorizedUrl anyReq = http -// .formLogin() -// .loginProcessingUrl("/backend-api-login/perform-login") -// .and() - //todo remove? see ClearingCorsFilter - .cors() +.cors() .and() .csrf().disable() .authorizeRequests() @@ -84,7 +80,6 @@ public class WebSecurityConfig extends KeycloakWebSecurityConfigurerAdapter { @Bean public GrantedAuthorityDefaults grantedAuthorityDefaults() { - // Remove the ROLE_ prefix return new GrantedAuthorityDefaults(""); } diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/IOperator.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/IOperator.java index 55257c2ac..570dddf09 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/IOperator.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/IOperator.java @@ -8,16 +8,5 @@ import java.util.concurrent.ExecutionException; public interface IOperator { QueueSuccessResponse sendRequestToQueue(String destination, IAction iAction, boolean appendUserId) throws ExecutionException, InterruptedException; - /** - * Для оптимизации проставления userId. - * Аналог sendRequestToQueue(String destination, IAction iAction, true) - * - * @param destination - * @param iAction - * @param userId совершивший запрос - * @return - * @throws ExecutionException - * @throws InterruptedException - */ QueueSuccessResponse sendRequestToQueue(String destination, IAction iAction, Long userId) throws ExecutionException, InterruptedException; } diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/IStateLoader.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/IStateLoader.java index 837b525c8..c37fd957f 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/IStateLoader.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/IStateLoader.java @@ -6,9 +6,6 @@ import java.util.Collection; import java.util.Map; import java.util.Optional; -/** - * сделал чтобы не привязывать все контроллеры к Imdg API - */ public interface IStateLoader { Optional getById(Long id, String mapName, Class clazz); Collection getAll(String mapName, Class clazz); diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/RequestInfoAccepter.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/RequestInfoAccepter.java index 698d281a6..09761db61 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/RequestInfoAccepter.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/RequestInfoAccepter.java @@ -35,7 +35,6 @@ public class RequestInfoAccepter extends QueueConsumer implements InitializingBe } private void updateRequestInfo(BaseRequest requestInfoUpdateBaseRequest) { - //will throw exception for any class other than RequestInfoUpdate RequestInfoUpdate statusInfo = requestInfoUpdateBaseRequest.getRequestPayload(); RequestInfo requestInfo = requestInfoImdg.getSingleObjectByID(statusInfo.getId()); if (requestInfo == null) { diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/UserAuthProcessor.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/UserAuthProcessor.java index ba9789792..6f961f8ed 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/UserAuthProcessor.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/UserAuthProcessor.java @@ -40,7 +40,7 @@ public class UserAuthProcessor { requestData.setUsername(identifier); requestData.setTime(Instant.now()); requestData.setRoles(new ArrayList<>(roles)); - requestData.setServerIp(serverIp + ":" + serverPort); //getServerAddress() + ":" + serverPort + requestData.setServerIp(serverIp + ":" + serverPort); requestData.setClientIp(userIp); requestData.setEmail(email); requestData.setName(name); @@ -48,7 +48,7 @@ public class UserAuthProcessor { requestData.setMiddleName(middleName); try { operator.sendRequestToQueue(Consts.USER_AUTH_SUCCESS, authEvent, false); - } catch (Throwable e) { //ExecutionException | InterruptedException + } catch (Throwable e) { log.error(ExceptionUtils.getStackTrace(e)); } } diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/impl/OperatorImpl.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/impl/OperatorImpl.java index 69ce3c58d..50b11f657 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/impl/OperatorImpl.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/impl/OperatorImpl.java @@ -62,10 +62,8 @@ public class OperatorImpl implements IOperator { if (user == null) { log.warn("UserID not found by login \"{}\"", username); return null; - //throw new IllegalStateException("cannot obtain userId from logged in user " + username); } return user.getId(); - // todo добавить кэш, с очисткой по времени } @Override @@ -78,7 +76,6 @@ public class OperatorImpl implements IOperator { if (appendUserId) { request.setUserId(currentUserId()); } - //сохраняет данные о запросе в хранилище saveRequestToStorage(destination, request); Future send = kafka.send(new ProducerRecord<>(destination, request)); send.get(); @@ -98,7 +95,6 @@ public class OperatorImpl implements IOperator { } else { request.setUserId(userId); } - //сохраняет данные о запросе в хранилище saveRequestToStorage(destination, request); Future send = kafka.send(new ProducerRecord<>(destination, request)); send.get(); @@ -114,12 +110,10 @@ public class OperatorImpl implements IOperator { } private void throwValidate(String destination, IAction iAction) { - //простая валидация - которую можно запилить прямо внутри класса (наличие полей, отношения между датами etc.) Collection validationErrors = iAction.validate(); if (validationErrors.size() > 0) { throw new ActionValidationException(validationErrors); } - // Валидация по мете (рекомендуется использовать её,а не iAction.validate(); IValidator metaValidator = actionMetaValidation.getValidator(destination, iAction); if (metaValidator != null) { metaValidator.tillFirstError().ifPresent(enumMessage -> { @@ -130,8 +124,6 @@ public class OperatorImpl implements IOperator { } }); } - - //валидация требующая IMDG поиска других сущностей и т.д. IValidator validator = validation.getValidator(destination, iAction); if (validator != null) { validator.tillFirstError().ifPresent(enumMessage -> { diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/validation/ActionMetaValidation.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/validation/ActionMetaValidation.java index e74398bf2..fddde2877 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/validation/ActionMetaValidation.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/service/validation/ActionMetaValidation.java @@ -25,9 +25,6 @@ import java.util.Map; import java.util.Optional; import java.util.function.Function; -/** - * Проверка обязательности полей для IAction по мете - */ @Component public class ActionMetaValidation implements InitializingBean { protected static final Logger log = LoggerFactory.getLogger(ActionMetaValidation.class); @@ -55,8 +52,7 @@ public class ActionMetaValidation implements InitializingBean { public IValidator getValidator(String destination, Object action) { if (action == null) return null; - //if (destination == null) destination = action.getClass().getName(); - String actionDestination = action.getClass().getName(); // см. реализацию в MetaServer String actionDestination =... + String actionDestination = action.getClass().getName(); Function constructor = (Function) validators.get(actionDestination); if (constructor != null) return constructor.apply(action); @@ -70,10 +66,8 @@ public class ActionMetaValidation implements InitializingBean { private Function validatorConstructor(ObjectExtracted metaAction) { if (!metaAction.getFields().stream().anyMatch(field -> isTrue(field.getField().isRequired()))) { log.debug("Action {}: no any required fields. Do not need validator.", metaAction.getClassName()); - // нет обязательных полей для валидации return null; } - // Тестирование getter { Object object; try { @@ -98,7 +92,6 @@ public class ActionMetaValidation implements InitializingBean { ctx.setValidatedObject(iAcc); ValidatorImpl> iValidator = new ValidatorImpl(ctx); iValidator.addRule(metaValidatorRule); - // в дальнейшем можно улучшить и разделить валидатор по полям return iValidator; }; } @@ -119,12 +112,9 @@ public class ActionMetaValidation implements InitializingBean { Object value = field.extractValue(object); if (value == null) return of(BackEndError.ValidationError, field.getMemberName()); -// if (value instanceof String && ((String)value).isEmpty()) // пустое поле, но не null -// return of(BackEndError.ValidationError, field.getMemberName()); } } catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException e) { if (object instanceof MoneyMarketSecurityUpdateAction) { - //todo в мете для moneyMarketSecurity / actions / put / для поля lotSize field="securityId" исключение - там надо оставить field, требуется для frontend if (((MoneyMarketSecurityUpdateAction) object).getLotSize() == null) return of(BackEndError.ValidationError, "LotSize"); } else { diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/AbstractControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/AbstractControllerTest.java index e28e28add..742466eaa 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/AbstractControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/AbstractControllerTest.java @@ -81,14 +81,11 @@ import static ru.spcex.clearing.test.json.MatcherFactoryWithJson.usingIgnoringFi @ContextConfiguration(classes = { - //account AccountController.class, BankAccountController.class, ClearingAccountController.class, DepoAccountController.class, - //account misc ClientCodeController.class, - //company CompanyRoleSetController.class, CompanyController.class, ClearingMemberCategoryController.class, @@ -97,24 +94,18 @@ import static ru.spcex.clearing.test.json.MatcherFactoryWithJson.usingIgnoringFi ContactController.class, ProfileDocumentController.class, RelationController.class, - //execution ExecutionDepositController.class, ExecutionFondController.class, - //journal InDocumentJournalController.class, ManagementJournalController.class, OutDocumentJournalController.class, - //liabilities - //misc CurrencyController.class, ErrorTextController.class, ListingController.class, MarketController.class, NotificationController.class, SessionController.class, - //payment PaymentInstructionController.class, - //register AdmittedLiabilitiesRegisterController.class, CoveredLiabilitiesRegisterController.class, DepoBalanceRegisterController.class, @@ -125,16 +116,13 @@ import static ru.spcex.clearing.test.json.MatcherFactoryWithJson.usingIgnoringFi MoneyBalanceRegisterController.class, ContractRegisterController.class, ReportRegisterController.class, - //registry RegistryController.class, TradingClearingRegistryController.class, - //scheduler ClearingCalendarController.class, LauncherController.class, PlannerAllTodayController.class, PlannerController.class, PlannerTemplateController.class, - //securities MoneyMarketSecurityController.class, CouponPeriodController.class, EquitySecurityController.class, @@ -142,13 +130,10 @@ import static ru.spcex.clearing.test.json.MatcherFactoryWithJson.usingIgnoringFi FixedIncomeSecurityController.class, InformationAccountController.class, SecurityController.class, - //user UserController.class, UserRoleSessionController.class, - //utilities StatementController.class, UserSettingsController.class, - //******* common configs ******* WebTestConfig.class, IOperatorTest.class, HazelcastServiceTestConfiguration.class, @@ -156,10 +141,8 @@ import static ru.spcex.clearing.test.json.MatcherFactoryWithJson.usingIgnoringFi WebSecurityTestConfigurer.class, MessagesTestConfig.class, Jackson2HttpConverterTestConfig.class}) -//todo может быть указать пакедж а не список контроллеров @ExtendWith(SpringExtension.class) @WebMvcTest -//@TestPropertySource(properties = "spring.config.location=D:/repo/mfd/clearing/clearing-parent/backend-api/src/main/resources/") public abstract class AbstractControllerTest { protected static final MatcherFactoryWithJson.Matcher BASE_REQUEST_MATCHER = usingIgnoringFieldsComparatorForClass(BaseRequest.class,"userId"); protected static final MatcherFactoryWithJson.Matcher CUD_RESPONSE_MATCHER = usingIgnoringFieldsComparatorForClass(CudResponse.class); @@ -200,8 +183,7 @@ public abstract class AbstractControllerTest { mockMvc = MockMvcBuilders .webAppContextSetup(webApplicationContext) .addFilter(CHARACTER_ENCODING_FILTER) -// .apply(springSecurity()) - .build(); +.build(); TestUtils.FutureRecordMetadata future = spy(TestUtils.FutureRecordMetadata.class); doReturn(future).when(producer).send(producerRecord.capture()); userImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_User, User.class); @@ -225,15 +207,12 @@ public abstract class AbstractControllerTest { CudResponse expected = new CudResponse(); expected.setCode(0L); expected.setMessage("success"); - //ACT MvcResult mvcResult = perform(MockMvcRequestBuilders.post(REST_URL) .contentType(MediaType.APPLICATION_JSON) .content(writeValue(action))) - .andDo(print())//output to the log request and response - //ASSERT + .andDo(print()) .andExpect(status().isOk()) .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) - //.andExpect(content().json(writeValue(expected))) .andReturn(); CudResponseTest cudResponseTest = readValue(mvcResult.getResponse().getContentAsString(), CudResponseTest.class); expected.setPayload(new QueueSuccessResponse(ActionType.NEW, cudResponseTest.getPayload().getId())); @@ -245,16 +224,12 @@ public abstract class AbstractControllerTest { expected.setCode(0L); expected.setMessage("success"); expected.setPayload(new QueueSuccessResponse(ActionType.UPDATE, currentId.getAndIncrement())); - - //ACT MvcResult mvcResult = perform(MockMvcRequestBuilders.put(REST_URL + existsId) .contentType(MediaType.APPLICATION_JSON) .content(writeValue(action))) - .andDo(print())//output to the log request and response - //ASSERT + .andDo(print()) .andExpect(status().isOk()) .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) - //.andExpect(content().json(writeValue(expected))); .andReturn(); CudResponseTest cudResponseTest = readValue(mvcResult.getResponse().getContentAsString(), CudResponseTest.class); expected.setPayload(new QueueSuccessResponse(ActionType.UPDATE, cudResponseTest.getPayload().getId())); @@ -273,16 +248,12 @@ public abstract class AbstractControllerTest { expected.setCode(0L); expected.setMessage("success"); expected.setPayload(new QueueSuccessResponse(ActionType.UPDATE, currentId.getAndIncrement())); - - //ACT MvcResult mvcResult = perform(MockMvcRequestBuilders.put(REST_URL) .contentType(MediaType.APPLICATION_JSON) .content(writeValue(action))) - .andDo(print())//output to the log request and response - //ASSERT + .andDo(print()) .andExpect(status().isOk()) .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) - //.andExpect(content().json(writeValue(expected))); .andReturn(); CudResponseTest cudResponseTest = readValue(mvcResult.getResponse().getContentAsString(), CudResponseTest.class); expected.setPayload(new QueueSuccessResponse(ActionType.UPDATE, cudResponseTest.getPayload().getId())); @@ -296,15 +267,12 @@ public abstract class AbstractControllerTest { expected.setPayload(new QueueSuccessResponse(ActionType.DELETE, existsId)); CommonDeleteAction deleteAction = new CommonDeleteAction(); deleteAction.setId(existsId); - //ACT MvcResult mvcResult = perform(MockMvcRequestBuilders.delete(REST_URL + existsId) .contentType(MediaType.APPLICATION_JSON)) - .andDo(print())//output to the log request and response - //ASSERT + .andDo(print()) .andExpect(status().isOk()) .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) -// .andExpect(content().json(writeValue(expected))); - .andReturn(); +.andReturn(); CudResponseTest cudResponseTest = readValue(mvcResult.getResponse().getContentAsString(), CudResponseTest.class); expected.setPayload(new QueueSuccessResponse(ActionType.DELETE, cudResponseTest.getPayload().getId())); CUD_RESPONSE_MATCHER.assertMatch(cudResponseTest, expected); @@ -320,18 +288,15 @@ public abstract class AbstractControllerTest { protected void checkGettingAllFromRestApi(String imdgDistributedNames, T existsObj, String restUrl) throws Exception { Class clazz = (Class) existsObj.getClass(); Imdg testingImdg = hazelcastServiceTest.getImdg(imdgDistributedNames, clazz); - // ((ImdgHazelcast)testingImdg).clear(); // предварительная очистка testingImdg.insert(existsObj); Collection values = testingImdg.getAllValues(); Collection> all = responseFactory.responseFromObjectCollection(values); CommonGetAllResponse expected = new CommonGetAllResponse(); expected.fromEntity(all); - //ACT perform(MockMvcRequestBuilders.get(restUrl) .contentType(MediaType.APPLICATION_JSON)) - .andDo(print())//output to the log request and response - // ASSERT + .andDo(print()) .andExpect(status().isOk()) .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) .andExpect(content().json(writeValue(expected))); diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/account/AccountControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/account/AccountControllerTest.java index 38c4f02de..5dbae050c 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/account/AccountControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/account/AccountControllerTest.java @@ -12,51 +12,28 @@ import ru.spcex.clearing.platform.messaging.domain.Consts; class AccountControllerTest extends AbstractControllerTest { private static final String REST_URL = "/accounting/accounts/"; - /** - * {@link AccountController#getAll()}
- * Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_BankAccount.
- * Входной запрос /accounting/accounts/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE Account existBankAccount = new Account(); existBankAccount.setAccountType("99"); existBankAccount.setAccount("123456789123"); existBankAccount.setId(currentId.get()); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_Account, existBankAccount, REST_URL); } - /** - * {@link AccountController#add(AccountNewAction)}
- * Тест проверяет получение сущности {@link AccountNewAction} по REST API и отправку в Apache Kafka.
- * Входной запрос {@link AccountNewAction}:
- */ @Test void add() throws Exception { - //ARRANGE AccountNewAction accountNewAction = new AccountNewAction(); accountNewAction.setStatus("ACTV"); accountNewAction.setAccount("A11112222333"); accountNewAction.setCompanyId(5L); accountNewAction.setAccountType("BANK"); - - //ACT and ASSERT checkAddingByRestApi(REST_URL, accountNewAction); checkSendedMessegeFromKafka(Consts.DESTINATION_CORRESPONDENT_ACCOUNT_NEW, accountNewAction); } - /** - * {@link AccountController#update(Long, AccountUpdateAction)}
- * Тест проверяет получение сущности {@link AccountUpdateAction} по REST API и отправку в Apache Kafka.
- * Входной запрос {@link AccountUpdateAction}:
- */ @Test void update() throws Exception { - //ARRANGE long id = currentId.getAndIncrement(); AccountUpdateAction accountUpdateAction = new AccountUpdateAction(); accountUpdateAction.setId(id); @@ -65,27 +42,17 @@ class AccountControllerTest extends AbstractControllerTest { accountUpdateAction.setCompanyId(5L); accountUpdateAction.setAccountType("BANK"); Account account = getAccount(id); - - //ACT and ASSERT checkUpdatingWithIdVolidationByRestApi(IMDGDistributedNames.Map_Account, account, REST_URL, accountUpdateAction, id); checkSendedMessegeFromKafka(Consts.DESTINATION_CORRESPONDENT_ACCOUNT_UPDATE, accountUpdateAction); } - /** - * {@link AccountController#delete(Long)}
- * Тест проверяет получение id сущности {@link Long} по REST API и отправку в Apache Kafka.
- * Входной запрос /securities/account/{@link Long}: - 0L
- */ @Test void delete() throws Exception { - //ARRANGE long id = currentId.getAndIncrement(); CommonDeleteAction deleteAction = new CommonDeleteAction(); deleteAction.setId(id); Account account = getAccount(id); - - //ACT and ASSERT checkDeletingWithIdVolidationByRestApi(IMDGDistributedNames.Map_Account, account, REST_URL, id); checkSendedMessegeFromKafka(Consts.DESTINATION_CORRESPONDENT_ACCOUNT_BLOCK, deleteAction); diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/account/BankAccountControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/account/BankAccountControllerTest.java index 9f83a572d..d8afb9490 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/account/BankAccountControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/account/BankAccountControllerTest.java @@ -9,13 +9,11 @@ import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest; import ru.spcex.clearing.backendapi.controller.request.cud.account.BankAccountNewAction; import ru.spcex.clearing.backendapi.controller.request.cud.account.BankAccountUpdateAction; import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction; -import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse; import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetByIdResponse; import ru.spcex.clearing.backendapi.domain.actions.IAction; import ru.spcex.clearing.backendapi.errors.ActionValidationException; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.Consts; -import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountNewRequest; import ru.spcex.platform.imdg.api.Imdg; import java.util.HashMap; @@ -30,23 +28,8 @@ import static ru.spcex.clearing.test.json.JsonUtil.writeValue; class BankAccountControllerTest extends AbstractControllerTest { private static final String REST_URL = "/accounting/bank-accounts/"; - /** - * {@link BankAccountController#add(BankAccountNewAction)}
- * Тест проверяет получение сущности {@link BankAccountNewAction} по REST API и отправку в Apache Kafka.
- * Входной запрос {@link BankAccountNewRequest}:
- * {@link BankAccountNewRequest#bankIdentificationCode} - 044525776
- * {@link BankAccountNewRequest#bankName} - Beta Money Bank
- * {@link BankAccountNewRequest#correspondentAccount} - 30101111111111111776
- * {@link BankAccountNewRequest#correspondentAccountName} - correspondent
- * {@link BankAccountNewRequest#currency} - RUB
- * {@link BankAccountNewRequest#destination} - destination
- * {@link BankAccountNewRequest#taxpayerIdentificationNumber} - 3664011397
- * {@link BankAccountNewRequest#taxRegistrationReasonCode} - 01
- * {@link BankAccountNewRequest#account} - 11111222223333344444
- */ @Test void add() throws Exception { - //ARRANGE BankAccountNewAction bankAccountNewAction = getBankAccountNewAction( 0, "044525776", "Beta Money Bank", @@ -57,26 +40,10 @@ class BankAccountControllerTest extends AbstractControllerTest { "3664011397", "01", "11111222223333344444"); - - //ACT and ASSERT checkAddingByRestApi(REST_URL, bankAccountNewAction); checkSendedMessegeFromKafka(Consts.DESTINATION_BANK_ACCOUNT_NEW, bankAccountNewAction); } - /** - * {@link BankAccountController#add(BankAccountNewAction)}
- * Тест проверяет работу валидации сущности {@link BankAccountNewAction} принятой по REST API для отправку в Apache Kafka.
- * Входной запрос {@link BankAccountNewRequest}:
- * {@link BankAccountNewRequest#bankIdentificationCode} - 044525776 или ""
- * {@link BankAccountNewRequest#bankName} - Beta Money Bank или ""
- * {@link BankAccountNewRequest#correspondentAccount} - 30101111111111111776 или ""
- * {@link BankAccountNewRequest#correspondentAccountName} - correspondent или ""
- * {@link BankAccountNewRequest#currency} - RUB или ""
- * {@link BankAccountNewRequest#destination} - destinatio или ""n
- * {@link BankAccountNewRequest#taxpayerIdentificationNumber} - 3664011397 или ""
- * {@link BankAccountNewRequest#taxRegistrationReasonCode} - 01 или ""
- * {@link BankAccountNewRequest#account} - 11111222223333344444 или ""
- */ @Test void addWithException() { assertThrowsFor(getBankAccountNewAction(0, "", "Beta Money Bank", "30101111111111111776", "correspondent", "RUB", "destination", "3664011397", "01", "11111222223333344444")); @@ -90,22 +57,8 @@ class BankAccountControllerTest extends AbstractControllerTest { assertThrowsFor(getBankAccountNewAction(0, "044525776", "Beta Money Bank", "30101111111111111776", "correspondent", "RUB", "destination", "3664011397", "01", "")); } - /** - * {@link BankAccountController#update(Long, BankAccountUpdateAction)}
- * Тест проверяет получение сущности {@link BankAccountUpdateAction} по REST API и отправку в Apache Kafka.
- * Входной запрос {@link BankAccountUpdateAction}:
- * {@link BankAccountUpdateAction#bankIdentificationCode} - 044525776
- * {@link BankAccountUpdateAction#bankName} - Beta Money Bank
- * {@link BankAccountUpdateAction#correspondentAccount} - 30101111111111111776
- * {@link BankAccountUpdateAction#correspondentAccountName} - correspondent
- * {@link BankAccountUpdateAction#currency} - RUB
- * {@link BankAccountUpdateAction#destination} - destination
- * {@link BankAccountUpdateAction#taxpayerIdentificationNumber} - 3664011397
- * {@link BankAccountUpdateAction#taxRegistrationReasonCode} - 01
- */ @Test void update() throws Exception { - //ARRANGE long id = 0; BankAccountUpdateAction bankAccountUpdateAction = getBankAccountUpdateAction( id, @@ -118,37 +71,21 @@ class BankAccountControllerTest extends AbstractControllerTest { "3664011397", "01", "11111222223333344444"); - - //ACT and ASSERT checkUpdatingByRestApi(REST_URL, bankAccountUpdateAction, id); checkSendedMessegeFromKafka(Consts.DESTINATION_BANK_ACCOUNT_UPDATE, bankAccountUpdateAction); } - /** - * {@link BankAccountController#delete(Long)}
- * Тест проверяет получение id сущности {@link Long} по REST API и отправку в Apache Kafka.
- * Входной запрос /accounting/bank-accounts/{@link Long}: - 0L
- */ @Test void delete() throws Exception { - //ARRANGE long id = currentId.getAndIncrement(); CommonDeleteAction deleteAction = new CommonDeleteAction(); deleteAction.setId(id); - //ACT and ASSERT checkDeletingByRestApi(REST_URL, id); checkSendedMessegeFromKafka(Consts.DESTINATION_BANK_ACCOUNT_BLOCK, deleteAction); } - /** - * {@link BankAccountController#getById(Long)}
- * Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_BankAccount.
- * Входной запрос /accounting/bank-accounts/{@link Long}: - 0L
- * Ответ BankAccountBackendGetById
- */ @Test void getById() throws Exception { - //ARRANGE BankAccount existBankAccount = new BankAccount(); existBankAccount.setBankName("ooo tinkoff"); existBankAccount.setBankIdentificationCode("99999"); @@ -164,7 +101,6 @@ class BankAccountControllerTest extends AbstractControllerTest { inDocumentJournalImdg.insert(existBankAccount); CommonGetByIdResponse expected = new CommonGetByIdResponse(); - //expected.getPayload(). Map payload = new HashMap<>(); payload.put("bankName", "ooo tinkoff"); payload.put("bankIdentificationCode", "99999"); @@ -176,25 +112,16 @@ class BankAccountControllerTest extends AbstractControllerTest { payload.put("taxRegistrationReasonCode", "886886"); payload.put("id", existBankAccount.getId()); expected.fromEntity(payload); - //ACT perform(MockMvcRequestBuilders.get(REST_URL + existBankAccount.getId()) .contentType(MediaType.APPLICATION_JSON)) - .andDo(print())//output to the log request and response -// ASSERT - .andExpect(status().isOk()) + .andDo(print()) +.andExpect(status().isOk()) .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) .andExpect(content().json(writeValue(expected))); } - /** - * {@link BankAccountController#getAll()}
- * Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_BankAccount.
- * Входной запрос /accounting/bank-accounts/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE BankAccount existBankAccount = new BankAccount(); existBankAccount.setBankName("ooo tinkoff"); existBankAccount.setBankIdentificationCode("99999"); @@ -205,8 +132,6 @@ class BankAccountControllerTest extends AbstractControllerTest { existBankAccount.setTaxpayerIdentificationNumber("848484848484"); existBankAccount.setTaxRegistrationReasonCode("886886"); existBankAccount.setId(currentId.get()); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_BankAccount, existBankAccount, REST_URL); } diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/account/ClearingAccountControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/account/ClearingAccountControllerTest.java index 8e8ec9118..6f8aa4b97 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/account/ClearingAccountControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/account/ClearingAccountControllerTest.java @@ -8,22 +8,13 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames; class ClearingAccountControllerTest extends AbstractControllerTest { private static final String REST_URL = "/accounting/clearing-accounts/"; - /** - * {@link ClearingAccountController#getAll()}
- * Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_ClearingAccount.
- * Входной запрос /securities/clearing-accounts/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE ClearingAccount existClearingAccount = new ClearingAccount(); existClearingAccount.setAccountId(99L); existClearingAccount.setClearingAccountType("CATPE-1"); existClearingAccount.setCompanyId(6L); existClearingAccount.setId(currentId.get()); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_ClearingAccount, existClearingAccount, REST_URL); } diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/account/ClientCodeControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/account/ClientCodeControllerTest.java index 9aac531c5..f45873e5d 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/account/ClientCodeControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/account/ClientCodeControllerTest.java @@ -22,16 +22,8 @@ import static ru.spcex.clearing.test.json.JsonUtil.writeValue; class ClientCodeControllerTest extends AbstractControllerTest { private static final String REST_URL = "/client-codes/"; - /** - * {@link ClientCodeController#add(ClientCodeNewAction)}
- * Тест проверяет получение сущности {@link ClientCodeNewAction} по REST API и отправку в Apache Kafka.
- * Входной запрос {@link ClientCodeNewRequest}:
- * {@link ClientCodeNewRequest#} - 044525776
- * ... - */ @Test void add() throws Exception { - //ARRANGE ClientCodeNewAction clientCodeNewAction = getClientCodeNewAction( 0, "044525776", @@ -40,24 +32,10 @@ class ClientCodeControllerTest extends AbstractControllerTest { 1010L, 1020L, 1030L); - - //ACT and ASSERT checkAddingByRestApi(REST_URL, clientCodeNewAction); checkSendedMessegeFromKafka(Consts.DESTINATION_CLIENT_CODE_NEW, clientCodeNewAction); } - /** - * {@link ClientCodeController#add(ClientCodeNewAction)}
- * Тест проверяет работу валидации сущности {@link ClientCodeNewAction} принятой по REST API для отправку в Apache Kafka.
- * Входной запрос {@link ClientCodeNewAction}:
- * {@link ClientCodeNewAction#id} - (generated)
- * {@link ClientCodeNewAction#code} - "044525776" или null или ""
- * {@link ClientCodeNewAction#status} - "ACTV"
- * {@link ClientCodeNewAction#companyId} - 1000L или null
- * {@link ClientCodeNewAction#depoAccountId} - 1010L
- * {@link ClientCodeNewAction#moneyAccountId} - 1020L
- * {@link ClientCodeNewAction#tradingClearingRegistryId} - 1030L
- */ @Test void addWithException() { assertThrowsFor(getClientCodeNewAction(0, "", "ACTV", 1000L, 1010L, 1020L, 1030L)); @@ -65,21 +43,8 @@ class ClientCodeControllerTest extends AbstractControllerTest { assertThrowsFor(getClientCodeNewAction(0, "044525776", "ACTV", null, 1010L, 1020L, 1030L)); } - /** - * {@link ClientCodeController#update(Long, ClientCodeUpdateAction)}
- * Тест проверяет получение сущности {@link ClientCodeUpdateAction} по REST API и отправку в Apache Kafka.
- * Входной запрос {@link ClientCodeUpdateAction}:
- * {@link ClientCodeUpdateAction#id} - (generated)
- * {@link ClientCodeUpdateAction#code} - "044525776"
- * {@link ClientCodeUpdateAction#status} - "ACTV"
- * {@link ClientCodeUpdateAction#companyId} - 1000L
- * {@link ClientCodeUpdateAction#depoAccountId} - 1010L
- * {@link ClientCodeUpdateAction#moneyAccountId} - 1020L
- * {@link ClientCodeUpdateAction#tradingClearingRegistryId} - 1030L
- */ @Test void update() throws Exception { - //ARRANGE long id = 0; ClientCodeUpdateAction clientCodeUpdateAction = getClientCodeUpdateAction( id, @@ -89,37 +54,21 @@ class ClientCodeControllerTest extends AbstractControllerTest { 1010L, 1020L, 1030L); - - //ACT and ASSERT checkUpdatingByRestApi(REST_URL, clientCodeUpdateAction, id); checkSendedMessegeFromKafka(Consts.DESTINATION_CLIENT_CODE_UPDATE, clientCodeUpdateAction); } - /** - * {@link ClientCodeController#delete(Long)}
- * Тест проверяет получение id сущности {@link Long} по REST API и отправку в Apache Kafka.
- * Входной запрос /client-codes/{@link Long}: - 0L
- */ @Test void delete() throws Exception { - //ARRANGE long id = currentId.getAndIncrement(); CommonDeleteAction deleteAction = new CommonDeleteAction(); deleteAction.setId(id); - //ACT and ASSERT checkDeletingByRestApi(REST_URL, id); checkSendedMessegeFromKafka(Consts.DESTINATION_CLIENT_CODE_DELETE, deleteAction); } - /** - * {@link ClientCodeController#getAll()}
- * Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_ClientCode.
- * Входной запрос /client-codes/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE ClientCode existClientCode = new ClientCode(); existClientCode.setCode("ooo tinkoff"); existClientCode.setCompanyId(1000L); @@ -130,8 +79,6 @@ class ClientCodeControllerTest extends AbstractControllerTest { existClientCode.setCreated(Instant.now()); existClientCode.setUpdated(Instant.now()); existClientCode.setId(currentId.get()); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_ClientCode, existClientCode, REST_URL); } diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/account/DepoAccountControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/account/DepoAccountControllerTest.java index 2bb605998..c2f6439db 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/account/DepoAccountControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/account/DepoAccountControllerTest.java @@ -8,22 +8,13 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames; class DepoAccountControllerTest extends AbstractControllerTest { private static final String REST_URL = "/accounting/depo-accounts/"; - /** - * {@link DepoAccountController#getAll()}
- * Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_ClearingAccount.
- * Входной запрос /securities/depo-accounts/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE DepoAccount existDepoAccount = new DepoAccount(); existDepoAccount.setAccountId(99L); existDepoAccount.setDepoAccountType("T1001"); existDepoAccount.setCompanyId(6L); existDepoAccount.setId(currentId.get()); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_DepoAccount, existDepoAccount, REST_URL); } diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/account/InformationAccountControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/account/InformationAccountControllerTest.java index d352d259b..e57946def 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/account/InformationAccountControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/account/InformationAccountControllerTest.java @@ -3,28 +3,18 @@ package ru.spcex.clearing.backendapi.controller.queue.account; import org.junit.jupiter.api.Test; import ru.clearing.classes.statics.data.account.InformationAccount; import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest; -import ru.spcex.clearing.backendapi.controller.queue.account.InformationAccountController; import ru.spcex.clearing.imdg.IMDGDistributedNames; class InformationAccountControllerTest extends AbstractControllerTest { public static final String REST_URL = "/accounting/information-accounts/"; - /** - * {@link InformationAccountController#getAll()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /accounting/information-accounts/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE InformationAccount informationAccount = new InformationAccount(); informationAccount.setId(currentId.get()); informationAccount.setCompanyId(currentId.get()); informationAccount.setClearingAccountId(currentId.get()); informationAccount.setAccountId(currentId.get()); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_InformationAccount, informationAccount, REST_URL); } } \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/ClearingMemberCategoryControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/ClearingMemberCategoryControllerTest.java index 8ea3d4ba6..9a259e523 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/ClearingMemberCategoryControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/ClearingMemberCategoryControllerTest.java @@ -20,88 +20,44 @@ import static ru.spcex.clearing.test.json.JsonUtil.writeValue; class ClearingMemberCategoryControllerTest extends AbstractControllerTest { private static final String REST_URL = "/clearing-member-categories/"; - /** - * {@link ClearingMemberCategoryController#add(ClearingMemberCategoryNewAction)}
- * Тест проверяет получение сущности {@link ClearingMemberCategoryNewAction} по REST API и отправку в Apache Kafka.
- * Входной запрос {@link ClearingMemberCategoryNewAction}:
- * {@link ClearingMemberCategoryNewAction#clearingMemberCategory} - "Category"
- * {@link ClearingMemberCategoryNewAction#companyId} - currentId
- */ @Test void add() throws Exception { - //ARRANGE ClearingMemberCategoryNewAction clearingMemberCategoryNewAction = new ClearingMemberCategoryNewAction(); clearingMemberCategoryNewAction.setClearingMemberCategory("Category"); clearingMemberCategoryNewAction.setCompanyId(0L); - - //ACT and ASSERT checkAddingByRestApi(REST_URL, clearingMemberCategoryNewAction); checkSendedMessegeFromKafka(Consts.DESTINATION_CLEARING_MEMBER_CATEGORY_NEW, clearingMemberCategoryNewAction); } - /** - * {@link ClearingMemberCategoryController#add(ClearingMemberCategoryNewAction)}
- * Тест проверяет получение сущности {@link ClearingMemberCategoryNewAction} по REST API и отправку в Apache Kafka.
- * Входной запрос {@link ClearingMemberCategoryNewAction}:
- * {@link ClearingMemberCategoryNewAction#clearingMemberCategory} - "Category"
- * {@link ClearingMemberCategoryNewAction#companyId} - currentId
- */ -// @Test валидации пока нет void addWithException() { assertThrowsFor(getClearingMemberCategoryNewAction("Category", null)); assertThrowsFor(getClearingMemberCategoryNewAction("", 0L)); } - /** - * {@link ClearingMemberCategoryController#update(Long, ClearingMemberCategoryUpdateAction)}
- * Тест проверяет получение сущности {@link ClearingMemberCategoryUpdateAction} по REST API и отправку в Apache Kafka.
- * Входной запрос {@link ClearingMemberCategoryUpdateAction}:
- * {@link ClearingMemberCategoryUpdateAction#clearingMemberCategory} - Category
- * {@link ClearingMemberCategoryUpdateAction#id} - currentId
- */ @Test void update() throws Exception { - //ARRANGE ClearingMemberCategoryUpdateAction clearingMemberCategoryUpdateAction = new ClearingMemberCategoryUpdateAction(); clearingMemberCategoryUpdateAction.setClearingMemberCategory("Category"); clearingMemberCategoryUpdateAction.setId(currentId.get()); - - //ACT and ASSERT checkUpdatingByRestApi(REST_URL, clearingMemberCategoryUpdateAction, clearingMemberCategoryUpdateAction.getId()); checkSendedMessegeFromKafka(Consts.DESTINATION_CLEARING_MEMBER_CATEGORY_UPDATE, clearingMemberCategoryUpdateAction); } - /** - * {@link ClearingMemberCategoryController#delete(Long)}
- * Тест проверяет получение id сущности {@link Long} по REST API и отправку в Apache Kafka.
- * Входной запрос /clearing-member-categories/{@link Long}: - currentId
- */ @Test void delete() throws Exception { - //ARRANGE long id = currentId.getAndIncrement(); CommonDeleteAction deleteAction = new CommonDeleteAction(); deleteAction.setId(id); - //ACT and ASSERT checkDeletingByRestApi(REST_URL, id); checkSendedMessegeFromKafka(Consts.DESTINATION_CLEARING_MEMBER_CATEGORY_DELETE, deleteAction); } - /** - * {@link ClearingMemberCategoryController#getAll()}
- * Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_ClearingMemberCategory.
- * Входной запрос /clearing-member-categories/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE ClearingMemberCategory clearingMemberCategory = new ClearingMemberCategory(); clearingMemberCategory.setClearingMemberCategory("Category"); clearingMemberCategory.setCompanyId(1000000L); clearingMemberCategory.setId(currentId.get()); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_ClearingMemberCategory, clearingMemberCategory, REST_URL); } diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/CompanyControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/CompanyControllerTest.java index 57bf69d00..cad58381f 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/CompanyControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/CompanyControllerTest.java @@ -3,41 +3,25 @@ package ru.spcex.clearing.backendapi.controller.queue.company; import org.junit.jupiter.api.Test; import ru.clearing.classes.statics.data.company.Company; import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest; -import ru.spcex.clearing.backendapi.controller.queue.registry.TradingClearingRegistryController; import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction; import ru.spcex.clearing.backendapi.controller.request.cud.company.CompanyNewAction; -import ru.spcex.clearing.backendapi.controller.request.cud.registry.TradingClearingRegistryNewAction; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.Consts; -import ru.spcex.clearing.platform.messaging.domain.cud.registry.TradingClearingRegistryNewRequest; class CompanyControllerTest extends AbstractControllerTest { private static final String REST_URL = "/companies/"; - /** - * {@link CompanyController#delete(Long)}
- * Тест проверяет получение id сущности {@link Long} по REST API и отправку в Apache Kafka.
- * Входной запрос /companies/{@link Long}: - 0L
- */ @Test void delete() throws Exception { - //ARRANGE long id = currentId.getAndIncrement(); CommonDeleteAction deleteAction = new CommonDeleteAction(); deleteAction.setId(id); - //ACT and ASSERT checkDeletingByRestApi(REST_URL, id); checkSendedMessegeFromKafka(Consts.DESTINATION_COMPANY_DELETE, deleteAction); } - /** - * {@link CompanyController#getAll()}
- * Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_Company.
- * Входной запрос /companies
- */ @Test void getAll() throws Exception { - //ARRANGE Company existCompany = new Company(); existCompany.setTradingCode("ooo tinkoff"); existCompany.setClearingCode("99999"); @@ -45,26 +29,12 @@ class CompanyControllerTest extends AbstractControllerTest { existCompany.setShortName("OOO ROGA I KOPITA"); existCompany.setTradingCode("848484848484"); existCompany.setId(currentId.get()); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_Company, existCompany, REST_URL); } - /** - * {@link CompanyController#add(CompanyNewAction)}
- * Тест проверяет создание сущности {@link CompanyNewAction} по REST API и отправку в Apache Kafka.
- * Входной запрос {@link CompanyNewAction}:
- * {@link CompanyNewAction#fullName "Full name"
- * {@link CompanyNewAction#companySymbol "CLRC"
- * {@link CompanyNewAction#companySymbolValue "NAME1"
- * {@link CompanyNewAction#workflowStatus "ACTV"
- */ @Test void add() throws Exception { - //ARRANGE CompanyNewAction newAction = getCompanyNewAction(); - - //ACT and ASSERT checkAddingByRestApi(REST_URL, newAction); checkSendedMessegeFromKafka(Consts.DESTINATION_COMPANY_NEW, newAction); } diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/CompanyInfoControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/CompanyInfoControllerTest.java index 6ea34bf51..69bd19521 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/CompanyInfoControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/CompanyInfoControllerTest.java @@ -30,51 +30,13 @@ import static ru.spcex.clearing.test.json.JsonUtil.writeValue; class CompanyInfoControllerTest extends AbstractControllerTest { private static final String REST_URL = "/company-infos/"; - /** - * {@link CompanyInfoController#update(Long, CompanyInfoUpdateAction)}
- * Тест проверяет получение сущности {@link CompanyInfoUpdateAction} по REST API и отправку в Apache Kafka.
- * Входной запрос {@link CompanyInfoUpdateAction}:
- * {@link CompanyInfoUpdateAction#workflowStatus} - ACTV
- * {@link CompanyInfoUpdateAction#corporationSoleType} - 0000
- * {@link CompanyInfoUpdateAction#countryCode} - 0000
- * {@link CompanyInfoUpdateAction#description} - exists description
- * {@link CompanyInfoUpdateAction#professionalSign} - 0000
- * {@link CompanyInfoUpdateAction#legalKind} - 0000
- * {@link CompanyInfoUpdateAction#organizationType} - 0000
- * {@link CompanyInfoUpdateAction#residence} - 0000
- * {@link CompanyInfoUpdateAction#shortNameEng} - exists shortNameEng
- * {@link CompanyInfoUpdateAction#fullNameEng} - exists fullNameEng
- * {@link CompanyInfoUpdateAction#shortName} - exists shortName
- * {@link CompanyInfoUpdateAction#fullName} - exists fullName
- * {@link CompanyInfoUpdateAction#id} - currentId
- */ -// @Test валидации пока нет void addWithException() { assertThrowsFor(getClearingMemberCategoryNewAction("Category", null)); assertThrowsFor(getClearingMemberCategoryNewAction("", 0L)); } - /** - * {@link CompanyInfoController#update(Long, CompanyInfoUpdateAction)}
- * Тест проверяет получение сущности {@link CompanyInfoUpdateAction} по REST API и отправку в Apache Kafka.
- * Входной запрос {@link CompanyInfoUpdateAction}:
- * {@link CompanyInfoUpdateAction#workflowStatus} - ACTV
- * {@link CompanyInfoUpdateAction#corporationSoleType} - 0000
- * {@link CompanyInfoUpdateAction#countryCode} - 0000
- * {@link CompanyInfoUpdateAction#description} - exists description
- * {@link CompanyInfoUpdateAction#professionalSign} - 0000
- * {@link CompanyInfoUpdateAction#legalKind} - 0000
- * {@link CompanyInfoUpdateAction#organizationType} - 0000
- * {@link CompanyInfoUpdateAction#residence} - 0000
- * {@link CompanyInfoUpdateAction#shortNameEng} - exists shortNameEng
- * {@link CompanyInfoUpdateAction#fullNameEng} - exists fullNameEng
- * {@link CompanyInfoUpdateAction#shortName} - exists shortName
- * {@link CompanyInfoUpdateAction#fullName} - exists fullName
- * {@link CompanyInfoUpdateAction#id} - currentId
- */ @Test void update() throws Exception { - //ARRANGE CompanyInfoUpdateAction companyInfoUpdateAction = new CompanyInfoUpdateAction(); companyInfoUpdateAction.setWorkflowStatus("ACTV"); companyInfoUpdateAction.setCorporationSoleType("0000"); @@ -89,21 +51,12 @@ class CompanyInfoControllerTest extends AbstractControllerTest { companyInfoUpdateAction.setShortName("exists shortName"); companyInfoUpdateAction.setFullName("exists fullName"); companyInfoUpdateAction.setId(currentId.get()); - - //ACT and ASSERT checkUpdatingByRestApi(REST_URL, companyInfoUpdateAction, companyInfoUpdateAction.getId()); checkSendedMessegeFromKafka(Consts.DESTINATION_COMPANY_INFO_UPDATE, companyInfoUpdateAction); } - /** - * {@link CompanyInfoController#getAll()}
- * Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_Company.
- * Входной запрос /company-infos/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE Long ID = 0L; CompanyInfo existsCompanyInfo = new CompanyInfo(); existsCompanyInfo.setId(ID); @@ -128,17 +81,15 @@ class CompanyInfoControllerTest extends AbstractControllerTest { Collection> all = new ArrayList<>(); Collection companies = companyImdg.getAllValues(); for (Company company : companies) { - if (company.getProfile() != null && company.getProfile().getId() != null) { // пока возвращает "пустой" CompanyInfo если его нет для Company + if (company.getProfile() != null && company.getProfile().getId() != null) { all.add(responseFactory.responseFromObject(company.getProfile())); } } CommonGetAllResponse expected = new CommonGetAllResponse(); expected.fromEntity(all); - //ACT perform(MockMvcRequestBuilders.get(REST_URL) .contentType(MediaType.APPLICATION_JSON)) - .andDo(print())//output to the log request and response - //ASSERT + .andDo(print()) .andExpect(status().isOk()) .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) .andExpect(content().json(writeValue(expected))); diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/CompanyRoleSetControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/CompanyRoleSetControllerTest.java index b42cab16e..ec22fc0ea 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/CompanyRoleSetControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/CompanyRoleSetControllerTest.java @@ -8,22 +8,12 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames; class CompanyRoleSetControllerTest extends AbstractControllerTest { private static final String REST_URL = "/company-role-sets/"; - /** - * {@link CompanyRoleSetController#getAll()}
- * Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_BankAccount.
- * Входной запрос /company-role-sets/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE CompanyRoleSet existBankAccount = new CompanyRoleSet(); existBankAccount.setCompanyId(11L); existBankAccount.setCompanyRole("CLRM"); existBankAccount.setId(currentId.get()); - - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_CompanyRoleSet, existBankAccount, REST_URL); } } \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/CompanySymbolControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/CompanySymbolControllerTest.java index cd02fbfe3..c7efbd748 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/CompanySymbolControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/CompanySymbolControllerTest.java @@ -19,57 +19,28 @@ import static ru.spcex.clearing.test.json.JsonUtil.writeValue; class CompanySymbolControllerTest extends AbstractControllerTest { private static final String REST_URL = "/company-symbols/"; - /** - * {@link CompanySymbolController#update(Long, CompanySymbolUpdateAction)}
- * Тест проверяет получение сущности {@link CompanySymbolUpdateAction} по REST API и отправку в Apache Kafka.
- * Входной запрос {@link CompanySymbolUpdateAction}:
- * {@link CompanySymbolUpdateAction#companyId} - 1000L
- * {@link CompanySymbolUpdateAction#companySymbolValue} - SymbolValue
- * {@link CompanySymbolUpdateAction#id} - currentId
- */ -// @Test валидации пока нет void addWithException() { assertThrowsFor(getClearingMemberCategoryNewAction("Category", null)); assertThrowsFor(getClearingMemberCategoryNewAction("", 0L)); } - /** - * {@link CompanySymbolController#update(Long, CompanySymbolUpdateAction)}
- * Тест проверяет получение сущности {@link CompanySymbolUpdateAction} по REST API и отправку в Apache Kafka.
- * Входной запрос {@link CompanySymbolUpdateAction}:
- * {@link CompanySymbolUpdateAction#companyId} - 1000L
- * {@link CompanySymbolUpdateAction#companySymbolValue} - SymbolValue
- * {@link CompanySymbolUpdateAction#id} - currentId
- */ @Test void update() throws Exception { - //ARRANGE CompanySymbolUpdateAction companySymbolUpdateAction = new CompanySymbolUpdateAction(); companySymbolUpdateAction.setCompanyId(1000L); companySymbolUpdateAction.setCompanySymbolValue("SymbolValue"); companySymbolUpdateAction.setId(currentId.get()); - - //ACT and ASSERT checkUpdatingByRestApi(REST_URL, companySymbolUpdateAction, companySymbolUpdateAction.getId()); checkSendedMessegeFromKafka(Consts.DESTINATION_COMPANY_SYMBOL_UPDATE, companySymbolUpdateAction); } - /** - * {@link CompanySymbolController#getAll()}
- * Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_CompanySymbols.
- * Входной запрос /clearing-member-categories/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE CompanySymbols companySymbols = new CompanySymbols(); companySymbols.setCompanyId(1000L); companySymbols.setCompanySymbol("Symbol"); companySymbols.setCompanySymbolValue("SymbolValue"); companySymbols.setId(currentId.get()); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_CompanySymbols, companySymbols, REST_URL); } diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/ContactControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/ContactControllerTest.java index 50a013101..c429f8ca7 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/ContactControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/ContactControllerTest.java @@ -7,7 +7,6 @@ import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; import ru.clearing.classes.statics.data.profile.Contact; import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest; import ru.spcex.clearing.backendapi.controller.request.cud.company.ClearingMemberCategoryNewAction; -import ru.spcex.clearing.backendapi.controller.request.cud.company.CompanySymbolUpdateAction; import ru.spcex.clearing.backendapi.controller.request.cud.company.ContactNewAction; import ru.spcex.clearing.backendapi.controller.request.cud.company.ContactUpdateAction; import ru.spcex.clearing.backendapi.domain.actions.IAction; @@ -21,80 +20,39 @@ import static ru.spcex.clearing.test.json.JsonUtil.writeValue; class ContactControllerTest extends AbstractControllerTest { private static final String REST_URL = "/contacts/"; - /** - * {@link CompanySymbolController#update(Long, CompanySymbolUpdateAction)}
- * Тест проверяет получение сущности {@link CompanySymbolUpdateAction} по REST API и отправку в Apache Kafka.
- * Входной запрос {@link CompanySymbolUpdateAction}:
- * {@link CompanySymbolUpdateAction#companyId} - 1000L
- * {@link CompanySymbolUpdateAction#companySymbol} - Symbol
- * {@link CompanySymbolUpdateAction#companySymbolValue} - SymbolValue
- * {@link CompanySymbolUpdateAction#id} - currentId
- */ -// @Test валидации пока нет void addWithException() { assertThrowsFor(getClearingMemberCategoryNewAction("Category", null)); assertThrowsFor(getClearingMemberCategoryNewAction("", 0L)); } - /** - * {@link ContactController#create(Long, ContactNewAction)}
- * Тест проверяет получение сущности {@link ContactNewAction} по REST API и отправку в Apache Kafka.
- * Входной запрос {@link ContactNewAction}:
- * {@link ContactNewAction#contactType} - ContactType
- * {@link ContactNewAction#contactValue} - ContactValue
- * {@link ContactNewAction#id} - currentId
- */ @Test void create() throws Exception { - //ARRANGE ContactNewAction companySymbolNewAction = new ContactNewAction(); companySymbolNewAction.setContactType("ContactType"); companySymbolNewAction.setContactValue("ContactValue"); companySymbolNewAction.setCompanyId(currentId.get()); - - //ACT and ASSERT checkAddingByRestApi(REST_URL, companySymbolNewAction); checkSendedMessegeFromKafka(Consts.DESTINATION_CONTACT_NEW, companySymbolNewAction); } - /** - * {@link ContactController#update(Long, ContactUpdateAction)}
- * Тест проверяет получение сущности {@link ContactUpdateAction} по REST API и отправку в Apache Kafka.
- * Входной запрос {@link ContactUpdateAction}:
- * {@link ContactUpdateAction#contactType} - ContactType
- * {@link ContactUpdateAction#contactValue} - ContactValue
- * {@link ContactUpdateAction#id} - currentId
- */ @Test void update() throws Exception { - //ARRANGE ContactUpdateAction companySymbolUpdateAction = new ContactUpdateAction(); companySymbolUpdateAction.setContactType("ContactType"); companySymbolUpdateAction.setContactValue("ContactValue"); companySymbolUpdateAction.setId(currentId.get()); - - //ACT and ASSERT checkUpdatingByRestApi(REST_URL, companySymbolUpdateAction, companySymbolUpdateAction.getId()); checkSendedMessegeFromKafka(Consts.DESTINATION_CONTACT_UPDATE, companySymbolUpdateAction); } - /** - * {@link ContactController#getAll()}
- * Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_Contact.
- * Входной запрос /contacts/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE Contact companySymbolUpdateAction = new Contact(); companySymbolUpdateAction.setCompanyId(1000L); companySymbolUpdateAction.setContactType("ContactType"); companySymbolUpdateAction.setContactValue("ContactValue"); companySymbolUpdateAction.setId(currentId.get()); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_Contact, companySymbolUpdateAction, REST_URL); } diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/ProfileDocumentControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/ProfileDocumentControllerTest.java index d8023e9a8..bd115b488 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/ProfileDocumentControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/ProfileDocumentControllerTest.java @@ -10,15 +10,8 @@ import java.time.LocalDate; class ProfileDocumentControllerTest extends AbstractControllerTest { private static final String REST_URL = "/profile-documents/"; - /** - * {@link ProfileDocumentController#getAll()}
- * Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_ProfileDocument.
- * Входной запрос /profile-documents/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE ProfileDocument profileDocument = new ProfileDocument(); profileDocument.setCompanyId(1000L); profileDocument.setDocumentType("DocumentType"); @@ -33,8 +26,6 @@ class ProfileDocumentControllerTest extends AbstractControllerTest { profileDocument.setValidToDate(LocalDate.now()); profileDocument.setLink("Link"); profileDocument.setId(currentId.get()); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_ProfileDocument, profileDocument, REST_URL); } } \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/RelationControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/RelationControllerTest.java index e2f06a22c..41cae406c 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/RelationControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/RelationControllerTest.java @@ -19,15 +19,8 @@ import static ru.spcex.clearing.test.json.JsonUtil.writeValue; class RelationControllerTest extends AbstractControllerTest { private static final String REST_URL = "/relations/"; - /** - * {@link RelationController#update(Long, RelationUpdateAction)}
- * Тест проверяет получение сущности {@link RelationUpdateAction} по REST API и отправку в Apache Kafka.
- * Входной запрос: id, {@link RelationUpdateAction}:
- *
- */ @Test void update() throws Exception { - //ARRANGE Long existsId = 123L; RelationUpdateAction relationUpdateAction = new RelationUpdateAction(); relationUpdateAction.setId(existsId); @@ -36,22 +29,13 @@ class RelationControllerTest extends AbstractControllerTest { Relation relation = new Relation(); relation.setId(existsId); - - //ACT and ASSERT checkUpdatingWithIdVolidationByRestApi(IMDGDistributedNames.Map_Relation, relation, REST_URL, relationUpdateAction, existsId); checkSendedMessegeFromKafka(Consts.DESTINATION_RELATION_UPDATE, relationUpdateAction); } - /** - * {@link RelationController#getAll()}
- * Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_BankAccount.
- * Входной запрос /relations/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE Long existsId = 123L; BankAccount existBankAccount = new BankAccount(); existBankAccount.setBankName("ooo tinkoff"); @@ -66,8 +50,6 @@ class RelationControllerTest extends AbstractControllerTest { Relation relation = new Relation(); relation.setId(existsId); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_Relation, relation, REST_URL); } diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/execution/ExecutionDepositControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/execution/ExecutionDepositControllerTest.java index c6786f993..67c092b71 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/execution/ExecutionDepositControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/execution/ExecutionDepositControllerTest.java @@ -12,15 +12,8 @@ import java.time.LocalDate; class ExecutionDepositControllerTest extends AbstractControllerTest { private static final String REST_URL = "/execution-deposits/"; - /** - * {@link ExecutionDepositController#getAll()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /execution-deposits/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE ExecutionDeposit executionDeposit = new ExecutionDeposit(); executionDeposit.setId(currentId.get()); executionDeposit.setExchangeExecutionId(currentId.get()); @@ -52,8 +45,6 @@ class ExecutionDepositControllerTest extends AbstractControllerTest { executionDeposit.setCoverageStatus("cov"); executionDeposit.setSessionId(currentId.get()); executionDeposit.setClearingDate(LocalDate.now()); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_ExecutionDeposit, executionDeposit, REST_URL); } } \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/execution/ExecutionFondControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/execution/ExecutionFondControllerTest.java index 9bb6803ad..f0dfa6b04 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/execution/ExecutionFondControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/execution/ExecutionFondControllerTest.java @@ -12,15 +12,8 @@ import java.time.LocalDate; class ExecutionFondControllerTest extends AbstractControllerTest { private static final String REST_URL = "/execution-fonds/"; - /** - * {@link ExecutionFondController#getAll()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /execution-fonds/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE ExecutionFond executionFond = new ExecutionFond(); executionFond.setId(currentId.get()); executionFond.setExchangeExecutionId(currentId.get()); @@ -50,8 +43,6 @@ class ExecutionFondControllerTest extends AbstractControllerTest { executionFond.setSettlementCode("settl1"); executionFond.setSettlementDate(LocalDate.now()); executionFond.setExchangeExecutionMicroseconds(Instant.now()); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_ExecutionFond, executionFond, REST_URL); } } \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/journal/InDocumentJournalControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/journal/InDocumentJournalControllerTest.java index e87550cdb..a7526169b 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/journal/InDocumentJournalControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/journal/InDocumentJournalControllerTest.java @@ -12,15 +12,8 @@ import java.time.LocalTime; class InDocumentJournalControllerTest extends AbstractControllerTest { private static final String REST_URL = "/in-document-journals/"; - /** - * {@link InDocumentJournalController#getAll()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /in-document-journals/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE InDocumentJournal inDocumentJournal = new InDocumentJournal(); inDocumentJournal.setId(currentId.get()); inDocumentJournal.setComment("Comment"); @@ -37,8 +30,6 @@ class InDocumentJournalControllerTest extends AbstractControllerTest { inDocumentJournal.setQuantity(0L); inDocumentJournal.setClearingCode("dosser"); inDocumentJournal.setEmailDate(LocalDate.now()); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_InDocumentJournal, inDocumentJournal, REST_URL); } } \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/journal/ManagementJournalControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/journal/ManagementJournalControllerTest.java index 5cc60ae6a..6ef765d8b 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/journal/ManagementJournalControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/journal/ManagementJournalControllerTest.java @@ -10,15 +10,8 @@ import java.time.Instant; class ManagementJournalControllerTest extends AbstractControllerTest { private static final String REST_URL = "/management-journals/"; - /** - * {@link ManagementJournalController#getAll()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /management-journals/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE ManagementJournal managementJournal = new ManagementJournal(); managementJournal.setId(currentId.get()); managementJournal.setCompanyId(currentId.get()); @@ -30,8 +23,6 @@ class ManagementJournalControllerTest extends AbstractControllerTest { managementJournal.setChangeAccessSign("send"); managementJournal.setChangeDataSign("dos"); managementJournal.setEventDate(Instant.now()); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_ManagementJournal, managementJournal, REST_URL); } } \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/journal/OutDocumentJournalControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/journal/OutDocumentJournalControllerTest.java index 09cc8f804..93576034e 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/journal/OutDocumentJournalControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/journal/OutDocumentJournalControllerTest.java @@ -12,15 +12,8 @@ import java.time.LocalTime; class OutDocumentJournalControllerTest extends AbstractControllerTest { private static final String REST_URL = "/out-document-journals/"; - /** - * {@link OutDocumentJournalController#getAll()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /out-document-journals/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE OutDocumentJournal outDocumentJournal = new OutDocumentJournal(); outDocumentJournal.setId(currentId.get()); outDocumentJournal.setRegistrationDate(LocalDate.now()); @@ -36,8 +29,6 @@ class OutDocumentJournalControllerTest extends AbstractControllerTest { outDocumentJournal.setDossierNumber("doc"); outDocumentJournal.setPostDate(LocalDate.now()); outDocumentJournal.setResultStatus("res"); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_OutDocumentJournal, outDocumentJournal, REST_URL); } } \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/CurrencyControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/CurrencyControllerTest.java index fd876184e..35440545f 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/CurrencyControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/CurrencyControllerTest.java @@ -8,21 +8,12 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames; class CurrencyControllerTest extends AbstractControllerTest { private static final String REST_URL = "/currencies/"; - /** - * {@link CurrencyController#getAll()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /currencies/
- * Ответ CurrencyController
- */ @Test void getAll() throws Exception { - //ARRANGE Currency currency = new Currency(); currency.setId(currentId.get()); currency.setCountryCode("acc"); currency.setCurrencyCode("acc"); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_Currency, currency, REST_URL); } } \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/ErrorTextControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/ErrorTextControllerTest.java index b03a31521..016259160 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/ErrorTextControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/ErrorTextControllerTest.java @@ -10,15 +10,8 @@ import java.time.LocalDate; class ErrorTextControllerTest extends AbstractControllerTest { private static final String REST_URL = "/error-texts/"; - /** - * {@link ErrorTextController#getAll()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /error-texts/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE ErrorText errorText = new ErrorText(); errorText.setId(currentId.get()); errorText.setText("text"); diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/ListingControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/ListingControllerTest.java index b3e1cfec8..3403051a3 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/ListingControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/ListingControllerTest.java @@ -10,15 +10,8 @@ import java.math.BigDecimal; class ListingControllerTest extends AbstractControllerTest { private static final String REST_URL = "/listings/"; - /** - * {@link ListingController#getAll()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /listings/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE Listing liabilitiesClaimsAssets = new Listing(); liabilitiesClaimsAssets.setId(currentId.get()); liabilitiesClaimsAssets.setSecurityId(currentId.get()); @@ -28,8 +21,6 @@ class ListingControllerTest extends AbstractControllerTest { liabilitiesClaimsAssets.setSymbolName("res"); liabilitiesClaimsAssets.setTradingCurrency("trad"); liabilitiesClaimsAssets.setWorkflowStatus("work"); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_Listing, liabilitiesClaimsAssets, REST_URL); } } \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/MarketControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/MarketControllerTest.java index f1b7d69c0..bcae390de 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/MarketControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/MarketControllerTest.java @@ -8,15 +8,8 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames; class MarketControllerTest extends AbstractControllerTest { private static final String REST_URL = "/markets/"; - /** - * {@link MarketController#getAll()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /markets/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE Market liabilitiesClaimsAssets = new Market(); liabilitiesClaimsAssets.setId(currentId.get()); liabilitiesClaimsAssets.setDescription("des"); @@ -25,8 +18,6 @@ class MarketControllerTest extends AbstractControllerTest { liabilitiesClaimsAssets.setCode("man"); liabilitiesClaimsAssets.setSettlementCurrency("res"); liabilitiesClaimsAssets.setSection("sec"); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_Market, liabilitiesClaimsAssets, REST_URL); } } \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/NotificationControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/NotificationControllerTest.java index cd026029e..dc760b6c9 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/NotificationControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/NotificationControllerTest.java @@ -9,7 +9,6 @@ import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest; import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse; import ru.spcex.clearing.imdg.IMDGDistributedNames; -import java.time.Instant; import java.time.LocalDate; import java.util.Collection; import java.util.Map; @@ -22,15 +21,8 @@ import static ru.spcex.clearing.test.json.JsonUtil.writeValue; class NotificationControllerTest extends AbstractControllerTest { private static final String REST_URL = "/notifications/"; - /** - * {@link NotificationController#getAll()}
- * Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_Notification.
- * Входной запрос /notifications/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE Notification profileDocument = new Notification(); profileDocument.setClearingDate(LocalDate.now()); profileDocument.setSenderId(1000L); @@ -47,11 +39,9 @@ class NotificationControllerTest extends AbstractControllerTest { Collection> all = responseFactory.responseFromObjectCollection(values); CommonGetAllResponse expected = new CommonGetAllResponse(); expected.fromEntity(all); - //ACT perform(MockMvcRequestBuilders.get(REST_URL) .contentType(MediaType.APPLICATION_JSON)) - .andDo(print())//output to the log request and response - //ASSERT + .andDo(print()) .andExpect(status().isOk()) .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) .andExpect(content().json(writeValue(expected))); diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/SessionControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/SessionControllerTest.java index 578af6a9e..d49cfb6d3 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/SessionControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/SessionControllerTest.java @@ -21,15 +21,8 @@ import static ru.spcex.clearing.test.json.JsonUtil.writeValue; class SessionControllerTest extends AbstractControllerTest { private static final String REST_URL = "/sessions/"; - /** - * {@link SessionController#getAll()}
- * Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_Session.
- * Входной запрос /sessions/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE Session session = new Session(); session.setClearingDate(LocalDate.now()); session.setSessionStatus("Ok"); @@ -42,11 +35,9 @@ class SessionControllerTest extends AbstractControllerTest { Collection> all = responseFactory.responseFromObjectCollection(values); CommonGetAllResponse expected = new CommonGetAllResponse(); expected.fromEntity(all); - //ACT perform(MockMvcRequestBuilders.get(REST_URL) .contentType(MediaType.APPLICATION_JSON)) - .andDo(print())//output to the log request and response - //ASSERT + .andDo(print()) .andExpect(status().isOk()) .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) .andExpect(content().json(writeValue(expected))); diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/payment/PaymentInstructionControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/payment/PaymentInstructionControllerTest.java index 80cdd1ad8..6f3f94727 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/payment/PaymentInstructionControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/payment/PaymentInstructionControllerTest.java @@ -25,15 +25,8 @@ import static ru.spcex.clearing.test.json.JsonUtil.writeValue; class PaymentInstructionControllerTest extends AbstractControllerTest { private static final String REST_URL = "/payment-instructions/"; - /** - * {@link PaymentInstructionController#getAll()}
- * Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_PaymentInstruction.
- * Входной запрос /paymentInstructions/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE PaymentInstruction paymentInstruction = new PaymentInstruction(); paymentInstruction.setSenderId(1010L); @@ -72,11 +65,9 @@ class PaymentInstructionControllerTest extends AbstractControllerTest { Collection> all = responseFactory.responseFromObjectCollection(values); CommonGetAllResponse expected = new CommonGetAllResponse(); expected.fromEntity(all); - //ACT perform(MockMvcRequestBuilders.get(REST_URL) .contentType(MediaType.APPLICATION_JSON)) - .andDo(print())//output to the log request and response - //ASSERT + .andDo(print()) .andExpect(status().isOk()) .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) .andExpect(content().json(writeValue(expected))); @@ -84,7 +75,6 @@ class PaymentInstructionControllerTest extends AbstractControllerTest { @Test void clearingOutboundAction() throws Exception { - //ARRANGE PIClearingOutbondActionNew piClearingOutbondActionNew = new PIClearingOutbondActionNew(); piClearingOutbondActionNew.setSenderId(111L); piClearingOutbondActionNew.setAddresseeId(222L); @@ -92,7 +82,6 @@ class PaymentInstructionControllerTest extends AbstractControllerTest { piClearingOutbondActionNew.setCreditLeg_amount(BigDecimal.valueOf(120.99)); piClearingOutbondActionNew.setCreditLeg_accountId(333L); piClearingOutbondActionNew.setDebitLeg_accountId(335L); - //ACT and ASSERT checkAddingByRestApi("/payment-instructions/clearing-outbound/", piClearingOutbondActionNew); checkSendedMessegeFromKafka(Consts.PAYMENT_INSTRUCTION_CLEARING_OUTBOUND_ACTION, piClearingOutbondActionNew); } diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/AdmittedLiabilitiesRegisterControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/AdmittedLiabilitiesRegisterControllerTest.java index 62e5ab035..b272cab71 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/AdmittedLiabilitiesRegisterControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/AdmittedLiabilitiesRegisterControllerTest.java @@ -11,15 +11,8 @@ import java.time.LocalDate; class AdmittedLiabilitiesRegisterControllerTest extends AbstractControllerTest { private static final String REST_URL = "/admitted-liabilities-registers/"; - /** - * {@link AdmittedLiabilitiesRegisterController#getAll()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /admitted-liabilities-registers/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE AdmittedLiabilitiesRegister admittedLiabilitiesRegister = new AdmittedLiabilitiesRegister(); admittedLiabilitiesRegister.setId(currentId.get()); admittedLiabilitiesRegister.setCompanyFullName("fuill nme"); @@ -31,8 +24,6 @@ class AdmittedLiabilitiesRegisterControllerTest extends AbstractControllerTest { admittedLiabilitiesRegister.setAccount("ACC1"); admittedLiabilitiesRegister.setAmount(BigDecimal.valueOf(12.15)); admittedLiabilitiesRegister.setClearingDate(LocalDate.now()); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_AdmittedLiabilitiesRegister, admittedLiabilitiesRegister, REST_URL); } } \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/ContractRegisterControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/ContractRegisterControllerTest.java index 259f0dcfb..edf4c942e 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/ContractRegisterControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/ContractRegisterControllerTest.java @@ -10,15 +10,8 @@ import java.time.LocalDate; class ContractRegisterControllerTest extends AbstractControllerTest { private static final String REST_URL = "/contract-registers/"; - /** - * {@link ContractRegisterController#getAll()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /contract-registers/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE ContractRegister contractRegister = new ContractRegister(); contractRegister.setId(currentId.get()); contractRegister.setName("code"); @@ -35,8 +28,6 @@ class ContractRegisterControllerTest extends AbstractControllerTest { contractRegister.setValidToDate(LocalDate.now()); contractRegister.setCloseDate(LocalDate.now()); contractRegister.setComment("ocpo"); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_ContractRegister, contractRegister, REST_URL); } } \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/CoveredLiabilitiesRegisterControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/CoveredLiabilitiesRegisterControllerTest.java index 42b5b7906..37abf21f0 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/CoveredLiabilitiesRegisterControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/CoveredLiabilitiesRegisterControllerTest.java @@ -11,15 +11,8 @@ import java.time.LocalDate; class CoveredLiabilitiesRegisterControllerTest extends AbstractControllerTest { private static final String REST_URL = "/covered-liabilities-registers/"; - /** - * {@link CoveredLiabilitiesRegisterController#getAll()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /covered-liabilities-registers/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE CoveredLiabilitiesRegister coveredLiabilitiesRegister = new CoveredLiabilitiesRegister(); coveredLiabilitiesRegister.setId(currentId.get()); coveredLiabilitiesRegister.setCompanyFullName("fuill nme"); @@ -31,8 +24,6 @@ class CoveredLiabilitiesRegisterControllerTest extends AbstractControllerTest { coveredLiabilitiesRegister.setAccount("ACC1"); coveredLiabilitiesRegister.setAmount(BigDecimal.valueOf(12.15)); coveredLiabilitiesRegister.setClearingDate(LocalDate.now()); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_CoveredLiabilitiesRegister, coveredLiabilitiesRegister, REST_URL); } } \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/DepoBalanceRegisterControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/DepoBalanceRegisterControllerTest.java index e0991d5d1..39168de37 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/DepoBalanceRegisterControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/DepoBalanceRegisterControllerTest.java @@ -8,23 +8,14 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames; class DepoBalanceRegisterControllerTest extends AbstractControllerTest { private static final String REST_URL = "/depo-balance-registers/"; - /** - * {@link DepoBalanceRegisterController#getAll()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /depo-balance-registers/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE DepoBalanceRegister depoBalanceRegister = new DepoBalanceRegister(); depoBalanceRegister.setId(currentId.get()); depoBalanceRegister.setSessionId(111L); depoBalanceRegister.setSecuritySymbol("RUB"); depoBalanceRegister.setCompanyId(222L); depoBalanceRegister.setDepoCode("DCDE"); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_DepoBalanceRegister, depoBalanceRegister, REST_URL); } } \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/DepoPaymentInstructionRegisterControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/DepoPaymentInstructionRegisterControllerTest.java index e3d54a241..7d38be3d8 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/DepoPaymentInstructionRegisterControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/DepoPaymentInstructionRegisterControllerTest.java @@ -10,15 +10,8 @@ import java.math.BigDecimal; class DepoPaymentInstructionRegisterControllerTest extends AbstractControllerTest { private static final String REST_URL = "/depo-payment-instruction-registers/"; - /** - * {@link DepoPaymentInstructionRegisterController#getAll()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /depo-payment-instruction-registers/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE DepoPaymentInstructionRegister depoPaymentInstructionRegister = new DepoPaymentInstructionRegister(); depoPaymentInstructionRegister.setId(currentId.get()); depoPaymentInstructionRegister.setCompanyId(currentId.get()); @@ -28,8 +21,6 @@ class DepoPaymentInstructionRegisterControllerTest extends AbstractControllerTes depoPaymentInstructionRegister.setQuantity(BigDecimal.valueOf(12.15)); depoPaymentInstructionRegister.setDirection(currentId.get()); depoPaymentInstructionRegister.setSessionId(currentId.get()); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_DepoPaymentInstructionRegister, depoPaymentInstructionRegister, REST_URL); } } \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/ExcludeLiabilitiesRegisterControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/ExcludeLiabilitiesRegisterControllerTest.java index 79b8a16a9..330f518f8 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/ExcludeLiabilitiesRegisterControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/ExcludeLiabilitiesRegisterControllerTest.java @@ -11,15 +11,8 @@ import java.time.LocalDate; class ExcludeLiabilitiesRegisterControllerTest extends AbstractControllerTest { private static final String REST_URL = "/exclude-liabilities-registers/"; - /** - * {@link ExcludeLiabilitiesRegisterController#getAll()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /exclude-liabilities-registers/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE ExcludeLiabilitiesRegister excludeLiabilitiesRegister = new ExcludeLiabilitiesRegister(); excludeLiabilitiesRegister.setId(currentId.get()); excludeLiabilitiesRegister.setSessionId(222L); @@ -35,8 +28,6 @@ class ExcludeLiabilitiesRegisterControllerTest extends AbstractControllerTest { excludeLiabilitiesRegister.setCurrency("Currency"); excludeLiabilitiesRegister.setSumLiabilities(BigDecimal.valueOf(12.15)); excludeLiabilitiesRegister.setSettlementDate(LocalDate.now()); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_ExcludeLiabilitiesRegister, excludeLiabilitiesRegister, REST_URL); } } \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/ExecutionRegisterControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/ExecutionRegisterControllerTest.java index 40623b6e4..d8aa53055 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/ExecutionRegisterControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/ExecutionRegisterControllerTest.java @@ -12,15 +12,8 @@ import java.time.LocalDate; class ExecutionRegisterControllerTest extends AbstractControllerTest { private static final String REST_URL = "/execution-registers/"; - /** - * {@link ExecutionRegisterController#getAll()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /execution-registers/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE ExecutionRegister executionRegister = new ExecutionRegister(); executionRegister.setId(currentId.get()); executionRegister.setTradingDate(LocalDate.now()); @@ -40,9 +33,6 @@ class ExecutionRegisterControllerTest extends AbstractControllerTest { executionRegister.setAmount(BigDecimal.valueOf(14.55)); executionRegister.setQuantity(BigDecimal.valueOf(0.1)); executionRegister.setClearingDate(LocalDate.now()); - - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_ExecutionRegister, executionRegister, REST_URL); } } \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/LiabilitiesRegisterControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/LiabilitiesRegisterControllerTest.java index 7b0edaa3d..a1cf6ca2d 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/LiabilitiesRegisterControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/LiabilitiesRegisterControllerTest.java @@ -11,15 +11,8 @@ import java.time.LocalDate; class LiabilitiesRegisterControllerTest extends AbstractControllerTest { private static final String REST_URL = "/liabilities-registers/"; - /** - * {@link LiabilitiesRegisterController#getAll()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /liabilities-registers/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE LiabilitiesRegister liabilitiesRegister = new LiabilitiesRegister(); liabilitiesRegister.setId(currentId.get()); liabilitiesRegister.setSessionId(111L); @@ -35,9 +28,6 @@ class LiabilitiesRegisterControllerTest extends AbstractControllerTest { liabilitiesRegister.setCurrency("RUB"); liabilitiesRegister.setSumLiabilities(BigDecimal.TEN); liabilitiesRegister.setSettlementDate(LocalDate.now()); - - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_LiabilitiesRegister, liabilitiesRegister, REST_URL); } } \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/MoneyBalanceRegisterControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/MoneyBalanceRegisterControllerTest.java index 680a08424..00f50eea2 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/MoneyBalanceRegisterControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/MoneyBalanceRegisterControllerTest.java @@ -10,15 +10,8 @@ import java.math.BigDecimal; class MoneyBalanceRegisterControllerTest extends AbstractControllerTest { private static final String REST_URL = "/money-balance-registers/"; - /** - * {@link MoneyBalanceRegisterController#getAll()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /money-balance-registers/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE MoneyBalanceRegister moneyBalanceRegister = new MoneyBalanceRegister(); moneyBalanceRegister.setId(currentId.get()); moneyBalanceRegister.setSetHouseName("setHouseName"); @@ -31,9 +24,6 @@ class MoneyBalanceRegisterControllerTest extends AbstractControllerTest { moneyBalanceRegister.setSessionId(456L); moneyBalanceRegister.setCompanyFullName("companyFullName"); moneyBalanceRegister.setCompanyId(currentId.get()); - - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_MoneyBalanceRegister, moneyBalanceRegister, REST_URL); } } \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/RegistryControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/RegistryControllerTest.java index a6b7843df..10570e5fc 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/RegistryControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/RegistryControllerTest.java @@ -1,31 +1,20 @@ package ru.spcex.clearing.backendapi.controller.queue.register; import org.junit.jupiter.api.Test; -import ru.clearing.classes.statics.data.register.ContractRegister; import ru.clearing.classes.statics.data.registry.Registry; import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest; import ru.spcex.clearing.backendapi.controller.request.cud.registry.RSplitDepositActionNew; -import ru.spcex.clearing.backendapi.controller.request.cud.registry.TradingClearingRegistryNewAction; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.Consts; import java.math.BigDecimal; import java.time.LocalDate; -import static org.junit.jupiter.api.Assertions.*; - class RegistryControllerTest extends AbstractControllerTest { private static final String REST_URL = "/registries/"; - /** - * {@link RegistryController#getAll()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /registries/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE Registry registry = new Registry(); registry.setId(currentId.get()); registry.setCompanyId(currentId.get()); @@ -71,20 +60,16 @@ class RegistryControllerTest extends AbstractControllerTest { registry.setGroupId(currentId.get()); registry.setSessionId(currentId.get()); registry.setSessionType("CLR1"); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_Registry, registry, REST_URL); } @Test void splitDepositAction() throws Exception { - //ARRANGE RSplitDepositActionNew rSplitDepositActionNew=new RSplitDepositActionNew(); rSplitDepositActionNew.setComment("comment"); rSplitDepositActionNew.setContract("CONTRACT-1"); rSplitDepositActionNew.setRefundDate(LocalDate.now()); rSplitDepositActionNew.setOutboundAmount(BigDecimal.ONE); - //ACT and ASSERT checkAddingByRestApi("/registries/splitDeposit/", rSplitDepositActionNew); checkSendedMessegeFromKafka(Consts.REGISTRY_SPLIT_DEPOSIT_ACTION, rSplitDepositActionNew); diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/ReportRegisterControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/ReportRegisterControllerTest.java index 69ea99f86..5eee0e911 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/ReportRegisterControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/register/ReportRegisterControllerTest.java @@ -10,15 +10,8 @@ import java.time.LocalDate; class ReportRegisterControllerTest extends AbstractControllerTest { private static final String REST_URL = "/report-registers/"; - /** - * {@link ReportRegisterController#getAll()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /report-registers/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE ReportRegister reportRegister = new ReportRegister(); reportRegister.setId(currentId.get()); reportRegister.setCompanyFullName("code"); @@ -28,8 +21,6 @@ class ReportRegisterControllerTest extends AbstractControllerTest { reportRegister.setName("cat"); reportRegister.setQuantity(currentId.get()); reportRegister.setClearingDate(LocalDate.now()); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_ReportRegister, reportRegister, REST_URL); } } \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/registry/TradingClearingRegistryControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/registry/TradingClearingRegistryControllerTest.java index 959b5ae21..e543a74cc 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/registry/TradingClearingRegistryControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/registry/TradingClearingRegistryControllerTest.java @@ -15,7 +15,6 @@ import ru.spcex.clearing.backendapi.domain.actions.IAction; import ru.spcex.clearing.backendapi.errors.ActionValidationException; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.Consts; -import ru.spcex.clearing.platform.messaging.domain.cud.registry.TradingClearingRegistryNewRequest; import ru.spcex.platform.imdg.api.Imdg; import static org.junit.jupiter.api.Assertions.assertThrows; @@ -27,88 +26,43 @@ import static ru.spcex.clearing.test.json.JsonUtil.writeValue; class TradingClearingRegistryControllerTest extends AbstractControllerTest { private static final String REST_URL = "/trading-clearing-registries/"; - /** - * {@link TradingClearingRegistryController#add(TradingClearingRegistryNewAction)}
- * Тест проверяет получение сущности {@link TradingClearingRegistryNewAction} по REST API и отправку в Apache Kafka.
- * Входной запрос {@link TradingClearingRegistryNewRequest}:
- * {@link TradingClearingRegistryNewRequest#companyId} - 1234567890
- * {@link TradingClearingRegistryNewRequest#moneyAccountId} - 18415056336414057
- * {@link TradingClearingRegistryNewRequest#depoAccountId} - 21239757374450030
- * {@link TradingClearingRegistryNewRequest#status} - ACTV
- */ @Test void add() throws Exception { - //ARRANGE TradingClearingRegistryNewAction tradingClearingRegistryNewAction = getTradingClearingRegistryNewAction( 0, 1234567890L, 18415056336414057L, 21239757374450030L, "ACTV" ); - - //ACT and ASSERT checkAddingByRestApi(REST_URL, tradingClearingRegistryNewAction); checkSendedMessegeFromKafka(Consts.DESTINATION_TRADING_CLEARING_REGISTRY_NEW, tradingClearingRegistryNewAction); } - /** - * {@link TradingClearingRegistryController#add(TradingClearingRegistryNewAction)}
- * Тест проверяет работу валидации сущности {@link TradingClearingRegistryNewAction} принятой по REST API для отправку в Apache Kafka.
- * Входной запрос {@link TradingClearingRegistryNewRequest}:
- * {@link TradingClearingRegistryNewRequest#companyId} - 1234567890 / null
- * {@link TradingClearingRegistryNewRequest#moneyAccountId} - 18415056336414057 / null
- * {@link TradingClearingRegistryNewRequest#depoAccountId} - 21239757374450030
- * {@link TradingClearingRegistryNewRequest#status} - ACTV
- */ @Test void addWithException() { assertThrowsForNew(getTradingClearingRegistryNewAction(0, null, 18415056336414057L, 21239757374450030L, "ACTV")); assertThrowsForNew(getTradingClearingRegistryNewAction(0, 1234567890L, null, 21239757374450030L, "ACTV")); } - /** - * {@link TradingClearingRegistryController#update(Long, TradingClearingRegistryUpdateAction)}
- * Тест проверяет получение сущности {@link TradingClearingRegistryUpdateAction} по REST API и отправку в Apache Kafka.
- * Входной запрос {@link TradingClearingRegistryUpdateAction}:
- * {@link TradingClearingRegistryUpdateAction#id} - generated
- * {@link TradingClearingRegistryUpdateAction#code} - ACTV
- */ @Test void update() throws Exception { - //ARRANGE long id = 0; TradingClearingRegistryUpdateAction tradingClearingRegistryUpdateAction = getTradingClearingRegistryUpdateAction( id, "ACTV" ); - - //ACT and ASSERT checkUpdatingByRestApi(REST_URL, tradingClearingRegistryUpdateAction, id); checkSendedMessegeFromKafka(Consts.DESTINATION_TRADING_CLEARING_REGISTRY_UPDATE, tradingClearingRegistryUpdateAction); } - /** - * {@link TradingClearingRegistryController#delete(Long)}
- * Тест проверяет получение id сущности {@link Long} по REST API и отправку в Apache Kafka.
- * Входной запрос /trading-clearing-registries/{@link Long}: - 0L
- */ @Test void delete() throws Exception { - //ARRANGE long id = currentId.getAndIncrement(); CommonDeleteAction deleteAction = new CommonDeleteAction(); deleteAction.setId(id); - //ACT and ASSERT checkDeletingByRestApi(REST_URL, id); checkSendedMessegeFromKafka(Consts.DESTINATION_TRADING_CLEARING_REGISTRY_BLOCK, deleteAction); } - /** - * {@link TradingClearingRegistryController#getById(Long)}
- * Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_TradingClearingRegistry.
- * Входной запрос /trading-clearing-registries/{@link Long}: - 0L
- * Ответ BankAccountBackendGetById
- */ @Test void getById() throws Exception { - //ARRANGE TradingClearingRegistry existTradingClearingRegistry = new TradingClearingRegistry(); existTradingClearingRegistry.setCompanyId(365L); existTradingClearingRegistry.setCode("99999"); @@ -137,25 +91,16 @@ class TradingClearingRegistryControllerTest extends AbstractControllerTest { payload.setCreatedAt(existTradingClearingRegistry.getCreated()); payload.setUpdatedAt(existTradingClearingRegistry.getUpdated()); expected.setPayload(payload); - //ACT perform(MockMvcRequestBuilders.get(REST_URL + existTradingClearingRegistry.getId()) .contentType(MediaType.APPLICATION_JSON)) - .andDo(print())//output to the log request and response -// ASSERT - .andExpect(status().isOk()) + .andDo(print()) +.andExpect(status().isOk()) .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) .andExpect(content().json(writeValue(expected))); } - /** - * {@link TradingClearingRegistryController#getAll()}
- * Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_BankAccount.
- * Входной запрос /trading-clearing-registries/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE TradingClearingRegistry existTradingClearingRegistry = new TradingClearingRegistry(); existTradingClearingRegistry.setCompanyId(365L); existTradingClearingRegistry.setCode("99999"); @@ -166,8 +111,6 @@ class TradingClearingRegistryControllerTest extends AbstractControllerTest { existTradingClearingRegistry.setTradingClearingRegistryPurpose("848484848484"); existTradingClearingRegistry.setStatus("ACTV"); existTradingClearingRegistry.setId(currentId.get()); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_TradingClearingRegistry, existTradingClearingRegistry, REST_URL); } diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/ClearingCalendarControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/ClearingCalendarControllerTest.java index 6551d649c..35659532a 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/ClearingCalendarControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/ClearingCalendarControllerTest.java @@ -14,76 +14,43 @@ import java.time.LocalDate; class ClearingCalendarControllerTest extends AbstractControllerTest { private static final String REST_URL = "/schedule/clearing-calendars/"; - /** - * {@link ClearingCalendarController#getAll()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /schedule/clearing-calendars/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE ClearingCalendar clearingCalendar = new ClearingCalendar(); clearingCalendar.setId(currentId.get()); clearingCalendar.setCompanyId(currentId.get()); clearingCalendar.setClearingDate(LocalDate.now()); clearingCalendar.setDayStatus("status"); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_ClearingCalendar, clearingCalendar, REST_URL); } - /** - * {@link ClearingCalendarController#add(ClearingCalendarNewAction)}
- * Тест проверяет получение сущности {@link ClearingCalendarNewAction} по REST API и отправку в Apache Kafka.
- * Входной запрос {@link ClearingCalendarNewAction}:
- */ @Test void add() throws Exception { - //ARRANGE ClearingCalendarNewAction clearingCalendarNewAction = new ClearingCalendarNewAction(); clearingCalendarNewAction.setCompanyId(currentId.get()); clearingCalendarNewAction.setClearingDate(LocalDate.now()); clearingCalendarNewAction.setDayStatus("status"); - - //ACT and ASSERT checkAddingByRestApi(REST_URL, clearingCalendarNewAction); checkSendedMessegeFromKafka(Consts.DESTINATION_CLEARING_CALENDAR_NEW, clearingCalendarNewAction); } - /** - * {@link ClearingCalendarController#update(Long, ClearingCalendarUpdateAction)}
- * Тест проверяет получение сущности {@link ClearingCalendarUpdateAction} по REST API и отправку в Apache Kafka.
- * Входной запрос {@link ClearingCalendarUpdateAction}:
- */ @Test void update() throws Exception { - //ARRANGE long id = currentId.getAndIncrement(); ClearingCalendarUpdateAction clearingCalendarUpdateAction = new ClearingCalendarUpdateAction(); clearingCalendarUpdateAction.setId(id); clearingCalendarUpdateAction.setCompanyId(currentId.get()); clearingCalendarUpdateAction.setClearingDate(LocalDate.now()); clearingCalendarUpdateAction.setDayStatus("status"); - - //ACT and ASSERT checkUpdatingByRestApi(REST_URL, clearingCalendarUpdateAction, id); checkSendedMessegeFromKafka(Consts.DESTINATION_CLEARING_CALENDAR_UPDATE, clearingCalendarUpdateAction); } - /** - * {@link ClearingCalendarController#delete(Long)}
- * Тест проверяет получение id сущности {@link Long} по REST API и отправку в Apache Kafka.
- * Входной запрос /schedule/clearing-calendars/{@link Long}: - 0L
- */ @Test void delete() throws Exception { - //ARRANGE long id = currentId.getAndIncrement(); CommonDeleteAction deleteAction = new CommonDeleteAction(); deleteAction.setId(id); - - //ACT and ASSERT checkDeletingByRestApi(REST_URL, id); checkSendedMessegeFromKafka(Consts.DESTINATION_CLEARING_CALENDAR_DELETE, deleteAction); } diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/LauncherControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/LauncherControllerTest.java index dad895ccd..e766e3e41 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/LauncherControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/LauncherControllerTest.java @@ -38,15 +38,8 @@ class LauncherControllerTest extends AbstractControllerTest { private static final String START_OF_CLEARING = Task.startOfClearing.getKey(); private static final long ID = 0; - /** - * {@link LauncherController#getAll()}
- * Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_TaskRunner.
- * Входной запрос /task-runners/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE Launcher taskRunner = new Launcher(); taskRunner.setTask("Task"); taskRunner.setSenderId(10210L); @@ -59,23 +52,16 @@ class LauncherControllerTest extends AbstractControllerTest { Collection> all = responseFactory.responseFromObjectCollection(values); CommonGetAllResponse expected = new CommonGetAllResponse(); expected.fromEntity(all); - //ACT perform(MockMvcRequestBuilders.get(REST_URL) .contentType(MediaType.APPLICATION_JSON)) - .andDo(print())//output to the log request and response - //ASSERT + .andDo(print()) .andExpect(status().isOk()) .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) .andExpect(content().json(writeValue(expected))); } - /** - * {@link LauncherController#add(String)}
- * Тест проверяет получение сущности {@link LauncherController} по REST API и отправку в Apache Kafka.
- */ @Test void add() throws Exception { - //ARRANGE TaskDictionary taskDictionary = new TaskDictionary(); taskDictionary.setCode(CODE); taskDictionary.setId(ID); @@ -92,25 +78,17 @@ class LauncherControllerTest extends AbstractControllerTest { expected.setPayload(new QueueSuccessResponse(ActionType.NEW, currentId.getAndIncrement())); setUserNameInMockSecurityContextAndMapUser(CODE, ID); - - //ACT MvcResult mvcResult = perform(MockMvcRequestBuilders.post(REST_URL + CODE)) - .andDo(print())//output to the log request and response - //ASSERT + .andDo(print()) .andExpect(status().isOk()) .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) -// .andExpect(content().json(writeValue(expected))); - .andReturn(); +.andReturn(); CudResponseTest cudResponseTest = readValue(mvcResult.getResponse().getContentAsString(), CudResponseTest.class); expected.setPayload(new QueueSuccessResponse(ActionType.NEW, cudResponseTest.getPayload().getId())); CUD_RESPONSE_MATCHER.assertMatch(cudResponseTest, expected); checkSendedMessegeFromKafka(Consts.LAUNCHER_NEW, launcherCommand); } - /** - * {@link LauncherController#add(String)}
- * Тест проверяет работу валидации {@link LauncherController}
- */ @Test void addWithException() throws Exception { BasicSpcexResponse response = new BasicSpcexResponse(); @@ -118,23 +96,16 @@ class LauncherControllerTest extends AbstractControllerTest { EnumMessage message = ex.getError(); response.setCode(message.getSubject().getId()); response.setMessage(errorResolver.resolve(message)); - //ACT perform(MockMvcRequestBuilders.post(REST_URL + null) .contentType(MediaType.APPLICATION_JSON)) - .andDo(print())//output to the log request and response - //ASSERT + .andDo(print()) .andExpect(status().isNotFound()) .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) .andExpect(content().json(writeValue(response))); } - /** - * {@link LauncherController#addSpecific}
- * Тест проверяет получение сущности {@link LauncherController} по REST API и отправку в Apache Kafka.
- */ @Test void addSpecific() throws Exception { - //ARRANGE LauncherNew launcherCommand = new LauncherNew(); launcherCommand.setTask(START_OF_CLEARING); launcherCommand.setUserId(ID); @@ -153,27 +124,19 @@ class LauncherControllerTest extends AbstractControllerTest { expected.setPayload(new QueueSuccessResponse(ActionType.NEW, currentId.getAndIncrement())); setUserNameInMockSecurityContextAndMapUser(START_OF_CLEARING, ID); - - //ACT MvcResult mvcResult = perform(MockMvcRequestBuilders.post(REST_URL + "specific") .contentType(MediaType.APPLICATION_JSON) .content(writeValue(launcherCommand))) - .andDo(print())//output to the log request and response - //ASSERT + .andDo(print()) .andExpect(status().isOk()) .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) -// .andExpect(content().json(writeValue(expected))); - .andReturn(); +.andReturn(); CudResponseTest cudResponseTest = readValue(mvcResult.getResponse().getContentAsString(), CudResponseTest.class); expected.setPayload(new QueueSuccessResponse(ActionType.NEW, cudResponseTest.getPayload().getId())); CUD_RESPONSE_MATCHER.assertMatch(cudResponseTest, expected); checkSendedMessegeFromKafka(Consts.LAUNCHER_NEW, launcherCommand); } - /** - * {@link LauncherController#addSpecific}
- * Тест проверяет работу валидации {@link LauncherController}
- */ @Test void addSpecificWithException() throws Exception { LauncherNew launcherCommand = new LauncherNew(); @@ -184,12 +147,10 @@ class LauncherControllerTest extends AbstractControllerTest { EnumMessage message = ex.getError(); response.setCode(message.getSubject().getId()); response.setMessage(errorResolver.resolve(message)); - //ACT perform(MockMvcRequestBuilders.post(REST_URL + "specific") .contentType(MediaType.APPLICATION_JSON) .content(writeValue(launcherCommand))) - .andDo(print())//output to the log request and response - //ASSERT + .andDo(print()) .andExpect(status().isNotFound()) .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) .andExpect(content().json(writeValue(response))); @@ -199,8 +160,7 @@ class LauncherControllerTest extends AbstractControllerTest { perform(MockMvcRequestBuilders.post(REST_URL + "specific") .contentType(MediaType.APPLICATION_JSON) .content(writeValue(launcherCommand))) - .andDo(print())//output to the log request and response - //ASSERT + .andDo(print()) .andExpect(status().isNotFound()) .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) .andExpect(content().json(writeValue(response))); diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/PlannerAllTodayControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/PlannerAllTodayControllerTest.java index 78553ec70..3cd9cc3e8 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/PlannerAllTodayControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/PlannerAllTodayControllerTest.java @@ -22,15 +22,8 @@ import static ru.spcex.clearing.test.json.JsonUtil.writeValue; class PlannerAllTodayControllerTest extends AbstractControllerTest { private static final String REST_URL = "/schedule/planners-all-today/"; - /** - * {@link PlannerAllTodayController#getAll()}
- * Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_SchedulerAllToday.
- * Входной запрос /schedule/schedulers-all-today/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE PlannerAllToday schedulerAllToday = new PlannerAllToday(); schedulerAllToday.setTask("Task"); schedulerAllToday.setTaskTime(LocalTime.now()); @@ -49,11 +42,9 @@ class PlannerAllTodayControllerTest extends AbstractControllerTest { Collection> all = responseFactory.responseFromObjectCollection(values); CommonGetAllResponse expected = new CommonGetAllResponse(); expected.fromEntity(all); - //ACT perform(MockMvcRequestBuilders.get(REST_URL) .contentType(MediaType.APPLICATION_JSON)) - .andDo(print())//output to the log request and response - //ASSERT + .andDo(print()) .andExpect(status().isOk()) .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) .andExpect(content().json(writeValue(expected))); diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/PlannerControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/PlannerControllerTest.java index 019d5038d..5339d29f2 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/PlannerControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/PlannerControllerTest.java @@ -22,15 +22,8 @@ import static ru.spcex.clearing.test.json.JsonUtil.writeValue; class PlannerControllerTest extends AbstractControllerTest { private static final String REST_URL = "/schedule/planners/"; - /** - * {@link PlannerController#getAll()}
- * Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_Scheduler.
- * Входной запрос /schedule/schedulers/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE Planner scheduler = new Planner(); scheduler.setTask("Task"); scheduler.setTaskTime(LocalTime.now()); @@ -47,11 +40,9 @@ class PlannerControllerTest extends AbstractControllerTest { Collection> all = responseFactory.responseFromObjectCollection(values); CommonGetAllResponse expected = new CommonGetAllResponse(); expected.fromEntity(all); - //ACT perform(MockMvcRequestBuilders.get(REST_URL) .contentType(MediaType.APPLICATION_JSON)) - .andDo(print())//output to the log request and response - //ASSERT + .andDo(print()) .andExpect(status().isOk()) .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) .andExpect(content().json(writeValue(expected))); diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/PlannerTemplateControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/PlannerTemplateControllerTest.java index e5f134d8e..df6071233 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/PlannerTemplateControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/PlannerTemplateControllerTest.java @@ -14,15 +14,8 @@ import java.time.LocalTime; class PlannerTemplateControllerTest extends AbstractControllerTest { private static final String REST_URL = "/schedule/planner-templates/"; - /** - * {@link PlannerTemplateController#getAll()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /schedule/planner-templates/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE PlannerTemplate plannerTemplate = new PlannerTemplate(); plannerTemplate.setId(currentId.get()); plannerTemplate.setTask("task"); @@ -30,39 +23,23 @@ class PlannerTemplateControllerTest extends AbstractControllerTest { plannerTemplate.setTaskStatus("status"); plannerTemplate.setCompanyId(currentId.get()); plannerTemplate.setSecurityId(currentId.get()); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_PlannerTemplate, plannerTemplate, REST_URL); } - /** - * {@link PlannerTemplateController#add(PlannerTemplateNewAction)}
- * Тест проверяет получение сущности {@link PlannerTemplateNewAction} по REST API и отправку в Apache Kafka.
- * Входной запрос {@link PlannerTemplateNewAction}:
- */ @Test void add() throws Exception { - //ARRANGE PlannerTemplateNewAction plannerTemplateNewAction = new PlannerTemplateNewAction(); plannerTemplateNewAction.setTask("task"); plannerTemplateNewAction.setTaskTime(LocalTime.now().withNano(0)); plannerTemplateNewAction.setTaskStatus("status"); plannerTemplateNewAction.setCompanyId(currentId.get()); plannerTemplateNewAction.setSecurityId(currentId.get()); - - //ACT and ASSERT checkAddingByRestApi(REST_URL, plannerTemplateNewAction); checkSendedMessegeFromKafka(Consts.DESTINATION_PLANNER_TEMPLATE_NEW, plannerTemplateNewAction); } - /** - * {@link PlannerTemplateController#update(Long, PlannerTemplateUpdateAction)}
- * Тест проверяет получение сущности {@link PlannerTemplateUpdateAction} по REST API и отправку в Apache Kafka.
- * Входной запрос {@link PlannerTemplateUpdateAction}:
- */ @Test void update() throws Exception { - //ARRANGE long id = currentId.getAndIncrement(); PlannerTemplateUpdateAction plannerTemplateUpdateAction = new PlannerTemplateUpdateAction(); plannerTemplateUpdateAction.setId(id); @@ -71,25 +48,15 @@ class PlannerTemplateControllerTest extends AbstractControllerTest { plannerTemplateUpdateAction.setTaskStatus("status"); plannerTemplateUpdateAction.setCompanyId(currentId.get()); plannerTemplateUpdateAction.setSecurityId(currentId.get()); - - //ACT and ASSERT checkUpdatingByRestApi(REST_URL, plannerTemplateUpdateAction, id); checkSendedMessegeFromKafka(Consts.DESTINATION_PLANNER_TEMPLATE_UPDATE, plannerTemplateUpdateAction); } - /** - * {@link PlannerTemplateController#delete(Long)}
- * Тест проверяет получение id сущности {@link Long} по REST API и отправку в Apache Kafka.
- * Входной запрос /schedule/planner-templates/{@link Long}: - 0L
- */ @Test void delete() throws Exception { - //ARRANGE long id = currentId.getAndIncrement(); CommonDeleteAction deleteAction = new CommonDeleteAction(); deleteAction.setId(id); - - //ACT and ASSERT checkDeletingByRestApi(REST_URL, id); checkSendedMessegeFromKafka(Consts.DESTINATION_PLANNER_TEMPLATE_DELETE, deleteAction); } diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/securities/CouponPeriodControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/securities/CouponPeriodControllerTest.java index d9f307c5b..82b593660 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/securities/CouponPeriodControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/securities/CouponPeriodControllerTest.java @@ -11,18 +11,9 @@ import java.time.LocalDate; class CouponPeriodControllerTest extends AbstractControllerTest { public static final String REST_URL = "/securities/coupon-periods/"; - /** - * {@link CouponPeriodController#getAll()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /securities/coupon-periods/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE CouponPeriod couponPeriod = getCouponPeriod(currentId.get()); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_CouponPeriod, couponPeriod, REST_URL); } diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/securities/EquitySecurityControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/securities/EquitySecurityControllerTest.java index 8c9c8e52f..2de69d006 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/securities/EquitySecurityControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/securities/EquitySecurityControllerTest.java @@ -15,14 +15,8 @@ import java.math.BigDecimal; class EquitySecurityControllerTest extends AbstractControllerTest { public static final String REST_URL = "/securities/equity-securities/"; - /** - * {@link EquitySecurityController#add(EquitySecurityNewAction)}
- * Тест проверяет получение сущности {@link EquitySecurityNewAction} по REST API и отправку в Apache Kafka.
- * Входной запрос {@link EquitySecurityNewAction}:
- */ @Test void add() throws Exception { - //ARRANGE EquitySecurityNewAction equitySecurityNewAction = new EquitySecurityNewAction(); equitySecurityNewAction.setShareType("shType"); equitySecurityNewAction.setLotSize(BigDecimal.valueOf(120.33)); @@ -32,20 +26,12 @@ class EquitySecurityControllerTest extends AbstractControllerTest { equitySecurityNewAction.setInstrumentType("status T"); equitySecurityNewAction.setSecuritySymbol("symbol1"); equitySecurityNewAction.setLotSize(new BigDecimal("3.5")); - - //ACT and ASSERT checkAddingByRestApi(REST_URL, equitySecurityNewAction); checkSendedMessegeFromKafka(Consts.DESTINATION_EQUITY_SECURITY_NEW, equitySecurityNewAction); } - /** - * {@link EquitySecurityController#update(Long, EquitySecurityUpdateAction)}
- * Тест проверяет получение сущности {@link EquitySecurityUpdateAction} по REST API и отправку в Apache Kafka.
- * Входной запрос {@link EquitySecurityUpdateAction}:
- */ @Test void update() throws Exception { - //ARRANGE long id = currentId.getAndIncrement(); EquitySecurityUpdateAction equitySecurityUpdateAction = new EquitySecurityUpdateAction(); equitySecurityUpdateAction.setId(id); @@ -58,44 +44,25 @@ class EquitySecurityControllerTest extends AbstractControllerTest { equitySecurityUpdateAction.setSecuritySymbol("symbol1"); equitySecurityUpdateAction.setLotSize(new BigDecimal("3.5")); EquitySecurity equitySecurity = getEquitySecurity(id); - - //ACT and ASSERT checkUpdatingWithIdVolidationByRestApi(IMDGDistributedNames.Map_EquitySecurity, equitySecurity, REST_URL, equitySecurityUpdateAction, id); checkSendedMessegeFromKafka(Consts.DESTINATION_EQUITY_SECURITY_UPDATE, equitySecurityUpdateAction); } - /** - * {@link EquitySecurityController#delete(Long)}
- * Тест проверяет получение id сущности {@link Long} по REST API и отправку в Apache Kafka.
- * Входной запрос /securities/equity-securities/{@link Long}: - 0L
- */ @Test void delete() throws Exception { - //ARRANGE long id = currentId.getAndIncrement(); CommonDeleteAction deleteAction = new CommonDeleteAction(); deleteAction.setId(id); EquitySecurity equitySecurity = getEquitySecurity(id); - - //ACT and ASSERT checkDeletingWithIdVolidationByRestApi(IMDGDistributedNames.Map_MoneyMarketSecurity, equitySecurity, REST_URL, id); checkSendedMessegeFromKafka(Consts.DESTINATION_EQUITY_SECURITY_DELETE, deleteAction); } - /** - * {@link EquitySecurityController#getAll()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /securities/equity-securities/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE EquitySecurity equitySecurity = getEquitySecurity(currentId.get()); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_EquitySecurity, equitySecurity, REST_URL); } diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/securities/FixedIncomeCashFlowControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/securities/FixedIncomeCashFlowControllerTest.java index 31b58b92a..c4a06b73e 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/securities/FixedIncomeCashFlowControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/securities/FixedIncomeCashFlowControllerTest.java @@ -11,18 +11,9 @@ import java.time.LocalDate; class FixedIncomeCashFlowControllerTest extends AbstractControllerTest { public static final String REST_URL = "/securities/fixed-income-cash-flows/"; - /** - * {@link FixedIncomeCashFlowController#getAll()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /securities/fixed-income-cash-flows/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE FixedIncomeCashFlow fixedIncomeCashFlow = getFixedIncomeCashFlow(currentId.get()); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_FixedIncomeCashFlow, fixedIncomeCashFlow, REST_URL); } diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/securities/FixedIncomeSecurityControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/securities/FixedIncomeSecurityControllerTest.java index c03d5819d..b80446147 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/securities/FixedIncomeSecurityControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/securities/FixedIncomeSecurityControllerTest.java @@ -15,14 +15,8 @@ import java.math.BigDecimal; class FixedIncomeSecurityControllerTest extends AbstractControllerTest { public static final String REST_URL = "/securities/fixed-income-securities/"; - /** - * {@link FixedIncomeSecurityController#add(FixedIncomeSecurityNewAction)}
- * Тест проверяет получение сущности {@link FixedIncomeSecurityNewAction} по REST API и отправку в Apache Kafka.
- * Входной запрос {@link FixedIncomeSecurityNewAction}:
- */ @Test void add() throws Exception { - //ARRANGE FixedIncomeSecurityNewAction fixedIncomeSecurityNewAction = new FixedIncomeSecurityNewAction(); fixedIncomeSecurityNewAction.setBondType("bType"); fixedIncomeSecurityNewAction.setLotSize(BigDecimal.valueOf(120.33)); @@ -32,20 +26,12 @@ class FixedIncomeSecurityControllerTest extends AbstractControllerTest { fixedIncomeSecurityNewAction.setInstrumentType("status T"); fixedIncomeSecurityNewAction.setSecuritySymbol("symbol1"); fixedIncomeSecurityNewAction.setLotSize(new BigDecimal("3.5")); - - //ACT and ASSERT checkAddingByRestApi(REST_URL, fixedIncomeSecurityNewAction); checkSendedMessegeFromKafka(Consts.DESTINATION_FIXED_INCOME_SECURITY_NEW, fixedIncomeSecurityNewAction); } - /** - * {@link FixedIncomeSecurityController#update(Long, FixedIncomeSecurityUpdateAction)}
- * Тест проверяет получение сущности {@link FixedIncomeSecurityUpdateAction} по REST API и отправку в Apache Kafka.
- * Входной запрос {@link FixedIncomeSecurityUpdateAction}:
- */ @Test void update() throws Exception { - //ARRANGE long id = currentId.getAndIncrement(); FixedIncomeSecurityUpdateAction fixedIncomeSecurityUpdateAction = new FixedIncomeSecurityUpdateAction(); fixedIncomeSecurityUpdateAction.setId(id); @@ -58,44 +44,25 @@ class FixedIncomeSecurityControllerTest extends AbstractControllerTest { fixedIncomeSecurityUpdateAction.setSecuritySymbol("symbol1"); fixedIncomeSecurityUpdateAction.setLotSize(new BigDecimal("3.5")); FixedIncomeSecurity fixedIncomeSecurity = getFixedIncomeSecurity(id); - - //ACT and ASSERT checkUpdatingWithIdVolidationByRestApi(IMDGDistributedNames.Map_FixedIncomeSecurity, fixedIncomeSecurity, REST_URL, fixedIncomeSecurityUpdateAction, id); checkSendedMessegeFromKafka(Consts.DESTINATION_FIXED_INCOME_SECURITY_UPDATE, fixedIncomeSecurityUpdateAction); } - /** - * {@link FixedIncomeSecurityController#delete(Long)}
- * Тест проверяет получение id сущности {@link Long} по REST API и отправку в Apache Kafka.
- * Входной запрос /securities/fixed-income-securities/{@link Long}: - 0L
- */ @Test void delete() throws Exception { - //ARRANGE long id = currentId.getAndIncrement(); CommonDeleteAction deleteAction = new CommonDeleteAction(); deleteAction.setId(id); FixedIncomeSecurity fixedIncomeSecurity = getFixedIncomeSecurity(id); - - //ACT and ASSERT checkDeletingWithIdVolidationByRestApi(IMDGDistributedNames.Map_MoneyMarketSecurity, fixedIncomeSecurity, REST_URL, id); checkSendedMessegeFromKafka(Consts.DESTINATION_FIXED_INCOME_SECURITY_DELETE, deleteAction); } - /** - * {@link FixedIncomeSecurityController#getAll()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /securities/fixed-income-securities/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE FixedIncomeSecurity fixedIncomeSecurity = getFixedIncomeSecurity(currentId.get()); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_FixedIncomeSecurity, fixedIncomeSecurity, REST_URL); } diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/securities/MoneyMarketSecurityControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/securities/MoneyMarketSecurityControllerTest.java index f79f0469e..1dca32041 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/securities/MoneyMarketSecurityControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/securities/MoneyMarketSecurityControllerTest.java @@ -16,14 +16,8 @@ import java.time.LocalDate; class MoneyMarketSecurityControllerTest extends AbstractControllerTest { public static final String REST_URL = "/securities/money-securities/"; - /** - * {@link MoneyMarketSecurityController#add(MoneyMarketSecurityNewAction)}
- * Тест проверяет получение сущности {@link MoneyMarketSecurityNewAction} по REST API и отправку в Apache Kafka.
- * Входной запрос {@link MoneyMarketSecurityNewAction}:
- */ @Test void add() throws Exception { - //ARRANGE MoneyMarketSecurityNewAction moneyMarketSecurityNewAction = new MoneyMarketSecurityNewAction(); moneyMarketSecurityNewAction.setStartDate(LocalDate.now()); moneyMarketSecurityNewAction.setEndDate(LocalDate.now()); @@ -41,20 +35,12 @@ class MoneyMarketSecurityControllerTest extends AbstractControllerTest { moneyMarketSecurityNewAction.setFullNameEng("Short LLC"); moneyMarketSecurityNewAction.setIsin("ISIN"); moneyMarketSecurityNewAction.setWorkflowStatus("ACTV"); - - //ACT and ASSERT checkAddingByRestApi(REST_URL, moneyMarketSecurityNewAction); checkSendedMessegeFromKafka(Consts.DESTINATION_MONEY_MARKET_SECURITY_NEW, moneyMarketSecurityNewAction); } - /** - * {@link MoneyMarketSecurityController#update(Long, MoneyMarketSecurityUpdateAction)}
- * Тест проверяет получение сущности {@link MoneyMarketSecurityUpdateAction} по REST API и отправку в Apache Kafka.
- * Входной запрос {@link MoneyMarketSecurityUpdateAction}:
- */ @Test void update() throws Exception { - //ARRANGE long id = currentId.getAndIncrement(); MoneyMarketSecurityUpdateAction moneyMarketSecurityUpdateAction = new MoneyMarketSecurityUpdateAction(); moneyMarketSecurityUpdateAction.setId(id); @@ -74,44 +60,25 @@ class MoneyMarketSecurityControllerTest extends AbstractControllerTest { moneyMarketSecurityUpdateAction.setIsin("ISIN"); moneyMarketSecurityUpdateAction.setWorkflowStatus("ACTV"); MoneyMarketSecurity moneyMarketSecurity = getMoneyMarketSecurity(id); - - //ACT and ASSERT checkUpdatingWithIdVolidationByRestApi(IMDGDistributedNames.Map_MoneyMarketSecurity, moneyMarketSecurity, REST_URL, moneyMarketSecurityUpdateAction, id); checkSendedMessegeFromKafka(Consts.DESTINATION_MONEY_MARKET_SECURITY_UPDATE, moneyMarketSecurityUpdateAction); } - /** - * {@link MoneyMarketSecurityController#delete(Long)}
- * Тест проверяет получение id сущности {@link Long} по REST API и отправку в Apache Kafka.
- * Входной запрос /securities/money-securities/{@link Long}: - 0L
- */ @Test void delete() throws Exception { - //ARRANGE long id = currentId.getAndIncrement(); CommonDeleteAction deleteAction = new CommonDeleteAction(); deleteAction.setId(id); MoneyMarketSecurity moneyMarketSecurity = getMoneyMarketSecurity(id); - - //ACT and ASSERT checkDeletingWithIdVolidationByRestApi(IMDGDistributedNames.Map_MoneyMarketSecurity, moneyMarketSecurity, REST_URL, id); checkSendedMessegeFromKafka(Consts.DESTINATION_MONEY_MARKET_SECURITY_DELETE, deleteAction); } - /** - * {@link MoneyMarketSecurityController#getAll()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /securities/money-securities/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE MoneyMarketSecurity moneyMarketSecurity = getMoneyMarketSecurity(currentId.get()); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_MoneyMarketSecurity, moneyMarketSecurity, REST_URL); } diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/securities/SecurityControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/securities/SecurityControllerTest.java index 0af66e804..2ce6507cd 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/securities/SecurityControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/securities/SecurityControllerTest.java @@ -8,15 +8,8 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames; class SecurityControllerTest extends AbstractControllerTest { public static final String REST_URL = "/securities/"; - /** - * {@link SecurityController#getAll()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /securities/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE Security security = new Security(); security.setId(currentId.get()); security.setInstrumentType("name"); @@ -28,8 +21,6 @@ class SecurityControllerTest extends AbstractControllerTest { security.setSecuritySymbol("name"); security.setWorkflowStatus("name"); clearAll(IMDGDistributedNames.Map_MoneyMarketSecurity, Security.class); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_MoneyMarketSecurity, security, REST_URL); } } \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/user/UserControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/user/UserControllerTest.java index 015b40266..1e62b10b3 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/user/UserControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/user/UserControllerTest.java @@ -23,39 +23,20 @@ import static ru.spcex.clearing.test.json.JsonUtil.readValue; class UserControllerTest extends AbstractControllerTest { public static final String REST_URL = "/users/"; - /** - * {@link UserController#getAll()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /users/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE User user = getTestUser(currentId.getAndIncrement(), "some name"); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_User, user, REST_URL); } - /** - * {@link UserController#getId()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /users/get-my-id/
- * Ответ CommonGetAllResponse
- */ @Test void getId() throws Exception { - //ARRANGE Long id = currentId.getAndIncrement(); String identifier = "usersIdentifier"; setUserNameInMockSecurityContextAndMapUser(identifier, id); - - //ACT MvcResult mvcResult = perform(MockMvcRequestBuilders.get(REST_URL + "get-my-id")) - .andDo(print())//output to the log request and response - //ASSERT + .andDo(print()) .andExpect(status().isOk()) .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) .andReturn(); @@ -65,7 +46,6 @@ class UserControllerTest extends AbstractControllerTest { @Test void update() throws Exception { - //ARRANGE Long id = currentId.getAndIncrement(); String identifier = "identifier"; diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/user/UserRoleSessionControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/user/UserRoleSessionControllerTest.java index 4c4702db5..f5e5f148b 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/user/UserRoleSessionControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/user/UserRoleSessionControllerTest.java @@ -8,23 +8,14 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames; class UserRoleSessionControllerTest extends AbstractControllerTest { public static final String REST_URL = "/user-role-sessions/"; - /** - * {@link UserRoleSessionController#getAll()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /user-role-sessions/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE UserRoleSession userRoleSession = new UserRoleSession(); userRoleSession.setId(currentId.getAndIncrement()); userRoleSession.setUserRole("identifier"); userRoleSession.setStatus("some name"); userRoleSession.setCompanyId(currentId.get()); userRoleSession.setUserId(currentId.get()); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_UserRoleSession, userRoleSession, REST_URL); } diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/utilities/StatementControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/utilities/StatementControllerTest.java index 874338a6d..b05831b67 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/utilities/StatementControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/utilities/StatementControllerTest.java @@ -21,30 +21,14 @@ import static ru.spcex.clearing.test.json.JsonUtil.writeValue; class StatementControllerTest extends AbstractControllerTest { public static final String REST_URL = "/statements/"; - /** - * {@link StatementController#getAll()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /utilities/key-rates/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE Statement statement = getStatment(currentId.get()); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_Statement, statement, REST_URL); } - /** - * {@link StatementController#getById(Long)}
- * Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_BankAccount.
- * Входной запрос /statements/{@link Long}: - 0L
- * Ответ BankAccountBackendGetById
- */ @Test void getById() throws Exception { - //ARRANGE Statement existStatement = getStatment(currentId.get()); Imdg serviceTestImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_Statement, Statement.class); @@ -53,12 +37,9 @@ class StatementControllerTest extends AbstractControllerTest { CommonGetByIdResponse response = new CommonGetByIdResponse(); Map extractedByMeta = responseFactory.responseFromObject(existStatement); response.fromEntity(extractedByMeta); - - //ACT perform(MockMvcRequestBuilders.get(REST_URL + existStatement.getId()) .contentType(MediaType.APPLICATION_JSON)) - .andDo(print())//output to the log request and response - //ASSERT + .andDo(print()) .andExpect(status().isOk()) .andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)) .andExpect(content().json(writeValue(response))); diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/utilities/UserSettingsControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/utilities/UserSettingsControllerTest.java index a57ace3b2..bafef175b 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/utilities/UserSettingsControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/utilities/UserSettingsControllerTest.java @@ -10,40 +10,23 @@ import ru.spcex.clearing.platform.messaging.domain.Consts; class UserSettingsControllerTest extends AbstractControllerTest { public static final String REST_URL = "/utilities/user-settings/"; - /** - * {@link UserSettingsController#getAll()}
- * Тест проверяет получение запроса по REST API.
- * Входной запрос /utilities/user-settings/
- * Ответ CommonGetAllResponse
- */ @Test void getAll() throws Exception { - //ARRANGE UserSettings userSettings = new UserSettings(); userSettings.setId(currentId.get()); - userSettings.setUserId(currentId.get()); // отдаются по userId CLS-64, todo в тесте null + userSettings.setUserId(currentId.get()); userSettings.setJson("json"); userSettings.setVersion("version"); - - //ACT and ASSERT checkGettingAllFromRestApi(IMDGDistributedNames.Map_UserSettings, userSettings, REST_URL); } - /** - * {@link UserSettingsController#update(UserSettingsUpdateAction)}
- * Тест проверяет получение сущности {@link UserSettingsUpdateAction} по REST API и отправку в Apache Kafka.
- * Входной запрос {@link UserSettingsUpdateAction}:
- */ @Test void update() throws Exception { - //ARRANGE long id = currentId.get(); String identifier = "identifierUserSettings"; UserSettingsUpdateAction userSettingsUpdateAction = new UserSettingsUpdateAction(); userSettingsUpdateAction.setUserId(id); userSettingsUpdateAction.setVersion("name"); - - //ACT and ASSERT setUserNameInMockSecurityContextAndMapUser(identifier, id); checkUpdatingWithoutIdByRestApi(REST_URL, userSettingsUpdateAction); userSettingsUpdateAction.json = "null"; diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/response/cud/QueueSuccessResponseTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/response/cud/QueueSuccessResponseTest.java index 41156093c..b590d4dcc 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/response/cud/QueueSuccessResponseTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/response/cud/QueueSuccessResponseTest.java @@ -3,7 +3,6 @@ package ru.spcex.clearing.backendapi.controller.response.cud; import com.fasterxml.jackson.annotation.JsonProperty; import ru.spcex.clearing.platform.messaging.domain.ActionType; -//пришлось дублировать этот класс чтобы не менять оригинал public class QueueSuccessResponseTest extends QueueSuccessResponse { @JsonProperty diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/meta/GetResponseFactoryTestConfiguration.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/meta/GetResponseFactoryTestConfiguration.java index ce01e1103..a768cc962 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/meta/GetResponseFactoryTestConfiguration.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/meta/GetResponseFactoryTestConfiguration.java @@ -24,16 +24,12 @@ public class GetResponseFactoryTestConfiguration { return new PathResource(path); } - // @Value("file:${spring.config.location}/meta.json") -// private Resource meta; -// @Bean("metaJsonTestRaw") public String metaJsonRawString(@Qualifier("metaJsonTestPath") Resource meta) throws IOException { if (!meta.isReadable()) throw new IllegalStateException("cannot read meta.json from meta " + meta.getFile()); return Files.readString(meta.getFile().toPath()); } - // @Autowired @Bean("metaJsonTest") public MetaServer metaServer(@Qualifier("metaJsonTestRaw") String metaJson) throws JsonProcessingException { diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/service/validation/ActionMetaValidationTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/service/validation/ActionMetaValidationTest.java index 568ea0fd8..3bcf03262 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/service/validation/ActionMetaValidationTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/service/validation/ActionMetaValidationTest.java @@ -13,10 +13,8 @@ import ru.spcex.clearing.backendapi.domain.actions.IAction; import ru.spcex.clearing.backendapi.meta.GetResponseFactoryTestConfiguration; import ru.spcex.clearing.backendapi.meta.MetaServer; import ru.spcex.platform.utils.enumeration.EnumMessage; -import ru.spcex.platform.utils.enumeration.IEnumKey; import ru.spcex.platform.utils.validation.IValidator; -import java.util.ArrayList; import java.util.Collection; import static org.junit.jupiter.api.Assertions.*; @@ -41,7 +39,7 @@ class ActionMetaValidationTest { } { IAction action = new CommonDeleteAction(); - assertFalse(action.validate().isEmpty()); // стандартный валидатор - требуется id + assertFalse(action.validate().isEmpty()); IValidator v = metaValidator.getValidator(null, action); Collection vResult = v.validateAll(); @@ -50,7 +48,7 @@ class ActionMetaValidationTest { { CommonDeleteAction action = new CommonDeleteAction(); action.setId(123L); - assertTrue(action.validate().isEmpty()); // стандартный валидатор - требуется id + assertTrue(action.validate().isEmpty()); IValidator v = metaValidator.getValidator(null, action); Collection vResult = v.validateAll(); diff --git a/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/config/SdfExecutorsConfig.java b/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/config/SdfExecutorsConfig.java index 612692cad..ceca40175 100644 --- a/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/config/SdfExecutorsConfig.java +++ b/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/config/SdfExecutorsConfig.java @@ -13,10 +13,8 @@ import java.util.Map; public class SdfExecutorsConfig { @Bean("sdfExecutors") - public Map> executorsMap(//Sdf09Executor sdf09Executor, - Sdf16Executor sdf16Executor) { + public Map> executorsMap(Sdf16Executor sdf16Executor) { Map> executors = new HashMap<>(); -// todo возможно удалят или переделают: executors.put(SdfTable.SDF_09, sdf09Executor); executors.put(SdfTable.SDF_16, sdf16Executor); return executors; } diff --git a/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/config/ValidationConfig.java b/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/config/ValidationConfig.java index 4434d8165..dfa52325b 100644 --- a/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/config/ValidationConfig.java +++ b/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/config/ValidationConfig.java @@ -37,9 +37,6 @@ public class ValidationConfig { addImdg.accept(IMDGDistributedNames.Map_AccountBalance, AccountBalance.class); } - /** - * чтобы во всех валидаторах был один экземпляр Imdg - */ private Imdg getImdg(String key) { return imdgs.get(key); } @@ -76,7 +73,6 @@ public class ValidationConfig { Sdf09ValidationRule.CompanyPresent, Sdf09ValidationRule.AccountPresent, MarketIsUValidationRule.instance - //,AccountBalanceFreeAmountEnough.instance(SDf09.class) ); }; } diff --git a/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/AccountBalanceService.java b/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/AccountBalanceService.java index bc7a48883..854c14a10 100644 --- a/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/AccountBalanceService.java +++ b/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/AccountBalanceService.java @@ -55,7 +55,6 @@ public class AccountBalanceService { if (validationError.isPresent()) return new AccountResult(validationError.get()); Account account = validator.getStored(ValidationStored.Account); Company company = validator.getStored(ValidationStored.Company); - //которой accountBalance.accountId=statement.accountId и accountBalance.companyId=statement.companyId: AccountBalance accountBalance = accountBalanceImdg.getFirstObjectByFieldValues( Map.of("accountId", accountId, "companyId", addresseeId) @@ -79,10 +78,9 @@ public class AccountBalanceService { return new AccountResult(accountBalance); } else { accountBalance.setUpdated(Instant.now()); - accountBalance.setAccountId(accountId);//+ - accountBalance.setAccountType(account.getAccountType());//++ + accountBalance.setAccountId(accountId); + accountBalance.setAccountType(account.getAccountType()); accountBalance.setAccount(account.getAccount()); -// accountBalance.setOpenBalanceAmount();// на базе изменения statement по sDf16/sDf09): не меняется. accountBalance.setFreeBalanceAmount(plus(accountBalance.getFreeBalanceAmount(), amount)); accountBalance.setChangeBalanceAmount(plus(accountBalance.getChangeBalanceAmount(), amount)); accountBalance.setCreditAmount(plus(accountBalance.getCreditAmount(), amount)); diff --git a/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/AccountResult.java b/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/AccountResult.java index 0e38e0dde..879f4d866 100644 --- a/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/AccountResult.java +++ b/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/AccountResult.java @@ -4,7 +4,7 @@ import ru.clearing.classes.statics.data.account.AccountBalance; import ru.spcex.platform.utils.enumeration.EnumMessage; public class AccountResult { - private EnumMessage error; //if was + private EnumMessage error; private AccountBalance account; public AccountResult(EnumMessage validationError) { diff --git a/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/Sdf08Service.java b/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/Sdf08Service.java index 61b4baac9..09211bb48 100644 --- a/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/Sdf08Service.java +++ b/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/Sdf08Service.java @@ -45,9 +45,7 @@ public class Sdf08Service extends QueueConsumer implements InitializingBean { private void newSDf08(BaseRequest userRequest) { log.debug("getAllBalance request received"); SDf08 sDf08 = new SDf08(); -// sDf08.setNumber(idGenerator.nextId().toString()); Instant now = Instant.now(); -// sDf08.setDatetime(String.valueOf(now.toEpochMilli())); sDf08.setGenerationTime(now); sDf08.setGenerationId(idGenerator.nextId()); sdf8Map.insert(sDf08); diff --git a/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/Sdf09Executor.java b/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/Sdf09Executor.java index b52d2ab6c..e69de29bb 100644 --- a/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/Sdf09Executor.java +++ b/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/Sdf09Executor.java @@ -1,176 +0,0 @@ -//package ru.spcex.clearing.balance.service; -// -//import org.slf4j.Logger; -//import org.slf4j.LoggerFactory; -//import org.springframework.stereotype.Service; -//import ru.clearing.classes.statics.data.account.Account; -//import ru.clearing.classes.statics.data.account.AccountBalance; -//import ru.clearing.classes.statics.data.company.Company; -//import ru.clearing.classes.statics.data.sdf.SDf09; -//import ru.clearing.classes.statics.data.sdf.SDf10; -//import ru.clearing.classes.statics.data.statement.Statement; -//import ru.spcex.clearing.balance.errors.BalanceError; -//import ru.spcex.clearing.balance.validation.ValidationStored; -//import ru.spcex.clearing.imdg.IMDGDistributedNames; -//import ru.spcex.clearing.platform.messaging.domain.cud.account.sdf01.AccountSdfRequestPart; -//import ru.spcex.clearing.platform.messaging.domain.cud.balance.StatementRequest; -//import ru.spcex.platform.enumeration.*; -//import ru.spcex.platform.imdg.api.Imdg; -//import ru.spcex.platform.imdg.api.ImdgProvider; -//import ru.spcex.platform.utils.enumeration.EnumMessage; -//import ru.spcex.platform.utils.enumeration.IMessageResolver; -//import ru.spcex.platform.utils.validation.IValidator; -// -//import java.time.Instant; -//import java.time.LocalDate; -//import java.time.format.DateTimeFormatter; -//import java.util.Collection; -//import java.util.Map; -//import java.util.Optional; -//import java.util.function.Function; -// -////todo SDf09 был изменён. Sdf09Executor теперь не работает. -//@Service -//public class Sdf09Executor extends AbstractExecutor { -// private final Logger log = LoggerFactory.getLogger(getClass()); -// private final static DateTimeFormatter datFormatter = DateTimeFormatter.ofPattern("dd.MM.yy"); -// private final Imdg statementImdg; -// private final Function sDf09Validator; -// private final LoggingService errorLogger; -// private final Imdg sdf10Imdg; -// private final ImdgProvider imdgProvider; -// private final AccountBalanceService accountBalanceService; -// private final IMessageResolver errorResolver; -// private final Imdg accountBalanceImdg; -// -// public Sdf09Executor(Function sDf09Validator, -// LoggingService errorLogger, -// ImdgProvider imdgProvider, -// AccountBalanceService accountBalanceService, -// IMessageResolver errorResolver) { -// this.statementImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Statement, Statement.class); -// this.sdf10Imdg = imdgProvider.getImdg(IMDGDistributedNames.Map_SDf10, SDf10.class); -// this.accountBalanceImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_AccountBalance, AccountBalance.class);; -// this.sDf09Validator = sDf09Validator; -// this.errorLogger = errorLogger; -// this.imdgProvider = imdgProvider; -// this.accountBalanceService = accountBalanceService; -// this.errorResolver = errorResolver; -// } -// -// @Override -// String exportTableName() { -// return "DF-10"; -// } -// -// public Result execute(Collection sdf, StatementRequest statementRequest){ -// Result result = new Result(); -// Long generationIdForGroup = imdgProvider.getImdgIdGenerator().nextId(); -// result.setGenerationId(generationIdForGroup); -// for (SDf09 sdf09 : sdf) { -// IValidator validator = sDf09Validator.apply(sdf09); -// Optional error = validator.tillFirstError(); -// Company company = validator.getStored(ValidationStored.Company); -// if (statementRequest.getAccountCreationResults().size() == 0 -// && BalanceError.AccountNotPresent.equals(error.map(EnumMessage::getSubject).orElse(null))) { -// //на данном шаге company существует -> getId ok -// //формируем пакетный запрос на добавление account -// //ответ придет в этот же метод, process -// result.getAccountRequests().add(createAccountRequestPart(sdf09.getId(), sdf09.getAccount(), company.getId())); -// log.info("account {} for sdf01.id={} not found - send request for creation", sdf09.getAccount(), sdf09.getId()); -// continue; -// } else if (BalanceError.AccountNotPresent.equals(error.map(EnumMessage::getSubject).orElse(null))) { -// log.error("fatal error: resumed processing after generating accounts, but no account found for sdf01.id={}", sdf09.getId()); -// } -// if (error.isPresent()) { -// errorLogger.logError("sdf01.id={}", error.get(), sdf09.getId()); -// sdf10Imdg.insert(createErrorSdf10(sdf09, error.get(), generationIdForGroup)); -// continue; -// } -// Statement statement = statementImdg.getSingleObjectByFieldValues(Map.of("account", sdf09.getAccount())); -// if (statement == null) { -// statement = createFlow(sdf09, -// company, -// validator.getStored(ValidationStored.Account)); -// } else { -// updateFlow(statement, sdf09, -// validator.getStored(ValidationStored.Account)); -// } -// SDf10 sdf10New = createSuccessSdf10(sdf09, generationIdForGroup); -// sdf10Imdg.insert(sdf10New); -// statement.setOutSDfId(sdf10New.getId()); -// AccountResult accountResult = accountBalanceService.createAccountBalance(statement.getAddresseeId(), statement.getAccountId(), statement.getAmount(), statement.getCashMovementCurrencyCode()); -// if (accountResult.getError() != null) { -// statement.setErrorCode(accountResult.getError().getSubject().getId().toString()); -// statement.setErrorText(errorResolver.resolve(accountResult.getError())); -// } else { -// accountBalanceImdg.insert(accountResult.getAccount()); //insert == update? -// statement.setOperationStatus(OperationStatus.Executed.getKey()); -// } -// statementImdg.update(statement); -// } -// return result; -// } -// -// private Statement createFlow(SDf09 sdf09, Company company, Account account) { -// Statement statement = new Statement(); -// statement.setAddresseeId(company.getId()); -// statement.setSenderId(Sender.Prc.getId()); -// statement.setCreated(Instant.now()); -// statement.setClearingDate(LocalDate.now()); -// statement.setStatementType(StatementType.incr.getKey()); -// statement.setAccountId(account.getId()); -// statement.setAccount(sdf09.getAccount()); -// statement.setInOutDirection(InOutDirection.in.getKey()); -// statement.setAmount(sdf09.getSum()); -// statement.setCashMovementCurrencyCode(CurrencyCode.RUB.getKey()); -// statement.setOperationStatus(OperationStatus.Pending.getKey()); -// statement.setInSDfId(sdf09.getId()); -// statement.setInOutSDfType(InOutSDfType.type9.getKey()); -// statementImdg.insert(statement); -// return statement; -// } -// -// private void updateFlow(Statement statement, SDf09 sdf09, Account account) { -// statement.setUpdated(Instant.now()); -// statement.setAccountId(account.getId()); -// statement.setAccount(sdf09.getAccount()); -// statement.setInOutDirection(InOutDirection.in.getKey()); -// statement.setAmount(sdf09.getSum()); -// statement.setCashMovementCurrencyCode(CurrencyCode.RUB.getKey()); -// statement.setInSDfId(sdf09.getId()); -//// statement.setOutSDfId(sdf10.getId()); заполняется внешним кодом -// statement.setInOutSDfType(InOutSDfType.type9.getKey()); -// statementImdg.update(statement); -// } -// -// private AccountSdfRequestPart createAccountRequestPart(Long sdf09Id, String account, Long companyId) { -// AccountSdfRequestPart req = new AccountSdfRequestPart(); -// req.setAccount(account); -// req.setCompanyId(companyId); -// req.setSdfId(sdf09Id); -// return req; -// } -// -// private SDf10 createErrorSdf10(SDf09 sdf09, EnumMessage error, Long generationIdForGroup) { -// SDf10 sDf10 = createSuccessSdf10(sdf09, generationIdForGroup); -// String errorId = error.getSubject().getId().toString(); -// sDf10.setResult(errorId.substring(errorId.length() - 3)); -// return sDf10; -// } -// -// private SDf10 createSuccessSdf10(SDf09 sdf09, Long generationIdForGroup) { -// SDf10 sDf10 = new SDf10(); -// sDf10.setAccount(sdf09.getAccount()); -// sDf10.setSum(sdf09.getSum()); -// sDf10.setMarket(sdf09.getMarket()); -// sDf10.setType(sdf09.getType()); -// sDf10.setNumber(sdf09.getNumber()); -// sDf10.setInn(sdf09.getInn()); -// sDf10.setResult("OK"); -// sDf10.setGenerationId(generationIdForGroup); -// sDf10.setGenerationTime(Instant.now()); -// sDf10.setInSDf09Id(sdf09.getId()); -// return sDf10; -// } -//} diff --git a/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/Sdf16Executor.java b/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/Sdf16Executor.java index 01ec2cb32..40fb4a859 100644 --- a/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/Sdf16Executor.java +++ b/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/Sdf16Executor.java @@ -79,9 +79,6 @@ public class Sdf16Executor extends AbstractExecutor { Company company = validator.getStored(ValidationStored.Company); if (statementRequest.getAccountCreationResults().size() == 0 && BalanceError.AccountNotPresent.equals(error.map(EnumMessage::getSubject).orElse(null))) { - //на данном шаге company существует -> getId ok - //формируем пакетный запрос на добавление account - //ответ придет в этот же метод, process result.getAccountRequests().add(createAccountRequestPart(sdfItem.getId(), sdfItem.getAccount(), company.getId())); log.info("account {} for sdf01.id={} not found - send request for creation", sdfItem.getAccount(), sdfItem.getId()); continue; @@ -106,10 +103,9 @@ public class Sdf16Executor extends AbstractExecutor { sdf17Imdg.insert(sdfNew); statement.setOutSDfId(sdfNew.getId()); AccountResult accountResult = accountBalanceService.createAccountBalance(statement.getAddresseeId(), - statement.getAccountId(), statement.getAmount(), null /*todo statement.getCashMovementCurrencyCode() */); + statement.getAccountId(), statement.getAmount(), null); if (accountResult.getError() != null) { statement.setErrorCodeId(accountResult.getError().getSubject().getId()); - //todo аполнение statement.setErrorTextId(errorResolver.resolve(accountResult.getError())); } else { accountBalanceImdg.insert(accountResult.getAccount()); statement.setOperationStatus(OperationStatus.Executed.getKey()); diff --git a/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/StatementService.java b/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/StatementService.java index 0de34e4b0..2e438f8d1 100644 --- a/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/StatementService.java +++ b/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/StatementService.java @@ -40,9 +40,6 @@ public class StatementService extends QueueConsumer implements InitializingBean @Override public void afterPropertiesSet() throws Exception { -// callback(StatementRequest.class) -// .setConsumer(this::process) -// .forDestination(Consts.STATEMENT_PROCESS, callbacks::put); callback(AccountBalanceClearingRequest.class) .setConsumer(this::accountBalanceClearingUpdate) .forDestination(Consts.BALANCE_ACCOUNT_UPDATE, callbacks::put); diff --git a/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/validation/Sdf09ValidationRule.java b/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/validation/Sdf09ValidationRule.java index 7f1d910a9..7d4dbe2a5 100644 --- a/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/validation/Sdf09ValidationRule.java +++ b/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/validation/Sdf09ValidationRule.java @@ -1,23 +1,18 @@ package ru.spcex.clearing.balance.validation; -import ru.clearing.classes.statics.data.account.Account; import ru.clearing.classes.statics.data.company.Company; import ru.clearing.classes.statics.data.company.CompanySymbols; import ru.clearing.classes.statics.data.sdf.SDf09; import ru.spcex.clearing.balance.errors.BalanceError; import ru.spcex.clearing.imdg.IMDGDistributedNames; -import ru.spcex.platform.enumeration.AccountType; -import ru.spcex.platform.enumeration.CompanySymbol; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.validation.ImdgValidationContext; import ru.spcex.platform.utils.enumeration.EnumMessage; import ru.spcex.platform.utils.validation.IValidationRule; -import java.math.RoundingMode; -import java.util.Map; import java.util.Optional; -@Deprecated // связан с Sdf09Executor , он в переработке или удалении. +@Deprecated public enum Sdf09ValidationRule implements IValidationRule> { CompanyPresent() { @Override @@ -25,48 +20,20 @@ public enum Sdf09ValidationRule implements IValidationRule companySymbolImdg = context.obtainMap(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class); Imdg companyImdg = context.obtainMap(IMDGDistributedNames.Map_Company, Company.class); -// todo изменения классов. if (sdf09.getInn() == null) { -// return of(BalanceError.CompanyNotFound, "empty inn"); -// } -// String innStr = sdf09.getInn().setScale(0, RoundingMode.DOWN).toString(); -// CompanySymbols symbol = companySymbolImdg -// .getSingleObjectByFieldValues(Map.of("companySymbol", CompanySymbol.INN.getKey(), -// "companySymbolValue", innStr)); -// Company company = null; -// if (symbol != null) { -// company = companyImdg.getSingleObjectByID(symbol.getCompanyId()); -// } -// if (company == null) { return of(BalanceError.CompanyNotFound); -// } -// context.storeObject(ValidationStored.Company, company); -// return empty(); } }, AccountPresent() { @Override public Optional validate(ImdgValidationContext context) { SDf09 sdf09 = context.getValidatedObject(); -// if (sdf09.getAccount() == null) { return of(BalanceError.AccountNotPresent); -// } -// Imdg accountImdg = context.obtainMap(IMDGDistributedNames.Map_Account, Account.class); -// Account account = accountImdg.getSingleObjectByFieldValues(Map.of("account", sdf09.getAccount(), -// "accountType", AccountType.Clrn.getKey())); -// if (account == null) { -// return of(BalanceError.AccountNotPresent); -// } -// context.storeObject(ValidationStored.Account, account); -// return empty(); } }, Market() { @Override public Optional validate(ImdgValidationContext context) { SDf09 sdf09 = context.getValidatedObject(); -// if (!"U".equals(sdf09.getMarket())) { -// return of(BalanceError.WrongMarket); -// } return empty(); } }; diff --git a/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/service/AbstractServiceTest.java b/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/service/AbstractServiceTest.java index 5e08f0f09..31e6cb375 100644 --- a/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/service/AbstractServiceTest.java +++ b/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/service/AbstractServiceTest.java @@ -30,8 +30,7 @@ import static ru.spcex.clearing.balance.utils.MatcherFactory.usingIgnoringFields @ContextConfiguration(classes = { AccountBalanceService.class, Sdf08Service.class, -// Sdf09Executor.class, - Sdf16Executor.class, +Sdf16Executor.class, StatementService.class, LoggingService.class, MessagesConfig.class, @@ -136,19 +135,4 @@ public abstract class AbstractServiceTest { accountBalance.setFullName(company.getFullName()); return accountBalance; } -// -// protected SDf01 getTestSdf01(long id, long generationId) { -// LocalDate date = LocalDate.now(); -// SDf01 sdf01 = new SDf01(); -// sdf01.setId(id); -// sdf01.setGenerationId(generationId); -// sdf01.setMarket("U"); -// sdf01.setDeal(deal); -// sdf01.setAccount(acc); -// sdf01.setCurr_code("RUR"); -// sdf01.setDat(date.format(datFormatter)); -// sdf01.setAcc_type("A"); -// sdf01.setRemainder(amountNew.toString()); -// return sdf01; -// } } diff --git a/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/service/AccountBalanceServiceTest.java b/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/service/AccountBalanceServiceTest.java index b5877d2a3..bb569a074 100644 --- a/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/service/AccountBalanceServiceTest.java +++ b/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/service/AccountBalanceServiceTest.java @@ -40,15 +40,6 @@ class AccountBalanceServiceTest extends AbstractServiceTest { super.init(); } - /** - * {@link AccountBalanceService#createAccountBalance(Long addresseeId, Long accountId, BigDecimal amount, String cashMovementCurrencyCode)}
- * Тест проверяет генерацию сущности {@link AccountResult}
- * Входные параметры:
- * addresseeId - {@link Company#id}
- * accountId - {@link Account#id}
- * amount - сумма
- * cashMovementCurrencyCode - код
- */ @Test void createAccountBalance() { Company company = getTestCompany(); @@ -82,18 +73,8 @@ class AccountBalanceServiceTest extends AbstractServiceTest { ACCOUNT_BALANCE_MATCHER.assertMatch(resultUpdate, predictableUpdateResult); } - /** - * {@link AccountBalanceService#createAccountBalance(Long addresseeId, Long accountId, BigDecimal amount, String cashMovementCurrencyCode)}
- * Тест проверяет валидацию
- * Входные параметры:
- * addresseeId - {@link Company#id}
- * accountId - {@link Account#id}
- * amount - сумма
- * cashMovementCurrencyCode - код
- */ @Test void validatedCreateAccountBalance() { - //CompanyNotFound AccountResult predictableResult; predictableResult = new AccountResult(new EnumMessage(BalanceError.CompanyNotFound)); Company company = getTestCompany(); @@ -104,8 +85,6 @@ class AccountBalanceServiceTest extends AbstractServiceTest { result = accountBalanceService.createAccountBalance(null, accountIdNew, amountNew, cashMovementCurrencyCode); ACCOUNT_BALANCE_MATCHER.assertMatch(result, predictableResult); - - //AccountNotPresent accountType=null companyImdg.insert(company); Account account = new Account(); account.setId(accountIdNew); @@ -115,8 +94,6 @@ class AccountBalanceServiceTest extends AbstractServiceTest { result = accountBalanceService.createAccountBalance(addresseeIdNew, accountIdNew, amountNew, cashMovementCurrencyCode); ACCOUNT_BALANCE_MATCHER.assertMatch(result, predictableResult); - - //AccountNotPresent id=null account.setId(null); account.setAccountType(AccountType.Clrn.getKey()); account.setStatus(Status.Active.getKey()); @@ -125,8 +102,6 @@ class AccountBalanceServiceTest extends AbstractServiceTest { result = accountBalanceService.createAccountBalance(addresseeIdNew, accountIdNew, amountNew, cashMovementCurrencyCode); ACCOUNT_BALANCE_MATCHER.assertMatch(result, predictableResult); - - //AccountNotActive accountStatus=null account.setId(accountIdNew); account.setAccountType(AccountType.Clrn.getKey()); account.setStatus(null); diff --git a/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/service/Sdf08ServiceTest.java b/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/service/Sdf08ServiceTest.java index 26afe1433..d2ffe8fcb 100644 --- a/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/service/Sdf08ServiceTest.java +++ b/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/service/Sdf08ServiceTest.java @@ -27,7 +27,6 @@ import static org.mockito.Mockito.verify; import static ru.spcex.clearing.balance.utils.MockKafkaUtils.addRecordToKafka; class Sdf08ServiceTest extends AbstractServiceTest { - // private static final MatcherFactory.Matcher SDF_08_MATCHER = usingIgnoringFieldsComparator("created", "comment", "outSDfId", "generationTime", "generationId", "id"); private static final String TOPIC = Task.getAllBalance.topic(); private static final int PARTITION = 1; @Autowired @@ -44,12 +43,6 @@ class Sdf08ServiceTest extends AbstractServiceTest { mockConsumer = (MockConsumer) sdf08Service.getConsumer(); } - /** - * {@link Sdf08Service}
- * Тест проверяет генерацию сущностей {@link RequestInfo}
- * Входные параметры:
- * {@link BaseRequest} - new BaseRequest<>()
- */ @Test void newSDf08() throws InterruptedException { BaseRequest baseNewRequest = new BaseRequest<>(); @@ -64,8 +57,6 @@ class Sdf08ServiceTest extends AbstractServiceTest { } addRecordToKafka(mockConsumer, TOPIC, PARTITION, 0, jsonBaseNewRequest); - - //waiting for kafka producer send message (finale event) verify(producer, timeout(30_000L).times(1)) .send(producerRecord.capture()); diff --git a/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/service/Sdf09ExecutorTest.java b/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/service/Sdf09ExecutorTest.java index 8e71fcc10..e69de29bb 100644 --- a/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/service/Sdf09ExecutorTest.java +++ b/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/service/Sdf09ExecutorTest.java @@ -1,243 +0,0 @@ -//package ru.spcex.clearing.balance.service; -// -//import org.apache.kafka.clients.producer.MockProducer; -//import org.junit.jupiter.api.Test; -//import org.springframework.beans.factory.annotation.Autowired; -//import org.springframework.boot.test.mock.mockito.SpyBean; -//import ru.clearing.classes.statics.data.account.Account; -//import ru.clearing.classes.statics.data.account.AccountBalance; -//import ru.clearing.classes.statics.data.company.Company; -//import ru.clearing.classes.statics.data.company.CompanySymbols; -//import ru.clearing.classes.statics.data.sdf.SDf09; -//import ru.clearing.classes.statics.data.sdf.SDf10; -//import ru.clearing.classes.statics.data.statement.Statement; -//import ru.spcex.clearing.balance.errors.BalanceError; -//import ru.spcex.clearing.balance.utils.MatcherFactory; -//import ru.spcex.clearing.platform.messaging.domain.cud.account.sdf01.AccountSdfRequestPart; -//import ru.spcex.clearing.platform.messaging.domain.cud.balance.StatementRequest; -//import ru.spcex.platform.enumeration.*; -//import ru.spcex.platform.utils.enumeration.EnumMessage; -// -//import javax.annotation.PostConstruct; -//import java.math.BigDecimal; -//import java.time.Instant; -//import java.time.LocalDate; -//import java.util.Collection; -//import java.util.Collections; -//import java.util.Map; -// -//import static ru.spcex.clearing.balance.utils.MatcherFactory.usingIgnoringFieldsComparator; -// -//class Sdf09ExecutorTest extends AbstractServiceTest { -// private static final MatcherFactory.Matcher SDF_10_MATCHER = usingIgnoringFieldsComparator("created", "comment", "outSDfId", "generationTime", "generationId", "id"); -// private final Long ID = 2L; -// private final String acc = "213456789"; -// @Autowired -// Sdf09Executor sdf09Executor; -// private SDf09 sdf09; -// private StatementRequest statementRequest; -// @SpyBean -// private MockProducer producer; -// -// @PostConstruct -// void init() { -// super.init(); -// sdf09 = getTestSdf09(); -// statementRequest = new StatementRequest(); -// } -// -// /** -// * {@link Sdf09Executor#execute(Collection collection, StatementRequest statementRequest)}
-// * Тест проверяет генерацию сущностей {@link Result}, {@link Statement}, {@link SDf10}
-// * Входные параметры:
-// * accountId - {@link StatementRequest}: new StatementRequest()
-// * addresseeId - {@link Collection}
-// * addresseeId - {@link SDf09}
-// * {@link SDf09#market} - "U"
-// * {@link SDf09#account} - "123456789"
-// * {@link SDf09#inn} - 987654321
-// * {@link SDf09#sum} - 1000
-// */ -// @Test -// void execute() { -// //check create statement, SDf10 and AccountBalance -// Company company = getTestCompany(); -// companyMap.put(addresseeIdNew, company); -// -// CompanySymbols companySymbols = getTestCompanySymbols(); -// companySymbolsMap.put(addresseeIdNew, companySymbols); -// -// Account account = getTestAccount(ID, acc); -// accountMap.put(accountIdNew, account); -// -// Result predictableResult = new Result(); -// predictableResult.setGenerationId(ID); -// Statement predictableStatement = getTestStatement(currentId.getAndIncrement(), company, account, sdf09); -// predictableStatement.setOperationStatus(OperationStatus.Executed.getKey()); -// SDf10 predictableSdf10 = getTestSdf10(currentId.getAndIncrement(), sdf09, ID); -// predictableStatement.setOutSDfId(predictableSdf10.getId()); -// AccountResult predictableNewResult = getTestAccountResult(currentId.getAndIncrement(), account, company); -// -// Result result = sdf09Executor.execute(Collections.singletonList(sdf09), statementRequest); -// Statement resultStatement = statementImdg.getSingleObjectByFieldValues(Map.of("account", acc)); -// SDf10 resultSdf10 = sdf10Imdg.getSingleObjectByFieldValues(Map.of("account", acc)); -// AccountBalance resultAccountBalance = accountBalanceImdg.getSingleObjectByFieldValues(Map.of("account", acc)); -// -// RESULT_MATCHER.assertMatch(result, predictableResult); -// STATEMENT_MATCHER.assertMatch(resultStatement, predictableStatement); -// SDF_10_MATCHER.assertMatch(resultSdf10, predictableSdf10); -// ACCOUNT_BALANCE_MATCHER.assertMatch(resultAccountBalance, predictableNewResult.getAccount()); -// } -// -// /** -// * {@link Sdf09Executor#execute(Collection collection, StatementRequest statementRequest)}
-// * Тест проверяет валидацию
-// * Входные параметры:
-// * accountId - {@link StatementRequest}: new StatementRequest()
-// * addresseeId - {@link Collection}
-// * addresseeId - {@link SDf09}
-// * {@link SDf09#market} - "U"
-// * {@link SDf09#account} - "123456789"
-// * {@link SDf09#inn} - 987654321
-// * {@link SDf09#sum} - 1000
-// */ -// @Test -// void validatedExecute() { -// //CompanyNotFound -// companyMap.delete(addresseeIdNew); -// checkError(new EnumMessage(BalanceError.CompanyNotFound)); -// -// Company company = getTestCompany(); -// companyMap.put(addresseeIdNew, company); -// companySymbolsMap.delete(addresseeIdNew); -// checkError(new EnumMessage(BalanceError.CompanyNotFound)); -// -// CompanySymbols companySymbols = getTestCompanySymbols(); -// companySymbolsMap.put(addresseeIdNew, companySymbols); -// sdf09.setInn(null); -// checkError(new EnumMessage(BalanceError.CompanyNotFound)); -// -// //AccountNotPresent -// sdf09.setInn(inn); -// accountMap.delete(accountIdNew); -// checkErrorAccountNotPresent(company); -// -// //AccountNotPresent -// Account account = new Account(); -// account.setAccount(null); -// account.setAccountType(AccountType.Clrn.getKey()); -// account.setStatus(Status.Active.getKey()); -// accountMap.put(accountIdNew, account); -// checkErrorAccountNotPresent(company); -// -// //AccountNotPresent -// account = getTestAccount(ID, acc); -// accountMap.put(accountIdNew, account); -// sdf09.setAccount(null); -// checkErrorAccountNotPresent(company); -// -// //WrongMarket -// sdf09.setAccount(acc); -// sdf09.setMarket(null); -// checkError(new EnumMessage(BalanceError.WrongMarket)); -// -// //BalanceNotEnough -// sdf09.setMarket("U"); -// sdf09.setSum(null); -// checkError(new EnumMessage(BalanceError.BalanceNotEnough)); -// -// //BalanceNotEnough -// sdf09.setSum(new BigDecimal(-1000)); -// AccountBalance balance = accountBalanceImdg.getSingleObjectByFieldValues(Map.of("account", sdf09.getAccount(), -// "accountType", AccountType.Clrn.getKey())); -// if (balance != null) accountBalanceImdg.delete(balance); -// else balance = getTestAccountBalance(ID, account, company); -// checkError(new EnumMessage(BalanceError.BalanceNotEnough)); -// -// //BalanceNotEnough -// balance.setFreeBalanceAmount(new BigDecimal(999)); -// accountBalanceImdg.insert(balance); -// checkError(new EnumMessage(BalanceError.BalanceNotEnough)); -// -// balance.setFreeBalanceAmount(amountNew); -// accountBalanceImdg.insert(balance); -// } -// -// private void checkError(EnumMessage enumMessage) { -// SDf10 predictableSdf10 = getTestErrorSdf10(sdf09, enumMessage, ID); -// Result result = sdf09Executor.execute(Collections.singletonList(sdf09), statementRequest); -// Collection resultsSdf10 = sdf10Imdg.getCollectionObjectsByFieldValues(Map.of("account", acc)); -// SDf10 resultSdf10 = resultsSdf10.stream().max((entry1, entry2) -> entry1.getId() > entry2.getId() ? 1 : -1).get(); -// SDF_10_MATCHER.assertMatch(resultSdf10, predictableSdf10); -// } -// -// protected Statement getTestStatement(Long id, Company company, Account account, SDf09 sdf09) { -// Statement statement = new Statement(); -// statement.setId(id); -// statement.setAddresseeId(company.getId()); -// statement.setSenderId(Sender.Prc.getId()); -// statement.setCreated(Instant.now()); -// statement.setClearingDate(LocalDate.now()); -// statement.setStatementType(StatementType.incr.getKey()); -// statement.setAccountId(account.getId()); -// statement.setAccount(sdf09.getAccount()); -// statement.setInOutDirection(InOutDirection.in.getKey()); -// statement.setAmount(sdf09.getSum()); -// statement.setCashMovementCurrencyCode(CurrencyCode.RUB.getKey()); -// statement.setOperationStatus(OperationStatus.Pending.getKey()); -// statement.setInSDfId(sdf09.getId()); -// statement.setInOutSDfType(InOutSDfType.type9.getKey()); -// statementImdg.insert(statement); -// return statement; -// } -// -// private SDf10 getTestSdf10(Long id, SDf09 sdf09, Long generationIdForGroup) { -// SDf10 sDf10 = new SDf10(); -// sDf10.setId(id); -// sDf10.setAccount(sdf09.getAccount()); -// sDf10.setSum(sdf09.getSum()); -// sDf10.setMarket(sdf09.getMarket()); -// sDf10.setType(sdf09.getType()); -// sDf10.setNumber(sdf09.getNumber()); -// sDf10.setInn(sdf09.getInn()); -// sDf10.setResult("OK"); -// sDf10.setGenerationId(generationIdForGroup); -// sDf10.setGenerationTime(Instant.now()); -// sDf10.setInSDf09Id(sdf09.getId()); -// return sDf10; -// } -// -// private SDf09 getTestSdf09() { -// SDf09 sdf09 = new SDf09(); -// sdf09.setId(ID); -// sdf09.setMarket("U"); -// sdf09.setAccount(acc); -// sdf09.setInn(inn); -// sdf09.setSum(amountNew); -// return sdf09; -// } -// -// private SDf10 getTestErrorSdf10(SDf09 sdf09, EnumMessage error, Long generationIdForGroup) { -// SDf10 sDf10 = getTestSdf10(ID, sdf09, generationIdForGroup); -// sDf10.setId(ID); -// String errorId = error.getSubject().getId().toString(); -// sDf10.setResult(errorId.substring(errorId.length() - 3)); -// return sDf10; -// } -// -// private void checkErrorAccountNotPresent(Company company) { -// Result predictableResult = new Result(); -// predictableResult.getAccountRequests().add(createAccountRequestPart(sdf09.getId(), sdf09.getAccount(), company.getId())); -// Result result = sdf09Executor.execute(Collections.singletonList(sdf09), statementRequest); -// RESULT_MATCHER.assertMatch(result, predictableResult); -// } -// -// private AccountSdfRequestPart createAccountRequestPart(Long sdf09Id, String account, Long companyId) { -// AccountSdfRequestPart req = new AccountSdfRequestPart(); -// req.setAccount(account); -// req.setCompanyId(companyId); -//// req.setAccountType(AccountType.Clrn.getKey()); -// req.setSdfId(sdf09Id); -// return req; -// } -//} \ No newline at end of file diff --git a/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/service/Sdf16ExecutorTest.java b/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/service/Sdf16ExecutorTest.java index 0f79c836e..80d2752ed 100644 --- a/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/service/Sdf16ExecutorTest.java +++ b/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/service/Sdf16ExecutorTest.java @@ -59,25 +59,8 @@ class Sdf16ExecutorTest extends AbstractServiceTest { statementRequest = new StatementRequest(); } - /** - * {@link Sdf16Executor#execute(Collection collection, StatementRequest statementRequest)}
- * Тест проверяет генерацию сущностей {@link Result}, {@link Statement}, {@link SDf17}
- * Входные параметры:
- * accountId - {@link StatementRequest}: new StatementRequest()
- * addresseeId - {@link Collection}
- * addresseeId - {@link SDf16}
- * {@link SDf16#market} - "U"
- * {@link SDf16#account} - "123456789"
- * {@link SDf16#inn} - 987654321
- * {@link SDf16#sum} - 1700
- * {@link SDf16#type} - "t"
- * {@link SDf16#bic} - new BigDecimal(1000389238)
- * {@link SDf16#spec} - "134"
- * {@link SDf16#number} - new BigDecimal(234232343)
- */ @Test void execute() { - //check create statement, SDf17 and AccountBalance Company company = getTestCompany(); companyMap.put(addresseeIdNew, company); @@ -113,25 +96,8 @@ class Sdf16ExecutorTest extends AbstractServiceTest { ACCOUNT_BALANCE_MATCHER.assertMatch(resultAccountBalance, predictableNewResult.getAccount()); } - /** - * {@link Sdf16Executor#execute(Collection collection, StatementRequest statementRequest)}
- * Тест проверяет валидацию
- * Входные параметры:
- * accountId - {@link StatementRequest}: new StatementRequest()
- * addresseeId - {@link Collection}
- * addresseeId - {@link SDf16}
- * {@link SDf16#market} - "U"
- * {@link SDf16#account} - "123456789"
- * {@link SDf16#inn} - 987654321
- * {@link SDf16#sum} - 1700
- * {@link SDf16#type} - "t"
- * {@link SDf16#bic} - new BigDecimal(1000389238)
- * {@link SDf16#spec} - "134"
- * {@link SDf16#number} - new BigDecimal(234232343)
- */ @Test void validatedExecute() { - //CompanyNotFound companyMap.delete(addresseeIdNew); checkError(new EnumMessage(BalanceError.CompanyNotFound)); @@ -144,45 +110,31 @@ class Sdf16ExecutorTest extends AbstractServiceTest { companySymbolsMap.put(addresseeIdNew, companySymbols); sdf16.setInn(null); checkError(new EnumMessage(BalanceError.CompanyNotFound)); - - //AccountNotPresent sdf16.setInn(inn); accountMap.delete(accountIdNew); checkErrorAccountNotPresent(company); - - //AccountNotPresent Account account = new Account(); account.setAccount(null); account.setAccountType(AccountType.Clrn.getKey()); account.setStatus(Status.Active.getKey()); accountMap.put(accountIdNew, account); checkErrorAccountNotPresent(company); - - //AccountNotPresent account = getTestAccount(ID, acc); accountMap.put(accountIdNew, account); sdf16.setAccount(null); checkErrorAccountNotPresent(company); - - //WrongMarket sdf16.setAccount(acc); sdf16.setMarket(null); checkError(new EnumMessage(BalanceError.WrongMarket)); - - //BalanceNotEnough sdf16.setMarket("U"); sdf16.setSum(null); checkError(new EnumMessage(BalanceError.BalanceNotEnough)); - - //BalanceNotEnough sdf16.setSum(new BigDecimal(-1700)); AccountBalance balance = accountBalanceImdg.getFirstObjectByFieldValues(Map.of("account", sdf16.getAccount(), "accountType", AccountType.Clrn.getKey())); if (balance != null) accountBalanceImdg.delete(balance); else balance = getTestAccountBalance(ID, account, company); checkError(new EnumMessage(BalanceError.BalanceNotEnough)); - - //BalanceNotEnough balance.setFreeBalanceAmount(new BigDecimal(999)); accountBalanceImdg.insert(balance); checkError(new EnumMessage(BalanceError.BalanceNotEnough)); diff --git a/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/utils/ImapEvent.java b/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/utils/ImapEvent.java index 129e2178b..2c08049ac 100644 --- a/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/utils/ImapEvent.java +++ b/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/utils/ImapEvent.java @@ -39,14 +39,13 @@ public class ImapEvent { } public void waitWhenHappened() throws InterruptedException { - //running timer task as daemon thread Timer timer = new Timer(true); timer.scheduleAtFixedRate(new TimerTask() { boolean secondRan; @Override public void run() { - checkEventHappened.set(secondRan);//если что-то пойдет не так не тормозить основной поток + checkEventHappened.set(secondRan); secondRan = true; } }, 0, 20 * 1000); @@ -55,7 +54,6 @@ public class ImapEvent { checkEventHappened.wait(100); } } - //preparing hazelcastImdgProvider for next test iMap.removeEntryListener(listenerAdding); iMap.removeEntryListener(listenerUpdating); iMap.removeEntryListener(listenerRemoving); diff --git a/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/utils/MatcherFactory.java b/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/utils/MatcherFactory.java index a18ccb4f0..3243818e8 100644 --- a/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/utils/MatcherFactory.java +++ b/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/utils/MatcherFactory.java @@ -4,11 +4,6 @@ import java.util.Arrays; import static org.assertj.core.api.Assertions.assertThat; -/** - * Factory for creating test matchers. - *

- * Comparing actual and expected objects via AssertJ - */ public class MatcherFactory { public static Matcher usingIgnoringFieldsComparator(String... fieldsToIgnore) { diff --git a/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/validation/Sdf16ValidationRuleTest.java b/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/validation/Sdf16ValidationRuleTest.java index a579141e0..faf8f249f 100644 --- a/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/validation/Sdf16ValidationRuleTest.java +++ b/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/validation/Sdf16ValidationRuleTest.java @@ -12,14 +12,13 @@ import java.math.BigDecimal; import java.util.Optional; import static org.junit.jupiter.api.Assertions.assertTrue; -@Deprecated // sDf16 was deleted +@Deprecated class Sdf16ValidationRuleTest { @Test void values() { ImdgValidationContext ctx = new ImdgValidationContext<>(); SDf16 object = new SDf16(); -// object.setBic(BigDecimal.valueOf(1000004L)); object.setInn(BigDecimal.valueOf(1000024L)); ctx.setValidatedObject(object); ctx.addImdg(IMDGDistributedNames.Map_CompanySymbols, makeTestMap()); diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/ConstSerializable.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/ConstSerializable.java index 8e607f379..cfc4394d0 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/ConstSerializable.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/ConstSerializable.java @@ -1,8 +1,5 @@ package ru.clearing.classes; -/** - * В случае любых изменений модуля classes необходимо изменить serialVersionUID++ - */ public interface ConstSerializable { long serialVersionUID = 293236453420L; } diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/objects/BusinessEvent.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/objects/BusinessEvent.java index 64a7508b4..222b9a0ff 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/objects/BusinessEvent.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/objects/BusinessEvent.java @@ -4,14 +4,11 @@ import ru.spcex.platform.classes.base.SpcexObjectBase; import java.time.Instant; -/** - * Журнал изменения таблиц с BusinessObject - */ -public abstract class BusinessEvent extends SpcexObjectBase { +public abstract class BusinessEvent extends SpcexObjectBase { private Instant eventTime; private Long userId; - private String eventType; // varchar(4) + private String eventType; public Instant getEventTime() { return eventTime; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/objects/BusinessObject.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/objects/BusinessObject.java index 5e943cf0f..39966f941 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/objects/BusinessObject.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/objects/BusinessObject.java @@ -5,9 +5,6 @@ import ru.spcex.platform.classes.base.SpcexObjectBase; import java.time.Instant; -/** - * UUID - Long based with field object - */ public abstract class BusinessObject extends SpcexObjectBase { static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/Account.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/Account.java index 49143d7d8..b1d4759a1 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/Account.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/Account.java @@ -3,11 +3,6 @@ package ru.clearing.classes.statics.data.account; import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessObject; -/** - * Счета - *

- * DB table: ACCOUNT - **/ public class Account extends BusinessObject { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountBalance.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountBalance.java index ab09d7140..eed70bd1d 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountBalance.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountBalance.java @@ -6,11 +6,6 @@ import ru.clearing.classes.objects.BusinessObject; import java.math.BigDecimal; import java.time.LocalDate; -/** - * Счета - *

- * DB table: ACCOUNT_BALANCE - **/ @Deprecated public class AccountBalance extends BusinessObject { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountBalanceHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountBalanceHistory.java index c6782567a..da98a31e3 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountBalanceHistory.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountBalanceHistory.java @@ -5,11 +5,6 @@ import ru.clearing.classes.objects.BusinessEvent; import java.io.Serial; -/** - * Изменение состояния объекта Счета - *

- * DB table: ACCOUNT_BALANCE_HISTORY - **/ @Deprecated public class AccountBalanceHistory extends BusinessEvent { @Serial diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountHistory.java index fd3d6595c..8971d6006 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountHistory.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountHistory.java @@ -2,12 +2,8 @@ package ru.clearing.classes.statics.data.account; import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessEvent; + import java.io.Serial; -/** - * Изменение состояния объекта Счета - * - * DB table: ACCOUNT_HISTORY - **/ public class AccountHistory extends BusinessEvent { @Serial private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/BankAccount.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/BankAccount.java index 57df0c509..b3a83a0c7 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/BankAccount.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/BankAccount.java @@ -3,11 +3,6 @@ package ru.clearing.classes.statics.data.account; import ru.clearing.classes.ConstSerializable; import ru.spcex.platform.classes.base.SpcexObjectBase; -/** - * Банковские реквизиты для перечисления денежных средств - *

- * DB table: BANK_ACCOUNT - **/ public class BankAccount extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/BankAccountHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/BankAccountHistory.java index 6fcc3e750..65700fcfb 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/BankAccountHistory.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/BankAccountHistory.java @@ -1,12 +1,9 @@ package ru.clearing.classes.statics.data.account; + import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessEvent; + import java.io.Serial; -/** - * Изменение состояния объекта Банковские реквизиты для перечисления денежных средств - * - * DB table: BANK_ACCOUNT_UPDATE - **/ public class BankAccountHistory extends BusinessEvent { @Serial private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/ClearingAccount.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/ClearingAccount.java index 68fdebd2d..3e02c6a70 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/ClearingAccount.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/ClearingAccount.java @@ -3,11 +3,6 @@ package ru.clearing.classes.statics.data.account; import ru.clearing.classes.ConstSerializable; import ru.spcex.platform.classes.base.SpcexObjectBase; -/** - * Клиринговые счета - *

- * DB table: CLEARING_ACCOUNT - **/ public class ClearingAccount extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/ClearingAccountHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/ClearingAccountHistory.java index 93c1128cc..5b0085634 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/ClearingAccountHistory.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/ClearingAccountHistory.java @@ -2,12 +2,8 @@ package ru.clearing.classes.statics.data.account; import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessEvent; + import java.io.Serial; -/** - * Изменение состояния объекта Клиринговые счета - * - * DB table: CLEARING_ACCOUNT_UPDATE - **/ public class ClearingAccountHistory extends BusinessEvent { @Serial private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/ClientCode.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/ClientCode.java index af4a3890d..45d222413 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/ClientCode.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/ClientCode.java @@ -3,13 +3,6 @@ package ru.clearing.classes.statics.data.account; import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessObject; -import java.time.Instant; - -/** - * Коды клиентов компании - *

- * DB table: CLIENT_CODE - **/ public class ClientCode extends BusinessObject { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/ClientCodeHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/ClientCodeHistory.java index 7b6df9819..2a72e5d60 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/ClientCodeHistory.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/ClientCodeHistory.java @@ -5,11 +5,6 @@ import ru.clearing.classes.objects.BusinessEvent; import java.io.Serial; -/** - * Изменение состояния объекта Коды клиентов компании - *

- * DB table: CLIENT_CODE_HISTORY - **/ public class ClientCodeHistory extends BusinessEvent { @Serial private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/DepoAccount.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/DepoAccount.java index e1f8bc73a..00a66c068 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/DepoAccount.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/DepoAccount.java @@ -3,11 +3,6 @@ package ru.clearing.classes.statics.data.account; import ru.clearing.classes.ConstSerializable; import ru.spcex.platform.classes.base.SpcexObjectBase; -/** - * Депозитарные счета - *

- * DB table: DEPO_ACCOUNT - **/ public class DepoAccount extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/DepoAccountHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/DepoAccountHistory.java index eb14cf879..a1175df18 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/DepoAccountHistory.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/DepoAccountHistory.java @@ -5,11 +5,6 @@ import ru.clearing.classes.objects.BusinessEvent; import java.io.Serial; -/** - * Изменение состояния объекта Депозитарные счета - *

- * DB table: DEPO_ACCOUNT_HISTORY - **/ public class DepoAccountHistory extends BusinessEvent { @Serial private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/InformationAccount.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/InformationAccount.java index 0c369fc5c..d96ef431e 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/InformationAccount.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/InformationAccount.java @@ -3,11 +3,6 @@ package ru.clearing.classes.statics.data.account; import ru.clearing.classes.ConstSerializable; import ru.spcex.platform.classes.base.SpcexObjectBase; -/** - * Информационные счета - *

- * DB table: INFORMATION_ACCOUNT - **/ public class InformationAccount extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/InformationAccountHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/InformationAccountHistory.java index 24cd21878..87191edae 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/InformationAccountHistory.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/InformationAccountHistory.java @@ -2,12 +2,8 @@ package ru.clearing.classes.statics.data.account; import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessEvent; + import java.io.Serial; -/** - * Изменение состояния объекта Информационные счета - * - * DB table: INFORMATION_ACCOUNT_UPDATE - **/ public class InformationAccountHistory extends BusinessEvent { @Serial private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/ClearingMemberCategory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/ClearingMemberCategory.java index f009fa5db..f8ff8ee1e 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/ClearingMemberCategory.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/ClearingMemberCategory.java @@ -3,11 +3,6 @@ package ru.clearing.classes.statics.data.company; import ru.clearing.classes.ConstSerializable; import ru.spcex.platform.classes.base.SpcexObjectBase; -/** - * Категории участника клиринга - *

- * DB table: CLEARING_MEMBER_CATEGORY - **/ public class ClearingMemberCategory extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/ClearingMemberCategoryHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/ClearingMemberCategoryHistory.java index 6260aa3d4..59158980a 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/ClearingMemberCategoryHistory.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/ClearingMemberCategoryHistory.java @@ -5,9 +5,6 @@ import ru.clearing.classes.objects.BusinessEvent; import java.io.Serial; -/** - * DB: CLEARING_MEMBER_CATEGORY_HISTORY - */ public class ClearingMemberCategoryHistory extends BusinessEvent { @Serial private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/Company.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/Company.java index 9bbc2ee44..f5938e172 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/Company.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/Company.java @@ -6,9 +6,6 @@ import ru.clearing.classes.statics.data.profile.CompanyInfo; import java.io.Serial; -/** - * DB: COMPANY - */ public class Company extends BusinessObject { @Serial private static final long serialVersionUID = ConstSerializable.serialVersionUID; @@ -16,7 +13,7 @@ public class Company extends BusinessObject { private String tradingCode; private String clearingCode; private String registrationCode; - private String workflowStatus; // WorkflowStatusDictionary + private String workflowStatus; private String shortName; private String fullName; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/CompanyHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/CompanyHistory.java index 6c412b87f..e1b8d064a 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/CompanyHistory.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/CompanyHistory.java @@ -5,9 +5,6 @@ import ru.clearing.classes.objects.BusinessEvent; import java.io.Serial; -/** - * DB: COMPANY_UPDATE - */ public class CompanyHistory extends BusinessEvent { @Serial private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/CompanyRoleSet.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/CompanyRoleSet.java index 7823d8016..e44d38eb2 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/CompanyRoleSet.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/CompanyRoleSet.java @@ -3,9 +3,6 @@ package ru.clearing.classes.statics.data.company; import ru.clearing.classes.ConstSerializable; import ru.spcex.platform.classes.base.SpcexObjectBase; -/** - * DB: COMPANY_ROLE_SET - */ public class CompanyRoleSet extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/CompanySymbols.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/CompanySymbols.java index 4ae40a8d0..b220f8628 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/CompanySymbols.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/CompanySymbols.java @@ -3,14 +3,11 @@ package ru.clearing.classes.statics.data.company; import ru.clearing.classes.ConstSerializable; import ru.spcex.platform.classes.base.SpcexObjectBase; -/** - * DB: COMPANY_SYMBOLS - */ public class CompanySymbols extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; private Long companyId; - private String companySymbol; // ref CHAR(4) + private String companySymbol; private String companySymbolValue; public Long getCompanyId() { diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/CompanySymbolsHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/CompanySymbolsHistory.java index 97e9babf0..4110eabef 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/CompanySymbolsHistory.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/CompanySymbolsHistory.java @@ -5,9 +5,6 @@ import ru.clearing.classes.objects.BusinessEvent; import java.io.Serial; -/** - * DB: COMPANY_SYMBOLS_HISTORY - */ public class CompanySymbolsHistory extends BusinessEvent { @Serial diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/relation/Relation.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/relation/Relation.java index 89e288884..263e43ee5 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/relation/Relation.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/relation/Relation.java @@ -3,11 +3,6 @@ package ru.clearing.classes.statics.data.company.relation; import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessObject; -/** - * Договорные отношения - *

- * DB table: RELATION - **/ public class Relation extends BusinessObject { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/relation/RelationHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/relation/RelationHistory.java index 5d7023e47..2f6d277fe 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/relation/RelationHistory.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/relation/RelationHistory.java @@ -2,12 +2,8 @@ package ru.clearing.classes.statics.data.company.relation; import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessEvent; + import java.io.Serial; -/** - * ИЗменение состояния объекта Договорные отношения - * - * DB table: RELATION_HISTORY - **/ public class RelationHistory extends BusinessEvent { @Serial private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionDepositHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionDepositHistory.java index 784900a03..697d5dbd7 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionDepositHistory.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionDepositHistory.java @@ -5,11 +5,6 @@ import ru.clearing.classes.objects.BusinessEvent; import java.io.Serial; -/** - * Изменение состояния объекта Сделки - *

- * DB table: EXECUTION_DEPOSIT_HISTORY - **/ public class ExecutionDepositHistory extends BusinessEvent { @Serial private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionFond.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionFond.java index 7306327de..9d277e43e 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionFond.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionFond.java @@ -7,11 +7,6 @@ import java.math.BigDecimal; import java.time.Instant; import java.time.LocalDate; -/** - * Сделки на Фондовой секции - *

- * DB table: EXECUTION_FOND - **/ public class ExecutionFond extends ExecutionCommon { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionFondHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionFondHistory.java index bdae32cd1..1e56661f5 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionFondHistory.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionFondHistory.java @@ -5,11 +5,6 @@ import ru.clearing.classes.objects.BusinessEvent; import java.io.Serial; -/** - * Изменение состояния объекта Сделки на Фондовой секции - *

- * DB table: EXECUTION_FOND_HISTORY - **/ public class ExecutionFondHistory extends BusinessEvent { @Serial private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/CouponPeriod.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/CouponPeriod.java index 9553f38e8..85812bd99 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/CouponPeriod.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/CouponPeriod.java @@ -6,11 +6,6 @@ import ru.spcex.platform.classes.base.SpcexObjectBase; import java.math.BigDecimal; import java.time.LocalDate; -/** - * Купонное расписание - * - * DB table: COUPON_PERIOD - **/ public class CouponPeriod extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/CouponPeriodHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/CouponPeriodHistory.java index a06c672e7..e61d81682 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/CouponPeriodHistory.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/CouponPeriodHistory.java @@ -5,9 +5,6 @@ import ru.clearing.classes.objects.BusinessEvent; import java.io.Serial; -/** - * DB: COUPON_PERIOD_HISTORY - */ public class CouponPeriodHistory extends BusinessEvent { @Serial private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/EquitySecurity.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/EquitySecurity.java index 36bd174db..aea246aed 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/EquitySecurity.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/EquitySecurity.java @@ -6,12 +6,6 @@ import ru.clearing.classes.statics.data.security.Security; import java.math.BigDecimal; -/** - * Equity - * Акции - * - * DB table: EQUITY_SECURITY - **/ public class EquitySecurity extends Security { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/FixedIncomeCashFlow.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/FixedIncomeCashFlow.java index 03e32e3e4..5917a9366 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/FixedIncomeCashFlow.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/FixedIncomeCashFlow.java @@ -6,11 +6,6 @@ import ru.spcex.platform.classes.base.SpcexObjectBase; import java.math.BigDecimal; import java.time.LocalDate; -/** - * Выплаты по купонам - *

- * DB table: FIXED_INCOME_CASH_FLOW - **/ public class FixedIncomeCashFlow extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/FixedIncomeSecurity.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/FixedIncomeSecurity.java index 6e13919ef..d794e1fda 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/FixedIncomeSecurity.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/FixedIncomeSecurity.java @@ -6,12 +6,6 @@ import ru.clearing.classes.statics.data.security.Security; import java.math.BigDecimal; import java.time.LocalDate; -/** - * FixedIncome - * Облигации - * - * DB table: FIXED_INCOME_SECURITY - **/ public class FixedIncomeSecurity extends Security { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/journal/InDocumentJournal.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/journal/InDocumentJournal.java index 1a73b72ab..a770da349 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/journal/InDocumentJournal.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/journal/InDocumentJournal.java @@ -7,11 +7,6 @@ import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalTime; -/** - * Журнал входящих документов - *

- * DB table: IN_DOCUMENT_JOURNAL - **/ public class InDocumentJournal extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/journal/OutDocumentJournal.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/journal/OutDocumentJournal.java index e1a2930c8..39d78eb63 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/journal/OutDocumentJournal.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/journal/OutDocumentJournal.java @@ -7,11 +7,6 @@ import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalTime; -/** - * Журнал исходящих документов - *

- * DB table: OUT_DOCUMENT_JOURNAL - **/ public class OutDocumentJournal extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/messages/ErrorText.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/messages/ErrorText.java index 3428382c7..540bbee98 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/messages/ErrorText.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/messages/ErrorText.java @@ -5,11 +5,6 @@ import ru.clearing.classes.objects.BusinessObject; import java.time.LocalDate; -/** - * Полные тексты ошибок - *

- * DB table: ERROR_TEXT - **/ public class ErrorText extends BusinessObject { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/CurrencyHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/CurrencyHistory.java index 4cd3ad3f0..42ba00333 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/CurrencyHistory.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/CurrencyHistory.java @@ -2,12 +2,8 @@ package ru.clearing.classes.statics.data.misc; import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessEvent; + import java.io.Serial; -/** - * Изменение состояния объекта Валюты - * - * DB table: CURRENCY_HISTORY - **/ public class CurrencyHistory extends BusinessEvent { @Serial private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/KeyRate.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/KeyRate.java index 97903530d..261f63de6 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/KeyRate.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/KeyRate.java @@ -5,11 +5,6 @@ import ru.spcex.platform.classes.base.SpcexObjectBase; import java.math.BigDecimal; import java.time.LocalDate; -/** - * Ключевая ставка ЦБ - *

- * DB table: KEY_RATE - **/ @Deprecated public class KeyRate extends SpcexObjectBase { private BigDecimal rate; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/ListingHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/ListingHistory.java index 98ad92a59..8a579e6ee 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/ListingHistory.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/ListingHistory.java @@ -2,12 +2,8 @@ package ru.clearing.classes.statics.data.misc; import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessEvent; + import java.io.Serial; -/** - * Изменение состояния объекта Листинг инструментов - * - * DB table: LISTING_HISTORY - **/ public class ListingHistory extends BusinessEvent

{ @Serial private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/MarketDataLiquidation.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/MarketDataLiquidation.java index 066986ea2..b21a3909d 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/MarketDataLiquidation.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/MarketDataLiquidation.java @@ -6,11 +6,6 @@ import ru.spcex.platform.classes.base.SpcexObjectBase; import java.math.BigDecimal; import java.time.LocalDate; -/** - * Статичная ценовая информация для ликвидации активов - *

- * DB table: MARKET_DATA_LIQUIDATION - **/ public class MarketDataLiquidation extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/MarketHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/MarketHistory.java index a76b7101e..ef68dfbfe 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/MarketHistory.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/MarketHistory.java @@ -2,12 +2,8 @@ package ru.clearing.classes.statics.data.misc; import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessEvent; + import java.io.Serial; -/** - * Изменение состояния объекта Торговые секции - * - * DB table: MARKET_HISTORY - **/ public class MarketHistory extends BusinessEvent { @Serial private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/NotificationHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/NotificationHistory.java index bb774c91c..a4a7ed59b 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/NotificationHistory.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/NotificationHistory.java @@ -5,11 +5,6 @@ import ru.clearing.classes.objects.BusinessEvent; import java.io.Serial; -/** - * Изменение состояния объекта Сообщения - *

- * DB table: NOTIFICATION_HISTORY - **/ public class NotificationHistory extends BusinessEvent { @Serial private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/STrades.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/STrades.java index 6601452fc..9be850686 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/STrades.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/STrades.java @@ -2,17 +2,11 @@ package ru.clearing.classes.statics.data.misc; import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessObject; -import ru.spcex.platform.classes.base.SpcexObjectBase; import java.math.BigDecimal; import java.time.Instant; import java.time.LocalDate; -/** - * Сделки из Торговой системы - *

- * DB table: S_TRADE - **/ public class STrades extends BusinessObject { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/SessionHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/SessionHistory.java index 6be919fb3..78b9489f6 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/SessionHistory.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/SessionHistory.java @@ -5,11 +5,6 @@ import ru.clearing.classes.objects.BusinessEvent; import java.io.Serial; -/** - * Изменение состояния объекта Клиринговая сессия - *

- * DB table: SESSION_HISTORY - **/ public class SessionHistory extends BusinessEvent { @Serial private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/payment/Operation.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/payment/Operation.java index f8a8f5d0b..645956acd 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/payment/Operation.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/payment/Operation.java @@ -2,13 +2,9 @@ package ru.clearing.classes.statics.data.payment; import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessObject; + import java.time.LocalDate; -/** - * Проводки - * - * DB table: OPERATION - **/ public class Operation extends BusinessObject { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/profile/CompanyInfo.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/profile/CompanyInfo.java index f77984590..4c48166d9 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/profile/CompanyInfo.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/profile/CompanyInfo.java @@ -3,28 +3,19 @@ package ru.clearing.classes.statics.data.profile; import ru.clearing.classes.ConstSerializable; import ru.spcex.platform.classes.base.SpcexObjectBase; -/** - * DB: COMPANY_INFO - */ public class CompanyInfo extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; - private Long companyId; // Company.CompanyInfo.companyId = CompanyInfo.id - private String corporationSoleType; // ref CHAR(4), - private String countryCode; //ref CHAR(4), + private Long companyId; + private String corporationSoleType; + private String countryCode; private String description; - private String professionalSign; // ref CHAR(4), - private String legalKind; // ref CHAR(4), - private String organizationType; // ref CHAR(4), - private String residence; // ref CHAR(4), -// private String shortName; // extends Company -// private String fullName; // extends Company - private String shortNameEng; + private String professionalSign; + private String legalKind; + private String organizationType; + private String residence; +private String shortNameEng; private String fullNameEng; -// private String tradingCode; // extends Company -// private String clearingCode; // extends Company -// private String registrationCode; // extends Company -// private String workflowStatus; // extends Company public Long getCompanyId() { return companyId; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/profile/Contact.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/profile/Contact.java index e2aeeeca1..f8a2024ee 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/profile/Contact.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/profile/Contact.java @@ -3,14 +3,11 @@ package ru.clearing.classes.statics.data.profile; import ru.clearing.classes.ConstSerializable; import ru.spcex.platform.classes.base.SpcexObjectBase; -/** - * DB: CONTACT - */ public class Contact extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; private Long companyId; - private String contactType; // ref CHAR(4) + private String contactType; private String contactValue; public Long getCompanyId() { diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/profile/ProfileDocument.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/profile/ProfileDocument.java index 92e9d1a2c..c7ef190fa 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/profile/ProfileDocument.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/profile/ProfileDocument.java @@ -5,14 +5,11 @@ import ru.spcex.platform.classes.base.SpcexObjectBase; import java.time.LocalDate; -/** - * DB: PROFILE_DOCUMENT - */ public class ProfileDocument extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; private Long companyId; - private String documentType; // ref CHAR(4) + private String documentType; private LocalDate issueDate; private String issuePlace; private String issuer; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/profile/ProfileDocumentHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/profile/ProfileDocumentHistory.java index c58e9108a..e42b5b9f6 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/profile/ProfileDocumentHistory.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/profile/ProfileDocumentHistory.java @@ -6,9 +6,6 @@ import ru.clearing.classes.objects.BusinessEvent; import java.io.Serial; -/** - * DB: PROFILE_DOCUMENT_HISTORY - */ public class ProfileDocumentHistory extends BusinessEvent { @Serial private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/AdmittedLiabilitiesRegister.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/AdmittedLiabilitiesRegister.java index 38b37227b..9a76fc40b 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/AdmittedLiabilitiesRegister.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/AdmittedLiabilitiesRegister.java @@ -2,17 +2,10 @@ package ru.clearing.classes.statics.data.register; import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessObject; -import ru.spcex.platform.classes.base.SpcexObjectBase; import java.math.BigDecimal; -import java.time.Instant; import java.time.LocalDate; -/** - * Реестр обязательств, допущенных к клирингу - * - * DB table: ADMITTED_LIABILITIES_REGISTER - **/ public class AdmittedLiabilitiesRegister extends BusinessObject { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/CoveredLiabilitiesRegister.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/CoveredLiabilitiesRegister.java index 19410c766..ba096c828 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/CoveredLiabilitiesRegister.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/CoveredLiabilitiesRegister.java @@ -2,17 +2,10 @@ package ru.clearing.classes.statics.data.register; import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessObject; -import ru.spcex.platform.classes.base.SpcexObjectBase; import java.math.BigDecimal; -import java.time.Instant; import java.time.LocalDate; -/** - * Реестр обязательств, прошедших процедуру контроля обеспечения - *

- * DB table: COVERED_LIABILITIES_REGISTER - **/ public class CoveredLiabilitiesRegister extends BusinessObject { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/DepoBalanceRegister.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/DepoBalanceRegister.java index 8571a4cc5..ac1899c0b 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/DepoBalanceRegister.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/DepoBalanceRegister.java @@ -2,16 +2,9 @@ package ru.clearing.classes.statics.data.register; import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessObject; -import ru.spcex.platform.classes.base.SpcexObjectBase; import java.math.BigDecimal; -import java.time.Instant; -/** - * Реестр остатков ценных бумаг - * - * DB table: DEPO_BALANCE_REGISTER - **/ public class DepoBalanceRegister extends BusinessObject { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/DepoPaymentInstructionRegister.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/DepoPaymentInstructionRegister.java index 9b0b00a81..8718e20f0 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/DepoPaymentInstructionRegister.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/DepoPaymentInstructionRegister.java @@ -5,11 +5,6 @@ import ru.clearing.classes.objects.BusinessObject; import java.math.BigDecimal; -/** - * Реестр распоряжений, направленных расчетному депозитарию - * - * DB table: DEPO_PAYMENT_INSTRUCTION_REGISTER - **/ public class DepoPaymentInstructionRegister extends BusinessObject { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/ExcludeLiabilitiesRegister.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/ExcludeLiabilitiesRegister.java index d0467dc5f..6c30dfab6 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/ExcludeLiabilitiesRegister.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/ExcludeLiabilitiesRegister.java @@ -2,16 +2,10 @@ package ru.clearing.classes.statics.data.register; import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessObject; -import ru.spcex.platform.classes.base.SpcexObjectBase; import java.math.BigDecimal; import java.time.LocalDate; -/** - * Реестр обязательств, исключенных из клирингового пула - * - * DB table: EXCLUDE_LIABILITIES_REGISTER - **/ public class ExcludeLiabilitiesRegister extends BusinessObject { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/ExecutionRegister.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/ExecutionRegister.java index 3258f0eab..1636e9e8f 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/ExecutionRegister.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/ExecutionRegister.java @@ -2,17 +2,11 @@ package ru.clearing.classes.statics.data.register; import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessObject; -import ru.spcex.platform.classes.base.SpcexObjectBase; import java.math.BigDecimal; import java.time.Instant; import java.time.LocalDate; -/** - * Реестр сделок - * - * DB table: EXECUTION_REGISTER - **/ public class ExecutionRegister extends BusinessObject { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/LiabilitiesRegister.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/LiabilitiesRegister.java index 83b44a823..697723fb9 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/LiabilitiesRegister.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/LiabilitiesRegister.java @@ -2,16 +2,10 @@ package ru.clearing.classes.statics.data.register; import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessObject; -import ru.spcex.platform.classes.base.SpcexObjectBase; import java.math.BigDecimal; import java.time.LocalDate; -/** - * Реестр учета обязательств - * - * DB table: LIABILITIES_REGISTER - **/ public class LiabilitiesRegister extends BusinessObject { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/MoneyBalanceRegister.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/MoneyBalanceRegister.java index dff2d1116..ab07b0ba2 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/MoneyBalanceRegister.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/MoneyBalanceRegister.java @@ -5,11 +5,6 @@ import ru.clearing.classes.objects.BusinessObject; import java.math.BigDecimal; -/** - * Реестр остатков денежных средств - *

- * DB table: MONEY_BALANCE_REGISTER - **/ public class MoneyBalanceRegister extends BusinessObject { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/MoneyPaymentInstructionRegister.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/MoneyPaymentInstructionRegister.java index 75b89ec18..43f90faa9 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/MoneyPaymentInstructionRegister.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/MoneyPaymentInstructionRegister.java @@ -6,11 +6,6 @@ import ru.clearing.classes.objects.BusinessObject; import java.math.BigDecimal; import java.time.LocalDate; -/** - * Реестр распоряжений, направленных расчетной организации - * - * DB table: MONEY_PAYMENT_INSTRUCTION_REGISTER - **/ public class MoneyPaymentInstructionRegister extends BusinessObject { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/ReportRegister.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/ReportRegister.java index b15481ac9..6cda6e948 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/ReportRegister.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/ReportRegister.java @@ -5,9 +5,6 @@ import ru.clearing.classes.objects.BusinessObject; import java.time.LocalDate; -/** - * DB table: REPORT_REGISTER - */ public class ReportRegister extends BusinessObject { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/Registry.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/Registry.java index 8e80869b4..34280c35d 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/Registry.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/Registry.java @@ -6,11 +6,6 @@ import ru.clearing.classes.objects.BusinessObject; import java.math.BigDecimal; import java.time.LocalDate; -/** - * Регистр активов, обязательств и требований УК - *

- * DB table: REGISTRY - **/ public class Registry extends BusinessObject implements Cloneable { private static final long serialVersionUID = ConstSerializable.serialVersionUID; @@ -418,7 +413,7 @@ public class Registry extends BusinessObject implements Cloneable { clone.setId(null); return clone; } catch (CloneNotSupportedException e) { - throw new RuntimeException("never", e); // it is Cloneable + throw new RuntimeException("never", e); } } } diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/RegistryHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/RegistryHistory.java index 5650de6cf..5ce328708 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/RegistryHistory.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/RegistryHistory.java @@ -5,11 +5,6 @@ import ru.clearing.classes.objects.BusinessEvent; import java.io.Serial; -/** - * Изменение состояния объекта Регистр активов, обязательств и требований УК - *

- * DB table: REGISTRY_HISTORY - **/ public class RegistryHistory extends BusinessEvent { @Serial private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/TradingClearingRegistry.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/TradingClearingRegistry.java index 41ebf3d12..6faf24001 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/TradingClearingRegistry.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/TradingClearingRegistry.java @@ -4,11 +4,6 @@ import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessObject; -/** - * Торгово-клиринговый регистр - *

- * DB table: TRADING_CLEARING_REGISTRY - **/ public class TradingClearingRegistry extends BusinessObject { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/TradingClearingRegistryHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/TradingClearingRegistryHistory.java index a8b77b902..bb7c4beff 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/TradingClearingRegistryHistory.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/TradingClearingRegistryHistory.java @@ -5,11 +5,6 @@ import ru.clearing.classes.objects.BusinessEvent; import java.io.Serial; -/** - * Изменение состояния объекта Торгово-клиринговый регистр - * - * DB table: TRADING_CLEARING_REGISTRY_HISTORY - **/ public class TradingClearingRegistryHistory extends BusinessEvent { @Serial private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/scheduler/ClearingCalendar.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/scheduler/ClearingCalendar.java index 0e74c8314..fe3e0d096 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/scheduler/ClearingCalendar.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/scheduler/ClearingCalendar.java @@ -5,11 +5,6 @@ import ru.clearing.classes.objects.BusinessObject; import java.time.LocalDate; -/** - * Торговые и неторговые дни - *

- * DB table: CLEARING_CALENDAR - **/ public class ClearingCalendar extends BusinessObject { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/scheduler/Launcher.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/scheduler/Launcher.java index 987ee2f5b..87f7d3890 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/scheduler/Launcher.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/scheduler/Launcher.java @@ -3,11 +3,6 @@ package ru.clearing.classes.statics.data.scheduler; import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessObject; -/** - * Запуск задачи - *

- * DB table: LAUNCHER - **/ public class Launcher extends BusinessObject { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/scheduler/Planner.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/scheduler/Planner.java index 637bc4925..77b04ba4d 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/scheduler/Planner.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/scheduler/Planner.java @@ -6,11 +6,6 @@ import ru.clearing.classes.objects.BusinessObject; import java.time.LocalDate; import java.time.LocalTime; -/** - * Расписание на все даты - *

- * DB table: PLANNER - **/ public class Planner extends BusinessObject { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/scheduler/PlannerAllToday.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/scheduler/PlannerAllToday.java index 25c71cfab..3e2b065d2 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/scheduler/PlannerAllToday.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/scheduler/PlannerAllToday.java @@ -6,11 +6,6 @@ import ru.spcex.platform.classes.base.SpcexObjectBase; import java.time.LocalDate; import java.time.LocalTime; -/** - * Расписание на текущий день - *

- * DB table: PLANNER_ALL_TODAY - **/ public class PlannerAllToday extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/scheduler/PlannerTemplate.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/scheduler/PlannerTemplate.java index 89d523217..1c3437904 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/scheduler/PlannerTemplate.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/scheduler/PlannerTemplate.java @@ -5,11 +5,6 @@ import ru.clearing.classes.objects.BusinessObject; import java.time.LocalTime; -/** - * Постоянное расписание операционного дня - *

- * DB table: PLANNER_TEMPLATE - **/ public class PlannerTemplate extends BusinessObject { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf01.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf01.java index d17918ae7..2ef46ef88 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf01.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf01.java @@ -7,11 +7,6 @@ import ru.spcex.platform.classes.base.interfaces.WithMarket; import java.time.Instant; -/** - * ДФ-01 Информации о денежных средствах, находящихся на торговых банковских счетах участников клиринга - *

- * DB table: S_DF01 - **/ public class SDf01 extends SpcexObjectBase implements WithAccount, WithMarket { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf02.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf02.java index 3d2608149..47c7c60b6 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf02.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf02.java @@ -6,11 +6,6 @@ import ru.spcex.platform.classes.base.interfaces.WithAccount; import java.time.Instant; -/** - * ДФ-02 Уведомление об исполнении операции загрузки денежных средств или уведомление об ошибке - *

- * DB table: S_DF02 - **/ public class SDf02 extends SpcexObjectBase implements WithAccount { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf03.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf03.java index fd41ea0ea..4cbeccd23 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf03.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf03.java @@ -5,11 +5,6 @@ import ru.spcex.platform.classes.base.SpcexObjectBase; import java.time.Instant; -/** - * ДФ-03 Реестр платежных поручений - *

- * DB table: S_DF03 - **/ public class SDf03 extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf04.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf04.java index 5c4b0fe76..a4694ed92 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf04.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf04.java @@ -5,11 +5,6 @@ import ru.spcex.platform.classes.base.SpcexObjectBase; import java.time.Instant; -/** - * ДФ-04 Подтверждение проведения расчетов - * - * DB table: S_DF03 - **/ public class SDf04 extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf05.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf05.java index 0812649c4..3fa612646 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf05.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf05.java @@ -6,13 +6,7 @@ import ru.spcex.platform.classes.base.SpcexObjectBase; import java.math.BigDecimal; import java.time.Instant; import java.time.LocalDate; -import java.time.LocalTime; -/** - * ДФ-05 Уведомление о завершении расчетов в ПРЦ - * - * DB table: S_DF05 - */ public class SDf05 extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf06.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf06.java index 1e2c5e432..5b87ac78e 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf06.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf06.java @@ -6,11 +6,6 @@ import ru.spcex.platform.classes.base.SpcexObjectBase; import java.math.BigDecimal; import java.time.Instant; -/** - * ДФ-06 Запрос на зачисление/списание денежных средств - *

- * DB table: S_DF06 - **/ public class SDf06 extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf07.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf07.java index 21355472e..167121532 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf07.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf07.java @@ -6,11 +6,6 @@ import ru.spcex.platform.classes.base.SpcexObjectBase; import java.math.BigDecimal; import java.time.Instant; -/** - * ДФ-07 Ответ на запрос по зачислению/списанию денежных средств - *

- * DB table: S_DF07 - **/ public class SDf07 extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf08.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf08.java index 7a46d1be1..529185954 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf08.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf08.java @@ -5,11 +5,6 @@ import ru.spcex.platform.classes.base.SpcexObjectBase; import java.time.Instant; -/** - * ДФ-08 Загрузка счетов с остатками - *

- * DB table: S_DF08 - **/ public class SDf08 extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf09.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf09.java index d227c2850..bbdee95d5 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf09.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf09.java @@ -3,14 +3,8 @@ package ru.clearing.classes.statics.data.sdf; import ru.clearing.classes.ConstSerializable; import ru.spcex.platform.classes.base.SpcexObjectBase; -import java.math.BigDecimal; import java.time.Instant; -/** - * ДФ-09 Ответ на загрузку счетов с остатками - *

- * DB table: S_DF08 - **/ public class SDf09 extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf10.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf10.java index 5a5c34987..81115dc3c 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf10.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf10.java @@ -5,11 +5,6 @@ import ru.spcex.platform.classes.base.SpcexObjectBase; import java.time.Instant; -/** - * sDf10 - ДФ-10 Запрос на зачисление/списание ценных бумаг - *

- * DB table: S_DF10 - */ public class SDf10 extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf11.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf11.java index 1911ddbd9..6955adb17 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf11.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf11.java @@ -3,14 +3,8 @@ package ru.clearing.classes.statics.data.sdf; import ru.clearing.classes.ConstSerializable; import ru.spcex.platform.classes.base.SpcexObjectBase; -import java.math.BigDecimal; import java.time.Instant; -/** - * ДФ-11 Ответ на Запрос на зачисление/списание ценных бумаг - *

- * DB table: S_DF11 - **/ public class SDf11 extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf12.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf12.java index fbd878a88..2a9838199 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf12.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf12.java @@ -3,14 +3,8 @@ package ru.clearing.classes.statics.data.sdf; import ru.clearing.classes.ConstSerializable; import ru.spcex.platform.classes.base.SpcexObjectBase; -import java.math.BigDecimal; import java.time.Instant; -/** - * ДФ-12 Распоряжение на проведение операций по итогам клиринга - *

- * DB table: S_DF12 - **/ public class SDf12 extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf13.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf13.java index 0dcef4a72..db72f6d48 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf13.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf13.java @@ -3,14 +3,8 @@ package ru.clearing.classes.statics.data.sdf; import ru.clearing.classes.ConstSerializable; import ru.spcex.platform.classes.base.SpcexObjectBase; -import java.math.BigDecimal; import java.time.Instant; -/** - * ДФ-13 Уведомление о статусе исполнения или мотивированный отказ - *

- * DB table: S_DF13 - **/ public class SDf13 extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf14.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf14.java index 40a86c01e..a570cbad5 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf14.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf14.java @@ -3,14 +3,8 @@ package ru.clearing.classes.statics.data.sdf; import ru.clearing.classes.ConstSerializable; import ru.spcex.platform.classes.base.SpcexObjectBase; -import java.math.BigDecimal; import java.time.Instant; -/** - * ДФ-14 Уведомление о завершении расчетов - *

- * DB table: S_DF14 - **/ public class SDf14 extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf16.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf16.java index 47a8dda6f..0d2cf199a 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf16.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf16.java @@ -9,11 +9,6 @@ import ru.spcex.platform.classes.base.interfaces.WithSum; import java.math.BigDecimal; import java.time.Instant; -/** - * ДФ-16 Формат запроса по возврату депозита или дозачисление/списание денежных средств - *

- * DB table: S_DF16 - **/ @Deprecated public class SDf16 extends SpcexObjectBase implements WithAccount, WithMarket, WithSum { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf17.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf17.java index 635cea099..87c110f9c 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf17.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf17.java @@ -7,11 +7,6 @@ import ru.spcex.platform.classes.base.interfaces.WithAccount; import java.math.BigDecimal; import java.time.Instant; -/** - * ДФ-17 Формат ответа на запрос по возврату депозита или дозачисление/списание денежных средств - *

- * DB table: S_DF17 - **/ @Deprecated public class SDf17 extends SpcexObjectBase implements WithAccount { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf18.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf18.java index 371b64f6e..2add1aa4b 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf18.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf18.java @@ -7,11 +7,6 @@ import ru.spcex.platform.classes.base.interfaces.WithAccount; import java.math.BigDecimal; import java.time.Instant; -/** - * ДФ-18 Из КС в ПРЦ Квитанция о получении информации о состоянии счета (блокировка/разблокировка/закрытие) - *

- * DB table: S_DF18 - **/ @Deprecated public class SDf18 extends SpcexObjectBase implements WithAccount { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf20.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf20.java index edbfc006d..d12f26db4 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf20.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf20.java @@ -5,11 +5,6 @@ import ru.spcex.platform.classes.base.SpcexObjectBase; import java.time.Instant; -/** - * ДФ-20 Отчет об исполнении поручения на зачисление/списание ценных бумаг - *

- * DB table: S_DF20 - **/ public class SDf20 extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf21.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf21.java index 54b3e5bd7..79d4ebc5c 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf21.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf21.java @@ -5,11 +5,6 @@ import ru.spcex.platform.classes.base.SpcexObjectBase; import java.time.Instant; -/** - * ДФ-21 Отчет об операциях - *

- * DB table: S_DF21 - **/ public class SDf21 extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf51.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf51.java index 04889c6eb..a8b88194e 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf51.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf51.java @@ -5,11 +5,6 @@ import ru.spcex.platform.classes.base.SpcexObjectBase; import java.time.Instant; -/** - * ДФ-51 Запрос остатков по всем счетам - * - * DB table: S_DF51 - **/ public class SDf51 extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf52.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf52.java index 22a257c90..5298d324e 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf52.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf52.java @@ -5,11 +5,6 @@ import ru.spcex.platform.classes.base.SpcexObjectBase; import java.time.Instant; -/** - * ДФ-52 Из ПРЦ в КС Информация о состоянии счета (блокировка/разблокировка/закрытие/открытие) - * - * DB table: S_DF52 - **/ public class SDf52 extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf53.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf53.java index 3f833bb8a..34271b281 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf53.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf53.java @@ -3,14 +3,8 @@ package ru.clearing.classes.statics.data.sdf; import ru.clearing.classes.ConstSerializable; import ru.spcex.platform.classes.base.SpcexObjectBase; -import java.math.BigDecimal; import java.time.Instant; -/** - * ДФ-53 Квитанция о получении информации о состоянии счета (блокировка/разблокировка/закрытие/открытие) - *

- * DB table: S_DF53 - **/ public class SDf53 extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf54.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf54.java index 8d5aad9d7..d42ff4bb4 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf54.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf54.java @@ -5,11 +5,6 @@ import ru.spcex.platform.classes.base.SpcexObjectBase; import java.time.Instant; -/** - * ДФ-54 Вывод свободных средств для инициаторов категории В с клирингового счета 30414 - *

- * DB table: S_DF54 - **/ public class SDf54 extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf55.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf55.java index 926da9346..096f8439b 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf55.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf55.java @@ -5,11 +5,6 @@ import ru.spcex.platform.classes.base.SpcexObjectBase; import java.time.Instant; -/** - * ДФ-55 Квитанция об обработке ДФ-54 - *

- * DB table: S_DF55 - **/ public class SDf55 extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf56.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf56.java index 54ac3ecf3..896d08991 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf56.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf56.java @@ -5,11 +5,6 @@ import ru.spcex.platform.classes.base.SpcexObjectBase; import java.time.Instant; -/** - * ДФ-56 Запрос транзакций за период - *

- * DB table: S_DF56 - **/ public class SDf56 extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf57.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf57.java index f66fcc510..d41a48803 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf57.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf57.java @@ -5,11 +5,6 @@ import ru.spcex.platform.classes.base.SpcexObjectBase; import java.time.Instant; -/** - * ДФ-57 Список транзакций о списании/зачислении за период по всем счетам (ТБС и КС) - *

- * DB table: S_DF57 - **/ public class SDf57 extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/MoneyMarketSecurity.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/MoneyMarketSecurity.java index 7e91af78f..1667333f9 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/MoneyMarketSecurity.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/MoneyMarketSecurity.java @@ -1,15 +1,8 @@ package ru.clearing.classes.statics.data.security; -import ru.clearing.classes.statics.data.security.Security; - import java.math.BigDecimal; import java.time.LocalDate; -/** - * Инструменты Денежного рынка - *

- * DB table: MONEY_MARKET_SECURITY - **/ public class MoneyMarketSecurity extends Security { private Long securityId; private String description; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/MoneyMarketSecurityHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/MoneyMarketSecurityHistory.java index 98474ad7c..af5b587d6 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/MoneyMarketSecurityHistory.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/MoneyMarketSecurityHistory.java @@ -5,9 +5,6 @@ import ru.clearing.classes.objects.BusinessEvent; import java.io.Serial; -/** - * DB table: MONEY_MARKET_SECURITY_HISTORY - **/ public class MoneyMarketSecurityHistory extends BusinessEvent { @Serial private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/Security.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/Security.java index 2b9160b21..8a10fa6b2 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/Security.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/Security.java @@ -6,11 +6,6 @@ import ru.spcex.platform.classes.base.interfaces.WithInstrumentType; import ru.spcex.platform.classes.base.interfaces.WithSecuritySymbol; import ru.spcex.platform.classes.base.interfaces.WithWorkflowStatus; -/** - * Инструменты - *

- * DB table: SECURITY - **/ public class Security extends BusinessObject implements WithWorkflowStatus, WithInstrumentType, WithSecuritySymbol { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/SecurityHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/SecurityHistory.java index ad1e1759f..0544ac37f 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/SecurityHistory.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/SecurityHistory.java @@ -2,12 +2,8 @@ package ru.clearing.classes.statics.data.security; import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessEvent; + import java.io.Serial; -/** - * Изменение состояния объекта Инструменты - * - * DB table: SECURITY_HISTORY - **/ public class SecurityHistory extends BusinessEvent { @Serial private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/TradedMoneyMarketSecurity.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/TradedMoneyMarketSecurity.java index e412e01c8..7358cdf81 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/TradedMoneyMarketSecurity.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/TradedMoneyMarketSecurity.java @@ -3,11 +3,6 @@ package ru.clearing.classes.statics.data.security; import ru.clearing.classes.ConstSerializable; import ru.spcex.platform.classes.base.SpcexObjectBase; -/** - * Инструменты денежного рынка, учавствующие в сделках - *

- * DB table: TRADED_MONEY_MARKET_SECURITY - **/ public class TradedMoneyMarketSecurity extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/statement/Statement.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/statement/Statement.java index 5a165da5f..1d5688b9d 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/statement/Statement.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/statement/Statement.java @@ -6,11 +6,6 @@ import ru.clearing.classes.objects.BusinessObject; import java.math.BigDecimal; import java.time.LocalDate; -/** - * Денежные средства от расчетной организации - *

- * DB table: STATEMENT - **/ public class Statement extends BusinessObject { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/user/User.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/user/User.java index 54de28f63..cff27790d 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/user/User.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/user/User.java @@ -3,12 +3,6 @@ package ru.clearing.classes.statics.data.user; import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessObject; -/** - * Пользователь - * UserCls - *

- * DB table: USER_CLR - **/ public class User extends BusinessObject { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/user/UserConnect.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/user/UserConnect.java index 6dd645a25..f15377f6a 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/user/UserConnect.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/user/UserConnect.java @@ -6,11 +6,6 @@ import ru.clearing.classes.objects.BusinessObject; import java.time.Instant; import java.time.LocalDate; -/** - * Активность пользователей в системе - *

- * DB table: USER_CONNECT - **/ public class UserConnect extends BusinessObject { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/user/UserConnectHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/user/UserConnectHistory.java index b8d32cb58..5d923d148 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/user/UserConnectHistory.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/user/UserConnectHistory.java @@ -2,12 +2,8 @@ package ru.clearing.classes.statics.data.user; import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessEvent; + import java.io.Serial; -/** - * Изменение состояния объекта Активность пользователей в системе - * - * DB table: USER_CONNECT_HISTORY - **/ public class UserConnectHistory extends BusinessEvent { @Serial private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/user/UserHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/user/UserHistory.java index 5c8872b62..061a5c5a1 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/user/UserHistory.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/user/UserHistory.java @@ -5,11 +5,6 @@ import ru.clearing.classes.objects.BusinessEvent; import java.io.Serial; -/** - * Изменение состояния объекта Пользователь - *

- * DB table: USER_CLR_HISTORY - **/ public class UserHistory extends BusinessEvent { @Serial private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/user/UserRoleSession.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/user/UserRoleSession.java index 7180e89ba..ebd75281c 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/user/UserRoleSession.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/user/UserRoleSession.java @@ -3,11 +3,6 @@ package ru.clearing.classes.statics.data.user; import ru.clearing.classes.ConstSerializable; import ru.spcex.platform.classes.base.SpcexObjectBase; -/** - * Набор ролей - *

- * DB table: USER_ROLE_SESSION - **/ public class UserRoleSession extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/user/UserSettings.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/user/UserSettings.java index fd358fd82..c87cdfc51 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/user/UserSettings.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/user/UserSettings.java @@ -3,11 +3,6 @@ package ru.clearing.classes.statics.data.user; import ru.clearing.classes.ConstSerializable; import ru.spcex.platform.classes.base.SpcexObjectBase; -/** - * Настройки пользователя - *

- * DB table: USER_SETTINGS - **/ public class UserSettings extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/cleaning-builders/src/main/java/ru/spcex/clearing/scheduler/PlannerAllTodayBuilder.java b/clearing-parent/cleaning-builders/src/main/java/ru/spcex/clearing/scheduler/PlannerAllTodayBuilder.java index 7b17b8ee7..fc78ec576 100644 --- a/clearing-parent/cleaning-builders/src/main/java/ru/spcex/clearing/scheduler/PlannerAllTodayBuilder.java +++ b/clearing-parent/cleaning-builders/src/main/java/ru/spcex/clearing/scheduler/PlannerAllTodayBuilder.java @@ -28,8 +28,6 @@ public class PlannerAllTodayBuilder { private PlannerAllTodayBuilder() { } - //пока для clearingCalendar нет сеттера append, если появится нужно поправить ClearingCalendarService.deleteFromPlannerAllTodayMap() - //из-за поля this.parent = Parent.Template.getKey(); public PlannerAllTodayBuilder append(PlannerTemplate plannerTemplate) { this.task = plannerTemplate.getTask(); this.taskTime = plannerTemplate.getTaskTime(); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/MessagesConfig.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/MessagesConfig.java index 38d52587e..66870114b 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/MessagesConfig.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/MessagesConfig.java @@ -8,7 +8,6 @@ import ru.spcex.platform.utils.enumeration.SpringPropertiesMessageResolver; import java.util.Locale; -//@Configuration public class MessagesConfig { @Bean("validation-error-messages") public ResourceBundleMessageSource messages() { diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/ValidationConfig.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/ValidationConfig.java index 63b1b8523..3fe4340fd 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/ValidationConfig.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/ValidationConfig.java @@ -70,13 +70,6 @@ public class ValidationConfig { this.imdgProvider = imdgProvider; } - //@Bean("adminRoleVerification") - //public UserRoleVerification adminRoleVerification() { - // return new UserRoleVerification( - // imdgProvider, null, UserRole.Admin, ClearingError.GeneralError //fixme no UserVerifyDenial error - // ); - //} - @Bean("executionDepositValidator") public BiFunction executionDepositValidator(ImdgProvider imdgProvider) { return (category, execDeposit) -> { diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/session/MachineTestService.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/session/MachineTestService.java index fe980bed3..32953818b 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/session/MachineTestService.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/session/MachineTestService.java @@ -3,31 +3,21 @@ package ru.spcex.clearing.config.session; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.InitializingBean; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.statemachine.StateMachine; import org.springframework.statemachine.config.StateMachineFactory; -import org.springframework.stereotype.Component; import ru.spcex.clearing.session.stage.TaskType; -@Component public class MachineTestService implements InitializingBean { private final Logger log = LoggerFactory.getLogger(getClass()); private final StateMachine stateMachine; - @Autowired - public MachineTestService(StateMachineFactory stateMachineFactory) { +public MachineTestService(StateMachineFactory stateMachineFactory) { this.stateMachine = stateMachineFactory.getStateMachine(); } @Override public void afterPropertiesSet() throws Exception { -// stateMachine.start(); -// log.info("send start revise event"); -// stateMachine.sendEvent(SessionEvent.Revise); -// log.info("send continue revise event"); -// stateMachine.sendEvent(SessionEvent.SdfReceived); -// log.info("end test"); } } diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/session/StateActionAdapter.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/session/StateActionAdapter.java index e0099ecfd..4f9b73306 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/session/StateActionAdapter.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/session/StateActionAdapter.java @@ -10,11 +10,6 @@ import ru.spcex.clearing.session.stage.TaskType; import java.util.function.Function; -/** - * адаптеры между ISessionStage старого образца к Spring State Machine
- * главное назначение: это сохранение результатов работы старого ISessionStage в ExtendedState
- * - */ public class StateActionAdapter implements Action { private final ISessionStage session; private Function payloadForStageGetter; diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/session/StateBnConfig.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/session/StateBnConfig.java index 006393491..82fd154ca 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/session/StateBnConfig.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/session/StateBnConfig.java @@ -40,9 +40,6 @@ public class StateBnConfig extends EnumStateMachineConfigurerAdapter sessionImdg; - /** - * адаптеры между ISessionStage старого образца к Spring State Machine - */ private final StateActionAdapter balanceReviseAction; private final StateActionAdapter dealPrepareAction; private final StateActionAdapter requirementsAndObligationCreationAction; @@ -68,16 +65,12 @@ public class StateBnConfig extends EnumStateMachineConfigurerAdapter executionFondImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionFond, ExecutionFond.class); this.sessionImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Session, Session.class); - - //настройка стадий dealsPrepare.searchForExecutions(ExecutionType.ExecutionFond); ImdgPredicateBuilder execFondPb = executionFondImdg.predicateBuilder(); dealsPrepare.addExecutionFondCondition(execFondPb.regex("settlementCode", "^B\\d{2}$")); dealsPrepare.addExecutionFondCondition(execFondPb.in("market", marketCodes.get().toArray(new String[0]))); inclusionObligations.setSessionType(SessionType.IPOB); imdgProvider.waitAvailable(); - - //настройка адаптеров для State Machine balanceReviseAction = new StateActionAdapter(balanceRevise); dealPrepareAction = new StateActionAdapter(dealsPrepare); @@ -122,10 +115,6 @@ public class StateBnConfig extends EnumStateMachineConfigurerAdapter log.debug("stmt.id={} comment='{}' error: {}", statementId, commentTcrStripped, messageResolver.resolve(new EnumMessage(subject, args))); if (commentTcrStripped == null) { return new AnltSearch(ClearingError.AccountNotFound, "comment not contain TCR"); } diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/Clearing.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/Clearing.java index 902603ab1..7c5777ef6 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/Clearing.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/Clearing.java @@ -53,10 +53,6 @@ public class Clearing { private final LiabilitiesClaimsMoneyCreator lbltsClmsMoneyCreator; private Long lastAccBalanceResponseId = 0L; - //при прохождении по выгруженным ExecutionDeposit, ошибочные статусы проставляются для - //контр сделок. В таком случае, в коллекции хранятся не синхронизированные с IMDG ExecutionDeposit - //для которых статус должен быть DENIED - //************ !!! NOT THREAD SAFE !!! ************ private final Set deniedIds = new HashSet<>(); private Long clearingSessionId; @@ -80,10 +76,8 @@ public class Clearing { public void startClearing() { clearingSessionId = idProvider.nextId(); log.info("startClearing clearingSessionId = {}. loading ExecutionDeposits", clearingSessionId); - //выгружаем ExecutionDeposit с пустым sessionId Collection execDeposits = executionDepositImdg.getCollectionObjectsBySQL("sessionId = null"); log.info("loaded {} ExecutionDeposits", execDeposits.size()); - //делаем группировку ExecutionDeposit по категории и компании, делаем сортировку LinkedHashMap>> executionDeposits = sorter.sortExecutionDeposit(execDeposits); executionDeposits.forEach((category, companies) -> { @@ -100,12 +94,6 @@ public class Clearing { kafka.sendRequestToQueue(Task.createOrder.topic(), sdf03or11); } - //кладем в порядке I инициатор, V внутренний, B банк (ответная категория) - //получается I -> B; V -> B - // - //1) ТОЛЬКО ДЛЯ V: если DENIED по любым причинам то для всех следующих сделок этой компании DENIED - //2) DENIED сделка всегда встречная сделка тоже делается DENIED - //3) DENIED может быть для сделки которая уже прошла обработку и стала ALLOWED private void runChecksSetStatus(ClearingCategory category, List executionDeposits) { log.info("setting statuses for category: {}, company: {}", category, executionDeposits.get(0).getCompanyId()); boolean financialError = false; @@ -141,8 +129,6 @@ public class Clearing { execDeposit.setUpdated(Instant.now()); executionDepositImdg.update(execDeposit); log.trace("executionDeposit {} was updated DENIED", execDeposit.getId()); - //также необходимо установить статус DEND встречной сделке контрагента этой компании, которая выбирается из executionDeposit по ключу: - //securityId И чтобы сделка была компании категории clearingMemberCategory.clearingMemberCategory ≠ той категории, сделка которой обрабатывается в настоящий момент. ExecutionDeposit matchedExecDeposit = executionDepositImdg.getFirstObjectBySQL( "exchangeExecutionId = " + execDeposit.getExchangeExecutionId() + " AND side != '" + execDeposit.getSide() + "'"); @@ -173,20 +159,14 @@ public class Clearing { log.trace("Skipping processing executionDeposit {} was denied", execDeposit.getId()); continue; } - //send request to kafka, wait for a reply synchronized (this) { AccountBalanceClearingRequest request = new AccountBalanceClearingRequest(); - // todo CLS-275 request.setAccountId(execDeposit.getAccountId()); request.setCompanyId(execDeposit.getCompanyId()); request.setFirstLegAmount(execDeposit.getFirstLegAmount()); Long sentRequestId = kafka.sendRequestToQueue(Consts.BALANCE_ACCOUNT_UPDATE, request); log.trace("sent request to kafka, requestId: {}", sentRequestId); try { wait(ACC_BALANCE_TIMEOUT); - //если на этом месте произошла ошибка - непонятно как обрабатывать - //т.к. этом может быть уже вторая часть сделки, для первой accountBalance уже был обновлен - //либо вне зависимости от того какая часть сделки, accountBalance на самом деле мог быть - //обновлен, и была проблема была с сетью/недоступностью кафки etc. } catch (InterruptedException e) { log.error(ExceptionUtils.getStackTrace(e)); Thread.currentThread().interrupt(); @@ -199,8 +179,7 @@ public class Clearing { continue; } } - Optional lcaFirstLegFound = lbltsClmsAssetsCreator.searchLCA( - /* null execDeposit.getAccountId() todo CLS-275 */ null, execDeposit.getCompanyId(), + Optional lcaFirstLegFound = lbltsClmsAssetsCreator.searchLCA( null, execDeposit.getCompanyId(), execDeposit.getSecurityId(), execDeposit.getFirstLegSettlementDate()); LiabilitiesClaimsAssets lcaFirstLeg = orElse(lcaFirstLegFound).ifPresentOrElse(lca -> { log.trace("LiabilitiesClaimsAssets first leg {} was found", lca.getId()); @@ -213,8 +192,7 @@ public class Clearing { log.trace("LiabilitiesClaimsAssets {} first leg was created", lca.getId()); return lca; }); - Optional lcaSecondLegFound = lbltsClmsAssetsCreator.searchLCA( - /*todo CLS-275 execDeposit.getAccountId()*/ null, execDeposit.getCompanyId(), + Optional lcaSecondLegFound = lbltsClmsAssetsCreator.searchLCA( null, execDeposit.getCompanyId(), execDeposit.getSecurityId(), execDeposit.getSecondLegSettlementDate()); LiabilitiesClaimsAssets lcaSecondLeg = orElse(lcaSecondLegFound).ifPresentOrElse(lca -> { log.trace("LiabilitiesClaimsAssets second leg {} was found", lca.getId()); @@ -279,14 +257,6 @@ public class Clearing { } log.trace("lcaFirstLeg {}, lcaSecondLeg {}", lcaFirstLeg, lcaSecondLeg); -// log.trace("updating LiabilitiesClaimsMoney by payment"); -// log.trace("firstLegLiabilitiesClaimsMoney: {}; secondLegLiabilitiesClaimsMoney: {}", lcmFirstLeg, lcmSecondLeg); -// if (paymentInstructionCreator.updateFieldLiabilitiesClaimsMoneyByPayment(lcmFirstLeg, true, paymentInstructions, Collections.singleton(category)) ) { -// liabilitiesClaimsMoneyImdg.update(lcmFirstLeg); -// log.trace("LiabilitiesClaimsMoney first leg {} was updated", lcmFirstLeg.getId()); -// } -// log.trace("firstLegLiabilitiesClaimsMoney: {}; secondLegLiabilitiesClaimsMoney: {}", lcmFirstLeg.getId(), lcmSecondLeg.getId()); - execDeposit.setSessionId(clearingSessionId); execDeposit.setUpdated(Instant.now()); executionDepositImdg.update(execDeposit); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/ClearingService.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/ClearingService.java index 4e2e0dd74..c2c560845 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/ClearingService.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/ClearingService.java @@ -41,7 +41,6 @@ public class ClearingService implements DisposableBean { this.executor = Executors.newSingleThreadExecutor(); } - // @Scheduled(cron = "${clearing-service.scheduler.check-payment-instruction}") public void sdfCreate() { log.info("creating sdf03/11 from STLD payments task added to queue"); executor.execute(() -> { diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/EventsReceiver.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/EventsReceiver.java index bdb4d84b2..80e7b68d2 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/EventsReceiver.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/EventsReceiver.java @@ -76,9 +76,6 @@ public class EventsReceiver extends QueueConsumer implements InitializingBean { callback(LauncherCommandRequest.class) .setConsumer(event -> clearingService.sdfCreate()) .forDestination(Task.createOrder.topic(), callbacks::put); -// callback(LauncherCommandRequest.class) -// .setConsumer(event -> clearingService.executeVerification()) -// .forDestination(Task.getVerification.topic(), callbacks::put); callback(CommonIdRequest.class) .setConsumer(clearingService::continueClearing) .forDestination(Consts.CONTINUE_CLEARING, callbacks::put); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/LauncherCommandReceiver.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/LauncherCommandReceiver.java index 850f33e89..c12708191 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/LauncherCommandReceiver.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/LauncherCommandReceiver.java @@ -27,7 +27,7 @@ public class LauncherCommandReceiver extends QueueConsumer implements Initializi public void afterPropertiesSet() { callback(LauncherCommandRequest.class) .setConsumer(action -> clearingService.executeVerification()) - .forDestination(Task.createOrderConfirm.topic(), callbacks::put); // CORC + .forDestination(Task.createOrderConfirm.topic(), callbacks::put); init(); } diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/RegistryService.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/RegistryService.java index c6462896f..9fbad474d 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/RegistryService.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/RegistryService.java @@ -39,10 +39,7 @@ public class RegistryService { public void createRegistry(CreateRegistryRequest createRegistryRequest) { Long companyId = createRegistryRequest.getCompanyId(); log.trace("Try to find tradingClearingRegistry by companyId: {}", createRegistryRequest.getCompanyId()); - //todo может завести класс SqlFactory String byCompanySqlPredicate = String.format("companyId=%s", companyId); - //todo для компани всегда один объект TradingClearingRegistry? пока предполагаю что да и нужно добавить такую проверку(в ТЗ ее нет); - //todo see TradingClearingRegistryService.tradingClearingRegistryNew TradingClearingRegistry tcrByCompanyId = tradingClearingRegistryImdg.getFirstObjectBySQL(byCompanySqlPredicate); if (tcrByCompanyId != null) { @@ -54,7 +51,6 @@ public class RegistryService { registry.setRegistryInstrumentType(registryInfo.registryInstrumentType().getKey()); registry.setRegistryCapacity(registryInfo.registryCapacity().getKey()); registry.setRegistryUnit(registryInfo.registryUnit().getKey()); - //todo не понял формулировку При создании новой записи, необходимо установить значение 0 в множестве свойств balance* AND registryInstrumentType=M AND securitySymbol=RUB[registry.securityId=security.id] registry.setBalance(BigDecimal.ZERO); registryImdg.insert(registry); @@ -87,9 +83,6 @@ public class RegistryService { }); } - /** - * находим все регистры AM__/AS__ по пришедшему ТКР - */ private Optional registsryPredicate(Long companyId, Long moneyAccountId, Long depoAccountId) { ImdgPredicateBuilder prdBldr = registryImdg.predicateBuilder(); Function sql = p -> RegistryCodeSqlBuilder.getInstance(p).build(); @@ -115,7 +108,6 @@ public class RegistryService { private RegistryTradingParams createRegistryInfoByType(String type) { TradingClearingRegistryType registryType = IEnumKey.getEnumByKey(TradingClearingRegistryType.class, type); RegistryTradingParams registryInfo = null; - //todo спросить про дубль C и T switch (registryType) { case Owner_A -> registryInfo = new RegistryTradingParams(RegistryDesignation.A, RegistryInstrumentType.M, RegistryCapacity.A, RegistryUnit.T); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/SdfCreatorBySTLDPayment.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/SdfCreatorBySTLDPayment.java index 7f9c5a279..b672ada5b 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/SdfCreatorBySTLDPayment.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/SdfCreatorBySTLDPayment.java @@ -57,13 +57,10 @@ public class SdfCreatorBySTLDPayment { public void createSdfFromPaymentInstructionSTLD() { - //generationId для созадаваемых Sdf03/Sdf11 Long generationId = idGenerator.nextId(); - //выгружаем PaymentInstructions с нужным статусом Collection paymentInstructionFound = paymentImdgs.getCollectionObjectsByFieldValues( Map.of("transactionStatus", TransactionStatus.stld.getKey())); log.info("Found {} PaymentInstruction by status {}", paymentInstructionFound.size(), TransactionStatus.stld.getKey()); - /*Map> byOrder = */ List>>> allEntries = group(paymentInstructionFound); Set queueToSend = new HashSet<>(); @@ -80,7 +77,6 @@ public class SdfCreatorBySTLDPayment { log.info("Send command target queue: {}", queueToSend); sendToKafkaSDFRequests(queueToSend, generationId); allEntries.forEach(entry -> { - //category group GroupWrapper group = entry.getKey(); log.info("updating transactionStatus Group category {} index {}", group.category, group.getSortIndex()); @@ -111,27 +107,16 @@ public class SdfCreatorBySTLDPayment { } else { return Stream.of(new Pair<>(new GroupWrapper(clearingCategory, senderId), paymentInstruction)); } - //группируем по equals/hashCode группы }).collect(Collectors.groupingBy(Pair::getFirst, Collectors.mapping(Pair::getSecond, Collectors.toList()))) .entrySet() .stream() - //сортируем по группе compareTo .sorted(Map.Entry.comparingByKey()) - //преобразуем поток entry>, разбиваем список на группы по senderId .map((Function>, Map.Entry>>>) entry -> { Collection> values = entry.getValue().stream().collect(Collectors.groupingBy(PaymentInstruction::getSenderId)).values(); return new AbstractMap.SimpleEntry<>(entry.getKey(), values); }).toList(); } - /** - * - * @param senderId - * @param category - * @param batch - * @param generationId - * @return kafka queue: Consts.SDF03_PROCESS/Consts.SDF11_PROCESS - */ private String saveSdfBeforeSendToKafka(Long senderId, ClearingCategory category, List batch, Long generationId) { String queue = null; if (Sender.One.equalsById(senderId) || category.equals(ClearingCategory.I) || category.equals(ClearingCategory.V)) { diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/StatementService.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/StatementService.java index ed22b4a91..229667812 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/StatementService.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/StatementService.java @@ -39,9 +39,6 @@ public class StatementService extends QueueConsumer implements InitializingBean private final Map> executorsMap; private final Reviser reviser; - /** - * Пары sdf запросов пришедшие с модуля dbf-import - */ private final Map> pairOfSdfRequest = new HashMap<>(); @Autowired @@ -77,11 +74,6 @@ public class StatementService extends QueueConsumer implements InitializingBean init(); } - /** - * fromAccService передается когда пришел ответ от account-service - * в этом случае: по key находим пару в которой сохранен sdf57 запрос и частично выполненный sdf01 - * вместо старого sdf01 запроса выполняем новый пришедший от account-service - */ private void processSdf01And57(Long key, StatementRequest fromAccService) { Pair pair = pairOfSdfRequest.get(key); Result sdf01Res = processSdf01(fromAccService == null ? pair.getFirst() : fromAccService); @@ -89,10 +81,8 @@ public class StatementService extends QueueConsumer implements InitializingBean log.info("sdf01 execution wasn't complete, waiting for an answer from account-service"); return; } - //затем sdf57 processSdf57(pair.getSecond()); reviser.doRevise(pair.getFirst().getGroupId()); - //теперь можем продолжить сессию с шага 1 ContinueSessionBnRequest continueSessionBn = new ContinueSessionBnRequest(); kafkaSender.sendRequestToQueue(Consts.CONTINUE_SESSION_BN_FIRST_PART, continueSessionBn); pairOfSdfRequest.remove(key); @@ -104,7 +94,6 @@ public class StatementService extends QueueConsumer implements InitializingBean StatementRequest payload = systemRequest.getRequestPayload(); switch (payload.getTable()) { case SDF_01 -> { - //там нужно переиспользовать SDF57 запрос приходивший ранее и сохраненный в pairOfSdfRequest Optional key = findCompleteKey(payload.getTable()); if (key.isEmpty()) { log.error("FATAL: response from account-service received id={} table {} sdf ids={}", systemRequest.getId(), @@ -173,7 +162,6 @@ public class StatementService extends QueueConsumer implements InitializingBean "generationId", statementRequest.getGroupId())); AbstractExecutor service = executorsMap.get(SdfTable.SDF_57); Result res = service.execute(sdfGroup, statementRequest); -// finishSendCommand(res, service, statementRequest); } private void processSdf04(StatementRequest statementRequest) { @@ -183,7 +171,6 @@ public class StatementService extends QueueConsumer implements InitializingBean AbstractExecutor service = executorsMap.get(SdfTable.SDF_04); if (service != null) { Result res = service.execute(sdfGroup, statementRequest); -// finishSendCommand(res, service, statementRequest); } else { log.warn("Executor for SDF_04 not set"); } @@ -221,7 +208,6 @@ public class StatementService extends QueueConsumer implements InitializingBean "generationId", statementRequest.getGroupId())); AbstractExecutor service = executorsMap.get(SdfTable.SDF_13); Result res = service.execute(sdfGroup, statementRequest); -// finishSendCommand(res, service, statementRequest); } private Result processSdf01(StatementRequest statementRequest) { @@ -231,10 +217,9 @@ public class StatementService extends QueueConsumer implements InitializingBean sdfGroup = sdfImdg.getCollectionObjectsByFieldValues(Map.of( "generationId", statementRequest.getGroupId())); } else { - //todo могут ли тут реквесты бегать по кругу, если да, то у нас проблемы sdfGroup = statementRequest.getAccountCreationResults() .stream() - .filter(part -> part.getErrorCode() == null) //fixme эти случае должны попадать в ошибочный sdf02 + .filter(part -> part.getErrorCode() == null) .map(part -> sdfImdg.getSingleObjectByID(part.getSdfId())) .collect(Collectors.toList()); } @@ -252,7 +237,6 @@ public class StatementService extends QueueConsumer implements InitializingBean private Optional saveRequest(StatementRequest statementRequest) { SdfTable sdfTable = statementRequest.getTable(); - //immediately process if (List.of(SdfTable.SDF_08, SdfTable.SDF_04).contains(sdfTable)) { Long id = imdgProvider.getImdgIdGenerator().nextId(); pairOfSdfRequest.put(id, new Pair<>(statementRequest, null)); @@ -262,7 +246,6 @@ public class StatementService extends QueueConsumer implements InitializingBean Long id = imdgProvider.getImdgIdGenerator().nextId(); pairOfSdfRequest.put(id, getPairByTableName(sdfTable, statementRequest)); } else { - //найдем первую неполноценную пару Optional uncompletedPairId = findUncompletedPairByTableName(sdfTable); if (uncompletedPairId.isPresent()) { Long key = uncompletedPairId.get(); @@ -273,10 +256,8 @@ public class StatementService extends QueueConsumer implements InitializingBean completed.setSecond(statementRequest); } pairOfSdfRequest.put(key, completed); - //укомплектованная пара return Optional.of(key); } else { - //если таких нет, то просто создаем новую с одной частью Long id = imdgProvider.getImdgIdGenerator().nextId(); pairOfSdfRequest.put(id, getPairByTableName(sdfTable, statementRequest)); } diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/VerificationResultComponent.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/VerificationResultComponent.java index c10007d94..8983e6fae 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/VerificationResultComponent.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/VerificationResultComponent.java @@ -26,10 +26,6 @@ import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; -/** - * 1.70. verificationResult - Результаты сверки - * Раздел I - Функционал сверок - */ @Component public class VerificationResultComponent { private final Logger log = LoggerFactory.getLogger(getClass()); @@ -54,7 +50,6 @@ public class VerificationResultComponent { this.idGenerator = imdgProvider.getImdgIdGenerator(); this.verificationResultImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_VerificationResult, VerificationResult.class); - //this.kafkaSender = KafkaSender kafkaSender } protected void executeRevision() { @@ -68,7 +63,6 @@ public class VerificationResultComponent { } protected void executeRevision(Collection allSDf01, Collection allAccountBalance, Collection allAccount) { - // 1. Сумму по остаткам List vResLst = new ArrayList<>(); Map> companyAccountBalance = indexList(allAccountBalance, AccountBalance::getCompanyId); @@ -122,14 +116,9 @@ public class VerificationResultComponent { log.debug("Total {} VerificationResult created. {}", vResLst.size(), allSuccess ? "All success." : "Has same mismatch data."); } - /** - * @param forCompany - * @param accountId Account.id by Account.account - * @return new - */ VerificationResult newVerification(Instant now, Company forCompany, Long accountId) { VerificationResult vResult = new VerificationResult(); - vResult.setId(idGenerator.nextId()); // imdg + vResult.setId(idGenerator.nextId()); if (now == null) { now = Instant.now(); } @@ -138,7 +127,7 @@ public class VerificationResultComponent { vResult.setClearingCode(forCompany.getClearingCode()); } if (accountId != null) { - vResult.setAccountId(accountId); // accountId bigint = Из accountBalance.account + vResult.setAccountId(accountId); } return vResult; } @@ -155,7 +144,7 @@ public class VerificationResultComponent { indexAccountIdByAccount.put(account.getAccount(), account.getCompanyId()); } } - { // 1.70 verificationResult + { Map indexSDf01 = index(allSDf01, SDf01::getAccount); for (AccountBalance account : allAccountBalance) { VerificationResult vResult = newVerification(now, forCompany, indexAccountIdByAccount.get(account.getAccount())); @@ -175,13 +164,11 @@ public class VerificationResultComponent { } } BigDecimal balance = account.getCloseBalanceAmount() == null ? BigDecimal.ZERO : account.getCloseBalanceAmount(); - // сравнить remainder==balance BigDecimal diff = balance.subtract(remainder).setScale(2, RoundingMode.HALF_UP).abs(); vResult.setDiffSum(diff); vResult.setInSum(account.getOpenBalanceAmount()); vResult.setOutIntSum(account.getCloseBalanceAmount()); vResult.setOutExtSum(remainder); - //todo похоже надо группировку по String account сделать, сверить с ТЗ. log.trace("company[{}] AccountBalance[{}] diff = {}", forCompany.getId(), account.getId(), diff); if (BigDecimal.ZERO.compareTo(diff) == 0) { vResult.setResultStatus(ResultStatuses.success.getKey()); @@ -191,9 +178,6 @@ public class VerificationResultComponent { } } } - - // 2.1 Номера торговых/клиринговых счетов, соответствующие загруженным в КС - // -sDf01.deal = account.account & accountType=CLRN & accountStatus=UNBL { Set sDf01Keys = allSDf01.stream() .filter(sdf01 -> sdf01.getDeal() != null) @@ -216,8 +200,6 @@ public class VerificationResultComponent { log.trace("Control summ 1, count: sDf01Keys={}, accountKeys={}; check result:{}", sDf01Keys.size(), accountKeys.size(), vResult.getResultStatus()); } - - // 2.2 Количество торговых/клиринговых счетов, соответствующие загруженным в КС - COUNT[sDf01.deal] = COUNT [account.account] { long countSDf01 = allSDf01.stream().filter(sDf01 -> sDf01.getDeal() != null).count(); long countAccount = allAccount.stream().filter(account -> account.getAccount() != null).count(); @@ -232,8 +214,6 @@ public class VerificationResultComponent { log.trace("countSDf01={}, countAccount={}, result: {}", countSDf01, countAccount, vResult.getResultStatus()); } - - // 2.3 Суммарный остаток по счетам { Map summOfSDf01 = new HashMap<>(); for (SDf01 document : allSDf01) { @@ -265,7 +245,6 @@ public class VerificationResultComponent { summOfAccountBalance.put(accountKey, a); } } - // summSDf01==summAccount Set allAccountStr = new HashSet<>(); allAccountStr.addAll(summOfSDf01.keySet()); allAccountStr.addAll(summOfAccountBalance.keySet()); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/LiabilitiesClaimsAssetsCreator.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/LiabilitiesClaimsAssetsCreator.java index 7048bac2f..668fa8523 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/LiabilitiesClaimsAssetsCreator.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/LiabilitiesClaimsAssetsCreator.java @@ -40,7 +40,6 @@ public class LiabilitiesClaimsAssetsCreator { private LiabilitiesClaimsAssets createLCA(ExecutionDeposit executionDeposit, Account account) { LiabilitiesClaimsAssets liabilitiesClaimsAssets = new LiabilitiesClaimsAssets(); liabilitiesClaimsAssets.setCompanyId(executionDeposit.getCompanyId()); -// todo new fields liabilitiesClaimsAssets.setAccountId(executionDeposit.getAccountId()); liabilitiesClaimsAssets.setAccountType(account.getAccountType()); liabilitiesClaimsAssets.setAccount(account.getAccount()); liabilitiesClaimsAssets.setCurrency(executionDeposit.getSettlementCurrency()); @@ -61,7 +60,7 @@ public class LiabilitiesClaimsAssetsCreator { public LiabilitiesClaimsAssets createFirstLegLCA(ClearingCategory category, ExecutionDeposit executionDeposit) { - Account account = null; // todo CLS-275 accountImdg.getSingleObjectByID(executionDeposit.getAccountId()); + Account account = null; LiabilitiesClaimsAssets lca = createLCA(executionDeposit, account); lca.setSettlementDate(executionDeposit.getFirstLegSettlementDate()); AccountType accType = IEnumKey.getEnumByKey(AccountType.class, account.getAccountType()); @@ -79,7 +78,7 @@ public class LiabilitiesClaimsAssetsCreator { } public LiabilitiesClaimsAssets createSecondLegLCA(ClearingCategory category, ExecutionDeposit executionDeposit) { - Account account = null;// todo CLS-275 accountImdg.getSingleObjectByID(executionDeposit.getAccountId()); + Account account = null; LiabilitiesClaimsAssets lca = createLCA(executionDeposit, account); lca.setSettlementDate(executionDeposit.getSecondLegSettlementDate()); AccountType accType = IEnumKey.getEnumByKey(AccountType.class, account.getAccountType()); @@ -115,7 +114,7 @@ public class LiabilitiesClaimsAssetsCreator { public void updateSecondLegLca(LiabilitiesClaimsAssets lca, ExecutionDeposit executionDeposit, ClearingCategory category) { - Account account = null; // todo CLS-275 accountImdg.getSingleObjectByID(executionDeposit.getAccountId()); + Account account = null; AccountType accType = IEnumKey.getEnumByKey(AccountType.class, account.getAccountType()); boolean iClrn = ClearingCategory.I.equals(category) && AccountType.Clrn.equals(accType); boolean vInfo = ClearingCategory.V.equals(category) && AccountType.Info.equals(accType); @@ -135,14 +134,11 @@ public class LiabilitiesClaimsAssetsCreator { } public void updateFirstLegLca(LiabilitiesClaimsAssets lca, ExecutionDeposit executionDeposit, ClearingCategory category) { - Account account = null; // todo CLS-275 accountImdg.getSingleObjectByID(executionDeposit.getAccountId()); + Account account = null; AccountType accType = IEnumKey.getEnumByKey(AccountType.class, account.getAccountType()); boolean iClrn = ClearingCategory.I.equals(category) && AccountType.Clrn.equals(accType); boolean vInfo = ClearingCategory.V.equals(category) && AccountType.Info.equals(accType); boolean bClrn = ClearingCategory.B.equals(category) && AccountType.Clrn.equals(accType); - //liabilitiesQuantity - //Клиринг (по первой ноге и категория I и счет CLRN): - //текущее значение liabilitiesClaimsAssets.liabilitiesQuantity + executionDeposit.firstLegAmount if (iClrn || vInfo) { BigDecimal prevLQuantity = BigDecimalUtil.safeBD(lca.getLiabilitiesQuantity()); BigDecimal firstLegAmount = BigDecimalUtil.safeBD(executionDeposit.getFirstLegAmount()); @@ -155,20 +151,5 @@ public class LiabilitiesClaimsAssetsCreator { log.trace("update first leg LCA: prevClaimsQuantity={}, firstLegAmount={}", prevCQuantity, firstLegAmount); lca.setClaimsQuantity(prevCQuantity.add(firstLegAmount)); } - // - //Клиринг (по второй ноге и категория I и счет CLRN): - //не меняется. - // - // Клиринг (по первой ноге и категория V и счет INFO): - //текущее значение liabilitiesClaimsAssets.liabilitiesQuantity + executionDeposit.firstLegAmount - // - //Клиринг (по второй ноге и категория V и счет INFO): - //не меняется. - // - //Клиринг (по первой ноге и категория B и счет CLRN): - //не меняется. - // - //Клиринг (по второй ноге и категория B и счет CLRN): - //= текущее значение liabilitiesClaimsAssets.liabilitiesQuantity + executionDeposit.secondLegAmount } } diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/LiabilitiesClaimsMoneyCreator.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/LiabilitiesClaimsMoneyCreator.java index 891f6e367..d6d6077c1 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/LiabilitiesClaimsMoneyCreator.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/LiabilitiesClaimsMoneyCreator.java @@ -19,7 +19,7 @@ import java.util.Optional; import static ru.spcex.platform.utils.number.BigDecimalUtil.safeBD; -@Deprecated // liabilitiesClaimsMoney даляется +@Deprecated @Component public class LiabilitiesClaimsMoneyCreator { private final Logger log = LoggerFactory.getLogger(this.getClass()); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/PaymentInstructionBuilder.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/PaymentInstructionBuilder.java index cf11cdb6e..ce0c0996b 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/PaymentInstructionBuilder.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/PaymentInstructionBuilder.java @@ -126,8 +126,6 @@ public class PaymentInstructionBuilder { paymentInstruction.setDebitLeg_securityId(security.getId()); } } - -// paymentInstruction.setPaymentPurpose("Расчеты клиринговой сессии"); paymentInstruction.setCreditLeg_direction(InOutDirection.out.getKey()); paymentInstruction.setDebitLeg_direction(InOutDirection.in.getKey()); paymentInstruction.setTransactionStatus("STLD"); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/PaymentInstructionBuilderFinalMkrDeals.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/PaymentInstructionBuilderFinalMkrDeals.java index a121c3723..9e32a140f 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/PaymentInstructionBuilderFinalMkrDeals.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/PaymentInstructionBuilderFinalMkrDeals.java @@ -23,9 +23,6 @@ import java.time.format.DateTimeFormatter; import java.util.Map; import java.util.concurrent.atomic.AtomicLong; -/** - * Builder для кейса итоговой сессии МКР, 7 шаг, кейс - по сделкам - */ public class PaymentInstructionBuilderFinalMkrDeals { private final static Logger log = LoggerFactory.getLogger(PaymentInstructionBuilderFinalMkrDeals.class); @@ -41,7 +38,7 @@ public class PaymentInstructionBuilderFinalMkrDeals { private Long sessionId; private BigDecimal amount; protected LocalDate documentNumberResetAt; - protected AtomicLong documentNumberId = new AtomicLong(0L); // порядковый номер (сквозной по всем компаниям за день + protected AtomicLong documentNumberId = new AtomicLong(0L); private static final DateTimeFormatter DATE_FORMATTER_ddMMyy = DateTimeFormatter.ofPattern("ddMMyy"); private String purpose; @@ -92,9 +89,9 @@ public class PaymentInstructionBuilderFinalMkrDeals { PaymentInstruction payment2; Instant now = Instant.now(); - String symbolPRC = selectSymbolValue(Sender.Prc.getId(), CompanySymbol.BIC); // 2 "НКО АО ПРЦ" + String symbolPRC = selectSymbolValue(Sender.Prc.getId(), CompanySymbol.BIC); String tranBic; - { // record 1 + { payment1 = new PaymentInstruction(); payment1.setCreated(now); payment1.setClearingDate(TimeUtil.toLocalDate(now)); @@ -109,7 +106,7 @@ public class PaymentInstructionBuilderFinalMkrDeals { } } { - Company companyPRC = companyImdg.getSingleObjectByID(Sender.Prc.getId()); // 2 "НКО АО ПРЦ" + Company companyPRC = companyImdg.getSingleObjectByID(Sender.Prc.getId()); if (companyPRC == null) { log.warn("Company.id={} not found", Sender.Prc.getId()); } else { @@ -165,13 +162,11 @@ public class PaymentInstructionBuilderFinalMkrDeals { payment1.setDebitLeg_securityId(lm_t.getSecurityId()); payment1.setSessionId(sessionId); } - - //**************** - { // record 2 + { payment2 = new PaymentInstruction(); payment2.setCreated(now); payment2.setClearingDate(TimeUtil.toLocalDate(now)); - payment2.setSenderId(Sender.One.getId()); // СПВБ + payment2.setSenderId(Sender.One.getId()); payment2.setAddresseeId(cm_t.getCompanyId()); String symbol2 = selectSymbolValue(payment2.getAddresseeId(), CompanySymbol.BIC); if (symbol2 == null) { @@ -226,7 +221,7 @@ public class PaymentInstructionBuilderFinalMkrDeals { } LocalDate nowD = LocalDate.now(); if (documentNumberResetAt == null || documentNumberResetAt.isBefore(nowD)) synchronized (this) { - long oldNum = documentNumberId.get(); // reset optimistic + long oldNum = documentNumberId.get(); if (oldNum > 0) { while (!documentNumberId.compareAndSet(oldNum, 0)) { oldNum = documentNumberId.get(); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/PaymentInstructionCreator.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/PaymentInstructionCreator.java index 02d9be6c6..bc68ae7ac 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/PaymentInstructionCreator.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/PaymentInstructionCreator.java @@ -29,8 +29,8 @@ import static ru.spcex.platform.utils.number.BigDecimalUtil.safeBD; @Service public class PaymentInstructionCreator { - protected static final Long SPVB_ID = 1L; // СПВБ - protected static final Long PRC_ID = 2L; // 2 "НКО АО ПРЦ" + protected static final Long SPVB_ID = 1L; + protected static final Long PRC_ID = 2L; private static final DateTimeFormatter DATE_FORMATTER_ddMMyy = DateTimeFormatter.ofPattern("ddMMyy"); private final Logger log = LoggerFactory.getLogger(getClass()); @@ -44,7 +44,7 @@ public class PaymentInstructionCreator { protected final Imdg liabilitiesClaimsMoneyImdg; protected final Imdg executionDepositImdg; - protected AtomicLong documentNumberId = new AtomicLong(0L); // порядковый номер (сквозной по всем компаниям за день + protected AtomicLong documentNumberId = new AtomicLong(0L); protected LocalDate documentNumberResetAt; @Autowired @@ -59,11 +59,6 @@ public class PaymentInstructionCreator { this.idGenerator = imdgProvider.getImdgIdGenerator(); } - /** - * 2.2.2. Выполнить Создание paymentInstruction по liabilitiesClaimsAssets - * - * @return Созданные PaymentInstruction, может быть несколько. Они уже сохранены в IMDG. - */ public List createAndSavePaymentInstructions(ExecutionDeposit executionDeposit, LiabilitiesClaimsAssets liabilitiesClaimsAssets, Collection clearingCategory) { List newPaymentInstructions = createPaymentInstructions(executionDeposit, liabilitiesClaimsAssets, clearingCategory); @@ -82,7 +77,7 @@ public class PaymentInstructionCreator { payment1.setClearingDate(TimeUtil.toLocalDate(now)); payment1.setSenderId(liabilitiesClaimsAssets.getCompanyId()); - payment1.setAddresseeId(SPVB_ID); // СПВБ + payment1.setAddresseeId(SPVB_ID); String symbol1 = selectSymbolValue(payment1.getAddresseeId(), CompanySymbol.BIC); if (symbol1 == null) { @@ -91,7 +86,7 @@ public class PaymentInstructionCreator { payment1.setAdresseeBic(symbol1); } - Company companyPRC = companyImdg.getSingleObjectByID(PRC_ID); // 2 "НКО АО ПРЦ" + Company companyPRC = companyImdg.getSingleObjectByID(PRC_ID); String companyPRCName = null; if (companyPRC == null) { log.warn("Company.id={} not found", PRC_ID); @@ -100,7 +95,7 @@ public class PaymentInstructionCreator { } payment1.setPayeeBankName(companyPRCName); - String symbolPRC = selectSymbolValue(PRC_ID, CompanySymbol.BIC); // 2 "НКО АО ПРЦ" + String symbolPRC = selectSymbolValue(PRC_ID, CompanySymbol.BIC); payment1.setPayeeBic(symbolPRC); payment1.setAddresseeBankName(companyPRCName); @@ -133,27 +128,13 @@ public class PaymentInstructionCreator { } payment1.setDebit_csAccount(null); -// payment1.setCreditLeg_direction(InOutDirection.out.getKey()); -// payment1.setDebitLeg_direction(InOutDirection.in.getKey()); payment1.setCreditLeg_currencyCode(liabilitiesClaimsAssets.getCurrency()); payment1.setDebitLeg_currencyCode(liabilitiesClaimsAssets.getCurrency()); payment1.setTransactionStatus(TransactionStatus.stld.getKey()); - - -// payment1.setDocumentNumber(nextDocumentNumber(liabilitiesClaimsAssets, payment1)); } - /** - * Создаёт и сохраняет - * - * - * @param executionDeposit - * @param liabilitiesClaimsAssets - * @param clearingCategory - * @return - */ protected List createPaymentInstructions(ExecutionDeposit executionDeposit, LiabilitiesClaimsAssets liabilitiesClaimsAssets, Collection clearingCategory) { List newPaymentInstructions = new ArrayList<>(); @@ -163,9 +144,7 @@ public class PaymentInstructionCreator { log.debug("For liabilitiesClaimsAssets.SettlementDate={} is not today.", liabilitiesClaimsAssets.getSettlementDate()); return newPaymentInstructions; } - // I if (clearingCategory.contains(ClearingCategory.I)) { - // см. updatePaymentInstructionsFirstI() - код одинаковый log.debug("By liabilitiesClaimsAssets[{}] create for category I 1 PaymentInstruction record", liabilitiesClaimsAssets.getId()); PaymentInstruction payment1 = new PaymentInstruction(); @@ -178,201 +157,20 @@ public class PaymentInstructionCreator { payment1.setDocumentNumber(nextDocumentNumber(liabilitiesClaimsAssets, payment1)); newPaymentInstructions.add(payment1); - - /*{ - PaymentInstruction payment2 = new PaymentInstruction(); - - payment2.setId(idGenerator.nextId()); - payment2.setCreated(now); - payment2.setClearingDate(TimeUtil.toLocalDate(now)); - - payment2.setSenderId(SPVB_ID); // СПВБ - - { - String sqlLCA = String.format("exchangeExecutionId = %s and side != '%s'", - executionDeposit.getExchangeExecutionId(), executionDeposit.getSide()); - ExecutionDeposit counterExecutionDeposit = executionDepositImdg.getSingleObjectBySQL(sqlLCA); - if (counterExecutionDeposit == null) { - log.warn("Counter ExecutionDeposit not found for : {}", sqlLCA); - } else { - payment2.setAddresseeId(counterExecutionDeposit.getCompanyId()); - log.trace("payment2.AddresseeId={} found by: {}", payment2.getAddresseeId(), sqlLCA); - } - } - - String symbol2 = selectSymbolValue(payment2.getAddresseeId(), CompanySymbol.BIC); - if (symbol2 == null) { - log.warn("CompanySymbols BIC not found for companyId={}", payment2.getAddresseeId()); - } else { - payment2.setAdresseeBic(symbol2); - } - - Company companyPRC = companyImdg.getSingleObjectByID(PRC_ID); // 2 "НКО АО ПРЦ" - String companyPRCName = null; - if (companyPRC == null) { - log.warn("Company.id={} not found", PRC_ID); - } else { - companyPRCName = companyPRC.getShortName(); - } - payment2.setPayeeBankName(companyPRCName); - - String symbolPRC = selectSymbolValue(PRC_ID, CompanySymbol.BIC); // 2 "НКО АО ПРЦ" - payment2.setPayeeBic(symbolPRC); - - payment2.setAddresseeBankName(companyPRCName); - - payment2.setPaymentDate(TimeUtil.localDateToInstant(liabilitiesClaimsAssets.getSettlementDate())); - - payment2.setPaymentPurpose("Размещение депозита " + liabilitiesClaimsAssets.getContract()); - - payment2.setSettlementDate(liabilitiesClaimsAssets.getSettlementDate()); - - Long amount = liabilitiesClaimsAssets.getLiabilitiesQuantity() == null ? null : liabilitiesClaimsAssets.getLiabilitiesQuantity().abs().longValue(); - payment2.setCreditLegAmount(amount); - payment2.setDebitLegAmount(amount); - - { - Account anotherAcc = selectAccount(payment2.getSenderId(), AccountType.Tran, Status.Active, Allowed.ALLOWED); - if (anotherAcc == null) { - log.warn("Account not found: companyId = {} AND accountType={} AND accountStatus={} AND processingSign={}", - payment2.getSenderId(), AccountType.Tran, Status.Active, Allowed.ALLOWED); - } else { - payment2.setCreditLegAccountId(anotherAcc.getId()); - } - } - - payment2.setCreditCsAccount(null); - - { - Account acc2 = accountImdg.getSingleObjectByID(payment2.getCreditLegAccountId()); - if (acc2 != null) { - payment2.setCreditLegAccount(acc2.getAccount()); - } - } - - { - Account acc2 = selectAccount(payment2.getAddresseeId(), AccountType.Clrn, Status.Active, Allowed.ALLOWED); - if (acc2 != null) { - payment2.setDebitLegAccountId(acc2.getId()); - payment2.setDebitLegAccount(acc2.getAccount()); - } - } - - payment2.setDebitCsAccount(null); - -// payment2.setCreditLegDirection(InOutDirection.out.getKey()); -// payment2.setDebitLegDirection(InOutDirection.in.getKey()); - - payment2.setCreditLegCurrencyCode(liabilitiesClaimsAssets.getCurrency()); - payment2.setDebitLegCurrencyCode(liabilitiesClaimsAssets.getCurrency()); - - payment2.setTransactionStatus(TransactionStatus.stld.getKey()); - - - payment2.setDocumentNumber(nextDocumentNumber(liabilitiesClaimsAssets, payment2)); - - newPaymentInstructions.add(payment2); - }*/ } else { - // V / B if (clearingCategory.contains(ClearingCategory.V)) { log.debug("By liabilitiesClaimsAssets[{}] create for category V 0 PaymentInstruction record - ignore", liabilitiesClaimsAssets.getId()); -// PaymentInstruction payment1 = new PaymentInstruction(); -// payment1.setId(idGenerator.nextId()); -// payment1.setCreated(now); -// payment1.setClearingDate(TimeUtil.toLocalDate(now)); -// -// payment1.setSenderId(SPVB_ID); // СПВБ -// -// { -// String sqlLCA = String.format("exchangeExecutionId = %s and side != '%s'", -// executionDeposit.getExchangeExecutionId(), executionDeposit.getSide()); -// ExecutionDeposit counterExecutionDeposit = executionDepositImdg.getSingleObjectBySQL(sqlLCA); -// if (counterExecutionDeposit == null) { -// log.warn("Counter ExecutionDeposit not found for : {}", sqlLCA); -// } else { -// payment1.setAddresseeId(counterExecutionDeposit.getCompanyId()); -// log.trace("payment1.AddresseeId={} found by: {}", payment1.getAddresseeId(), sqlLCA); -// } -// } -// -// String symbol1 = selectSymbolValue(payment1.getAddresseeId(), CompanySymbol.BIC); -// if (symbol1 == null) { -// log.warn("CompanySymbols BIC not found for companyId={}", payment1.getAddresseeId()); -// } else { -// payment1.setAdresseeBic(symbol1); -// } -// -// Company companyPRC = companyImdg.getSingleObjectByID(PRC_ID); // 2 "НКО АО ПРЦ" -// String companyPRCName = null; -// if (companyPRC == null) { -// log.warn("Company.id={} not found", PRC_ID); -// } else { -// companyPRCName = companyPRC.getShortName(); -// } -// payment1.setPayeeBankName(companyPRCName); -// -// String symbolPRC = selectSymbolValue(PRC_ID, CompanySymbol.BIC); // 2 "НКО АО ПРЦ" -// payment1.setPayeeBic(symbolPRC); -// -// payment1.setAddresseeBankName(companyPRCName); -// -// payment1.setPaymentDate(TimeUtil.localDateToInstant(liabilitiesClaimsAssets.getSettlementDate())); -// -// payment1.setPaymentPurpose("Размещение депозита " + liabilitiesClaimsAssets.getContract()); -// -// payment1.setSettlementDate(liabilitiesClaimsAssets.getSettlementDate()); -// -// Long amount = liabilitiesClaimsAssets.getLiabilitiesQuantity() == null ? null : liabilitiesClaimsAssets.getLiabilitiesQuantity().abs().longValue(); -// payment1.setCreditLegAmount(amount); -// payment1.setDebitLegAmount(amount); -// -// { -// Account acc1 = selectAccount(payment1.getSenderId(), AccountType.Anlt, Status.Active, Allowed.ALLOWED); -// if (acc1 == null) { -// log.warn("Account not found: companyId = {} AND accountType={} AND accountStatus={} AND processingSign={}", -// payment1.getSenderId(), AccountType.Anlt, Status.Active, Allowed.ALLOWED); -// } else { -// payment1.setCreditLegAccountId(acc1.getId()); -// payment1.setCreditLegAccount(acc1.getAccount()); -// } -// } -// -// payment1.setCreditCsAccount(null); -// -// { -// Account acc1 = selectAccount(payment1.getAddresseeId(), AccountType.Corr, Status.Active, Allowed.ALLOWED); -// if (acc1 != null) { -// payment1.setDebitLegAccountId(acc1.getId()); -// payment1.setDebitLegAccount(acc1.getAccount()); -// } -// } -// -// payment1.setDebitCsAccount(null); -// -//// payment1.setCreditLegDirection(InOutDirection.out.getKey()); -//// payment1.setDebitLegDirection(InOutDirection.in.getKey()); -// -// payment1.setCreditLegCurrencyCode(liabilitiesClaimsAssets.getCurrency()); -// payment1.setDebitLegCurrencyCode(liabilitiesClaimsAssets.getCurrency()); -// -// payment1.setTransactionStatus(TransactionStatus.stld.getKey()); -// -// -// payment1.setDocumentNumber(nextDocumentNumber(liabilitiesClaimsAssets, payment1)); -// -// newPaymentInstructions.add(payment1); } if (clearingCategory.contains(ClearingCategory.B)) { log.debug("By liabilitiesClaimsAssets[{}] create for category B 2 PaymentInstruction record", liabilitiesClaimsAssets.getId()); - { // record 1 + { { PaymentInstruction payment1 = new PaymentInstruction(); payment1.setId(idGenerator.nextId()); payment1.setCreated(now); payment1.setClearingDate(TimeUtil.toLocalDate(now)); - payment1.setSenderId(SPVB_ID); // СПВБ + payment1.setSenderId(SPVB_ID); payment1.setAddresseeId(liabilitiesClaimsAssets.getCompanyId()); String symbol2 = selectSymbolValue(payment1.getAddresseeId(), CompanySymbol.BIC); @@ -382,7 +180,7 @@ public class PaymentInstructionCreator { payment1.setAdresseeBic(symbol2); } - Company companyPRC = companyImdg.getSingleObjectByID(PRC_ID); // 2 "НКО АО ПРЦ" + Company companyPRC = companyImdg.getSingleObjectByID(PRC_ID); String companyPRCName = null; if (companyPRC == null) { log.warn("Company.id={} not found", PRC_ID); @@ -391,7 +189,7 @@ public class PaymentInstructionCreator { } payment1.setPayeeBankName(companyPRCName); - String symbolPRC = selectSymbolValue(PRC_ID, CompanySymbol.BIC); // 2 "НКО АО ПРЦ" + String symbolPRC = selectSymbolValue(PRC_ID, CompanySymbol.BIC); payment1.setPayeeBic(symbolPRC); payment1.setAddresseeBankName(companyPRCName); @@ -432,9 +230,6 @@ public class PaymentInstructionCreator { payment1.setDebit_csAccount(null); -// payment2.setCreditLeg_direction(InOutDirection.out.getKey()); -// payment2.setDebitLeg_direction(InOutDirection.in.getKey()); - payment1.setCreditLeg_currencyCode(liabilitiesClaimsAssets.getCurrency()); payment1.setDebitLeg_currencyCode(liabilitiesClaimsAssets.getCurrency()); @@ -446,7 +241,7 @@ public class PaymentInstructionCreator { } } - { // record 2 + { PaymentInstruction payment2 = new PaymentInstruction(); payment2.setId(idGenerator.nextId()); payment2.setCreated(now); @@ -463,7 +258,7 @@ public class PaymentInstructionCreator { payment2.setAdresseeBic(symbol1); } - Company companyPRC = companyImdg.getSingleObjectByID(PRC_ID); // 2 "НКО АО ПРЦ" + Company companyPRC = companyImdg.getSingleObjectByID(PRC_ID); String companyPRCName = null; if (companyPRC == null) { log.warn("Company.id={} not found", PRC_ID); @@ -472,7 +267,7 @@ public class PaymentInstructionCreator { } payment2.setPayeeBankName(companyPRCName); - String symbolPRC = selectSymbolValue(PRC_ID, CompanySymbol.BIC); // 2 "НКО АО ПРЦ" + String symbolPRC = selectSymbolValue(PRC_ID, CompanySymbol.BIC); payment2.setPayeeBic(symbolPRC); payment2.setAddresseeBankName(companyPRCName); @@ -510,9 +305,6 @@ public class PaymentInstructionCreator { payment2.setDebit_csAccount(null); -// payment1.setCreditLegDirection(InOutDirection.out.getKey()); -// payment1.setDebitLegDirection(InOutDirection.in.getKey()); - payment2.setCreditLeg_currencyCode(liabilitiesClaimsAssets.getCurrency()); payment2.setDebitLeg_currencyCode(liabilitiesClaimsAssets.getCurrency()); @@ -527,11 +319,6 @@ public class PaymentInstructionCreator { return newPaymentInstructions; } - /** - * - * @param contract liabilitiesClaimsAssets.contract - * @return - */ protected String paymentPurpose(String contract) { return "Размещение депозита " + (contract == null ? "" : contract); } @@ -546,12 +333,6 @@ public class PaymentInstructionCreator { return payment1; } - /** - * Обновление п оаналогии с createPaymentInstructions - * @param payment1 - * @param liabilitiesClaimsAssets - * @param clearingCategory - */ public void updatePaymentInstructionsFirstI(PaymentInstruction payment1, LiabilitiesClaimsAssets liabilitiesClaimsAssets, ClearingCategory clearingCategory) { @@ -564,8 +345,6 @@ public class PaymentInstructionCreator { log.debug("By liabilitiesClaimsAssets[{}] update for category I 1 PaymentInstruction {} record", liabilitiesClaimsAssets.getId(), payment1.getId()); - - // I check if (!ClearingCategory.I.equals(clearingCategory)) { throw new IllegalArgumentException("Clearing category is not I. Method not implemented for " + clearingCategory); } @@ -580,7 +359,7 @@ public class PaymentInstructionCreator { protected String nextDocumentNumber(LiabilitiesClaimsAssets liabilitiesClaimsAssets, PaymentInstruction paymentInstruction) { LocalDate nowD = LocalDate.now(); if (documentNumberResetAt == null || documentNumberResetAt.isBefore(nowD)) synchronized (this) { - long oldNum = documentNumberId.get(); // reset optimistic + long oldNum = documentNumberId.get(); if (oldNum > 0) { while (!documentNumberId.compareAndSet(oldNum, 0)) { oldNum = documentNumberId.get(); @@ -634,63 +413,16 @@ public class PaymentInstructionCreator { } - /** - * 2.2.2.1. Выполнить Изменение liabilitiesClaimsAssets по paymentInstruction. - */ public void updateFieldLiabilitiesClaimsAssetsByPayment(LiabilitiesClaimsAssets liabilitiesClaimsAssets, LiabilitiesClaimsMoney liabilitiesClaimsMoney, List paymentInstructions, Collection clearingCategory) { -// final boolean isFirstLeg = true; -// final boolean isSecondLeg = !isFirstLeg; - PaymentInstruction paymentIAny = paymentInstructions.get(paymentInstructions.size() - 1); // брать последнюю запись для ID - -// if (clearingCategory.contains(ClearingCategory.I) || clearingCategory.contains(ClearingCategory.V)) { -// BigDecimal amount = bdFromLongSafe(paymentIAny.getCreditLegAmount()); -//// При обновлении (по paymentInstruction и категория I и счет CLRN):=liabilitiesClaimsAssets.liabilitiesQuantity - paymentInstruction.creditLeg_amount -//// При обновлении (по paymentInstruction и категория V и счет INFO):=liabilitiesClaimsAssets.liabilitiesQuantity - paymentInstruction.creditLeg_amount -// amount = liabilitiesClaimsAssets.getLiabilitiesQuantity().subtract(amount); -// liabilitiesClaimsAssets.setLiabilitiesQuantity(amount); -// } -// if (clearingCategory.contains(ClearingCategory.B)) { -// BigDecimal amount = bdFromLongSafe(paymentIAny.getCreditLegAmount()); -// // При обновлении (по paymentInstruction и категория B и счет CLRN): из paymentInstruction.creditLeg_amount -// liabilitiesClaimsAssets.setLiabilitiesQuantity(amount); -// } - -// if (clearingCategory.contains(ClearingCategory.I) || clearingCategory.contains(ClearingCategory.V)) { -// BigDecimal amount = bdFromLongSafe(paymentIAny.getDebitLegAmount()); -// liabilitiesClaimsAssets.setClaimsQuantity(amount); -// } -// if (clearingCategory.contains(ClearingCategory.B)) { -// BigDecimal amount = bdFromLongSafe(paymentIAny.getDebitLegAmount()); -// amount = safeBD(liabilitiesClaimsAssets.getClaimsQuantity()).subtract(amount); -// liabilitiesClaimsAssets.setClaimsQuantity(amount); -// } - -// //на базе успешного/неуспешного изменения по paymentInstruction -// if (TransactionStatus.fail.equalsByKey(paymentIAny.getTransactionStatus())) { -// liabilitiesClaimsAssets.setClearingStatus(ClearingStatus.FAIL.getKey()); -// } else if (TransactionStatus.ok.equalsByKey(paymentIAny.getTransactionStatus())) { -// liabilitiesClaimsAssets.setClearingStatus(ClearingStatus.OK.getKey()); -// } - -// liabilitiesClaimsAssets.setLiabilitiesClaimsMoneyId(liabilitiesClaimsMoney.getId()); + PaymentInstruction paymentIAny = paymentInstructions.get(paymentInstructions.size() - 1); liabilitiesClaimsAssets.setPaymentId(paymentIAny.getId()); liabilitiesClaimsAssets.setUpdated(Instant.now()); } - /** - * 2.2.2.2. Выполнить Изменение liabilitiesClaimsMoney по paymentInstruction. - * Обновление liabilitiesClaimsMoney первой/второй ноги по liabilitiesClaimsAssets - * - * @param liabilitiesClaimsMoney обновить этот объект (firstLeg) - * @param isFirstLeg true - первая, false вторая - * @param paymentInstructions - * @param clearingCategory - * @return были внесены изменения в liabilitiesClaimsMoney - */ public boolean updateFieldLiabilitiesClaimsMoneyByPayment(LiabilitiesClaimsMoney liabilitiesClaimsMoney, boolean isFirstLeg, List paymentInstructions, @@ -707,7 +439,6 @@ public class PaymentInstructionCreator { modified = true; } if (isSecondLeg) { - // liabilitiesAmount не меняется } } @@ -718,7 +449,6 @@ public class PaymentInstructionCreator { modified = true; } if (isSecondLeg) { - // liabilitiesAmount не меняется ; } } diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/RegistryBuilder.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/RegistryBuilder.java index 24a99b7bb..88bebef9d 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/RegistryBuilder.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/RegistryBuilder.java @@ -117,17 +117,11 @@ public class RegistryBuilder { String securitySymbol = obtainSecuritySymbol(statement.getSecurityId()); rgs.setSecuritySymbol(securitySymbol); } - //fixme !rgs.setSettlementCode(); - rgs.setTradingDate(statement.getSettlementDate()); //fixme ! today ? + rgs.setTradingDate(statement.getSettlementDate()); rgs.setClearingDate(LocalDate.now()); - //fixme rgs.setRefundDate(); - //fixme rgs.setValueDate(); rgs.setContract(statement.getContract()); - //создается на базе stmt, companyCred, accountDeb rgs.setCounterPartyId(statement.getAddresseeId()); rgs.setCreated(Instant.now()); - - //по дефолту создаем с балансом 0, а потом пересчитываем по необходимости rgs.setBalance(BigDecimal.ZERO); rgs.setDebit(BigDecimal.ZERO); rgs.setCredit(BigDecimal.ZERO); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/Sdf03Builder.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/Sdf03Builder.java index ef31d5c3e..6b66fc069 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/Sdf03Builder.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/Sdf03Builder.java @@ -27,8 +27,6 @@ public class Sdf03Builder { sDf03.setSeg_type("U"); sDf03.setDoc_type("002"); sDf03.setDocnm_ref(paymentInstruction.getId().toString()); -// sDf03.setPriority("9"); -// sDf03.setSbankcode(Sender.One.equalsById(paymentInstruction.getSenderId()) ? "@09999" : "@0"); sDf03.setC_acc_deb(paymentInstruction.getCreditLeg_account()); if (paymentInstruction.getSenderId().equals(Sender.One.getId())) { sDf03.setSbanknam1(paymentInstruction.getPayeeBankName()); @@ -39,7 +37,6 @@ public class Sdf03Builder { } } if (sDf03.getSbanknam1() != null && sDf03.getSbanknam1().length() > 35) { - //(если всё значение не помещается в sbanknam1, то остаток записать в sbanknam2 и т.д. до sbanknam5). sDf03.setSbanknam2(sDf03.getSbanknam1().substring(35)); sDf03.setSbanknam1(sDf03.getSbanknam1().substring(0, 35)); if (sDf03.getSbanknam2().length() > 35) { @@ -52,16 +49,11 @@ public class Sdf03Builder { sDf03.setSbanknam5(sDf03.getSbanknam4().substring(35)); sDf03.setSbanknam4(sDf03.getSbanknam4().substring(0, 35)); if (sDf03.getSbanknam5().length() > 35) { - //warn: too large for all field - //sDf03.setSbanknam5(sDf03.getSbanknam2().substring(0, 35)); } } } } } - // =@00100, если ?; - // =@00000, если ?. -// sDf03.setRbankcode(Sender.One.equalsById(paymentInstruction.getAddresseeId()) ? "@09999" : "@0"); sDf03.setC_acc_cred(paymentInstruction.getDebitLeg_account()); if (paymentInstruction.getAddresseeId().equals(Sender.One.getId())) { sDf03.setRbanknam1(paymentInstruction.getAddresseeBankName()); @@ -78,22 +70,11 @@ public class Sdf03Builder { sDf03.setPay_val("RUR"); String sumDeb = paymentInstruction.getDebitLeg_amount() != null ? paymentInstruction.getDebitLeg_amount().toString() : null; sDf03.setSum_deb(BigDecimalUtil.limitDecimalPlaces(sumDeb, 2)); - //37 sp_code varchar(2) Код назначения платежа String[] splitPaymentPurpose = SpecifUtil.split5SegmentsBy35Symbols(paymentInstruction.getPaymentPurpose()); for (int i = 0; i < splitPaymentPurpose.length; i++) { String specif = splitPaymentPurpose[i]; if (i == 0) { sDf03.setSpecif_1(specif); -// } else if (i == 1) { -// sDf03.setSpecif_2(specif); -// } else if (i == 2) { -// sDf03.setSpecif_3(specif); -// } else if (i == 3) { -// sDf03.setSpecif_4(specif); -// } else if (i == 4) { -// sDf03.setSpecif_5(specif); -// } else if (i == 5) { -// sDf03.setSpecif_6(specif); } } sDf03.setGenerationTime(Instant.now()); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/Sdf11Builder.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/Sdf11Builder.java index 3caca1a33..95c8fe5fe 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/Sdf11Builder.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/Sdf11Builder.java @@ -3,15 +3,7 @@ package ru.spcex.clearing.service.builder; import ru.clearing.classes.statics.data.company.Company; import ru.clearing.classes.statics.data.payment.PaymentInstruction; import ru.clearing.classes.statics.data.sdf.SDf11; -import ru.spcex.clearing.service.SpecifUtil; -import ru.spcex.platform.enumeration.Sender; import ru.spcex.platform.imdg.api.Imdg; -import ru.spcex.platform.utils.time.TimeUtil; - -import java.time.Instant; -import java.time.LocalDate; - -import static ru.spcex.clearing.service.builder.Sdf03Builder.PROPERTY_DATE_FORMATTER_YY; public class Sdf11Builder { private final Imdg companyImdg; @@ -22,78 +14,6 @@ public class Sdf11Builder { public SDf11 buildSdf11(PaymentInstruction paymentInstruction, Long generationId) { SDf11 sDf11 = new SDf11(); -// todo поменялись классы sDf11.setSeg_type("U"); -// sDf11.setDoc_type("002"); -// sDf11.setDocnm_ref(paymentInstruction.getId().toString()); -// sDf11.setPriority("9"); -// sDf11.setSbankcode(Sender.One.equalsById(paymentInstruction.getSenderId()) ? "@09999" : "@0"); -// sDf11.setC_acc_deb(paymentInstruction.getCreditLegAccount()); -// if (paymentInstruction.getAddresseeId().equals(Sender.One.getId())) { -// sDf11.setSbanknam1(paymentInstruction.getAddresseeBankName()); -// //(если всё значение не помещается в sbanknam1, то остаток записать в sbanknam2 и т.д. до sbanknam5). -// sDf11.setSbanknam2(sDf11.getSbanknam1().substring(35)); -// sDf11.setSbanknam1(sDf11.getSbanknam1().substring(0, 35)); -// if (sDf11.getSbanknam2().length() > 35) { -// sDf11.setSbanknam3(sDf11.getSbanknam2().substring(35)); -// sDf11.setSbanknam2(sDf11.getSbanknam2().substring(0, 35)); -// if (sDf11.getSbanknam3().length() > 35) { -// sDf11.setSbanknam4(sDf11.getSbanknam3().substring(35)); -// sDf11.setSbanknam3(sDf11.getSbanknam3().substring(0, 35)); -// if (sDf11.getSbanknam4().length() > 35) { -// sDf11.setSbanknam5(sDf11.getSbanknam4().substring(35)); -// sDf11.setSbanknam4(sDf11.getSbanknam4().substring(0, 35)); -// if (sDf11.getSbanknam5().length() > 35) { -// //warn: too large for all field -// //sDf03.setSbanknam5(sDf03.getSbanknam2().substring(0, 35)); -// } -// } -// } -// } -// } else { -// Company company = companyImdg.getSingleObjectByID(paymentInstruction.getAddresseeId()); -// if (company != null) { -// sDf11.setSbanknam1(company.getShortName()); -// } -// } -// // =@00100, если ?; -// // =@00000, если ?. -// sDf11.setRbankcode(Sender.One.equalsById(paymentInstruction.getAddresseeId()) ? "@09999" : "@0"); -// sDf11.setC_acc_cred(paymentInstruction.getDebitLegAccount()); -// if (paymentInstruction.getAddresseeId().equals(Sender.One.getId())) { -// sDf11.setRbanknam1(paymentInstruction.getAddresseeBankName()); -// } else { -// Company company = companyImdg.getSingleObjectByID(paymentInstruction.getAddresseeId()); -// if (company != null) { -// sDf11.setRbanknam1(company.getShortName()); -// } -// } -// LocalDate paymtDt = TimeUtil.toLocalDate(paymentInstruction.getPaymentDate()); -// if (paymtDt != null) { -// sDf11.setPay_date(paymtDt.format(PROPERTY_DATE_FORMATTER_YY)); -// } -// sDf11.setPay_val("RUR"); -// sDf11.setSum_deb(paymentInstruction.getDebitLegAmount() != null ? paymentInstruction.getDebitLegAmount().toString() : null); -// //37 sp_code varchar(2) Код назначения платежа -// String[] splitPaymentPurpose = SpecifUtil.splitPaymentPurpose(paymentInstruction.getPaymentPurpose()); -// for (int i = 0; i < splitPaymentPurpose.length; i++) { -// String specif = splitPaymentPurpose[i]; -// if (i == 0) { -// sDf11.setSpecif_1(specif); -// } else if (i == 1) { -// sDf11.setSpecif_2(specif); -// } else if (i == 2) { -// sDf11.setSpecif_3(specif); -// } else if (i == 3) { -// sDf11.setSpecif_4(specif); -// } else if (i == 4) { -// sDf11.setSpecif_5(specif); -// } else if (i == 5) { -// sDf11.setSpecif_6(specif); -// } -// } -// sDf11.setGenerationTime(Instant.now()); -// sDf11.setGenerationId(generationId); -// sDf11.setPaymentInstructionId(paymentInstruction.getId()); return sDf11; } } diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/execution/ExecutionDepositComponent.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/execution/ExecutionDepositComponent.java index 0d18779ef..5d9d1ef7c 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/execution/ExecutionDepositComponent.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/execution/ExecutionDepositComponent.java @@ -42,10 +42,6 @@ import java.util.Map; import java.util.Optional; import java.util.function.Function; -/** - * 1.35. executionDeposit - Сделки - * I - Изменение executionDeposit при получении новых сделок из ТС (s_trade) - */ @Component @EnableScheduling public class ExecutionDepositComponent { @@ -55,7 +51,6 @@ public class ExecutionDepositComponent { private final Imdg executionDepositImdg; private final Imdg

listingImdg; - //fixme ждать ТЗ Long tradeNum; Instant tradingDay; private final IMessageResolver msgResolver; @@ -80,9 +75,6 @@ public class ExecutionDepositComponent { resetTradingDay(); } - /** - * Сбрасывать каждый день в 01:00:01 "0 1 0 1 * ?" - */ @Scheduled(cron = "0 1 0 1 * ?") public void resetTradingDay() { log.trace("Recheck today trading day for search STrade. Current state: tradeNum={}, tradeDat={}", tradeNum, tradingDay); @@ -96,7 +88,6 @@ public class ExecutionDepositComponent { public void processNewTS() { log.debug("Start check new S_TRADE after {}", tradingDay); - //выбираем STrades на сегодня с правильным section Collection sTrades = sTradeImdg.getCollectionObjectsByFieldValues(Map.of( "tradeDate", LocalDate.now(), "section", Section.MKR.getKey() @@ -107,8 +98,6 @@ public class ExecutionDepositComponent { logError(ClearingError.NewDealsNotFound); return; } - - //убираем уже добавленные в ExecutionDeposit sTrades.removeIf(sTrd -> { Side sTrdSide = IEnumKey.getEnumByKey(Side.class, sTrd.getOperation()); if (sTrdSide == null || !(sTrdSide.equals(Side.BUY) || sTrdSide.equals(Side.SELL))) { @@ -125,8 +114,6 @@ public class ExecutionDepositComponent { for (STrades sTrd : sTrades) { log.trace("S_TRADE[{}] new", sTrd.getId()); - - //проверки IValidator validator = stradesValidator.apply(sTrd); Optional error = validator.tillFirstError(); if (error.isPresent()) { diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/execution/ExecutionFondComponent.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/execution/ExecutionFondComponent.java index 76822e4b0..b9519cb8e 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/execution/ExecutionFondComponent.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/execution/ExecutionFondComponent.java @@ -51,7 +51,6 @@ public class ExecutionFondComponent { private final Imdg clientCodeImdg; private final Imdg marketImdg; - //fixme ждать ТЗ Long tradeNum; Instant tradingDay; private final IMessageResolver msgResolver = new SimpleMessageResolver(); @@ -74,9 +73,6 @@ public class ExecutionFondComponent { resetTradingDay(); } - /** - * Сбрасывать каждый день в 01:00:01 "0 1 0 1 * ?" - */ @Scheduled(cron = "0 1 0 1 * ?") public void resetTradingDay() { log.trace("Recheck today trading day for search STrade. Current state: tradeNum={}, tradeDat={}", tradeNum, tradingDay); @@ -90,7 +86,6 @@ public class ExecutionFondComponent { public void processNewTS() { log.debug("Start check new S_TRADE after {}", tradingDay); - //выбираем STrades на сегодня с правильным section Collection sTrades = sTradeImdg.getCollectionObjectsByFieldValues(Map.of( "tradeDate", LocalDate.now(), "section", Section.FOND.getKey() @@ -101,8 +96,6 @@ public class ExecutionFondComponent { logError(ClearingError.NewDealsNotFound); return; } - - //убираем уже добавленные в ExecutionDeposit sTrades.removeIf(sTrd -> { Side sTrdSide = IEnumKey.getEnumByKey(Side.class, sTrd.getOperation()); if (sTrdSide == null || !(sTrdSide.equals(Side.BUY) || sTrdSide.equals(Side.SELL))) { @@ -119,8 +112,6 @@ public class ExecutionFondComponent { for (STrades sTrd : sTrades) { log.trace("S_TRADE[{}] new", sTrd.getId()); - - //проверки IValidator validator = stradesValidator.apply(sTrd); Optional error = validator.tillFirstError(); if (error.isPresent()) { @@ -177,8 +168,6 @@ public class ExecutionFondComponent { eFond.setExchangeExecutionId(sTrades.getTradeNum()); eFond.setExchangeExecutionTime(sTrades.getTradeDateTime()); eFond.setTradingClearingRegistryId(rgstr.getId()); - - //todo можем ли просто переложить sTrades.getClassCode() или все такие искать, одно и тоже же ru.clearing.classes.statics.data.misc.Market market = marketImdg.getFirstObjectBySQL("code = '%s'".formatted(sTrades.getClassCode())); eFond.setMarket(sTrades.getClassCode()); @@ -194,9 +183,7 @@ public class ExecutionFondComponent { } } } - //fixme символьный код по справочнику currencyCode, соответствующий значению из sTrades.settleCurrency eFond.setSettlementCurrency(CurrencyCode.RUB.getKey()); - //fixme micro vs milli eFond.setExchangeExecutionMicroseconds(Instant.ofEpochMilli(sTrades.getTradeTimeMs())); eFond.setCompanyId(company.getId()); eFond.setDuration(sTrades.getRepoTerm()); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf01Executor.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf01Executor.java index 8db9b302f..ba485d806 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf01Executor.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf01Executor.java @@ -82,8 +82,6 @@ public class Sdf01Executor extends AbstractExecutor { this.kafkaSender = kafkaSender; } - //todo доделать контроль sdf01 и sdf57 - @Override public String exportTableName() { return "DF-02"; @@ -106,7 +104,6 @@ public class Sdf01Executor extends AbstractExecutor { Result result = new Result(); Long generationIdForGroup = imdgProvider.getImdgIdGenerator().nextId(); result.setGenerationId(generationIdForGroup); -// boolean reviseFailed = false; log.info("SDF01 execution: sdf01 number={}, groupId={}", sdf.size(), sdf.stream().findFirst().map(SDf01::getGenerationId).orElse(null)); for (SDf01 sdf01 : sdf) { IValidator validator = sDf01Validator.apply(sdf01); @@ -115,9 +112,6 @@ public class Sdf01Executor extends AbstractExecutor { Account account = validator.getStored(ValidationStored.Sdf01Account); if (statementRequest.getAccountCreationResults().size() == 0 && ClearingErrorInternal.AccountNotPresent.equals(error.map(EnumMessage::getSubject).orElse(null))) { - //на данном шаге company существует -> getId ok - //формируем пакетный запрос на добавление account - //ответ придет в этот же метод, process if (company == null) { log.warn("account {} for sdf01.id={} not found. Can not send request for creation, cause company not found too", sdf01.getAccount(), sdf01.getId()); } else { @@ -130,7 +124,6 @@ public class Sdf01Executor extends AbstractExecutor { } if (error.isPresent()) { log.error("sdf01.id={} error: {}", sdf01.getId(), messageResolver.resolve(error.get())); - //fixme инициировать = команда для другого сервиса? sdf02Imdg.insert(createErrorSdf02(sdf01, error.get(), generationIdForGroup)); sdf02Imdg.insert(createErrorSdf02(sdf01, error.get(), generationIdForGroup)); continue; } @@ -171,29 +164,15 @@ public class Sdf01Executor extends AbstractExecutor { registryImdg.insert(registryB); registryImdg.insert(rgs); } - //if (!checkDiffBalance(rgs.getDiffBalance())) { - // log.info("sdf01.id={}, stmt.id={}, registry.id={} diffBalance is not zero: {}", - // sdf01.getId(), - // stmt.getId(), - // rgs.getId(), - // rgs.getDiffBalance()); - // reviseFailed = true; - //} stmt.setOperationStatus(OperationStatus.Executed.getKey()); statementImdg.update(stmt); } else { log.debug("sdf01.id={} activeness checks failed {}", sdf01.getId(), messageResolver.resolve(err.get())); - stmt.setErrorCodeId(err.get().getSubject().getId()); // fixme ErrorText insert + stmt.setErrorCodeId(err.get().getSubject().getId()); stmt.setOperationStatus(OperationStatus.Rejected.getKey()); statementImdg.update(stmt); } } - //NotificationNewRequest reviseNotification = new NotificationNewRequest(); - //reviseNotification.setObjectType(ObjectType.rgst.getKey()); - //reviseNotification.setComment(reviseFailed ? reviseFailedMessage : reviseSuccessMessage); - //reviseNotification.setPriority(reviseFailed ? Priority.HIGH.getKey() : Priority.LOW.getKey()); - //kafkaSender.sendRequestToQueue(Consts.NOTIFICATION_NEW, reviseNotification); - //log.info("revise notification sent (revise {})", reviseFailed ? "error" : "success"); return result; } diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf04Executor.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf04Executor.java index f90ca833e..94a7664a3 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf04Executor.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf04Executor.java @@ -64,16 +64,13 @@ public class Sdf04Executor extends AbstractExecutor { Long generationIdForGroup = imdgProvider.getImdgIdGenerator().nextId(); result.setGenerationId(generationIdForGroup); for (SDf04 sdf04 : sdf) { - //обычно мы ищем по группу sdf04, здесь как будто всегда только одна запись, todo нужно прочекать этот момент log.debug("Process sdf04 record; sdf04.id: {}", sdf04.getId()); Collection registries; Account anltAcc = accountImdg.getFirstObjectBySQL("account = '%s' and accountType = '%s'" .formatted(sdf04.getC_acc_deb(), AccountType.Anlt.getKey())); - //если сдф04 не по аналитическому счету, выбираем по тому c_acc_deb что пришло if (anltAcc == null) { registries = selectRegistryForSDF04(sdf04.getC_acc_deb()); } else { - //в сдф04 указан ANLT счет, ищем по контракту AnltSearcher.AnltSearch anltSearch = anltSearcher.loadByAnlt(sdf04.getSpecif_1()); if (!anltSearch.isFound()) { log.error("sdf04.id={} search by specif1 failed {}", sdf04.getId(), msgRslv.resolve(anltSearch.getError())); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf06Executor.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf06Executor.java index 17e40b2f8..08b8d6689 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf06Executor.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf06Executor.java @@ -65,16 +65,11 @@ public class Sdf06Executor { private final KafkaSender kafkaSender; private final static BigDecimal successResult = BigDecimal.ZERO; - //ошибка проверок private final static BigDecimal errorResult2 = new BigDecimal("3"); - //ошибка проверок баланса или наличия сессии - в этом сценарии session создается private final static BigDecimal errorResult1 = new BigDecimal("1"); - //отказ от gateway private final static BigDecimal errorResult3 = new BigDecimal("3"); - //not thread safe: used in EventReceiver single thread executor - //переменная контроля за тем что от гейтвея пришел ответ именно на наш запрос private Long sdf06GroupId; private Long sdf07GroupId; @@ -151,7 +146,6 @@ public class Sdf06Executor { TradingClearingRegistry tcr = tradingClearingRegistryImdg.getFirstObjectByFieldValues( Map.of("moneyAccountId", account.getId()) ); - //проверка существует ли statement пока убрал Statement stmt = createStatementBySdf06(sDf06, company.getId(), account); statementImdg.insert(stmt); log.debug("Statement created: {}", stmt.getId()); @@ -194,8 +188,6 @@ public class Sdf06Executor { public void processGatewayResponse(BaseRequest req) { Instant now = Instant.now(); for (SingleAssetResponse gatewayMsg : req.getRequestPayload().getApprovals()) { - //получаем запрос для текущей группы sdf06 - //находим группу Long statementId = gatewayMsg.getStatementId(); Statement stmt = statementImdg.getSingleObjectByID(statementId); if (stmt == null) { @@ -211,7 +203,6 @@ public class Sdf06Executor { } Long groupId = sdf06.getGenerationId(); - //сверяем группу SDF06 пришедшего запроса с ожидаемой if (sdf06GroupId == null || !sdf06GroupId.equals(groupId)) { log.error("do not currently waiting for gateway response for statement.id {} sdf06 groupId {}; waiting for {}", statementId, @@ -298,7 +289,7 @@ public class Sdf06Executor { AssetOperationRequest req = new AssetOperationRequest(); req.setStatementId(stmt.getId()); req.setAmount(stmt.getAmount()); - req.setSecuritySymbol(CurrencyCode.RUB.getKey()); //fixme retrieve security symbol from validator + req.setSecuritySymbol(CurrencyCode.RUB.getKey()); req.setTradingCode(tradingCode); req.setCode(tcrCode); req.setDirection(stmt.getInOutDirection()); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf08Executor.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf08Executor.java index 9929abcc0..9480447e1 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf08Executor.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf08Executor.java @@ -120,8 +120,8 @@ public class Sdf08Executor extends AbstractExecutor { Account account = validator.getStored(ValidationStored.Sdf08Account); if (statementRequest.getAccountCreationResults().size() == 0 && ClearingErrorInternal.AccountNotPresent.equals(error.map(EnumMessage::getSubject).orElse(null))) { - Company company = searchCompany(sdf08.getDepoCode()); // validator.getStored(ValidationStored.Sdf08Company); - Long companyId = company == null ? null : company.getId(); // account == null сегда, т.к. кейс AccountNotPresent + Company company = searchCompany(sdf08.getDepoCode()); + Long companyId = company == null ? null : company.getId(); if (companyId == null) { log.warn("account {} for sdf08.id={} not found. Can not send request for creation, cause company not found too", sdf08.getDepoCode(), sdf08.getId()); } else { @@ -134,13 +134,11 @@ public class Sdf08Executor extends AbstractExecutor { } if (error.isPresent() && !ClearingError.SecurityNotFound.equals(error.get().getSubject())) { log.error("sdf01.id={} error: {}", sdf08.getId(), messageResolver.resolve(error.get())); - //fixme инициировать = команда для другого сервиса? sdf02Imdg.insert(createErrorSdf02(sdf01, error.get(), generationIdForGroup)); -// sdf02Imdg.insert(createErrorSdf02(sdf01, error.get(), generationIdForGroup)); continue; } Statement stmt = createSdf08Statement(sdf08, account); - SDf09 sdf09New = createSuccessSdf09(sdf08, generationIdForGroup); //fixme тоже мб убрать + SDf09 sdf09New = createSuccessSdf09(sdf08, generationIdForGroup); sdf09Imdg.insert(sdf09New); stmt.setOutSDfId(sdf09New.getId()); statementImdg.insert(stmt); @@ -160,12 +158,10 @@ public class Sdf08Executor extends AbstractExecutor { rgs = createRegistryByStatement(stmt, company, account); registryImdg.insert(rgs); } - //todo - //2. отправить notification на backend stmt.setOperationStatus(OperationStatus.Executed.getKey()); statementImdg.update(stmt); } else { - stmt.setErrorCodeId(error.get().getSubject().getId()); // fixme ErrorText insert + stmt.setErrorCodeId(error.get().getSubject().getId()); stmt.setOperationStatus(OperationStatus.Rejected.getKey()); statementImdg.update(stmt); } @@ -188,22 +184,16 @@ public class Sdf08Executor extends AbstractExecutor { String accountType = null; if (depoCode != null) { int p = depoCode.indexOf(":"); - if (p == -1) { // двоеточие распарсили заранее при импорте файла, пример: 758200000AT0:000000000:SOVKB-BV-01:NW:0:РНКБ Банк(ПАО) + if (p == -1) { p = depoCode.length(); } - if (p > 3) { // выбрать 3-ю букву, отсчитывая от последнего символа + if (p > 3) { accountType = depoCode.substring(p - 3, p - 2); } } return accountType; } - /** - * @param sdf01Id - * @param account DepoCode - * @param companyId - * @return AccountSdfRequestPart - */ private AccountSdfRequestPart createAccountRequestPart(Long sdf01Id, String account, Long companyId) { AccountSdfRequestPart req = new AccountSdfRequestPart(); req.setAccount(account); @@ -301,7 +291,6 @@ public class Sdf08Executor extends AbstractExecutor { rgs.setBalanceDimension(BalanceDimension.MONY.getKey()); rgs.setTradingDate(statement.getSettlementDate()); rgs.setClearingDate(LocalDate.now()); - //создается на базе stmt, companyCred, accountDeb rgs.setCounterPartyId(statement.getAddresseeId()); rgs.setCreated(Instant.now()); return rgs; diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf13Executor.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf13Executor.java index b5aabca39..5c49625b3 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf13Executor.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf13Executor.java @@ -55,7 +55,6 @@ public class Sdf13Executor extends AbstractExecutor { Long generationIdForGroup = imdgProvider.getImdgIdGenerator().nextId(); result.setGenerationId(generationIdForGroup); for (SDf13 sdf13 : sdf) { - //обычно мы ищем по группу sdf04, здесь как будто всегда только одна запись, todo нужно прочекать этот момент SDf12 sDf12 = selectSdf12bySdf13(sdf13); log.debug("Process sdf13 record; sdf13.id: {}", sdf13.getId()); Collection registries = selectRegistryForSDF12(sDf12.getDepoCodeSender(), sDf12.getSecurityCode()); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf57Executor.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf57Executor.java index 3da76df1d..c36de129e 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf57Executor.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf57Executor.java @@ -97,8 +97,6 @@ public class Sdf57Executor extends AbstractExecutor { this.securityImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Security, Security.class); } - //todo доделать контроль sdf01 и sdf57 - @Override public String exportTableName() { return null; @@ -116,25 +114,6 @@ public class Sdf57Executor extends AbstractExecutor { kafkaSender.sendRequestToQueue(Consts.CONTINUE_SESSION_BN_FIRST_PART, continueSessionBn); } - //V - Изменение statement по sDf57 - // - //1. Перед изменением statement необходимо выполнить ряд проверок: - // 1.1. Найти в company запись, у которой company.tradingCode=sDf57.deal_deb. Если такой записи нет, записать в лог ошибку (5211) "Компания %s не найдена". - // 1.2. Найти в company запись, у которой company.tradingCode=sDf57.deal_cred. Если такой записи нет, записать в лог ошибку (5211) "Компания %s не найдена". - // 1.3. Проверить, есть ли в таблице account счет, у которого account.account=sDf57.c_acc_deb. Если такой записи нет, записать в лог ошибку (5217) "Счет %s не найден". - // 1.4. Проверить, есть ли в таблице account счет, у которого account.account=sDf57.c_acc_cred. Если такой записи нет, записать в лог ошибку (5217) "Счет %s не найден". - // 1.5. Проверить, что sDf57.pay_val=RUR. Иначе записать в лог ошибку (5213) "Валюта %s не найдена". - //2. В зависимости от результата прохождения проверок в п.1 раздела Изменение statement по sDf57: - // 2.1. Если все проверки пройдены, необходимо сформировать 2 новые записи согласно описанию с соответствующим тэгом, - // где первая запись будет содержать информацию о плательщике (по sDf57.deal_deb), - // а вторая о получателе (по sDf57.deal_cred) и связаны по одному inSDfId (= sDf57.id). - // 2.2. Иначе запись в statement не добавляется. - //3. По итогу добавления statement: - // Если в п.1 раздела Изменение statement по sDf57 ошибок не обнаружено, то инициировать изменение таблицы registry согласно описанию с соответствующим тэгом. - // По итогу изменения registry должны быть обновлены значения полей в statement: - // - operationStatus; - // - errorCode в случае выявления ошибки; - // - errorText в случае выявления ошибки. public Result execute(Collection sdf, StatementRequest statementRequest) { Result result = new Result(); Long generationIdForGroup = imdgProvider.getImdgIdGenerator().nextId(); @@ -155,19 +134,16 @@ public class Sdf57Executor extends AbstractExecutor { statementImdg.insert(statement); return Optional.of(statement); }; - //create by companyDeb - Company companyDeb = validator.getStored(ValidationStored.Sdf57CompanyDeb); //плательщик + Company companyDeb = validator.getStored(ValidationStored.Sdf57CompanyDeb); Account accountDeb = validator.getStored(ValidationStored.Sdf57AccountDeb); - Company companyCred = validator.getStored(ValidationStored.Sdf57CompanyCred);//получатель + Company companyCred = validator.getStored(ValidationStored.Sdf57CompanyCred); Account accountCred = validator.getStored(ValidationStored.Sdf57AccountCred); log.debug("companyDeb.id={}, accountDeb.id={}, companyCred.id={}, accountCred.id={}", companyDeb != null ? companyDeb.getId() : null, accountDeb != null ? accountDeb.getId() : null, companyCred != null ? companyCred.getId() : null, accountCred != null ? accountCred.getId() : null); - //адресат CREDIT / владелец DEBIT Optional statementDeb = createStatementIfNeeded.apply(companyDeb, accountDeb, InOutDirection.out); - //адресат DEBIT / владелец CREDIT Optional statementCred = createStatementIfNeeded.apply(companyCred, accountCred, InOutDirection.in); log.debug("created statementDeb.id={}, statementCred.id={}", statementDeb.map(SpcexObjectBase::getId).orElse(null), @@ -181,18 +157,16 @@ public class Sdf57Executor extends AbstractExecutor { if (err.isEmpty()) { Optional amtFound = RegistrySearch.builder(registryImdg) .rgsCode(RegistryTradingParams.AM_T) - .companyId(company.getId()) //раньше было stmt.getAddresseeId() - .accountId(account.getId()) //раньше было stmt.getAccountId() + .companyId(company.getId()) + .accountId(account.getId()) .find(); amtFound.ifPresentOrElse(rgs -> { log.debug("stmt.id={}, found AM*T.id={}, updating...", stmt.getId(), rgs.getId()); updateReg(stmt, rgs); - //добавил создание если не найдены Registry registryUnitB = findRegByUnit(company.getId(), account.getId(), stmt.getContract(), rgs, RegistryUnit.B).orElse(copyRegB(rgs)); - Registry registryUnitF = findRegByUnit(company.getId(), account.getId(), stmt.getContract(), rgs, RegistryUnit.F).orElse(copyRegF(rgs, null)); //передаю null т.к. отнимется ниже по коду + Registry registryUnitF = findRegByUnit(company.getId(), account.getId(), stmt.getContract(), rgs, RegistryUnit.F).orElse(copyRegF(rgs, null)); registryUnitF.setBalance(rgs.getBalance().subtract(registryUnitB.getBalance())); registryUnitF.setUpdated(Instant.now()); - //registry F всегда меняется if (registryUnitF.getId() == null) { registryImdg.insert(registryUnitF); log.debug("stmt.id={}, new AM*F.id={}", stmt.getId(), registryUnitF.getId()); @@ -200,7 +174,6 @@ public class Sdf57Executor extends AbstractExecutor { registryImdg.update(registryUnitF); log.debug("stmt.id={}, updated AM*F.id={}", stmt.getId(), registryUnitF.getId()); } - //нужно сохранить registry B только если его не было if (registryUnitB.getId() == null) { registryImdg.insert(registryUnitB); log.debug("stmt.id={}, new AM*B.id={}", stmt.getId(), registryUnitB.getId()); @@ -234,10 +207,6 @@ public class Sdf57Executor extends AbstractExecutor { }); InOutDirection direction = IEnumKey.getEnumByKey(InOutDirection.class, stmt.getInOutDirection()); if (!StringUtils.isEmpty(sdf57.getSpecif()) && pattern.matcher(sdf57.getSpecif()).find() && InOutDirection.in.equals(direction)) { - //todo доделать 11. Идентификация средств УК на клиринговом счете - //stmt.id=340270002, sdf57.specif=Возврат депозита по договору №DT1000S001U/280623/8/7 new DM*T.id=339610032 - //1. у stmt accountId 3021, addresseId 2610034, contract DT1000S001U/280623/8/7 - // Optional dm__Found = RegistrySearch.builder(registryImdg) .rgsCode(RegistryTradingParams.DM__) .companyId(company.getId()) @@ -298,7 +267,7 @@ public class Sdf57Executor extends AbstractExecutor { log.debug("stmt.id={} status -> {}", stmt.getId(), OperationStatus.Executed.getKey()); } else { log.debug("statement.id={} activness validation failed {}", stmt.getId(), messageResolver.resolve(err.get())); - stmt.setErrorCodeId(err.get().getSubject().getId()); // fixme ErrorText insert + stmt.setErrorCodeId(err.get().getSubject().getId()); stmt.setOperationStatus(OperationStatus.Rejected.getKey()); statementImdg.update(stmt); } @@ -345,7 +314,6 @@ public class Sdf57Executor extends AbstractExecutor { registryImdg.insert(newDmau); log.debug("stmt.id={} created DMAU.id={}", stmt.getId(), newDmau.getId()); }); - //DMAU подразумевает увеличение остатка поля balance и credit registry.code=DMAU } } }; @@ -426,7 +394,7 @@ public class Sdf57Executor extends AbstractExecutor { statement.setInOutDirection(inOutDirection.getKey()); statement.setSettlementDate(payDate(sdf57.getPay_date())); statement.setAmount(TextUtil.isEmpty(sdf57.getSum_deb()) ? null : new BigDecimal(sdf57.getSum_deb())); - statement.setOperationStatus(OperationStatus.Pending.getKey());//todo тут что-то с апдейтом статуса на EXEC когда создались регистры с нулевым диффом? + statement.setOperationStatus(OperationStatus.Pending.getKey()); statement.setInSDfId(sdf57.getId()); statement.setInOutSDfType(InOutSDfType.type57.getKey()); @@ -437,13 +405,6 @@ public class Sdf57Executor extends AbstractExecutor { private void calcBalance(Registry rgs, Statement statement) { InOutDirection inOutDirection = IEnumKey.getEnumByKey(InOutDirection.class, statement.getInOutDirection()); - //считаю balance при создании нулевым и исхожу из этого - //При добавлении (на базе изменения statement по sDf57): - //Если значение statement.inOutDirection=IN, то: - //= текущее значение registry.balance + statement.amount - // - //Если значение statement.inOutDirection=OUT, то: - //= текущее значение registry.balance - statement.amount switch (inOutDirection) { case in -> { rgs.setBalance(statement.getAmount()); @@ -459,7 +420,7 @@ public class Sdf57Executor extends AbstractExecutor { rgs.setDiffBalance(safeBD(rgs.getBalance()).subtract(safeBD(rgs.getCheckBalance()))); } rgs.setDiffBalance(safeBD(rgs.getBalance()).subtract(safeBD(rgs.getCheckBalance()))); - rgs.setBalanceDimension(BalanceDimension.MONY.getKey()); //fixme ! смотри описание и ссылка на начало html'ки + rgs.setBalanceDimension(BalanceDimension.MONY.getKey()); } private void updateReg(Statement s, Registry r) { @@ -562,7 +523,7 @@ public class Sdf57Executor extends AbstractExecutor { ImdgPredicateBuilder pb = registryImdg.predicateBuilder(); ImdgPredicate rgstrPredicate = pb.and(pb.sql(sql), pb.sql(sql), - pb.equals("companyId", companyId), //fixme companyId? + pb.equals("companyId", companyId), pb.equals("accountId", accountId) ); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/SdfLegacyExecutor.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/SdfLegacyExecutor.java index 5d9e2800e..00c1ffec2 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/SdfLegacyExecutor.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/SdfLegacyExecutor.java @@ -91,9 +91,6 @@ public class SdfLegacyExecutor extends AbstractExecutor { Company company = validator.getStored(ValidationStored.Company); if (statementRequest.getAccountCreationResults().size() == 0 && ClearingError.AccountNotPresent.equals(error.map(EnumMessage::getSubject).orElse(null))) { - //на данном шаге company существует -> getId ok - //формируем пакетный запрос на добавление account - //ответ придет в этот же метод, process if (company == null) { log.warn("account {} for sdf01.id={} not found. Can not send request for creation, cause company not found too", sdf01.getAccount(), sdf01.getId()); } else { @@ -121,15 +118,6 @@ public class SdfLegacyExecutor extends AbstractExecutor { SDf02 sdf02New = createSuccessSdf02(sdf01, generationIdForGroup); sdf02Imdg.insert(sdf02New); statement.setOutSDfId(sdf02New.getId()); -// AccountResult accountResult = accountBalanceService.createAccountBalance(statement.getAddresseeId(), statement.getAccountId(), statement.getAmount(), -// null/*statement.getCashMovementCurrencyCode()*/); -// if (accountResult.getError() != null) { -// statement.setErrorCodeId(accountResult.getError().getSubject().getId()); -// todo statement.setErrorText(errorResolver.resolve(accountResult.getError())); -// } else { -// accountBalanceImdg.insert(accountResult.getAccount()); //insert == update? -// statement.setOperationStatus(OperationStatus.Executed.getKey()); -// } statementImdg.update(statement); } return result; diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/order/ExecutionDepositSorter.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/order/ExecutionDepositSorter.java index 4a17cba7e..169d73b1c 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/order/ExecutionDepositSorter.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/order/ExecutionDepositSorter.java @@ -24,20 +24,10 @@ public class ExecutionDepositSorter { } public LinkedHashMap>> sortExecutionDeposit(CollectionexecDeposits) { - //отсортировали все записи по категориям - // → внутри каждой подгруппы по категориям сортируем по компаниям - // → обрабатываем почередно все записи первой компании - // → когда по первой компании записи закончились, начинаем обработавать все записи второй компании и так далее - // → когда по первой категории закончились записи для всех компаниий, - // начинаем аналогично обработавать все записи второй категории и так далее). - - //сортируем по категориям Map> categoryGrouping = execDeposits.stream().map(executionDeposit -> { ClearingCategory category = clearingMemberCategoryProvider.apply(executionDeposit.getCompanyId()); return new Pair<>(category, executionDeposit); }).collect(Collectors.groupingBy(Pair::getFirst, Collectors.mapping(Pair::getSecond, Collectors.toList()))); - - //внутри категорий сортируем по компаниям LinkedHashMap>> byCategoryByCompany = new LinkedHashMap<>(); Consumer takeByClearingCategoryAndSortByCompanyId = clearingCategory -> { List wrappers = categoryGrouping.remove(clearingCategory); @@ -52,14 +42,10 @@ public class ExecutionDepositSorter { byCategoryByCompany.put(clearingCategory, batches); } }; - //кладем в порядке I, V, B takeByClearingCategoryAndSortByCompanyId.accept(ClearingCategory.I); takeByClearingCategoryAndSortByCompanyId.accept(ClearingCategory.V); takeByClearingCategoryAndSortByCompanyId.accept(ClearingCategory.B); - //для всех остальных порядок не важен, будут последними categoryGrouping.keySet().forEach(takeByClearingCategoryAndSortByCompanyId); - - //метод для дополнительной сортировки внутри групп по категории и компании BiConsumer> additionalSorting = (clearingCategory, comparator) -> { List> allExecDepositsForCategory = byCategoryByCompany.get(clearingCategory); @@ -67,11 +53,8 @@ public class ExecutionDepositSorter { allExecDepositsForCategory.forEach(singleCompanyBatch -> singleCompanyBatch.sort(comparator)); } }; - //применяем дополнительные сортировки - //для V сначала Sell, потом Buy, в первую очередь должны обрабатываться новые сделки с наименьшими объемами additionalSorting.accept(ClearingCategory.V, firstSellThenBuy.thenComparing(ExecutionDeposit::getFirstLegAmount)); - //для V сначала Buy, потом Sell, exchangeExecutionId - возрастающий additionalSorting.accept(ClearingCategory.B, firstBuyThenSell.thenComparing(ExecutionDeposit::getExchangeExecutionId)); return byCategoryByCompany; diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/order/PaymentInstructionSorter.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/order/PaymentInstructionSorter.java index 9c5ad9ae1..d75a92efe 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/order/PaymentInstructionSorter.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/order/PaymentInstructionSorter.java @@ -78,7 +78,6 @@ public class PaymentInstructionSorter { String message = String.format("cannot sort creditLegAccount.type=%s, debitLegAccount.type=%s", creditLegAcc.getAccountType(), debitLegAcc.getAccountType()); log.error("generationId={}, senderId={} payment.id={} {}", generationId, senderId, payment.getId(), message); - //continue; } } Function, BigDecimal> creditAmountSum = paymentInstructions -> paymentInstructions @@ -124,7 +123,6 @@ public class PaymentInstructionSorter { result.add(batchInfo); } else { log.debug("Do nothing as category {}, check next", categoryValue); - // проверить следующую категорил, когда закончатся выдать ошибку } } log.warn("unknown clearing member category [" + companyCategory + "] for generationId=" diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/ExecutionDepositValidationRule.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/ExecutionDepositValidationRule.java index b4d158b88..c9a18a220 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/ExecutionDepositValidationRule.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/ExecutionDepositValidationRule.java @@ -34,17 +34,7 @@ public enum ExecutionDepositValidationRule implements IValidationRule validate(ImdgValidationContext context) { ExecutionDeposit validatedObject = context.getValidatedObject(); -// todo CLS-275 if (validatedObject.getAccountId() == null) { return of(ClearingErrorInternal.AccountNotActive); -// } -// Imdg accountImdg = context.obtainMap(IMDGDistributedNames.Map_Account, Account.class); -// Relation relation = context.getStoredObject(ClrngValidationStored.relation); -// Account account = accountImdg.getSingleObjectByFieldValues( -// Map.of("id", validatedObject.getAccountId(), "relationId", relation.getId())); -// if (account == null || !AccountStatus.ACTIVE.equalsByKey(account.getStatus())) { -// return of(ClearingErrorInternal.AccountNotActive); -// } -// return empty(); } }, CompanyIsNotBlocked() { @@ -67,18 +57,7 @@ public enum ExecutionDepositValidationRule implements IValidationRule accountBalanceImdg = context.obtainMap(IMDGDistributedNames.Map_AccountBalance, AccountBalance.class); -// todo CLS-275 AccountBalance accountBalance = accountBalanceImdg.getSingleObjectByFieldValues( -// Map.of("accountId", validatedObject.getAccountId(), -// "companyId", validatedObject.getCompanyId())); -// if (accountBalance == null) { return of(ClearingErrorInternal.FinancialObligationNotSatisfied); -// } - //todo ABS -// todo CLS-275 if (validatedObject.getFirstLegAmount().compareTo(accountBalance.getFreeBalanceAmount()) > 0) { -// return of(ClearingErrorInternal.FinancialObligationNotSatisfied); -// } -// return empty(); } }; diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/STradesValidationRule.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/STradesValidationRule.java index 6190efd41..cf5ff989b 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/STradesValidationRule.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/STradesValidationRule.java @@ -20,8 +20,6 @@ import java.util.Optional; public enum STradesValidationRule implements IValidationRule> { - // 2.1. Найти в security запись, у которой security.securitySymbol=sTrades.secCode. - // Если такой записи нет, записать в лог ошибку (5416) "Инструмент %s не найден". SecurityPresentFond() { @Override public Optional validate(ImdgValidationContext context) { @@ -56,8 +54,6 @@ public enum STradesValidationRule implements IValidationRule validate(ImdgValidationContext context) { @@ -91,9 +87,6 @@ public enum STradesValidationRule implements IValidationRule validate(ImdgValidationContext context) { @@ -101,7 +94,7 @@ public enum STradesValidationRule implements IValidationRule registryImdg = context.obtainMap(IMDGDistributedNames.Map_TradingClearingRegistry, TradingClearingRegistry.class); @@ -112,9 +105,6 @@ public enum STradesValidationRule implements IValidationRule companyImdg = context.obtainMap(IMDGDistributedNames.Map_Company, Company.class); CompanySymbols companySymbols = null; - if (sdf06.getInn() != null) { //TextUtil.isEmpty + if (sdf06.getInn() != null) { companySymbols = companySymbolsImdg.getFirstObjectByFieldValues(Map.of( "companySymbol", CompanySymbol.INN.getKey(), "companySymbolValue", sdf06.getInn())); @@ -61,8 +61,6 @@ public enum Sdf06NewValidationRule implements IValidationRule validate(ImdgValidationContext context) { diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/Sdf08NewValidationRule.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/Sdf08NewValidationRule.java index a9124eb4b..3f037530f 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/Sdf08NewValidationRule.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/Sdf08NewValidationRule.java @@ -19,7 +19,7 @@ import java.util.Map; import java.util.Optional; public enum Sdf08NewValidationRule implements IValidationRule> { - @Deprecated // unused, см. тз по поиску компаний "III - Изменение statement по sDf08" 1. + @Deprecated CompanyPresent() { @Override public Optional validate(ImdgValidationContext context) { diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/FinalMkrSession.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/FinalMkrSession.java index fdacfabe4..3a5546d5a 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/FinalMkrSession.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/FinalMkrSession.java @@ -90,7 +90,6 @@ public class FinalMkrSession extends AbstractSession implements InitializingBean @Override public void afterPropertiesSet() throws Exception { dealsPrepare.searchForExecutions(ExecutionType.ExecutionDeposit); - //fixme спросить у Кости нужны ли эти поправки ImdgPredicateBuilder rgsPrctBuilder = registryImdg.predicateBuilder(); inclusionObligations.addRegistryCondition( rgsPrctBuilder.and( @@ -135,62 +134,41 @@ public class FinalMkrSession extends AbstractSession implements InitializingBean log.info("will not continue session, current stage is {}", currStage.get()); } } catch (StageException e) { - //already logged } } private void firstPart(BaseRequest req) { try { - //stage 1 StageResult> dealsPreparationResult; { DealsPreparePayload payload = new DealsPreparePayload(); payload.setSessionId(currSession.getId()); dealsPreparationResult = runStage(TaskType.DealsPrepare, payload, dealsPrepare); - //Сначала обрабатываются записи, у которых settlementCode = значению, у которого первый символ ="T", второй =0, - // а после settlementCode = значению, у которого первый символ ="B", второй ≠0, последующие =любые цифры - //dealsPreparationResult.getStageResult().sort((o1, o2) -> { - // String o1SettlementCode = ((ExecutionDeposit) o1).getFirstLegSettlementCode(); - // String o2SettlementCode = ((ExecutionDeposit) o2).getSecondLegSettlementCode(); - // Function mapper = (settlementCode) -> { - // if (settlementCode.startsWith("T")) return -1; - // else if (settlementCode.startsWith("B")) return 1; - // else return 0; - // }; - // return mapper.apply(o1SettlementCode).compareTo(mapper.apply(o2SettlementCode)); - //}); } - //stage 2 runStage(TaskType.RequirementsAndObligationsCreate, dealsPreparationResult.getStageResult(), requirementsAndObligationCreation); - //stage 3 runStage(TaskType.ObligationsAdmission, currSession.getId(), obligationsAdmission); - //stage 4 { InclusionToPoolPayload inclusionToPoolPayload = new InclusionToPoolPayload(); inclusionToPoolPayload.setSessionType(currSession.getSessionType()); inclusionToPoolPayload.setSessionId(currSession.getId()); runStage(TaskType.InclusionToPool, inclusionToPoolPayload, inclusionObligations); } - //stage 5 { InspectionPoolPayload companyIdPayload = new InspectionPoolPayload(); companyIdPayload.setProcessedCompanyId(currSession.getCompanyId()); runStage(TaskType.InspectionObligations, companyIdPayload, inspectionObligationsReturn); runStage(TaskType.InspectionObligations, companyIdPayload, inspectionObligations); } - //stage 6 { FormingRegistersOnOSPayload payload = new FormingRegistersOnOSPayload(); payload.setSessionId(currSession.getId()); - runStage(TaskType.FormingRegistersOnOS, payload, formingRegistersOnOS); //returns Collection + runStage(TaskType.FormingRegistersOnOS, payload, formingRegistersOnOS); } - //stage 7 StageResult> returnsPayment = null; { FormingPaymentInstructionPayload payload = new FormingPaymentInstructionPayload(); payload.setSessionId(currSession.getId()); - //stage 7 returnsPayment = runStage(TaskType.FormingPaymentInstruction, payload, formingPaymentInstructionReturn); } @@ -199,15 +177,12 @@ public class FinalMkrSession extends AbstractSession implements InitializingBean FormingPaymentInstructionDealsMkrPayload payload = new FormingPaymentInstructionDealsMkrPayload(); payload.setSessionId(currSession.getId()); payload.setPaymentInstructionReturns(returnsPayment.getStageResult()); - //stage 7 paymentResult = runStage(TaskType.FormingPaymentInstruction, payload, formingPaymentInstructionDeals); } if (paymentResult != null && paymentResult.getStageResult().isEmpty()) { runStage(TaskType.FormingPaymentInstruction, balanceRevise); -// finishPart(req); } } catch (StageException e) { - //already logged } } @@ -217,14 +192,12 @@ public class FinalMkrSession extends AbstractSession implements InitializingBean log.error("cannot continue session, current stage is {}", currStage.get()); throw new StageException(); } - //stage 10 { FinishingSessionPayload payload = new FinishingSessionPayload(); payload.setSessionId(currSession.getId()); payload.setPr("3"); runStage(TaskType.FinishingSession, payload, finishingSession); } - //stage 11 { EndStageNotificationPayload payload = new EndStageNotificationPayload(); payload.setSection(currSession.getSection()); @@ -233,7 +206,6 @@ public class FinalMkrSession extends AbstractSession implements InitializingBean endSession(); } } catch (StageException e) { - //already logged } } @@ -251,8 +223,6 @@ public class FinalMkrSession extends AbstractSession implements InitializingBean newSession.setWorkflowStatus(SessionStatus.ACTV.getKey()); newSession.setClearingDate(LocalDate.now()); newSession.setCreated(Instant.now()); - - //todo companyId/securityId/userId передается из сообщения очереди sessionImdg.insert(newSession); currSession = newSession; log.info("started new session.id={}", this.currSession.getId()); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/ISessionStage.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/ISessionStage.java index 232e4c6dd..da96bb48c 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/ISessionStage.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/ISessionStage.java @@ -2,5 +2,4 @@ package ru.spcex.clearing.session.stage; public interface ISessionStage { StageResult submit(Task task); -// StageStatus getInitStatus(); пока не нужно } diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/IntermediateMkrSession.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/IntermediateMkrSession.java index 526b6503a..3b37adfc6 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/IntermediateMkrSession.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/IntermediateMkrSession.java @@ -90,7 +90,6 @@ public class IntermediateMkrSession extends AbstractSession implements Initializ @Override public void afterPropertiesSet() throws Exception { dealsPrepare.searchForExecutions(ExecutionType.ExecutionDeposit); - //fixme спросить у Кости нужны ли эти поправки ImdgPredicateBuilder rgsPrctBuilder = registryImdg.predicateBuilder(); inclusionObligations.addRegistryCondition( rgsPrctBuilder.and( @@ -135,50 +134,41 @@ public class IntermediateMkrSession extends AbstractSession implements Initializ log.info("will not continue session, current stage is {}", currStage.get()); } } catch (StageException e) { - //already logged } } private void firstPart(BaseRequest req) { try { - //stage 1 StageResult> dealsPreparationResult; { DealsPreparePayload payload = new DealsPreparePayload(); payload.setSessionId(currSession.getId()); dealsPreparationResult = runStage(TaskType.DealsPrepare, payload, dealsPrepare); } - //stage 2 runStage(TaskType.RequirementsAndObligationsCreate, dealsPreparationResult.getStageResult(), requirementsAndObligationCreation); - //stage 3 runStage(TaskType.ObligationsAdmission, currSession.getId(), obligationsAdmission); - //stage 4 { InclusionToPoolPayload inclusionToPoolPayload = new InclusionToPoolPayload(); inclusionToPoolPayload.setSessionType(currSession.getSessionType()); inclusionToPoolPayload.setSessionId(currSession.getId()); runStage(TaskType.InclusionToPool, inclusionToPoolPayload, inclusionObligations); } - //stage 5 { InspectionPoolPayload companyIdPayload = new InspectionPoolPayload(); companyIdPayload.setProcessedCompanyId(currSession.getCompanyId()); runStage(TaskType.InspectionObligations, companyIdPayload, inspectionObligationsReturn); runStage(TaskType.InspectionObligations, companyIdPayload, inspectionObligations); } - //stage 6 { FormingRegistersOnOSPayload payload = new FormingRegistersOnOSPayload(); payload.setSessionId(currSession.getId()); - runStage(TaskType.FormingRegistersOnOS, payload, formingRegistersOnOS); //returns Collection + runStage(TaskType.FormingRegistersOnOS, payload, formingRegistersOnOS); } - //stage 7 StageResult> returnsPayment = null; { FormingPaymentInstructionPayload payload = new FormingPaymentInstructionPayload(); payload.setSessionId(currSession.getId()); - //stage 7 returnsPayment = runStage(TaskType.FormingPaymentInstruction, payload, formingPaymentInstructionReturn); } @@ -187,15 +177,12 @@ public class IntermediateMkrSession extends AbstractSession implements Initializ FormingPaymentInstructionDealsMkrPayload payload = new FormingPaymentInstructionDealsMkrPayload(); payload.setSessionId(currSession.getId()); payload.setPaymentInstructionReturns(returnsPayment.getStageResult()); - //stage 7 paymentResult = runStage(TaskType.FormingPaymentInstruction, payload, formingPaymentInstructionDeals); } if (paymentResult != null && paymentResult.getStageResult().isEmpty()) { runStage(TaskType.FormingPaymentInstruction, balanceRevise); -// finishPart(req); } } catch (StageException e) { - //already logged } } @@ -205,14 +192,12 @@ public class IntermediateMkrSession extends AbstractSession implements Initializ log.error("cannot continue session, current stage is {}", currStage.get()); throw new StageException(); } - //stage 10 { FinishingSessionPayload payload = new FinishingSessionPayload(); payload.setSessionId(currSession.getId()); payload.setPr("3"); runStage(TaskType.FinishingSession, payload, finishingSession); } - //stage 11 { EndStageNotificationPayload payload = new EndStageNotificationPayload(); payload.setSection(currSession.getSection()); @@ -221,7 +206,6 @@ public class IntermediateMkrSession extends AbstractSession implements Initializ endSession(); } } catch (StageException e) { - //already logged } } @@ -239,8 +223,6 @@ public class IntermediateMkrSession extends AbstractSession implements Initializ newSession.setWorkflowStatus(SessionStatus.ACTV.getKey()); newSession.setClearingDate(LocalDate.now()); newSession.setCreated(Instant.now()); - - //todo companyId/securityId/userId передается из сообщения очереди sessionImdg.insert(newSession); currSession = newSession; log.info("started new session.id={}", this.currSession.getId()); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionB0Session.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionB0Session.java index 64f627535..a05e70ba4 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionB0Session.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionB0Session.java @@ -120,50 +120,41 @@ public class PrimaryAuctionB0Session extends AbstractSession implements Initiali log.info("will not continue session, current stage is {}", currStage.get()); } } catch (StageException e) { - //already logged } } private void firstPart(BaseRequest req) { try { - //stage 1 StageResult> dealsPreparationResult; { DealsPreparePayload payload = new DealsPreparePayload(); payload.setSessionId(currSession.getId()); dealsPreparationResult = runStage(TaskType.DealsPrepare, payload, dealsPrepare); } - //stage 2 runStage(TaskType.RequirementsAndObligationsCreate, dealsPreparationResult.getStageResult(), requirementsAndObligationCreation); - //stage 3 runStage(TaskType.ObligationsAdmission, currSession.getId(), obligationsAdmission); - //stage 4 { InclusionToPoolPayload inclusionToPoolPayload = new InclusionToPoolPayload(); inclusionToPoolPayload.setSessionType(currSession.getSessionType()); inclusionToPoolPayload.setSessionId(currSession.getId()); runStage(TaskType.InclusionToPool, inclusionToPoolPayload, inclusionObligations); } - //stage 5 { InspectionPoolPayload companyIdPayload = new InspectionPoolPayload(); companyIdPayload.setProcessedCompanyId(currSession.getCompanyId()); runStage(TaskType.InspectionObligations, companyIdPayload, inspectionObligations); } - //stage 6 { FormingRegistersOnOSPayload payload = new FormingRegistersOnOSPayload(); payload.setSessionId(currSession.getId()); - runStage(TaskType.FormingRegistersOnOS, payload, formingRegistersOnOS); //returns Collection + runStage(TaskType.FormingRegistersOnOS, payload, formingRegistersOnOS); } StageResult> returnsPayment = null; { FormingPaymentInstructionPayload payload = new FormingPaymentInstructionPayload(); payload.setSessionId(currSession.getId()); - //stage 7 returnsPayment = runStage(TaskType.FormingPaymentInstruction, payload, formingPaymentInstruction); } - //stage 7 StageResult> paymentResult = null; { FormingPaymentInstructionDealsMkrPayload payload = new FormingPaymentInstructionDealsMkrPayload(); @@ -175,10 +166,8 @@ public class PrimaryAuctionB0Session extends AbstractSession implements Initiali } if (paymentResult != null && paymentResult.getStageResult().isEmpty()) { runStage(TaskType.FormingPaymentInstruction, balanceRevise); -// finishPart(req); } } catch (StageException e) { - //already logged } } @@ -188,14 +177,12 @@ public class PrimaryAuctionB0Session extends AbstractSession implements Initiali log.error("cannot continue session, current stage is {}", currStage.get()); throw new StageException(); } - //stage 10 { FinishingSessionPayload payload = new FinishingSessionPayload(); payload.setSessionId(currSession.getId()); payload.setPr("0"); runStage(TaskType.FinishingSession, payload, finishingSession); } - //stage 11 { EndStageNotificationPayload payload = new EndStageNotificationPayload(); payload.setSection(currSession.getSection()); @@ -204,7 +191,6 @@ public class PrimaryAuctionB0Session extends AbstractSession implements Initiali endSession(); } } catch (StageException e) { - //already logged } } @@ -222,7 +208,6 @@ public class PrimaryAuctionB0Session extends AbstractSession implements Initiali newSession.setWorkflowStatus(SessionStatus.ACTV.getKey()); newSession.setClearingDate(LocalDate.now()); newSession.setCreated(Instant.now()); - //todo companyId/securityId/userId передается из сообщения очереди sessionImdg.insert(newSession); currSession = newSession; log.info("started new session.id={}", this.currSession.getId()); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionBnSession.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionBnSession.java index 0358cad35..1515d7cc9 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionBnSession.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionBnSession.java @@ -120,50 +120,41 @@ public class PrimaryAuctionBnSession extends AbstractSession implements Initiali log.info("will not continue session, current stage is {}", currStage.get()); } } catch (StageException e) { - //already logged } } private void firstPart(BaseRequest req) { try { - //stage 1 StageResult> dealsPreparationResult; { DealsPreparePayload payload = new DealsPreparePayload(); payload.setSessionId(currSession.getId()); dealsPreparationResult = runStage(TaskType.DealsPrepare, payload, dealsPrepare); } - //stage 2 runStage(TaskType.RequirementsAndObligationsCreate, dealsPreparationResult.getStageResult(), requirementsAndObligationCreation); - //stage 3 runStage(TaskType.ObligationsAdmission, currSession.getId(), obligationsAdmission); - //stage 4 { InclusionToPoolPayload inclusionToPoolPayload = new InclusionToPoolPayload(); inclusionToPoolPayload.setSessionType(currSession.getSessionType()); inclusionToPoolPayload.setSessionId(currSession.getId()); runStage(TaskType.InclusionToPool, inclusionToPoolPayload, inclusionObligations); } - //stage 5 { InspectionPoolPayload companyIdPayload = new InspectionPoolPayload(); companyIdPayload.setProcessedCompanyId(currSession.getCompanyId()); runStage(TaskType.InspectionObligations, companyIdPayload, inspectionObligations); } - //stage 6 { FormingRegistersOnOSPayload payload = new FormingRegistersOnOSPayload(); payload.setSessionId(currSession.getId()); - runStage(TaskType.FormingRegistersOnOS, payload, formingRegistersOnOS); //returns Collection + runStage(TaskType.FormingRegistersOnOS, payload, formingRegistersOnOS); } StageResult> returnsPayment = null; { FormingPaymentInstructionPayload payload = new FormingPaymentInstructionPayload(); payload.setSessionId(currSession.getId()); - //stage 7 returnsPayment = runStage(TaskType.FormingPaymentInstruction, payload, formingPaymentInstruction); } - //stage 7 StageResult> paymentResult = null; { FormingPaymentInstructionDealsMkrPayload payload = new FormingPaymentInstructionDealsMkrPayload(); @@ -175,10 +166,8 @@ public class PrimaryAuctionBnSession extends AbstractSession implements Initiali } if (paymentResult != null && paymentResult.getStageResult().isEmpty()) { runStage(TaskType.FormingPaymentInstruction, balanceRevise); -// finishPart(req); } } catch (StageException e) { - //already logged } } @@ -188,14 +177,12 @@ public class PrimaryAuctionBnSession extends AbstractSession implements Initiali log.error("cannot continue session, current stage is {}", currStage.get()); throw new StageException(); } - //stage 10 { FinishingSessionPayload payload = new FinishingSessionPayload(); payload.setSessionId(currSession.getId()); payload.setPr("0"); runStage(TaskType.FinishingSession, payload, finishingSession); } - //stage 11 { EndStageNotificationPayload payload = new EndStageNotificationPayload(); payload.setSection(currSession.getSection()); @@ -204,7 +191,6 @@ public class PrimaryAuctionBnSession extends AbstractSession implements Initiali endSession(); } } catch (StageException e) { - //already logged } } @@ -222,8 +208,6 @@ public class PrimaryAuctionBnSession extends AbstractSession implements Initiali newSession.setWorkflowStatus(SessionStatus.ACTV.getKey()); newSession.setClearingDate(LocalDate.now()); newSession.setCreated(Instant.now()); - - //todo companyId/securityId/userId передается из сообщения очереди sessionImdg.insert(newSession); currSession = newSession; log.info("started new session.id={}", this.currSession.getId()); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionT0Session.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionT0Session.java index e08fa4150..0ca153b44 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionT0Session.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionT0Session.java @@ -119,50 +119,41 @@ public class PrimaryAuctionT0Session extends AbstractSession implements Initiali log.info("will not continue session, current stage is {}", currStage.get()); } } catch (StageException e) { - //already logged } } private void firstPart(BaseRequest req) { try { - //stage 1 StageResult> dealsPreparationResult; { DealsPreparePayload payload = new DealsPreparePayload(); payload.setSessionId(currSession.getId()); dealsPreparationResult = runStage(TaskType.DealsPrepare, payload, dealsPrepare); } - //stage 2 runStage(TaskType.RequirementsAndObligationsCreate, dealsPreparationResult.getStageResult(), requirementsAndObligationCreation); - //stage 3 runStage(TaskType.ObligationsAdmission, currSession.getId(), obligationsAdmission); - //stage 4 { InclusionToPoolPayload inclusionToPoolPayload = new InclusionToPoolPayload(); inclusionToPoolPayload.setSessionType(currSession.getSessionType()); inclusionToPoolPayload.setSessionId(currSession.getId()); runStage(TaskType.InclusionToPool, inclusionToPoolPayload, inclusionObligations); } - //stage 5 { InspectionPoolPayload companyIdPayload = new InspectionPoolPayload(); companyIdPayload.setProcessedCompanyId(currSession.getCompanyId()); runStage(TaskType.InspectionObligations, companyIdPayload, inspectionObligations); } - //stage 6 { FormingRegistersOnOSPayload payload = new FormingRegistersOnOSPayload(); payload.setSessionId(currSession.getId()); - runStage(TaskType.FormingRegistersOnOS, payload, formingRegistersOnOS); //returns Collection + runStage(TaskType.FormingRegistersOnOS, payload, formingRegistersOnOS); } StageResult> returnsPayment = null; { FormingPaymentInstructionPayload payload = new FormingPaymentInstructionPayload(); payload.setSessionId(currSession.getId()); - //stage 7 returnsPayment = runStage(TaskType.FormingPaymentInstruction, payload, formingPaymentInstruction); } - //stage 7 StageResult> paymentResult = null; { FormingPaymentInstructionDealsMkrPayload payload = new FormingPaymentInstructionDealsMkrPayload(); @@ -174,10 +165,8 @@ public class PrimaryAuctionT0Session extends AbstractSession implements Initiali } if (paymentResult != null && paymentResult.getStageResult().isEmpty()) { runStage(TaskType.FormingPaymentInstruction, balanceRevise); -// finishPart(req); } } catch (StageException e) { - //already logged } } @@ -187,14 +176,12 @@ public class PrimaryAuctionT0Session extends AbstractSession implements Initiali log.error("cannot continue session, current stage is {}", currStage.get()); throw new StageException(); } - //stage 10 { FinishingSessionPayload payload = new FinishingSessionPayload(); payload.setSessionId(currSession.getId()); payload.setPr("0"); runStage(TaskType.FinishingSession, payload, finishingSession); } - //stage 11 { EndStageNotificationPayload payload = new EndStageNotificationPayload(); payload.setSection(currSession.getSection()); @@ -203,7 +190,6 @@ public class PrimaryAuctionT0Session extends AbstractSession implements Initiali endSession(); } } catch (StageException e) { - //already logged } } @@ -220,7 +206,6 @@ public class PrimaryAuctionT0Session extends AbstractSession implements Initiali newSession.setWorkflowStatus(SessionStatus.ACTV.getKey()); newSession.setClearingDate(LocalDate.now()); newSession.setCreated(Instant.now()); - //todo companyId/securityId/userId передается из сообщения очереди sessionImdg.insert(newSession); currSession = newSession; log.info("started new session.id={}", this.currSession.getId()); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/ReturnDepositSession.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/ReturnDepositSession.java index c6d6c206c..30571a233 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/ReturnDepositSession.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/ReturnDepositSession.java @@ -115,44 +115,37 @@ public class ReturnDepositSession extends AbstractSession implements Initializin log.info("will not continue session, current stage is {}", currStage.get()); } } catch (StageException e) { - //already logged } } private void firstPart(BaseRequest req) { try { - //stage 4 { InclusionToPoolPayload inclusionToPoolPayload = new InclusionToPoolPayload(); inclusionToPoolPayload.setSessionId(currSession.getId()); runStage(TaskType.InclusionToPool, inclusionToPoolPayload, inclusionObligations); } - //stage 5 { InspectionPoolPayload companyIdPayload = new InspectionPoolPayload(); companyIdPayload.setProcessedCompanyId(currSession.getCompanyId()); runStage(TaskType.InspectionObligations, companyIdPayload, inspectionObligationsDepositReturn); } - //stage 6 { FormingRegistersOnOSPayload payload = new FormingRegistersOnOSPayload(); payload.setSessionId(currSession.getId()); - runStage(TaskType.FormingRegistersOnOS, payload, formingRegistersOnOS); //returns Collection + runStage(TaskType.FormingRegistersOnOS, payload, formingRegistersOnOS); } StageResult> paymentResult = null; { FormingPaymentInstructionPayload payload = new FormingPaymentInstructionPayload(); payload.setSessionId(currSession.getId()); - //stage 7 paymentResult = runStage(TaskType.FormingPaymentInstruction, payload, formingPaymentInstruction); } if (paymentResult != null && paymentResult.getStageResult().isEmpty()) { runStage(TaskType.FormingPaymentInstruction, balanceRevise); -// finishPart(req); } } catch (StageException e) { - //already logged } } @@ -162,13 +155,11 @@ public class ReturnDepositSession extends AbstractSession implements Initializin log.error("cannot continue session, current stage is {}", currStage.get()); throw new StageException(); } - //stage 10 { FinishingSessionPayload payload = new FinishingSessionPayload(); payload.setSessionId(currSession.getId()); runStage(TaskType.FinishingSession, payload, finishingSession); } - //stage 11 { EndStageNotificationPayload payload = new EndStageNotificationPayload(); payload.setSection(currSession.getSection()); @@ -177,7 +168,6 @@ public class ReturnDepositSession extends AbstractSession implements Initializin endSession(); } } catch (StageException e) { - //already logged } } @@ -195,8 +185,6 @@ public class ReturnDepositSession extends AbstractSession implements Initializin newSession.setWorkflowStatus(SessionStatus.ACTV.getKey()); newSession.setClearingDate(LocalDate.now()); newSession.setCreated(Instant.now()); - - //todo companyId/securityId/userId передается из сообщения очереди sessionImdg.insert(newSession); currSession = newSession; log.info("started new session.id={}", this.currSession.getId()); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/SecondaryAuctionT0Session.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/SecondaryAuctionT0Session.java index 733978c7e..23d03caf9 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/SecondaryAuctionT0Session.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/SecondaryAuctionT0Session.java @@ -121,41 +121,34 @@ public class SecondaryAuctionT0Session extends AbstractSession implements Initia log.info("will not continue session, current stage is {}", currStage.get()); } } catch (StageException e) { - //already logged } } private void firstPart(BaseRequest req) { try { - //stage 1 StageResult> dealsPreparationResult; { DealsPreparePayload payload = new DealsPreparePayload(); payload.setSessionId(currSession.getId()); dealsPreparationResult = runStage(TaskType.DealsPrepare, payload, dealsPrepare); } - //stage 2 runStage(TaskType.RequirementsAndObligationsCreate, dealsPreparationResult.getStageResult(), requirementsAndObligationCreation); - //stage 3 runStage(TaskType.ObligationsAdmission, currSession.getId(), obligationsAdmission); - //stage 4 { InclusionToPoolPayload inclusionToPoolPayload = new InclusionToPoolPayload(); inclusionToPoolPayload.setSessionType(currSession.getSessionType()); inclusionToPoolPayload.setSessionId(currSession.getId()); runStage(TaskType.InclusionToPool, inclusionToPoolPayload, inclusionObligations); } - //stage 5 { InspectionPoolPayload companyIdPayload = new InspectionPoolPayload(); companyIdPayload.setProcessedCompanyId(currSession.getCompanyId()); runStage(TaskType.InspectionObligations, companyIdPayload, inspectionObligations); } - //stage 6 { FormingRegistersOnOSPayload payload = new FormingRegistersOnOSPayload(); payload.setSessionId(currSession.getId()); - runStage(TaskType.FormingRegistersOnOS, payload, formingRegistersOnOS); //returns Collection + runStage(TaskType.FormingRegistersOnOS, payload, formingRegistersOnOS); } StageResult> returnsPayment = null; { @@ -164,7 +157,6 @@ public class SecondaryAuctionT0Session extends AbstractSession implements Initia payload.setSendSdfs(false); payload.setSection(section()); payload.setPaymentInstructionReturns(new ArrayList<>()); - //stage 7 returnsPayment = runStage(TaskType.FormingPaymentInstruction, payload, formingPaymentInstructionDealsFinalMkr); } @@ -173,15 +165,12 @@ public class SecondaryAuctionT0Session extends AbstractSession implements Initia FormingPaymentInstructionDealsMkrPayload payload = new FormingPaymentInstructionDealsMkrPayload(); payload.setSessionId(currSession.getId()); payload.setPaymentInstructionReturns(returnsPayment.getStageResult()); - //stage 7 paymentResult = runStage(TaskType.FormingPaymentInstruction, payload, formingPaymentInstruction); } if (paymentResult != null && paymentResult.getStageResult().isEmpty()) { runStage(TaskType.FormingPaymentInstruction, balanceRevise); -// finishPart(req); } } catch (StageException e) { - //already logged } } @@ -191,14 +180,12 @@ public class SecondaryAuctionT0Session extends AbstractSession implements Initia log.error("cannot continue session, current stage is {}", currStage.get()); throw new StageException(); } - //stage 10 { FinishingSessionPayload payload = new FinishingSessionPayload(); payload.setSessionId(currSession.getId()); payload.setPr("1"); runStage(TaskType.FinishingSession, payload, finishingSession); } - //stage 11 { EndStageNotificationPayload payload = new EndStageNotificationPayload(); payload.setSection(currSession.getSection()); @@ -207,7 +194,6 @@ public class SecondaryAuctionT0Session extends AbstractSession implements Initia endSession(); } } catch (StageException e) { - //already logged } } @@ -225,8 +211,6 @@ public class SecondaryAuctionT0Session extends AbstractSession implements Initia newSession.setWorkflowStatus(SessionStatus.ACTV.getKey()); newSession.setClearingDate(LocalDate.now()); newSession.setCreated(Instant.now()); - - //todo companyId/securityId/userId передается из сообщения очереди sessionImdg.insert(newSession); currSession = newSession; log.info("started new session.id={}", this.currSession.getId()); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/SessionManager.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/SessionManager.java index 0ce0748e7..d34af5d50 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/SessionManager.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/SessionManager.java @@ -34,9 +34,8 @@ public class SessionManager { this.returnDepositSession = returnDepositSession; } - public void defineAndStartSession(BaseRequest r) { //task sclr section fond sessiontype trdt + public void defineAndStartSession(BaseRequest r) { LauncherCommandRequest payload = r.getRequestPayload(); -// Long sessionId = commandRequest.getSessionId(); SessionType sessionType = IEnumKey.getEnumByKey(SessionType.class, payload.getSessionType()); Section section = IEnumKey.getEnumByKey(Section.class, payload.getSection()); if (sessionType == null || section == null) { @@ -56,7 +55,6 @@ public class SessionManager { } if (session != null) { - //checkActive session.runSession(baseRequest); } } diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/SessionStage.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/SessionStage.java index b01429c24..740feef28 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/SessionStage.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/SessionStage.java @@ -5,5 +5,4 @@ public enum SessionStage { DealsPrepare, ObligationCalculate, ObligationAdmittance, - //... } diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/TaskType.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/TaskType.java index 9353c085d..7ce1c43cf 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/TaskType.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/TaskType.java @@ -3,56 +3,19 @@ package ru.spcex.clearing.session.stage; import ru.spcex.platform.utils.enumeration.IEnumKey; public enum TaskType implements IEnumKey { - /** - * step 0/9 - */ StartRevise("CLR0"), ContinueRevise("CLR 0_0"), - /** - * step 1 - */ DealsPrepare("CL01"), - /** - * step 2 - */ RequirementsAndObligationsCreate("CL02"), - /** - * step 3 - */ ObligationsAdmission("CL03"), - /** - * step 4 - */ InclusionToPool("CL04"), - /** - * step 5 - */ InspectionObligations("CL05"), - /** - * Step 6: forming Registry on Obligations and Settlement requirements - */ FormingRegistersOnOS("CL06"), - /** - * step 7 - */ FormingPaymentInstruction("CL07"), - /** - * step 8 - */ UnlockResources("CL08"), -// /** -// * step 0/9 -// */ -// AgainRevise("CL09"), - /** - * Step 10 - */ FinishingSession("CL10"), - /** - * Step 11 - */ EndStageNotification("CL11"); private String key; diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/BalanceRevise.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/BalanceRevise.java index fd9738c2f..81bee8e3c 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/BalanceRevise.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/BalanceRevise.java @@ -33,7 +33,6 @@ import java.util.Collection; @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) public class BalanceRevise implements ISessionStage { private final Logger log = LoggerFactory.getLogger(getClass()); - //todo remove (set all in single method setImdg(provider -> setImdg1();setIdGenerator();...) private ImdgProvider imdgProvider; private ImdgId idGenerator; private Imdg statementImdg; diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/DealsPrepare.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/DealsPrepare.java index e66c6139f..ee49f3130 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/DealsPrepare.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/DealsPrepare.java @@ -64,7 +64,7 @@ public class DealsPrepare implements ISessionStage { log.info("loading deals sessionId: {}, companyId: {}, securityId: {}", sessionId, companyId, securityId); StringBuilder executionDepositSQL = new StringBuilder("sessionId = null"); if (companyId != null) { - executionDepositSQL.append(" and companyId = ").append(companyId); //fixme вероятно в ТЗ недостаточно условий для выборки - counterPartyId + executionDepositSQL.append(" and companyId = ").append(companyId); } if (securityId != null) { executionDepositSQL.append(" and securityId = ").append(securityId); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/EndStageNotification.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/EndStageNotification.java index 8a27ff254..b4fc0b8c5 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/EndStageNotification.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/EndStageNotification.java @@ -70,7 +70,6 @@ public class EndStageNotification implements ISessionStage { } protected StageResult endStageNotification(String section, Long sessionId) { - // 1. Изменить статус Session theSession = sessionImdg.getSingleObjectByID(sessionId); if (theSession == null) { log.warn("Session {} not found", sessionId); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FinishingSession.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FinishingSession.java index 18e878653..9a734c9f4 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FinishingSession.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FinishingSession.java @@ -68,7 +68,6 @@ public class FinishingSession implements ISessionStage { } protected StageResult finishingSession(Long sessionId, String pr) { - // 2. Отправка сообщений Collection forRegistries = selectRegistry(sessionId); log.debug("Found {} registries for sessionId={}", forRegistries.size(), sessionId); @@ -93,9 +92,6 @@ public class FinishingSession implements ISessionStage { return res; } - /** - * формирование операционного отчета об обязательствах - **/ protected StageResult toReportSession(Long sessionId) { ReportRequestWithSessionId reportSessionRequest = new ReportRequestWithSessionId(); reportSessionRequest.setSessionId(sessionId); @@ -107,9 +103,6 @@ public class FinishingSession implements ISessionStage { return new StageResult<>(null, true); } - /** - * формирование операционного отчета о денежных средствах - **/ protected StageResult toReportMoney(Long sessionId, Registry registry) { ReportRequestWithRegistryId reportMoneyRequest = new ReportRequestWithRegistryId(); reportMoneyRequest.setSessionId(sessionId); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingPaymentInstruction.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingPaymentInstruction.java index 312b0baef..0e6b26326 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingPaymentInstruction.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingPaymentInstruction.java @@ -48,7 +48,6 @@ import static ru.spcex.platform.enumeration.RegistryTradingParams.LS_T; @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) public class FormingPaymentInstruction implements ISessionStage { private final Logger log = LoggerFactory.getLogger(getClass()); - //todo remove (set all in single method setImdg(provider -> setImdg1();setIdGenerator();...) private ImdgProvider imdgProvider; private ImdgId idGenerator; private Imdg registryImdg; @@ -344,7 +343,6 @@ public class FormingPaymentInstruction implements ISessionStage { sDf12.setSecurityCode(paymentInstruction.getCreditLeg_securityId().toString()); sDf12.setDepoCodeSender(paymentInstruction.getCreditLeg_account()); sDf12.setDepoCodeAdressee(paymentInstruction.getDebitLeg_account()); -// sDf12.setTransactionNumber(); sDf12.setGenerationTime(Instant.now()); return sDf12; } diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingPaymentInstructionDealsFinalMkr.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingPaymentInstructionDealsFinalMkr.java index ed4f08125..9ecb7da4f 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingPaymentInstructionDealsFinalMkr.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingPaymentInstructionDealsFinalMkr.java @@ -54,7 +54,6 @@ import static ru.spcex.platform.utils.number.BigDecimalUtil.safeBD; @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) public class FormingPaymentInstructionDealsFinalMkr implements ISessionStage { private final Logger log = LoggerFactory.getLogger(getClass()); - //todo remove (set all in single method setImdg(provider -> setImdg1();setIdGenerator();...) private ImdgProvider imdgProvider; private ImdgId idGenerator; private Imdg registryImdg; @@ -115,19 +114,10 @@ public class FormingPaymentInstructionDealsFinalMkr implements ISessionStage { .collect(Collectors.toList()); } - /** - * аккаунт-счет с accountType='TRAN' - это счет СПВБ который принадлежит самой бирже
- * хранят деньги разных участников
- * в сделке:
- * регистр CMAT кому переводить (registry.account)
- * регистр LMAT кто переводит деньги (registry.account)
- * в итоге создается 2 PaymentInstruction: LMAT -> TRAN счет -> CMAT счет - */ private StageResult formingPaymentInstructions(Long sessionId, Section section, Collection paymentInstructionReturns, boolean sendSdfs) { Collection registries = selectRegistries(); log.debug("found registries.size() = {}", registries.size()); - //клиринговый счет, через который будут проводиться сделки Account tranAcc = accountImdg.getFirstObjectBySQL("accountType = '%s' and status = '%s' and processingSign = '%s'" .formatted(AccountType.Tran.getKey(), AccountStatus.ACTIVE.getKey(), Allowed.ALLOWED.getKey())); if (tranAcc == null) { @@ -136,7 +126,6 @@ public class FormingPaymentInstructionDealsFinalMkr implements ISessionStage { false); } log.debug("found tranAcc.id = {}", tranAcc.getId()); - //группируем регистры по groupId Map> groups = registries .stream() .collect(Collectors.groupingBy(Registry::getGroupId)); @@ -149,7 +138,6 @@ public class FormingPaymentInstructionDealsFinalMkr implements ISessionStage { .filter(rgs -> RegistryManager.equalsByCode(rgsCode, rgs)) .findFirst() .orElse(null); - //интересуют обязательства и требования по деньгам Registry cm_t = findByCode.apply(CM_T); Registry lm_t = findByCode.apply(LM_T); if (cm_t == null || lm_t == null) { @@ -157,7 +145,6 @@ public class FormingPaymentInstructionDealsFinalMkr implements ISessionStage { continue; } { - //изменение активов - блокируем средства беред отправкой sdf'ов Optional amfO = rgsMng.findRelatedAsset(lm_t.getTradingClearingRegistryId(), lm_t.getCompanyId(), AM_F); Optional payerAmtO = rgsMng.findRelatedAsset(lm_t.getTradingClearingRegistryId(), lm_t.getCompanyId(), AM_T); Optional ambO = rgsMng.findRelatedAsset(lm_t.getTradingClearingRegistryId(), lm_t.getCompanyId(), AM_B); @@ -184,7 +171,6 @@ public class FormingPaymentInstructionDealsFinalMkr implements ISessionStage { setUpdatedStoreInImdg(amb, now); }); receiverAmtO.ifPresent(amt -> { - // у отправителя и получателя одинаково, см. в FormingPaymentInstruction amt.setSettledDebit(safeBD(amt.getSettledDebit()).add(safeBD(lm_t.getBalance()))); setUpdatedStoreInImdg(amt, now); }); @@ -239,7 +225,6 @@ public class FormingPaymentInstructionDealsFinalMkr implements ISessionStage { Security security = securityImdg.getSingleObjectByID(paymentInstruction.getCreditLeg_securityId()); if (List.of(AccountType.Corr, AccountType.Clrn, AccountType.Tran, AccountType.Anlt, AccountType.Info) .contains(IEnumKey.getEnumByKey(AccountType.class, account.getAccountType()))) { - //если info подставить anlt (единственный счет в системе) sDf03Created.add(sdf03Creator.create(paymentInstruction)); } else if (!InstrumentType.CRNC.equalsByKey(security.getInstrumentType()) && List.of(AccountType.Depo, AccountType.Dtrn).contains(IEnumKey.getEnumByKey(AccountType.class, account.getAccountType()))) { @@ -296,7 +281,6 @@ public class FormingPaymentInstructionDealsFinalMkr implements ISessionStage { sDf12.setSecurityCode(paymentInstruction.getCreditLeg_securityId().toString()); sDf12.setDepoCodeSender(paymentInstruction.getCreditLeg_account()); sDf12.setDepoCodeAdressee(paymentInstruction.getDebitLeg_account()); -// sDf12.setTransactionNumber(); sDf12.setGenerationTime(Instant.now()); return sDf12; } diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingPaymentInstructionDepositReturn.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingPaymentInstructionDepositReturn.java index 1cf219faf..b46de5ab4 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingPaymentInstructionDepositReturn.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingPaymentInstructionDepositReturn.java @@ -95,8 +95,6 @@ public class FormingPaymentInstructionDepositReturn implements ISessionStage { } } - //CM_T LM_T CS_T LS_T - private StageResult formingPaymentInstruction(Long sessionId) { RegistryCodeSqlBuilder registryCodeSqlBuilder = RegistryCodeSqlBuilder.getInstance(LM_T,CM_T, LS_T, CS_T); @@ -123,7 +121,7 @@ public class FormingPaymentInstructionDepositReturn implements ISessionStage { log.error("LM*T or CM*T not found for group {}", entry.getKey()); continue; } - Registry lm_t = lmtO.get(); //obligation by money + Registry lm_t = lmtO.get(); Registry cm_t = cmtO.get(); Optional dmx = rgsMng.searchDmx(lm_t); if (dmx.isPresent()) { @@ -134,7 +132,7 @@ public class FormingPaymentInstructionDepositReturn implements ISessionStage { Optional dmtInfo = rgsMng.searchDmtInfo(lm_t); if (dmtInfo.isPresent()) { - BigDecimal balance = safeBD(lm_t.getBalance()).add(safeBD(cm_t.getBalance())); //fixme???? + BigDecimal balance = safeBD(lm_t.getBalance()).add(safeBD(cm_t.getBalance())); PaymentInstruction payInstr = createPaymentInstruction(List.of(lm_t, cm_t), balance, sessionId); lm_t.setPaymentId(payInstr.getId()); lm_t.setUpdated(Instant.now()); @@ -152,7 +150,6 @@ public class FormingPaymentInstructionDepositReturn implements ISessionStage { false); } { - //изменение активов - блокируем средства беред отправкой sdf'ов Optional amfO = rgsMng.findRelatedAsset(lm_t.getTradingClearingRegistryId(), lm_t.getCompanyId(), AM_F); Optional payerAmtO = rgsMng.findRelatedAsset(lm_t.getTradingClearingRegistryId(), lm_t.getCompanyId(), AM_T); Optional ambO = rgsMng.findRelatedAsset(lm_t.getTradingClearingRegistryId(), lm_t.getCompanyId(), AM_B); @@ -179,7 +176,6 @@ public class FormingPaymentInstructionDepositReturn implements ISessionStage { setUpdatedStoreInImdg(amb, now); }); receiverAmtO.ifPresent(amt -> { - // у отправителя и получателя одинаково, см. в FormingPaymentInstruction amt.setSettledDebit(safeBD(amt.getSettledDebit()).add(safeBD(lm_t.getBalance()))); setUpdatedStoreInImdg(amt, now); }); @@ -219,7 +215,6 @@ public class FormingPaymentInstructionDepositReturn implements ISessionStage { Account account = accountImdg.getSingleObjectByID(paymentInstruction.getCreditLeg_accountId()); if (List.of(AccountType.Corr, AccountType.Clrn, AccountType.Tran, AccountType.Anlt, AccountType.Info) .contains(IEnumKey.getEnumByKey(AccountType.class, account.getAccountType()))) { - //если info подставить anlt (единственный счет в системе) sDf03Created.add(sdf03Creator.create(paymentInstruction)); } } @@ -311,7 +306,6 @@ public class FormingPaymentInstructionDepositReturn implements ISessionStage { sDf12.setSecurityCode(paymentInstruction.getCreditLeg_securityId().toString()); sDf12.setDepoCodeSender(paymentInstruction.getCreditLeg_account()); sDf12.setDepoCodeAdressee(paymentInstruction.getDebitLeg_account()); -// sDf12.setTransactionNumber(); sDf12.setGenerationTime(Instant.now()); return sDf12; } diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingPaymentInstructionReturnMkr.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingPaymentInstructionReturnMkr.java index 9d8930645..c64769347 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingPaymentInstructionReturnMkr.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingPaymentInstructionReturnMkr.java @@ -52,7 +52,6 @@ import static ru.spcex.platform.enumeration.RegistryTradingParams.*; @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) public class FormingPaymentInstructionReturnMkr implements ISessionStage { private final Logger log = LoggerFactory.getLogger(getClass()); - //todo remove (set all in single method setImdg(provider -> setImdg1();setIdGenerator();...) private ImdgProvider imdgProvider; private ImdgId idGenerator; private Imdg registryImdg; @@ -111,7 +110,6 @@ public class FormingPaymentInstructionReturnMkr implements ISessionStage { List requirementsByMoney = rgsAll.stream() .filter(registry -> equalByRgs(CM_T, registry)) .toList(); - //изменяем активы по требованиям по деньгам CM_T for (Registry requirementByMoney : requirementsByMoney) { String sql = String.format("tradingClearingRegistryId = %s and companyId = %s", requirementByMoney.getTradingClearingRegistryId(), requirementByMoney.getCompanyId()); @@ -140,7 +138,7 @@ public class FormingPaymentInstructionReturnMkr implements ISessionStage { log.error("LM*T or CM*T not found for group {}", entry.getKey()); continue; } - Registry lm_t = lmtO.get(); //obligation by money + Registry lm_t = lmtO.get(); Registry cm_t = cmtO.get(); Optional dmx = rgsMng.searchDmx(lm_t); if (dmx.isPresent()) { @@ -158,7 +156,6 @@ public class FormingPaymentInstructionReturnMkr implements ISessionStage { false); } { - //изменение активов - блокируем средства беред отправкой sdf'ов Optional amfO = rgsMng.findRelatedAsset(lm_t.getTradingClearingRegistryId(), lm_t.getCompanyId(), AM_F); Optional payerAmtO = rgsMng.findRelatedAsset(lm_t.getTradingClearingRegistryId(), lm_t.getCompanyId(), AM_T); Optional ambO = rgsMng.findRelatedAsset(lm_t.getTradingClearingRegistryId(), lm_t.getCompanyId(), AM_B); @@ -185,7 +182,6 @@ public class FormingPaymentInstructionReturnMkr implements ISessionStage { setUpdatedStoreInImdg(amb, now); }); receiverAmtO.ifPresent(amt -> { - // у отправителя и получателя одинаково, см. в FormingPaymentInstruction amt.setSettledDebit(safeBD(amt.getSettledDebit()).add(safeBD(lm_t.getBalance()))); setUpdatedStoreInImdg(amt, now); }); @@ -344,7 +340,6 @@ public class FormingPaymentInstructionReturnMkr implements ISessionStage { sDf12.setSecurityCode(paymentInstruction.getCreditLeg_securityId().toString()); sDf12.setDepoCodeSender(paymentInstruction.getCreditLeg_account()); sDf12.setDepoCodeAdressee(paymentInstruction.getDebitLeg_account()); -// sDf12.setTransactionNumber(); sDf12.setGenerationTime(Instant.now()); return sDf12; } diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingPaymentInstructionSecondaryT0.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingPaymentInstructionSecondaryT0.java index cc964686d..7cc1dc236 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingPaymentInstructionSecondaryT0.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingPaymentInstructionSecondaryT0.java @@ -54,7 +54,6 @@ import static ru.spcex.platform.utils.number.BigDecimalUtil.safeBD; @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) public class FormingPaymentInstructionSecondaryT0 implements ISessionStage { private final Logger log = LoggerFactory.getLogger(getClass()); - //todo remove (set all in single method setImdg(provider -> setImdg1();setIdGenerator();...) private ImdgProvider imdgProvider; private ImdgId idGenerator; private Imdg registryImdg; @@ -114,18 +113,9 @@ public class FormingPaymentInstructionSecondaryT0 implements ISessionStage { .collect(Collectors.toList()); } - /** - * аккаунт-счет с accountType='TRAN' - это счет СПВБ который принадлежит самой бирже
- * хранят деньги разных участников
- * в сделке:
- * регистр CMAT кому переводить (registry.account)
- * регистр LMAT кто переводит деньги (registry.account)
- * в итоге создается 2 PaymentInstruction: LMAT -> TRAN счет -> CMAT счет - */ private StageResult formingPaymentInstructions(Long sessionId, Collection paymentInstructionReturns) { Collection registries = selectRegistries(); log.debug("found registries.size() = {}", registries.size()); - //клиринговый счет, через который будут проводиться сделки Account dtrnAcc = accountImdg.getFirstObjectBySQL("accountType = '%s' and status = '%s' and processingSign = '%s'" .formatted(AccountType.Dtrn.getKey(), AccountStatus.ACTIVE.getKey(), Allowed.ALLOWED.getKey())); if (dtrnAcc == null) { @@ -134,7 +124,6 @@ public class FormingPaymentInstructionSecondaryT0 implements ISessionStage { false); } log.debug("found dtrnAcc.id = {}", dtrnAcc.getId()); - //группируем регистры по groupId Map> groups = registries .stream() .collect(Collectors.groupingBy(Registry::getGroupId)); @@ -147,7 +136,6 @@ public class FormingPaymentInstructionSecondaryT0 implements ISessionStage { .filter(rgs -> RegistryManager.equalsByCode(rgsCode, rgs)) .findFirst() .orElse(null); - //интересуют обязательства и требования по деньгам Registry cs_t = findByCode.apply(CS_T); Registry ls_t = findByCode.apply(LS_T); if (cs_t == null || ls_t == null) { @@ -155,7 +143,6 @@ public class FormingPaymentInstructionSecondaryT0 implements ISessionStage { continue; } { - //изменение активов - блокируем средства беред отправкой sdf'ов Optional amfO = rgsMng.findRelatedAsset(ls_t.getTradingClearingRegistryId(), ls_t.getCompanyId(), AS_F); Optional payerAmtO = rgsMng.findRelatedAsset(ls_t.getTradingClearingRegistryId(), ls_t.getCompanyId(), AS_T); Optional ambO = rgsMng.findRelatedAsset(ls_t.getTradingClearingRegistryId(), ls_t.getCompanyId(), AS_B); @@ -182,7 +169,6 @@ public class FormingPaymentInstructionSecondaryT0 implements ISessionStage { setUpdatedStoreInImdg(amb, now); }); receiverAmtO.ifPresent(amt -> { - // у отправителя и получателя одинаково, см. в FormingPaymentInstruction amt.setSettledDebit(safeBD(amt.getSettledDebit()).add(safeBD(ls_t.getBalance()))); setUpdatedStoreInImdg(amt, now); }); @@ -197,7 +183,7 @@ public class FormingPaymentInstructionSecondaryT0 implements ISessionStage { .lm_t(ls_t) .tranAcc(dtrnAcc) .sessionId(sessionId) - .paymentPurpose("")//todo пока неизвестная формулировка + .paymentPurpose("") .build(); Pair.forEach(pmtInstrs, pmtInstr -> { paymentInstructionImdg.insert(pmtInstr); @@ -289,7 +275,6 @@ public class FormingPaymentInstructionSecondaryT0 implements ISessionStage { sDf12.setSecurityCode(paymentInstruction.getCreditLeg_securityId().toString()); sDf12.setDepoCodeSender(paymentInstruction.getCreditLeg_account()); sDf12.setDepoCodeAdressee(paymentInstruction.getDebitLeg_account()); -// sDf12.setTransactionNumber(); sDf12.setGenerationTime(Instant.now()); return sDf12; } diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingRegistersOnOS.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingRegistersOnOS.java index 697a6bbf8..fa0e253c2 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingRegistersOnOS.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingRegistersOnOS.java @@ -53,12 +53,6 @@ public class FormingRegistersOnOS implements ISessionStage { } } - /** - * Select Registry by: registryCode = [O/T][S/M][*][T] & registryStatus=OK - * - * @return - * @param sessionId - */ protected Collection selectRegistry(Long sessionId) { String registrySQL = "(registryDesignation=" + RegistryDesignation.O.getKey() + " or registryDesignation=" + RegistryDesignation.T.getKey() + ")"; registrySQL += " and (registryInstrumentType=" + RegistryInstrumentType.S.getKey() + " or registryInstrumentType=" + RegistryInstrumentType.M.getKey() + ")"; @@ -74,9 +68,6 @@ public class FormingRegistersOnOS implements ISessionStage { Collection forRegistries = selectRegistry(sessionId); ArrayList newRegistries = new ArrayList<>(); - //todo oreder by обрабатываться группами по полю registry.groupId - //todo при перезапуске после незапланированного завершения стадии: надо ли проверять уже созданные регистры и не создавать дубликаты? - for (Registry registry : forRegistries) { Registry newRegistry = createRegistryFor(registry); newRegistries.add(newRegistry); @@ -106,16 +97,6 @@ public class FormingRegistersOnOS implements ISessionStage { } newRegistry.setRegistryDesignation(newRegDestination); -// String newRegistryInstrumentType; // по ТЗ не меняется -// if (RegistryInstrumentType.S.equalsByKey(forRegistry.getRegistryInstrumentType())) { -// newRegistryInstrumentType = RegistryInstrumentType.S.getKey(); -// } else if (RegistryInstrumentType.M.equalsByKey(forRegistry.getRegistryInstrumentType())) { -// newRegistryInstrumentType = RegistryInstrumentType.M.getKey(); -// } else { -// throw new IllegalArgumentException("RegistryInstrumentType=" + forRegistry.getRegistryInstrumentType()); -// } -// newRegistry.setRegistryInstrumentType(newRegistryInstrumentType); - newRegistry.setRegistryCode(RegistryUtil.clearingCode(newRegistry)); return newRegistry; } diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/InclusionObligations.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/InclusionObligations.java index 38f582907..f4a26e4f4 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/InclusionObligations.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/InclusionObligations.java @@ -31,7 +31,6 @@ import java.util.stream.Collectors; @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) public class InclusionObligations implements ISessionStage { private final Logger log = LoggerFactory.getLogger(getClass()); - //todo remove (set all in single method setImdg(provider -> setImdg1();setIdGenerator();...) private ImdgProvider imdgProvider; private ImdgId idGenerator; private Imdg registryImdg; @@ -50,12 +49,6 @@ public class InclusionObligations implements ISessionStage { this.rgsPb = registryImdg.predicateBuilder(); } - /** - * для сессии возврата депозитов статус регистров - * proc ИЛИ mng - * proc не захардкожен для случая дополнительных условий - * указывать обязательно если есть дополнительные условия - */ public InclusionObligations addRegistryCondition(ImdgPredicate imdgPredicate) { this.registryConditions.add(imdgPredicate); return this; @@ -85,7 +78,6 @@ public class InclusionObligations implements ISessionStage { ImdgPredicateBuilder prdctBuilder = registryImdg.predicateBuilder(); ImdgPredicate defaultCondition = prdctBuilder.sql(sqlCondition); if (sessionType != null) { - //не всегда нужное условие defaultCondition = prdctBuilder.and(defaultCondition, sessionTypePredicate()); } ImdgPredicate registryPredicate; diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/InspectionObligations.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/InspectionObligations.java index 6c944cdcd..ccbd81964 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/InspectionObligations.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/InspectionObligations.java @@ -147,7 +147,6 @@ public class InspectionObligations implements ISessionStage { tRegistryWithSameCompany.ifPresent(registry -> updateRegistryStatus(registry, failStatus())); } } - //проверяем есть ли второй день для сделки (он не входит в пул, поэтому ищем отдельно) if (registries.stream().anyMatch(rgs -> rgs.getRefundDate() != null) && !SessionType.MEDM.equals(sessionType)) { Optional> groupIdAndSettleDate = registries.stream() .map(rgs -> new Pair<>(rgs.getGroupId(), rgs.getSettlementDate())) diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/InspectionObligationsDepositReturn.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/InspectionObligationsDepositReturn.java index 63cd30d24..a624e23a4 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/InspectionObligationsDepositReturn.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/InspectionObligationsDepositReturn.java @@ -78,15 +78,11 @@ public class InspectionObligationsDepositReturn implements ISessionStage { Registry omtRgs = omtInGroupO.get(); log.debug("groupId={}, OM*T.id={}", entry.getKey(), omtRgs.getId()); BigDecimal omtBalance = safeBD(omtRgs.getBalance()); - - //первая часть сделки депозита if (omtRgs.getValueDate() == null || omtRgs.getSettlementDate() == null || !omtRgs.getValueDate().isBefore(omtRgs.getSettlementDate())) { continue; } - - //вторая часть сделки - возврат депозита Optional dmx = rgsMng.searchDmx(omtRgs); if (dmx.isPresent()) { BigDecimal dmxBalance = safeBD(dmx.get().getBalance()); @@ -99,7 +95,6 @@ public class InspectionObligationsDepositReturn implements ISessionStage { group.forEach(rgs -> updateStatus(rgs, RegistryStatus.OK)); updateStatus(dmx.get(), RegistryStatus.OK); } else { - //для OM*T uncovered остальным фейл group.forEach(rgs -> updateStatus(rgs, registryStatusFailed(rgs))); updateStatus(dmx.get(), RegistryStatus.UNCV); } diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/RegistryDepoBuilder.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/RegistryDepoBuilder.java index ebde180b2..9910577bf 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/RegistryDepoBuilder.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/RegistryDepoBuilder.java @@ -156,7 +156,6 @@ public class RegistryDepoBuilder implements IRegistryBuilder { return exec.getExchangeExecutionId() + market.getId(); } - //можно передать из стейджа private String sessionType() { Session session = sessionImdg.getSingleObjectByID(exec.getSessionId()); return session.getSessionType(); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/RegistryFondBuilder.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/RegistryFondBuilder.java index 927bbe4b8..10540af09 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/RegistryFondBuilder.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/RegistryFondBuilder.java @@ -97,7 +97,7 @@ public class RegistryFondBuilder implements IRegistryBuilder { reg.setAccountId(tcr.getMoneyAccountId()); account = accountImdg.getSingleObjectByID(tcr.getMoneyAccountId()); reg.setRegistryInstrumentType(RegistryInstrumentType.M.getKey()); - reg.setBalanceDimension(BalanceDimension.MONY.getKey()); //fixme add second leg code branch + reg.setBalanceDimension(BalanceDimension.MONY.getKey()); Currency currency = currencyImdg.getFirstObjectByFieldValues(Map.of("currencyCode", exec.getSettlementCurrency())); reg.setSecurityId(currency.getId()); reg.setSecuritySymbol(currency.getCurrencyCode()); @@ -111,7 +111,7 @@ public class RegistryFondBuilder implements IRegistryBuilder { capacityByAccount = depoAccount.getDepoAccountType(); } reg.setRegistryInstrumentType(RegistryInstrumentType.S.getKey()); - reg.setBalanceDimension(BalanceDimension.PICS.getKey()); //fixme add second leg code branch + reg.setBalanceDimension(BalanceDimension.PICS.getKey()); reg.setSecurityId(exec.getSecurityId()); reg.setSecuritySymbol(exec.getSecuritySymbol()); } @@ -131,7 +131,6 @@ public class RegistryFondBuilder implements IRegistryBuilder { reg.setRegistryStatus(RegistryStatus.PROC.getKey()); ExecutionFond execFond = (ExecutionFond) this.exec; if (isMoney) { - //todo ОКРУГЛЕНИЕ(fixedIncomeSecurity.nominalValue * quantity * price/100) + ОКРУГЛЕНИЕ (executionFond.interestAmount) reg.setBalance(execFond.getSettlementAmount()); } else { reg.setBalance(execFond.getQuantity()); @@ -155,7 +154,6 @@ public class RegistryFondBuilder implements IRegistryBuilder { return exec.getExchangeExecutionId() + market.getId(); } - //можно передать из стейджа private String sessionType() { Session session = sessionImdg.getSingleObjectByID(exec.getSessionId()); return session.getSessionType(); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/RequirementsAndObligationCreation.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/RequirementsAndObligationCreation.java index ebe8ab808..e06ac62b5 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/RequirementsAndObligationCreation.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/RequirementsAndObligationCreation.java @@ -58,7 +58,6 @@ public class RequirementsAndObligationCreation implements ISessionStage { if (data.size() % 2 != 0) { throw new IllegalStateException("Data size must be even (executions must match)"); } - //см. описание к #matchExecutions for (int i = 0; i < data.size(); ) { Pair matched = matchExecutions(data, i); if (matched == null) { @@ -70,9 +69,7 @@ public class RequirementsAndObligationCreation implements ISessionStage { i += 2; ExecutionCommon partyExec = matched.getFirst(); ExecutionCommon counterExec = matched.getSecond(); - //бывает поиск обычный, бывает по ExecutionDeposit.secondLegSettlementDt AtomicReference>> regSearchMethod = new AtomicReference<>(); - //обычный поиск regSearchMethod.set(this::findReg); TriConsumer findAndUpdateOrCreate = (exec, regDsgn, returnedDep) -> regSearchMethod.get().apply(exec, regDsgn) @@ -99,7 +96,6 @@ public class RequirementsAndObligationCreation implements ISessionStage { findAndUpdateOrCreate.accept(counterExec, RegistryDesignation.O, false); findAndUpdateOrCreate.accept(counterExec, RegistryDesignation.T, false); if (partyExec.type().equals(ExecutionType.ExecutionDeposit) && ((ExecutionDeposit) partyExec).getSecondLegSettlementDate() != null) { - //поиск по дате расчетов ExecutionDeposit.secondLegSettlementDt regSearchMethod.set(this::findRegBySettlementDt); findAndUpdateOrCreate.accept(partyExec, RegistryDesignation.T, true); findAndUpdateOrCreate.accept(partyExec, RegistryDesignation.O, true); @@ -190,24 +186,12 @@ public class RequirementsAndObligationCreation implements ISessionStage { } - /** - * входные данные отсортированы по exchangeExecutionId. - * сортировка выполнена на предыдущем шаге. (такое описание шагов в ТЗ) - * по идее, Execution с одинаковым exchangeExecutionId должно быть всего два. - * если это не так, передалать на коллекцию Long executionId в правильном порядке - * и для каждого искать мэтч отдельно в Imdg, с сохранением уже обработанных для избежания дублирования - */ private Pair matchExecutions(List data, int i) { - //if the last execution, then no match if (i >= data.size() - 1) { return null; } ExecutionCommon exec1 = data.get(i); ExecutionCommon exec2 = data.get(i + 1); - //Встречная сделка контрагента выбирается из executionDeposit/Fond по условию: - //exchangeExecutionId=currentExecutionDeposit/Fond.exchangeExecutionId - //и [side=SELL (если currentExecutionDeposit/Fond.side=BUY) или side=BUY (если currentExecutionDeposit/Fond.side=SELL) по справочнику moneyFlowSide или справочнику side в зависимости от секции обрабатываемой сделки] - //и companyId=currentExecutionDeposit/Fond.counterPartyId String invalid = null; if (!Objects.equals(exec1.getExchangeExecutionId(), exec2.getExchangeExecutionId())) { invalid = String.format("exchangeExecutionId %d and %d not equal", exec1.getExchangeExecutionId(), exec2.getExchangeExecutionId()); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/UnlockResources.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/UnlockResources.java index 837461e73..b04df2804 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/UnlockResources.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/UnlockResources.java @@ -28,7 +28,6 @@ import java.util.Collection; @Service @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) @Deprecated -//не должен использоваться как stage в сессии, данная логика перенесена в statementService public class UnlockResources implements ISessionStage { private final Logger log = LoggerFactory.getLogger(getClass()); @@ -66,7 +65,6 @@ public class UnlockResources implements ISessionStage { pb.and( pb.equals("registryDesignation", RegistryDesignation.A.getKey()), pb.equals("registryInstrumentType", RegistryInstrumentType.M.getKey()), - // pb.equals("registryCapacity", *), pb.or(pb.equals("registryUnit", RegistryUnit.F.getKey()), pb.equals("registryUnit", RegistryUnit.B.getKey())) ), @@ -79,16 +77,12 @@ public class UnlockResources implements ISessionStage { return result; } - /** - * Select Registry by: account; fullName* / securityId - */ protected Collection selectRegistryForSDF12(String account, Long securityId) { ImdgPredicateBuilder pb = registryImdg.predicateBuilder(); ImdgPredicate query = pb.and( pb.and( pb.equals("registryDesignation", RegistryDesignation.A.getKey()), pb.equals("registryInstrumentType", RegistryInstrumentType.S.getKey()), - // pb.equals("registryCapacity", *), pb.or(pb.equals("registryUnit", RegistryUnit.F.getKey()), pb.equals("registryUnit", RegistryUnit.B.getKey())) ), @@ -102,13 +96,6 @@ public class UnlockResources implements ISessionStage { } - /** - * @param sdfMode UnlockResourcesPayload.sdfMode - * @param account - * @param securityId - * @param fullNames - * @return - */ protected StageResult unlockResources(String sdfMode, String account, Long securityId, Collection fullNames, BigDecimal value) { Collection forRegistries; diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/task/FormingPaymentInstructionDealsMkrPayload.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/task/FormingPaymentInstructionDealsMkrPayload.java index 2072c223a..6e6c569ec 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/task/FormingPaymentInstructionDealsMkrPayload.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/task/FormingPaymentInstructionDealsMkrPayload.java @@ -8,10 +8,6 @@ import java.util.Collection; public class FormingPaymentInstructionDealsMkrPayload { private Long sessionId; private Section section; - /** - * для МКР итоговой сессии SDF будет отправляться по 1. возвратам 2. сделкам - * соотв. поле нужно чтобы передать сделанные пейменты из пункта 1 в 2 - */ private Collection paymentInstructionReturns; private boolean isSendSdfs = true; public Long getSessionId() { diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/task/UnlockResourcesPayload.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/task/UnlockResourcesPayload.java index fc16b5d2b..3fbdeb49d 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/task/UnlockResourcesPayload.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/task/UnlockResourcesPayload.java @@ -7,30 +7,13 @@ public class UnlockResourcesPayload { public static final String MODE_SDF04 = "sDf04"; public static final String MODE_SDF12 = "sDf12"; - /** - * MODE_SDF04/MODE_SDF12 - */ private String sdfMode; - /** - * sDf04.c_acc_cred - * sDf12.depoCodeSender - */ private String account; - /** - * sDf04.(sbanknam1, sbanknam2 и т.д.) - */ private List fullNames; - /** - * sDf12.securityCode - */ private Long securityId; - /** - * sDf04.pay_val - * sDf12.quantity - */ private BigDecimal value; diff --git a/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/ClearingServiceTest.java b/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/ClearingServiceTest.java index df28212a6..db9295d17 100644 --- a/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/ClearingServiceTest.java +++ b/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/ClearingServiceTest.java @@ -18,7 +18,6 @@ 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.CommonIdRequest; import ru.spcex.clearing.platform.messaging.domain.cud.registry.DealRegisterNewRequest; -import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest; import ru.spcex.clearing.service.builder.LiabilitiesClaimsAssetsCreator; import ru.spcex.clearing.service.builder.LiabilitiesClaimsMoneyCreator; import ru.spcex.clearing.utils.MatcherFactory; @@ -96,18 +95,8 @@ class ClearingServiceTest extends AbstractClearingTest { this.accountBalanceImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_AccountBalance, AccountBalance.class); } - /** - * {@link ClearingService#executeClearing()}
- * Тест проверяет создание сущностей - * {@link LauncherCommandRequest} - * {@link LiabilitiesClaimsMoney} - * {@link PaymentInstruction} - * {@link ExecutionDeposit} - * в Hazelcast при передаче из Apache Kafka.
- */ @Test void startClearingNew() { - //ARRANGE int times = currentInteger.getAndIncrement(); Long companyIdI1 = 11L; Long relationIdI1 = 111L; @@ -118,30 +107,17 @@ class ClearingServiceTest extends AbstractClearingTest { preparOptimisticCase(companyIdI1, relationIdI1, accountIdI1, securityIdI1, firstSettlementDateI1, secondSettlementDateI2, "I"); - - //ACT - //stage executeClearing(startClearing) addRecordToKafka((MockConsumer) eventsReceiver.getConsumer(), TOPIC_START_CLEARING, PARTITION, times, getJsonStringForNew(new DealRegisterNewRequest(), FIRST_ID)); - - //waiting for kafka producer send message verify(mockProducer, timeout(30_000L).times(1)) .send(producerRecord.capture()); assertEquals(Consts.BALANCE_ACCOUNT_UPDATE, producerRecord.getValue().topic()); BaseRequest baseRequestResult = (BaseRequest) producerRecord.getValue().value(); - - //stage continueClearing CommonIdRequest requestPayload = new CommonIdRequest(); requestPayload.setId(baseRequestResult.getId()); addRecordToKafka((MockConsumer) eventsReceiver.getConsumer(), TOPIC_CONTINUE_CLEARING, PARTITION, times, getJsonStringForNew(requestPayload, FIRST_ID)); - - //waiting for kafka producer send message (finale event) verify(mockProducer, timeout(30_000L).times(2)) .send(producerRecord.capture()); - - //ASSERT assertEquals(Task.createOrder.topic(), producerRecord.getValue().topic()); - - //First LiabilitiesClaimsAssets && LiabilitiesClaimsMoney LiabilitiesClaimsAssets resultFirstClaimsAssets = liabilitiesClaimsAssetsImdg.getFirstObjectByFieldValues( Map.of("accountId", accountIdI1, "settlementDate", firstSettlementDateI1)); LiabilitiesClaimsMoney resultFirstClaimsMoney = liabilitiesClaimsMoneyImdg.getFirstObjectByFieldValues( @@ -154,7 +130,6 @@ class ClearingServiceTest extends AbstractClearingTest { predictableFirstClaimsMoney.setId(resultFirstClaimsMoney.getId()); LIABILITIES_CLAIMS_ASSETS_MATCHER.assertMatch(resultFirstClaimsAssets, predictableFirstClaimsAssets); LIABILITIES_CLAIMS_MONEY_MATCHER.assertMatch(resultFirstClaimsMoney, predictableFirstClaimsMoney); - //Second LiabilitiesClaimsAssets && LiabilitiesClaimsMoney LiabilitiesClaimsAssets resultSecondClaimsAssets = liabilitiesClaimsAssetsImdg.getFirstObjectByFieldValues( Map.of("accountId", accountIdI1, "settlementDate", secondSettlementDateI2)); LiabilitiesClaimsMoney resultSecondClaimsMoney = liabilitiesClaimsMoneyImdg.getFirstObjectByFieldValues( @@ -166,31 +141,19 @@ class ClearingServiceTest extends AbstractClearingTest { predictableSecondClaimsMoney.setId(resultSecondClaimsMoney.getId()); LIABILITIES_CLAIMS_ASSETS_MATCHER.assertMatch(resultSecondClaimsAssets, predictableSecondClaimsAssets); LIABILITIES_CLAIMS_MONEY_MATCHER.assertMatch(resultSecondClaimsMoney, predictableSecondClaimsMoney); - //PaymentInstruction PaymentInstruction resultPaymentInstruction = paymentInstructionCreator.searchExistPaymentInstructionsFirstI(predictableFirstClaimsAssets); PaymentInstruction predictablePaymentInstruction = paymentInstructionCreator.createPaymentInstruction(executionDeposit, predictableFirstClaimsAssets, Collections.singleton(category)); predictablePaymentInstruction.setId(resultPaymentInstruction.getId()); predictablePaymentInstruction.setDocumentNumber(resultPaymentInstruction.getDocumentNumber()); PAYMENT_INSTRUCTION_MATCHER.assertMatch(resultPaymentInstruction, predictablePaymentInstruction); - //ExecutionDeposit ExecutionDeposit resultExecutionDeposit = executionDepositImdg.getFirstObjectByFieldValues( Map.of("accountId", accountIdI1, "securityId", securityIdI1)); executionDeposit.setSessionId(resultExecutionDeposit.getSessionId()); EXECUTION_DEPOSIT_MATCHER.assertMatch(resultExecutionDeposit, executionDeposit); } - /** - * {@link ClearingService#executeClearing()}
- * Тест проверяет обновление сущностей - * {@link LauncherCommandRequest} - * {@link LiabilitiesClaimsMoney} - * {@link PaymentInstruction} - * {@link ExecutionDeposit} - * в Hazelcast при передаче из Apache Kafka.
- */ @Test void startClearingUpdate() { - //ARRANGE int times = currentInteger.getAndIncrement(); Long companyIdI1 = 21L; Long relationIdI1 = 211L; @@ -214,29 +177,17 @@ class ClearingServiceTest extends AbstractClearingTest { LiabilitiesClaimsMoney predictableSecondClaimsMoney = lbltsClmsMoneyCreator.createSecondLegLcm(predictableSecondClaimsAssets, category); predictableSecondClaimsMoney.setId(SECOND_ID); liabilitiesClaimsMoneyImdg.insert(predictableSecondClaimsMoney); - //ACT - //stage executeClearing(startClearing) addRecordToKafka((MockConsumer) eventsReceiver.getConsumer(), TOPIC_START_CLEARING, PARTITION, times, getJsonStringForNew(new DealRegisterNewRequest(), FIRST_ID)); - - //waiting for kafka producer send message verify(mockProducer, timeout(30_000L).times(1)) .send(producerRecord.capture()); assertEquals(Consts.BALANCE_ACCOUNT_UPDATE, producerRecord.getValue().topic()); BaseRequest baseRequestResult = (BaseRequest) producerRecord.getValue().value(); - - //stage continueClearing CommonIdRequest requestPayload = new CommonIdRequest(); requestPayload.setId(baseRequestResult.getId()); addRecordToKafka((MockConsumer) eventsReceiver.getConsumer(), TOPIC_CONTINUE_CLEARING, PARTITION, times, getJsonStringForNew(requestPayload, FIRST_ID)); - - //waiting for kafka producer send message (finale event) verify(mockProducer, timeout(30_000L).times(2)) .send(producerRecord.capture()); - - //ASSERT assertEquals(Task.createOrder.topic(), producerRecord.getValue().topic()); - - //First LiabilitiesClaimsAssets && LiabilitiesClaimsMoney LiabilitiesClaimsAssets resultFirstClaimsAssets = liabilitiesClaimsAssetsImdg.getFirstObjectByFieldValues( Map.of("accountId", accountIdI1, "settlementDate", firstSettlementDateI1)); LiabilitiesClaimsMoney resultFirstClaimsMoney = liabilitiesClaimsMoneyImdg.getFirstObjectByFieldValues( @@ -247,7 +198,6 @@ class ClearingServiceTest extends AbstractClearingTest { lbltsClmsMoneyCreator.updateFirstLegLcm(predictableFirstClaimsMoney, predictableFirstClaimsAssets, executionDeposit, category); LIABILITIES_CLAIMS_ASSETS_MATCHER.assertMatch(resultFirstClaimsAssets, predictableFirstClaimsAssets); LIABILITIES_CLAIMS_MONEY_MATCHER.assertMatch(resultFirstClaimsMoney, predictableFirstClaimsMoney); - //Second LiabilitiesClaimsAssets && LiabilitiesClaimsMoney LiabilitiesClaimsAssets resultSecondClaimsAssets = liabilitiesClaimsAssetsImdg.getFirstObjectByFieldValues( Map.of("accountId", accountIdI1, "settlementDate", secondSettlementDateI2)); LiabilitiesClaimsMoney resultSecondClaimsMoney = liabilitiesClaimsMoneyImdg.getFirstObjectByFieldValues( @@ -258,31 +208,19 @@ class ClearingServiceTest extends AbstractClearingTest { lbltsClmsMoneyCreator.updateSecondLegLcm(predictableSecondClaimsMoney, predictableSecondClaimsAssets, executionDeposit, category); LIABILITIES_CLAIMS_ASSETS_MATCHER.assertMatch(resultSecondClaimsAssets, predictableSecondClaimsAssets); LIABILITIES_CLAIMS_MONEY_MATCHER.assertMatch(resultSecondClaimsMoney, predictableSecondClaimsMoney); - //PaymentInstruction PaymentInstruction resultPaymentInstruction = paymentInstructionCreator.searchExistPaymentInstructionsFirstI(predictableFirstClaimsAssets); PaymentInstruction predictablePaymentInstruction = paymentInstructionCreator.createPaymentInstruction(executionDeposit, predictableFirstClaimsAssets, Collections.singleton(category)); predictablePaymentInstruction.setId(resultPaymentInstruction.getId()); predictablePaymentInstruction.setDocumentNumber(resultPaymentInstruction.getDocumentNumber()); PAYMENT_INSTRUCTION_MATCHER.assertMatch(resultPaymentInstruction, predictablePaymentInstruction); - //ExecutionDeposit ExecutionDeposit resultExecutionDeposit = executionDepositImdg.getFirstObjectByFieldValues( Map.of("accountId", accountIdI1, "securityId", securityIdI1)); executionDeposit.setSessionId(resultExecutionDeposit.getSessionId()); EXECUTION_DEPOSIT_MATCHER.assertMatch(resultExecutionDeposit, executionDeposit); } - /** - * {@link ClearingService#executeClearing()}
- * Тест проверяет обновление сущностей - * {@link LauncherCommandRequest} - * {@link LiabilitiesClaimsMoney} - * {@link PaymentInstruction} - * {@link ExecutionDeposit} - * в Hazelcast при передаче из Apache Kafka.
- */ @Test void startClearingValidatError() { - //ARRANGE Long companyId = 31L; Long relationId = 311L; Long accountId = 3111L; @@ -292,14 +230,9 @@ class ClearingServiceTest extends AbstractClearingTest { preparOptimisticCase(companyId, relationId, accountId, securityId, firstSettlementDate, secondSettlementDate, "V"); - - - //ClearingIsAllowed relation.setServiceStatus(ServiceStatus.Blocked.getKey()); relationImdg.insert(relation); checkHaveSomeError(currentInteger.getAndIncrement()); - - //AccountIsNotBlocked relation.setServiceStatus(ServiceStatus.Active.getKey()); relationImdg.insert(relation); executionDeposit = getExecutionDeposit(companyId, null, securityId, firstSettlementDate, secondSettlementDate); @@ -311,8 +244,6 @@ class ClearingServiceTest extends AbstractClearingTest { account.setStatus(AccountStatus.BLOCKED.getKey()); accountImdg.insert(account); checkHaveSomeError(currentInteger.getAndIncrement()); - - //CompanyIsNotBlocked account.setStatus(AccountStatus.ACTIVE.getKey()); accountImdg.insert(account); company.setWorkflowStatus(WorkflowStatus.Blocked.getKey()); @@ -322,8 +253,6 @@ class ClearingServiceTest extends AbstractClearingTest { company.setWorkflowStatus(null); companyImdg.insert(company); checkHaveSomeError(currentInteger.getAndIncrement()); - - //FinancialObligationSecurity company.setWorkflowStatus(WorkflowStatus.Active.getKey()); companyImdg.insert(company); accountBalance.setAccountId(0L); @@ -378,7 +307,7 @@ class ClearingServiceTest extends AbstractClearingTest { executionDeposit.setExchangeExecutionId(5L); executionDeposit.setExchangeExecutionTime(Instant.now()); executionDeposit.setTradingDate(LocalDate.now()); - executionDeposit.setTradingClearingRegistryId(accountId); //todo CLS-275 executionDeposit.setAccountId(accountId); + executionDeposit.setTradingClearingRegistryId(accountId); executionDeposit.setMarket("market"); executionDeposit.setPrice(new BigDecimal(9)); executionDeposit.setLots(new BigDecimal(0)); @@ -407,15 +336,9 @@ class ClearingServiceTest extends AbstractClearingTest { } void checkHaveSomeError(long times) { - //ACT - //stage executeClearing(startClearing) addRecordToKafka((MockConsumer) eventsReceiver.getConsumer(), TOPIC_START_CLEARING, PARTITION, times, getJsonStringForNew(new DealRegisterNewRequest(), FIRST_ID)); - - //waiting for kafka producer send message verify(mockProducer, timeout(30_000L).times((int) times)) .send(producerRecord.capture()); - - //ASSERT assertEquals(Task.createOrder.topic(), producerRecord.getValue().topic()); ExecutionDeposit resultExecutionDeposit = executionDepositImdg.getFirstObjectBySQL("settlementCurrency = 'settlementCurrency'"); executionDeposit.setUpdated(resultExecutionDeposit.getUpdated()); diff --git a/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/PaymentUpdateBySdf04Test.java b/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/PaymentUpdateBySdf04Test.java index 4fae28b35..6eb60e272 100644 --- a/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/PaymentUpdateBySdf04Test.java +++ b/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/PaymentUpdateBySdf04Test.java @@ -36,22 +36,13 @@ class PaymentUpdateBySdf04Test extends AbstractClearingTest { super.init(); this.paymentImdgs = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_PaymentInstruction, PaymentInstruction.class); this.sdf04Imdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_SDf04, SDf04.class); - - //setting imdg for been PaymentUpdateBySdf04 this.paymentImdgsMock = getMockForFildObj(paymentImdgs, paymentUpdateBySdf04, "paymentImdgs"); this.settingResult = ArgumentCaptor.forClass(PaymentInstruction.class); } - /** - * {@link PaymentUpdateBySdf04#updatePayments(Long)} ()}
- * Тест проверяет обновление сущности - * {@link PaymentInstruction} - * в Hazelcast при передаче из Apache Kafka.
- */ @Test void updatePayments() { - //ARRANGE Long sdf04GroupId = 12L; Long paymentId = 10L; String docnm_ref = paymentId.toString(); @@ -64,29 +55,20 @@ class PaymentUpdateBySdf04Test extends AbstractClearingTest { PaymentInstruction payment = new PaymentInstruction(); payment.setId(paymentId); paymentImdgs.insert(payment); - - //ACT & ASSERT checkTransactionStatus(sdf04GroupId, currentInteger.getAndIncrement(), TransactionStatus.ok.getKey()); sDf04s.setImp_result("imp_result"); sdf04Imdg.insert(sDf04s); - //ACT & ASSERT checkTransactionStatus(sdf04GroupId, currentInteger.getAndIncrement(), TransactionStatus.fail.getKey()); } private void checkTransactionStatus(Long sdf04GroupId, int times, String key) { Sdf04Request requestPayload = new Sdf04Request(); requestPayload.setGroupId(sdf04GroupId); - - //ACT addRecordToKafka((MockConsumer) eventsReceiver.getConsumer(), TOPIC_SDF04_PROCESS, PARTITION, times, getJsonStringForUPDATE(requestPayload, sdf04GroupId)); - - //waiting for paymentImdgs update verify(paymentImdgsMock, timeout(30_000L).times(times)) .update(settingResult.capture()); - - //ASSERT assertEquals(key, settingResult.getValue().getTransactionStatus()); } } \ No newline at end of file diff --git a/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/SdfCreatorBySTLDPaymentTest.java b/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/SdfCreatorBySTLDPaymentTest.java index b0f4e27ef..4a2e0a660 100644 --- a/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/SdfCreatorBySTLDPaymentTest.java +++ b/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/SdfCreatorBySTLDPaymentTest.java @@ -22,8 +22,6 @@ class SdfCreatorBySTLDPaymentTest { void setUp() { ImdgProvider mock = Mockito.mock(ImdgProvider.class); sdfCreatorBySTLDPayment = new SdfCreatorBySTLDPayment(mock, null, null); - //create a Mockito spy for the sdfCreatorBySTLDPayment object - //when getClearingCategory is called, return the value from the categories map by paymentInstruction.getSenderId() sdfCreatorBySTLDPayment = Mockito.spy(sdfCreatorBySTLDPayment); Mockito.doAnswer(invocation -> { Object[] args = invocation.getArguments(); @@ -78,7 +76,6 @@ class SdfCreatorBySTLDPaymentTest { assertEquals(4, group.size()); SenderChecker checker = checker(group); - //order i 1 v b checker.check(i1, 0, 1); checker.check(i2, 0, 1); checker.check(i3, 0, 1); @@ -97,17 +94,13 @@ class SdfCreatorBySTLDPaymentTest { private SenderChecker checker(List>>> group) { return (senderId, order, count) -> { - //получаем группы относящиеся к order категории Map.Entry>> entry = group.get(order); Collection> allSenderForThisCategory = entry.getValue(); - //находим нашего sender List senderFound = allSenderForThisCategory.stream().filter(paymentInstructions -> { PaymentInstruction specificSender = paymentInstructions.iterator().next(); return specificSender.getSenderId().equals(senderId); }).findFirst().orElseThrow(() -> new RuntimeException("Sender " + senderId + " not found")); - //проверяем количество PaymentInstruction assertEquals(count, senderFound.size()); - //проверяем что в остальных группах нет нашего sender for (int i = 0; i < group.size(); i++) { if (i == order) { continue; diff --git a/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/SpecifUtilTest.java b/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/SpecifUtilTest.java index fa2e7f367..3fa7a386b 100644 --- a/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/SpecifUtilTest.java +++ b/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/SpecifUtilTest.java @@ -16,7 +16,6 @@ class SpecifUtilTest { @Test public void testSplit() { { - //40 symbols String[] splitted = SpecifUtil.split5SegmentsBy35Symbols("0123456789012345678901234567890123456789"); Assertions.assertEquals(2, splitted.length); Assertions.assertEquals("01234567890123456789012345678901234", splitted[0]); @@ -24,27 +23,23 @@ class SpecifUtilTest { } { - //40 symbols String[] splitted = SpecifUtil.split5SegmentsBy35Symbols("01234567890123456789012345678901234"); Assertions.assertEquals(1, splitted.length); Assertions.assertEquals("01234567890123456789012345678901234", splitted[0]); } { - //10 symbols String[] splitted = SpecifUtil.split5SegmentsBy35Symbols("0123456789"); Assertions.assertEquals(1, splitted.length); Assertions.assertEquals("0123456789", splitted[0]); } { - //0 symbols String[] splitted = SpecifUtil.split5SegmentsBy35Symbols(""); Assertions.assertEquals(0, splitted.length); } { - //80 symbols String[] splitted = SpecifUtil.split5SegmentsBy35Symbols("0123456789012345678901234567890123456789" + "0123456789012345678901234567890123456789"); Assertions.assertEquals(3, splitted.length); @@ -54,7 +49,6 @@ class SpecifUtilTest { } { - //maximum symbols String[] splitted = SpecifUtil.split5SegmentsBy35Symbols("01234567890123456789012345678912345" + "01234567890123456789012345678912345" + "01234567890123456789012345678912345" + @@ -72,7 +66,6 @@ class SpecifUtilTest { } } } -// ""; } @Test @@ -80,8 +73,6 @@ class SpecifUtilTest { { AtomicReference part0 = new AtomicReference<>(); AtomicReference part1 = new AtomicReference<>(); - - //40 symbols SpecifUtil.fillSegmentsBy35Symbols("0123456789012345678901234567890123456789", part0::set, part1::set); Assertions.assertNotNull(part0.get()); Assertions.assertNotNull(part1.get()); @@ -92,8 +83,6 @@ class SpecifUtilTest { { AtomicReference part0 = new AtomicReference<>(); AtomicReference part1 = new AtomicReference<>(); - - //35 symbols SpecifUtil.fillSegmentsBy35Symbols("01234567890123456789012345678901234", part0::set, part1::set); Assertions.assertNotNull(part0.get()); Assertions.assertNull(part1.get()); @@ -104,8 +93,6 @@ class SpecifUtilTest { { AtomicReference part0 = new AtomicReference<>(); AtomicReference part1 = new AtomicReference<>(); - - //10 symbols SpecifUtil.fillSegmentsBy35Symbols("0123456789", part0::set, part1::set); Assertions.assertNotNull(part0.get()); Assertions.assertNull(part1.get()); @@ -115,8 +102,6 @@ class SpecifUtilTest { { AtomicReference part0 = new AtomicReference<>(); AtomicReference part1 = new AtomicReference<>(); - - //0 symbols SpecifUtil.fillSegmentsBy35Symbols("", part0::set, part1::set); Assertions.assertNull(part0.get()); Assertions.assertNull(part1.get()); @@ -125,8 +110,6 @@ class SpecifUtilTest { { AtomicReference part0 = new AtomicReference<>(); AtomicReference part1 = new AtomicReference<>(); - - //80 symbols SpecifUtil.fillSegmentsBy35Symbols("0123456789012345678901234567890123456789" + "0123456789012345678901234567890123456789", part0::set, part1::set); Assertions.assertNotNull(part0.get()); @@ -140,8 +123,6 @@ class SpecifUtilTest { AtomicReference part0 = new AtomicReference<>(); AtomicReference part1 = new AtomicReference<>(); AtomicReference part2 = new AtomicReference<>(); - - //80 symbols SpecifUtil.fillSegmentsBy35Symbols("0123456789012345678901234567890123456789" + "0123456789012345678901234567890123456789", part0::set, part1::set, part2::set); Assertions.assertNotNull(part0.get()); @@ -159,8 +140,6 @@ class SpecifUtilTest { AtomicReference part2 = new AtomicReference<>(); AtomicReference part3 = new AtomicReference<>(); AtomicReference part4 = new AtomicReference<>(); - - //maximum symbols SpecifUtil.fillSegmentsBy35Symbols("01234567890123456789012345678912345" + "01234567890123456789012345678912345" + "01234567890123456789012345678912345" + @@ -187,8 +166,6 @@ class SpecifUtilTest { AtomicReference part3 = new AtomicReference<>(); AtomicReference part4 = new AtomicReference<>(); AtomicReference part5 = new AtomicReference<>(); - - //> 35*5 symbols but 6 setters SpecifUtil.fillSegmentsBy35Symbols("01234567890123456789012345678912345" + "01234567890123456789012345678912345" + "01234567890123456789012345678912345" + diff --git a/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/StatementServiceServiceTest.java b/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/StatementServiceServiceTest.java index bd7655f7c..8fa2a86cf 100644 --- a/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/StatementServiceServiceTest.java +++ b/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/StatementServiceServiceTest.java @@ -1,111 +1,4 @@ package ru.spcex.clearing.service; -//todo раскоментить тест class StatementServiceServiceTest { -// extends AbstractServiceTest { -// private static final String TOPIC = Consts.STATEMENT_PROCESS; -// private static final int PARTITION = 1; -// private static final Long groupId = 111L; -// private final static AtomicLong cuurentOffset = new AtomicLong(1L); -// private final Long ID = 11L; -// @Autowired -// StatementService statementService; -// @Captor -// ArgumentCaptor producerRecord; -// private MockConsumer mockConsumer; -// private SDf01 sDf01; -// private Company company; -// @SpyBean -// private MockProducer producer; -// -// @PostConstruct -// void init() { -// super.init(); -// mockConsumer = (MockConsumer) statementService.getConsumer(); -// sDf01 = getTestSdf01(ID, groupId); -// company = getTestCompany(); -// } -// -// /** -// * {@link StatementService}
-// * Тест проверяет генерацию сущностей {@link RequestInfo}
-// * Входные параметры:
-// * {@link StatementRequest}: new StatementRequest()
-// * {@link StatementRequest#table} - SDF_01
-// */ -// @Test -// void processEXPORT_PROCESS() { -// sdf01Imdg.delete(sDf01); -// companyImdg.delete(company); -// -// companyImdg.delete(company); -// StatementRequest statementRequest = new StatementRequest(); -// statementRequest.setGroupId(groupId); -// statementRequest.setTable(SDF_01); -// BaseRequest baseNewRequest = new BaseRequest<>(); -// baseNewRequest.setRequestPayload(statementRequest); -// baseNewRequest.setId(currentId.getAndIncrement()); -// baseNewRequest.setActionType(ActionType.NEW); -// String jsonBaseNewRequest; -// ObjectMapper objectMapper = new ObjectMapper(); -// try { -// jsonBaseNewRequest = objectMapper.writeValueAsString(baseNewRequest); -// } catch (JsonProcessingException e) { -// throw new RuntimeException(e); -// } -// -// addRecordToKafka(mockConsumer, TOPIC, PARTITION, cuurentOffset.getAndIncrement(), jsonBaseNewRequest); -// -// //waiting for kafka producer send message (finale event) -// verify(producer, timeout(30_000L).times(1)) -// .send(producerRecord.capture()); -// -// BaseRequest baseRequest = (BaseRequest) producerRecord.getValue().value(); -// RequestInfo resultRequestInfo = requestInfoImdg.getSingleObjectByID(baseRequest.getId()); -// -// assertEquals(Consts.EXPORT_PROCESS, producerRecord.getValue().topic()); -// assertNotNull(baseRequest); -// assertNotNull(resultRequestInfo); -// } -// -// /** -// * {@link StatementService}
-// * Тест проверяет генерацию сущностей {@link RequestInfo}
-// * Входные параметры:
-// * {@link StatementRequest}: new StatementRequest()
-// * {@link StatementRequest#table} - SDF_01
-// */ -// @Test -// void processACCOUNT_NEW() { -// sdf01Imdg.insert(sDf01); -// companyImdg.insert(company); -// -// StatementRequest statementRequest = new StatementRequest(); -// statementRequest.setGroupId(groupId); -// statementRequest.setTable(SDF_01); -// BaseRequest baseNewRequest = new BaseRequest<>(); -// baseNewRequest.setRequestPayload(statementRequest); -// baseNewRequest.setId(currentId.getAndIncrement()); -// baseNewRequest.setActionType(ActionType.NEW); -// String jsonBaseNewRequest; -// ObjectMapper objectMapper = new ObjectMapper(); -// try { -// jsonBaseNewRequest = objectMapper.writeValueAsString(baseNewRequest); -// } catch (JsonProcessingException e) { -// throw new RuntimeException(e); -// } -// -// addRecordToKafka(mockConsumer, TOPIC, PARTITION, cuurentOffset.getAndIncrement(), jsonBaseNewRequest); -// -// //waiting for kafka producer send message (finale event) -// verify(producer, timeout(30_000L).times(1)) -// .send(producerRecord.capture()); -// -// BaseRequest baseRequest = (BaseRequest) producerRecord.getValue().value(); -// RequestInfo resultRequestInfo = requestInfoImdg.getSingleObjectByID(baseRequest.getId()); -// -// assertEquals(Consts.ACCOUNT_NEW_SDF01, producerRecord.getValue().topic()); -// assertNotNull(baseRequest); -// assertNotNull(resultRequestInfo); -// } } \ No newline at end of file diff --git a/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/VerificationResultComponentTest.java b/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/VerificationResultComponentTest.java index c1906f2da..55f9012e3 100644 --- a/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/VerificationResultComponentTest.java +++ b/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/VerificationResultComponentTest.java @@ -52,20 +52,11 @@ class VerificationResultComponentTest extends AbstractClearingTest { clearAllInImdg(accountBalanceImdg); clearAllInImdg(accountImdg); clearAllInImdg(companyImdg); - - //setting imdg for been VerificationResultComponent this.verificationResultImdgMock = getMockForFildObj(verificationResultImdg, verificationResultComponent, "verificationResultImdg"); } - /** - * {@link VerificationResultComponent#executeRevision()} ()}
- * Тест проверяет создание сущностей - * {@link VerificationResult} - * в Hazelcast при передаче из Apache Kafka.
- */ @Test void executeRevision() { - //ARRANGE Long companyId = 10L; String acc = "15444876546"; String remainder = "15"; @@ -91,27 +82,18 @@ class VerificationResultComponentTest extends AbstractClearingTest { company.setId(companyId); company.setClearingCode("codeTest"); companyImdg.insert(company); - - //ACT & ASSERT checkVerificationResults(ResultStatuses.success.getKey()); - - // сравнить remainder==balance sDf01.setRemainder(remainder + "1"); sdf01Imdg.insert(sDf01); - //ACT & ASSERT checkVerificationResults(ResultStatuses.notSuccess.getKey()); - - // 2.1 Номера торговых/клиринговых счетов, соответствующие загруженным в КС sDf01.setRemainder(remainder); sDf01.setDeal(acc + "1"); sdf01Imdg.insert(sDf01); - //ACT & ASSERT checkVerificationResults(ResultStatuses.notSuccess.getKey()); } private void checkVerificationResults(String resultStatuses) { int times = currentInteger.getAndIncrement(); - //ACT addRecordToKafka((MockConsumer) eventsReceiver.getConsumer(), TOPIC_VERIFICATION, PARTITION, times, getJsonStringForUPDATE(new LauncherCommandRequest(), 1L)); @@ -121,8 +103,6 @@ class VerificationResultComponentTest extends AbstractClearingTest { Collection results = verificationResultImdg.getAllValues(); Long generationId = null; - - //ASSERT for (VerificationResult verificationResult : results) { if (generationId == null) generationId = verificationResult.getGenerationId(); assertEquals(resultStatuses, verificationResult.getGenerationStatus()); diff --git a/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/builder/sql/RegistryCodeSqlBuilderTest.java b/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/builder/sql/RegistryCodeSqlBuilderTest.java index c1ffcec83..ae5abdef3 100644 --- a/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/builder/sql/RegistryCodeSqlBuilderTest.java +++ b/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/builder/sql/RegistryCodeSqlBuilderTest.java @@ -1,47 +1,4 @@ package ru.spcex.clearing.service.builder.sql; public class RegistryCodeSqlBuilderTest { -//todo раскоментить тесты - -// @Test -// public void testBuildByOneObject() { -// RegistryTradingParams registryTradingParams = new RegistryTradingParams(RegistryDesignation.C, RegistryInstrumentType.M, RegistryCapacity.B, RegistryUnit.R); -// RegistryCodeSqlBuilder registryCodeSqlBuilder = RegistryCodeSqlBuilder.getInstance(registryTradingParams); -// String sql = registryCodeSqlBuilder.build(); -// Assertions.assertEquals("(registryDesignation = 'C' and registryInstrumentType = 'M' and registryCapacity = 'B' and registryUnit = 'R')", sql); -// -// registryTradingParams = new RegistryTradingParams(null, RegistryInstrumentType.M, RegistryCapacity.B, RegistryUnit.R); -// registryCodeSqlBuilder = RegistryCodeSqlBuilder.getInstance(registryTradingParams); -// sql = registryCodeSqlBuilder.build(); -// Assertions.assertEquals("(registryInstrumentType = 'M' and registryCapacity = 'B' and registryUnit = 'R')", sql); -// -// registryTradingParams = new RegistryTradingParams(RegistryDesignation.C, null, null, RegistryUnit.R); -// registryCodeSqlBuilder = RegistryCodeSqlBuilder.getInstance(registryTradingParams); -// sql = registryCodeSqlBuilder.build(); -// Assertions.assertEquals("(registryDesignation = 'C' and registryUnit = 'R')", sql); -// } -// -// @Test -// public void testBuildByFewObjects() { -// RegistryTradingParams registryTradingParams_first = new RegistryTradingParams(RegistryDesignation.C, RegistryInstrumentType.M, RegistryCapacity.B, RegistryUnit.R); -// RegistryTradingParams registryTradingParams_second = new RegistryTradingParams(RegistryDesignation.O, RegistryInstrumentType.S, RegistryCapacity.A, RegistryUnit.F); -// RegistryCodeSqlBuilder registryCodeSqlBuilder = RegistryCodeSqlBuilder.getInstance(registryTradingParams_first, registryTradingParams_second); -// String sql = registryCodeSqlBuilder.build(); -// Assertions.assertEquals("(registryDesignation = 'C' and registryInstrumentType = 'M' and registryCapacity = 'B' and registryUnit = 'R')" + -// " or (registryDesignation = 'O' and registryInstrumentType = 'S' and registryCapacity = 'A' and registryUnit = 'F')", sql); -// -// registryTradingParams_first = new RegistryTradingParams(null, RegistryInstrumentType.M, RegistryCapacity.B, RegistryUnit.R); -// registryTradingParams_second = new RegistryTradingParams(null, RegistryInstrumentType.S, RegistryCapacity.A, RegistryUnit.F); -// registryCodeSqlBuilder = RegistryCodeSqlBuilder.getInstance(registryTradingParams_first, registryTradingParams_second); -// sql = registryCodeSqlBuilder.build(); -// Assertions.assertEquals("(registryInstrumentType = 'M' and registryCapacity = 'B' and registryUnit = 'R') or " + -// "(registryInstrumentType = 'S' and registryCapacity = 'A' and registryUnit = 'F')", sql); -// -// registryTradingParams_first = new RegistryTradingParams(RegistryDesignation.C, null, null, RegistryUnit.R); -// registryTradingParams_second = new RegistryTradingParams(null, RegistryInstrumentType.S, RegistryCapacity.A, RegistryUnit.F); -// registryCodeSqlBuilder = RegistryCodeSqlBuilder.getInstance(registryTradingParams_first, registryTradingParams_second); -// sql = registryCodeSqlBuilder.build(); -// Assertions.assertEquals("(registryDesignation = 'C' and registryUnit = 'R') or " + -// "(registryInstrumentType = 'S' and registryCapacity = 'A' and registryUnit = 'F')", sql); -// } } diff --git a/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/execution/ExecutionDepositComponentTest.java b/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/execution/ExecutionDepositComponentTest.java index 55007f097..32e51f7b5 100644 --- a/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/execution/ExecutionDepositComponentTest.java +++ b/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/execution/ExecutionDepositComponentTest.java @@ -54,12 +54,6 @@ class ExecutionDepositComponentTest extends AbstractClearingTest { } - /** - * {@link ExecutionDepositComponent#processNewTS()} ()}
- * Тест проверяет создание сущностей - * {@link ExecutionDeposit} - * в Hazelcast при передаче из Apache Kafka.
- */ @Test void processNewTS() { String secCode = "SecCode"; @@ -86,9 +80,5 @@ class ExecutionDepositComponentTest extends AbstractClearingTest { addRecordToKafka((MockConsumer) eventsReceiver.getConsumer(), TOPIC, PARTITION, times, getJsonStringForUPDATE(new LauncherCommandRequest(), 1L)); - - //waiting for kafka producer send message (finale event) -// verify(mockProducer, timeout(30_000L).times(times)) -// .send(producerRecord.capture()); } } \ No newline at end of file diff --git a/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/executors/Sdf01ExecutorTest.java b/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/executors/Sdf01ExecutorTest.java index 0b358ae18..25fe82136 100644 --- a/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/executors/Sdf01ExecutorTest.java +++ b/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/executors/Sdf01ExecutorTest.java @@ -1,238 +1,4 @@ package ru.spcex.clearing.service.executors; -//todo раскоментить тест -// class Sdf01ExecutorTest { -// extends AbstractServiceTest { -// public final static DateTimeFormatter datFormatter = DateTimeFormatter.ofPattern("dd.MM.yy"); -// public final static String acc = "123456789"; -// private static final MatcherFactory.Matcher SDF_02_MATCHER = usingIgnoringFieldsComparator("created", "comment", "outSDfId", "generationTime", "generationId", "id"); -// private final Long ID = 1L; -// @Autowired -// Sdf01Executor sdf01Executor; -// private StatementRequest statementRequest; -// @SpyBean -// private MockProducer producer; -// -// @PostConstruct -// void init() { -// super.init(); -// statementRequest = new StatementRequest(); -// } -// -// /** -// * {@link Sdf01Executor#execute(Collection collection, StatementRequest statementRequest)}
-// * Тест проверяет генерацию сущностей {@link Result}, {@link Statement}, {@link SDf02}
-// * Входные параметры:
-// * accountId - {@link StatementRequest}: new StatementRequest()
-// * addresseeId - {@link Collection}
-// * addresseeId - {@link SDf01}
-// * {@link SDf01#market} - "U"
-// * {@link SDf01#deal} - "111111111"
-// * {@link SDf01#account} - "123456789"
-// * {@link SDf01#curr_code} - "RUR"
-// * {@link SDf01#dat} - текущая дата
-// * {@link SDf01#acc_type} - "A"
-// * {@link SDf01#remainder} - "1000"
-// */ -// @Test -// void execute() { -// //check create statement, SDf02 and AccountBalance -// SDf01 sdf01 = getTestSdf01(ID, 1L); -// Company company = getTestCompany(); -// companyMap.put(addresseeIdNew, company); -// -// Account account = getTestAccount(ID, acc); -// accountMap.put(accountIdNew, account); -// -// Result predictableResult = new Result(); -// predictableResult.setGenerationId(ID); -// Statement predictableStatement = getTestStatement(currentId.getAndIncrement(), company, account, sdf01); -// predictableStatement.setOperationStatus(OperationStatus.Executed.getKey()); -// SDf02 predictableSdf02 = getTestSdf02(currentId.getAndIncrement(), sdf01, ID); -// predictableStatement.setOutSDfId(predictableSdf02.getId()); -// AccountResult predictableNewResult = getTestAccountResult(currentId.getAndIncrement(), account, company); -// -// Result result = sdf01Executor.execute(Collections.singletonList(sdf01), statementRequest); -// Statement resultStatement = statementImdg.getSingleObjectByFieldValues(Map.of("account", acc)); -// SDf02 resultSdf02 = sdf02Imdg.getSingleObjectByFieldValues(Map.of("account", acc)); -// AccountBalance resultAccountBalance = accountBalanceImdg.getSingleObjectByFieldValues(Map.of("account", acc)); -// -// RESULT_MATCHER.assertMatch(result, predictableResult); -// STATEMENT_MATCHER.assertMatch(resultStatement, predictableStatement); -// SDF_02_MATCHER.assertMatch(resultSdf02, predictableSdf02); -// ACCOUNT_BALANCE_MATCHER.assertMatch(resultAccountBalance, predictableNewResult.getAccount()); -// } -// -// /** -// * {@link Sdf01Executor#execute(Collection collection, StatementRequest statementRequest)}
-// * Тест проверяет валидацию
-// * Входные параметры:
-// * accountId - {@link StatementRequest}: new StatementRequest()
-// * addresseeId - {@link Collection}
-// * addresseeId - {@link SDf01}
-// * {@link SDf01#market} - "U"
-// * {@link SDf01#deal} - "111111111"
-// * {@link SDf01#account} - "123456789"
-// * {@link SDf01#curr_code} - "RUR"
-// * {@link SDf01#dat} - текущая дата
-// * {@link SDf01#acc_type} - "A"
-// * {@link SDf01#remainder} - "1000"
-// */ -// @Test -// void validatedExecute() { -// //CompanyNotFound -// SDf01 sdf01 = getTestSdf01(ID, 1L); -// companyMap.delete(addresseeIdNew); -// checkError(new EnumMessage(BalanceError.CompanyNotFound), sdf01); -// -// sdf01.setDeal(null); -// checkError(new EnumMessage(BalanceError.CompanyNotFound), sdf01); -// -// //AccountNotPresent accountType=null -// sdf01.setDeal(deal); -// Company company = getTestCompany(); -// companyMap.put(addresseeIdNew, company); -// Account account = new Account(); -// account.setAccount(acc); -// account.setStatus(Status.Active.getKey()); -// accountMap.put(accountIdNew, account); -// checkErrorAccountNotPresent(company, sdf01); -// -// //AccountNotPresent account=null -// account.setAccount(null); -// account.setAccountType(AccountType.Clrn.getKey()); -// account.setStatus(Status.Active.getKey()); -// accountMap.put(accountIdNew, account); -// checkErrorAccountNotPresent(company, sdf01); -// -// //AccountNotPresent sdf01.account==null -// sdf01.setAccount(null); -// checkErrorAccountNotPresent(company, sdf01); -// -// //CurrencyNotFound sdf01.curr_code =! "RUR" -// accountMap.put(accountIdNew, getTestAccount(ID, acc)); -// sdf01.setAccount(acc); -// sdf01.setCurr_code("RUB"); -// checkError(new EnumMessage(BalanceError.CurrencyNotFound), sdf01); -// -// //CurrencyNotFound sdf01.curr_code =! "RUR" -// sdf01.setCurr_code(null); -// checkError(new EnumMessage(BalanceError.CurrencyNotFound), sdf01); -// -// //CurrentDateOnly -// sdf01.setCurr_code("RUR"); -// sdf01.setDat("19.01.23"); -// checkError(new EnumMessage(BalanceError.CurrentDateOnly), sdf01); -// -// //CurrentDateOnly -// sdf01.setDat("19.01.2023"); -// checkError(new EnumMessage(BalanceError.CurrentDateOnly), sdf01); -// -// //CurrentDateOnly -// sdf01.setDat(null); -// checkError(new EnumMessage(BalanceError.CurrentDateOnly), sdf01); -// -// //WrongAccount -// sdf01.setDat(LocalDate.now().format(datFormatter)); -// sdf01.setAcc_type(null); -// checkError(new EnumMessage(BalanceError.WrongAccount), sdf01); -// -// //WrongMarket -// sdf01.setAcc_type("A"); -// sdf01.setMarket(null); -// checkError(new EnumMessage(BalanceError.WrongMarket), sdf01); -// -// sdf01.setMarket("U"); -// } -// -// private void checkError(EnumMessage enumMessage, SDf01 sdf01) { -//// SDf01 sdf01 = getTestSdf01(); -// SDf02 predictableSdf02 = getTestErrorSdf02(sdf01, enumMessage, ID); -// Result result = sdf01Executor.execute(Collections.singletonList(sdf01), statementRequest); -// Collection resultsSdf02 = sdf02Imdg.getCollectionObjectsByFieldValues(Map.of("account", acc)); -// SDf02 resultSdf02 = resultsSdf02.stream().max((entry1, entry2) -> entry1.getId() > entry2.getId() ? 1 : -1).get(); -// SDF_02_MATCHER.assertMatch(resultSdf02, predictableSdf02); -// } -// -// private void checkErrorAccountNotPresent(Company company, SDf01 sdf01) { -// Result predictableResult = new Result(); -// predictableResult.getAccountRequests().add(createAccountRequestPart(sdf01.getId(), sdf01.getAccount(), company.getId())); -// Result result = sdf01Executor.execute(Collections.singletonList(sdf01), statementRequest); -// RESULT_MATCHER.assertMatch(result, predictableResult); -// -// } -// -// private SDf02 getTestSdf02(Long id, SDf01 sdf01, Long generationIdForGroup) { -// SDf02 sDf02 = new SDf02(); -// sDf02.setId(id); -// sDf02.setCurr_code(sdf01.getCurr_code()); -// sDf02.setAccount(sdf01.getAccount()); -// sDf02.setRemainder(sdf01.getRemainder()); -// sDf02.setDeal(sdf01.getDeal()); -// sDf02.setAcc_code(sdf01.getAcc_code()); -// sDf02.setDat(sdf01.getDat()); -// sDf02.setMarket(sdf01.getMarket()); -// sDf02.setAcc_name(sdf01.getAcc_name()); -// sDf02.setAcc_type(sdf01.getAcc_type()); -// sDf02.setSumengage(sdf01.getSumengage()); -// sDf02.setSumunblock(sdf01.getSumunblock()); -// sDf02.setFile_type(sdf01.getFile_type()); -// sDf02.setInSDfId(sdf01.getId()); -// sDf02.setGenerationId(generationIdForGroup); -// sDf02.setGenerationTime(Instant.now()); -// sDf02.setResult("OK!"); -// return sDf02; -// } -// -// private Statement getTestStatement(Long id, Company company, Account account, SDf01 sdf01) { -// Statement statement = new Statement(); -// statement.setId(id); -// statement.setAddresseeId(company.getId()); -// statement.setSenderId(Sender.Prc.getId()); -// statement.setCreated(Instant.now()); -// statement.setClearingDate(LocalDate.now()); -// statement.setStatementType(StatementType.full.getKey()); -// statement.setAccountId(account.getId()); -// statement.setAccount(sdf01.getAccount()); -// statement.setInOutDirection(InOutDirection.in.getKey()); -// statement.setSettlementDate(LocalDate.parse(sdf01.getDat(), datFormatter)); -// statement.setAmount(BigDecimalUtil.parse(sdf01.getRemainder())); -// statement.setOperationStatus(OperationStatus.Pending.getKey()); -// statement.setInSDfId(sdf01.getId()); -// statement.setInOutSDfType(InOutSDfType.type1.getKey()); -// return statement; -// } -// -// private SDf02 getTestErrorSdf02(SDf01 sdf01, EnumMessage error, Long generationIdForGroup) { -// SDf02 sDf02 = new SDf02(); -// sDf02.setId(ID); -// sDf02.setCurr_code(sdf01.getCurr_code()); -// sDf02.setAccount(sdf01.getAccount()); -// sDf02.setRemainder(sdf01.getRemainder()); -// sDf02.setDeal(sdf01.getDeal()); -// sDf02.setAcc_code(sdf01.getAcc_code()); -// sDf02.setDat(sdf01.getDat()); -// sDf02.setMarket(sdf01.getMarket()); -// sDf02.setAcc_name(sdf01.getAcc_name()); -// sDf02.setAcc_type(sdf01.getAcc_type()); -// sDf02.setSumengage(sdf01.getSumengage()); -// sDf02.setSumunblock(sdf01.getSumunblock()); -// sDf02.setFile_type(sdf01.getFile_type()); -// sDf02.setInSDfId(sdf01.getId()); -// String errorId = error.getSubject().getId().toString(); -// sDf02.setResult(errorId.substring(errorId.length() - 3)); -// sDf02.setGenerationId(generationIdForGroup); -// sDf02.setGenerationTime(Instant.now()); -// return sDf02; -// } -// -// private AccountSdfRequestPart createAccountRequestPart(Long sdf01Id, String account, Long companyId) { -// AccountSdfRequestPart req = new AccountSdfRequestPart(); -// req.setAccount(account); -// req.setCompanyId(companyId); -// req.setAccountType(AccountType.Clrn.getKey()); -// req.setSdfId(sdf01Id); -// return req; -// } } \ No newline at end of file diff --git a/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/utils/MatcherFactory.java b/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/utils/MatcherFactory.java index 1141f3840..b363ecf15 100644 --- a/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/utils/MatcherFactory.java +++ b/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/utils/MatcherFactory.java @@ -4,11 +4,6 @@ import java.util.Arrays; import static org.assertj.core.api.Assertions.assertThat; -/** - * Factory for creating test matchers. - *

- * Comparing actual and expected objects via AssertJ - */ public class MatcherFactory { public static Matcher usingIgnoringFieldsComparator(String... fieldsToIgnore) { diff --git a/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/utils/TestUtils.java b/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/utils/TestUtils.java index 3d3a969f8..0ce70331c 100644 --- a/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/utils/TestUtils.java +++ b/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/utils/TestUtils.java @@ -50,8 +50,6 @@ public class TestUtils { requestInfoUpdate.setId(id); requestInfoUpdate.setStatus(Success); predictableBaseRequest.setRequestPayload(requestInfoUpdate); - - //waiting for kafka producer send message (finale event) verify(mockProducer, timeout(30_000L).times(1)) .send(producerRecord.capture()); diff --git a/clearing-parent/clearing-validation/pom.xml b/clearing-parent/clearing-validation/pom.xml index 174415025..bdf434625 100644 --- a/clearing-parent/clearing-validation/pom.xml +++ b/clearing-parent/clearing-validation/pom.xml @@ -4,7 +4,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - clearing-validation + clearing-validation clearing-validation Clearing-module, dependency version of platform-utils jar diff --git a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/scheduler/ISchedulerChecker.java b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/scheduler/ISchedulerChecker.java index 5e5dc4d2a..4728a3d97 100644 --- a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/scheduler/ISchedulerChecker.java +++ b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/scheduler/ISchedulerChecker.java @@ -20,9 +20,6 @@ public class ISchedulerChecker { && (planner.getTask() != null && planner.getTask().equalsIgnoreCase(plannerAllToday.getTask())); } - /** - * @param isWeekend тек.день=СБ-ВС
- */ public static boolean isValidWorkday(ClearingCalendar clearingCalendar, boolean isWeekend) { if (clearingCalendar.getDayStatus() != null && clearingCalendar.getDayStatus().equalsIgnoreCase(DayStatus.Workday.getKey())) { if (isWeekend) { diff --git a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/util/package-info.java b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/util/package-info.java index 4077b07c4..f0e827655 100644 --- a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/util/package-info.java +++ b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/util/package-info.java @@ -1,4 +1 @@ -/** - * Утилиты с зависимостями от множества модулей clearing-* - */ package ru.spcex.clearing.util; \ No newline at end of file diff --git a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/util/services/IMDGMessageResolver.java b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/util/services/IMDGMessageResolver.java index 4c3807bff..d7c27f81f 100644 --- a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/util/services/IMDGMessageResolver.java +++ b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/util/services/IMDGMessageResolver.java @@ -12,9 +12,6 @@ import ru.spcex.platform.utils.enumeration.IMessageResolver; import java.util.Arrays; import java.util.function.Supplier; -/** - * Использует ErrorCodeDictionary для расшифровки текста кодов ошибок. - */ public class IMDGMessageResolver implements IMessageResolver { protected final Logger log = LoggerFactory.getLogger(getClass()); protected final Imdg errorCodeDictionaryIMDG; @@ -36,7 +33,7 @@ public class IMDGMessageResolver implements IMessageResolver { } String textTemplate = errId + " " + errorDictionary.getName(); return String.format(textTemplate, errMsg.getArgs()); - } catch (Exception errFormatting) { // MissingFormatArgumentException + } catch (Exception errFormatting) { log.warn("Error in message resolver for error {} id {}. Format error: {}", errMsg.getSubject(), errMsg.getSubject().getId(), errFormatting); return simplFormatter.get(); } diff --git a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/util/services/RequestHelper.java b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/util/services/RequestHelper.java index 04decd8a7..b3dc579bf 100644 --- a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/util/services/RequestHelper.java +++ b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/util/services/RequestHelper.java @@ -13,17 +13,6 @@ import ru.spcex.platform.utils.log.ExceptionUtils; import java.util.Objects; -/** - * Упрощает обработку ошибок во время обработки реквестов. - * Передаёт регламентированные ошибки из ClearingBaseException. - * - * Пример: - * callback(CompanyNewRequest.class) - * .setFunction( request -> requestHelper.requestFunction(this::createCompany, request)) - * .forDestination(Consts.DESTINATION_COMPANY_NEW, callbacks::put); - * - * return requestHelper.makeErrorResponse(CompanyError.GeneralError, ...) - */ public class RequestHelper { protected Logger log = LoggerFactory.getLogger(getClass()); protected final IMessageResolver messageResolver; @@ -45,14 +34,6 @@ public class RequestHelper { Objects.requireNonNull(generalError, "Required generalError enum"); } - /** - * Оборачивает функцию command в try-catch - * @param command обработчик реквеста - * @param userRequest реквест - * @param request payload type - * @param тип BaseRequest - * @return RequestInfoUpdate или null - */ public > RequestInfoUpdate requestFunction(RequestCommand command, T userRequest) { try { log.debug("{} request received, BaseRequest.id = {}", userRequest.getClass().getSimpleName(), userRequest.getId()); diff --git a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/util/services/exchangers/BiDirectionQueueExchanger.java b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/util/services/exchangers/BiDirectionQueueExchanger.java index eaec45cc3..d2f41d189 100644 --- a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/util/services/exchangers/BiDirectionQueueExchanger.java +++ b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/util/services/exchangers/BiDirectionQueueExchanger.java @@ -7,8 +7,6 @@ import org.apache.kafka.clients.producer.ProducerRecord; import org.apache.kafka.clients.producer.RecordMetadata; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.DisposableBean; -import org.springframework.beans.factory.InitializingBean; 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.CommonIdRequest; @@ -19,18 +17,6 @@ import java.io.Closeable; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; -/** - * Синхронный обмен сообщениями с ассинхронным сервисом. - * Метод exchange() отправляет сообщение в очередь и дожидается ответа из другой очереди. - * Использовать с осторожностью, т.к. нет возобновления ожидания в случае нештатного выключения модуля при ожидании ответа из kafka. - *

- *

- * Ожидает из очереди (CommonIdRequest) - * - * Похожая функция ожидания: KafkaSender.sendToQueueWaitForAnswer - * - * @param отправляется в очередь - */ public class BiDirectionQueueExchanger> extends QueueConsumer implements Closeable { protected final Logger log = LoggerFactory.getLogger(getClass()); protected String outQueue; @@ -42,18 +28,8 @@ public class BiDirectionQueueExchanger> extends Queu protected Object syncObject; protected Long lastSentRequestId; protected volatile Long lastResponseId; - protected boolean ignoreOtherResponse = true; // Пропускать другие ID, пока не получит lastResponseId==lastSentRequestId + protected boolean ignoreOtherResponse = true; - /** - * Синхронно-ассинхронный обмен сообщениями - * - * @param kafkaQueue уникальный kafka Consumer (Spring prototype). Нельзя переиспользовать существующие. - * @param kafkaProducer - * @param outQueue отправляет в очередь - * @param inQueue слушает очередь/топик, ожидает ответов. Пример: Consts.CONTINUE_CLEARING - * @param ignoreOtherResponse true для inQueue=Consts.REQUEST_INFO_UPDATE - * @param timeout - максимальное ожидание ответа, в миллисекундах, 0 - неограничено - */ public BiDirectionQueueExchanger(Consumer kafkaQueue, Producer kafkaProducer, String outQueue, String inQueue, @@ -84,21 +60,12 @@ public class BiDirectionQueueExchanger> extends Queu initReplyListener(); } - /** - * Отправить сообщение message в outQueue и дождаться ответа из очереди inQueue - * - * @param message - * @return request/reply id - * @throws InterruptedException или когда поток прерывают, или когда BiDirectionQueueExchanger.close() - */ public Long exchange(TOut message) throws InterruptedException { if (syncObject == null) throw new IllegalStateException("Listener queue not initialized"); if (message.getId() == null) { throw new IllegalArgumentException("Required message " + message.getClass().getSimpleName() + ".id is null"); } - - //send request to kafka, wait for a reply try { synchronized (syncObject) { Long sentRequestId = sendMessage(message); @@ -114,13 +81,9 @@ public class BiDirectionQueueExchanger> extends Queu } else { syncObject.wait(); } - //если на этом месте произошла ошибка - непонятно как обрабатывать - //т.к. request на самом деле могла быть проблема с сетью/недоступностью кафки etc. } catch (InterruptedException e) { log.error(ExceptionUtils.getStackTrace(e)); throw e; -// Thread.currentThread().interrupt(); -// throw new RuntimeException(e); } waitTime = timeout - (System.currentTimeMillis() - waitStart); if (isTerminated && lastResponseId == null) { diff --git a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/ValidationHelper.java b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/ValidationHelper.java index e9bf4e4e9..e8cddf58f 100644 --- a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/ValidationHelper.java +++ b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/ValidationHelper.java @@ -24,12 +24,6 @@ public class ValidationHelper { this.messageResolver = messageResolver; } - /** - * Валидация запроса до первой ошибки - * - * @param Класс проверяемого запроса - * @return null если ошибок нет - */ public RequestInfoUpdate validateTillFirstError(BaseRequest userRequest, Function validatorBuilder) { if (validatorBuilder != null) { diff --git a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/DateNotBeforeRule.java b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/DateNotBeforeRule.java index a22834156..b79b57873 100644 --- a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/DateNotBeforeRule.java +++ b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/DateNotBeforeRule.java @@ -9,10 +9,6 @@ import java.time.LocalDate; import java.util.Optional; import java.util.function.Function; -/** - * Проверка поля с LocalDate. Условие проверки: поверяемая дата >= текущая дата - * @param Класс проверяемого объекта - */ public record DateNotBeforeRule( String fieldName, Function getter, @@ -21,14 +17,6 @@ public record DateNotBeforeRule( boolean required ) implements IValidationRule> { - /** - * @param fieldName Название поля класса, используется для передачи ошибки - * @param getter Метод получения проверяемой даты - * @param required Флаг обязательности поля - * @param errorEmptyRequiredValue Ошибка, которая будет возвращена, если поле пустое - * @param errorTaskForPastDate Ошибка, которая будет возвращена, если проверяемая дата меньше текущей - * @param Класс проверяемого объекта - */ public static DateNotBeforeRule instance(String fieldName, Function getter, IErrorEnumId errorEmptyRequiredValue, @@ -37,13 +25,6 @@ public record DateNotBeforeRule( return new DateNotBeforeRule<>(fieldName, getter, errorEmptyRequiredValue, errorTaskForPastDate, required); } - /** - * @param fieldName Название поля класса, используется для передачи ошибки - * @param getter Метод получения проверяемой даты - * @param errorEmptyRequiredValue Ошибка, которая будет возвращена, если поле пустое - * @param errorTaskForPastDate Ошибка, которая будет возвращена, если проверяемая дата меньше текущей - * @param Класс проверяемого объекта - */ public static DateNotBeforeRule instance(String fieldName, Function getter, IErrorEnumId errorEmptyRequiredValue, diff --git a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/DictionaryPresentRule.java b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/DictionaryPresentRule.java index 50ca677ab..8a043e238 100644 --- a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/DictionaryPresentRule.java +++ b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/DictionaryPresentRule.java @@ -14,12 +14,6 @@ import java.util.Objects; import java.util.Optional; import java.util.function.Function; -/** - * Проверка поля с кодом из словаря (таблицы *_dictionary) - * - * @param Класс проверяемого объекта - * @param Класс словаря - */ public record DictionaryPresentRule(String fieldName, Function getter, String dictionaryName, @@ -30,18 +24,6 @@ public record DictionaryPresentRule(String fiel Function[] additionalChecks) implements IValidationRule> { - /** - * @param fieldName Название поля - * @param getter Метод получения проверяемого значения - * @param dictionaryName Название словаря (см. IMDGDistributedNames) - * @param dictionaryClass Класс словаря (классы *Dictionary.class) - * @param errorEmptyRequiredValue Ошибка, которая будет возвращена, если поле пустое - * @param errorWrongDictionaryValue Ошибка, которая будет возвращена, если поле не найдено в словаре - * @param required Флаг обязательности - * @param additionalChecks Дополнительные проверки, связанные с этим полем - * @param Класс проверяемого объекта - * @param Класс словаря - */ @SafeVarargs public static DictionaryPresentRule instance(String fieldName, Function getter, @@ -64,17 +46,6 @@ public record DictionaryPresentRule(String fiel additionalChecks); } - /** - * @param fieldName Название поля - * @param getter Метод получения проверяемого значения - * @param dictionaryName Название словаря (см. IMDGDistributedNames) - * @param dictionaryClass Класс словаря (классы *Dictionary.class) - * @param errorEmptyRequiredValue Ошибка, которая будет возвращена, если поле пустое - * @param errorWrongDictionaryValue Ошибка, которая будет возвращена, если поле не найдено в словаре - * @param additionalChecks Дополнительные проверки, связанные с этим полем - * @param Класс проверяемого объекта - * @param Класс словаря - */ @SafeVarargs public static DictionaryPresentRule instance(String fieldName, Function getter, diff --git a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/EndDtAfterStartDtRule.java b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/EndDtAfterStartDtRule.java index 92302ad9d..5c0f3bc43 100644 --- a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/EndDtAfterStartDtRule.java +++ b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/EndDtAfterStartDtRule.java @@ -9,10 +9,6 @@ import java.time.LocalDate; import java.util.Optional; import java.util.function.Function; -/** - * Проверка EndDt < StartDt - * @param Класс проверяемого объекта - */ public record EndDtAfterStartDtRule( String startDtFieldName, String endDtFieldName, @@ -23,16 +19,6 @@ public record EndDtAfterStartDtRule( boolean required ) implements IValidationRule> { - /** - * @param startDtFieldName Название поля класса, содержащий StartDt - * @param endDtFieldName Название поля класса, содержащий EndDt - * @param getterStartDt Метод получения проверяемой StartDt - * @param getterEndDt Метод получения проверяемой EndDt - * @param errorEmptyRequiredValue Ошибка, которая будет возвращена, если одна из дат пустая - * @param errorEndDtAfterStartDt Ошибка, которая будет возвращена, если EndDt > StartDt - * @param required Флаг обязательности поля - * @param Класс проверяемого объекта - */ public static EndDtAfterStartDtRule instance(String startDtFieldName, String endDtFieldName, Function getterStartDt, @@ -49,15 +35,6 @@ public record EndDtAfterStartDtRule( required); } - /** - * @param startDtFieldName Название поля класса, содержащий StartDt - * @param endDtFieldName Название поля класса, содержащий EndDt - * @param getterStartDt Метод получения проверяемой StartDt - * @param getterEndDt Метод получения проверяемой EndDt - * @param errorEmptyRequiredValue Ошибка, которая будет возвращена, если одна из дат пустая - * @param errorEndDtAfterStartDt Ошибка, которая будет возвращена, если StartDt > EndDt - * @param Класс проверяемого объекта - */ public static EndDtAfterStartDtRule instance( String startDtFieldName, String endDtFieldName, diff --git a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/EnumPresentRule.java b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/EnumPresentRule.java index 06df4e777..650407b7e 100644 --- a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/EnumPresentRule.java +++ b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/EnumPresentRule.java @@ -9,12 +9,6 @@ import ru.spcex.platform.utils.validation.IValidationRule; import java.util.Optional; import java.util.function.Function; -/** - * Проверка поля со значением из множества (enum) - * Рекомендуется использовать не эту валидацию, а DictionaryPresentRule - * @param Класс проверяемого объекта - * @param Enum - */ public record EnumPresentRule(String fieldName, Function getter, E[] enumValues, @@ -22,16 +16,6 @@ public record EnumPresentRule(String fieldName, IErrorEnumId errorWrongEnumValue, IErrorEnumId errorEmptyRequiredValue) implements IValidationRule> { - /** - * @param fieldName Название поля - * @param getter Метод получения проверяемого значения - * @param enumValues Значения из проверяемого множества (Enum.values()) - * @param errorWrongEnumValue Ошибка, которая будет возвращена, если поле не найдено в Enum - * @param errorEmptyRequiredValue Ошибка, которая будет возвращена, если поле пустое - * @param required Флаг обязательности - * @param Класс проверяемого объекта - * @param Enum - */ public static EnumPresentRule instance(String fieldName, Function getter, E[] enumValues, @@ -43,15 +27,6 @@ public record EnumPresentRule(String fieldName, return new EnumPresentRule<>(fieldName, getter, enumValues, required, errorWrongEnumValue, errorEmptyRequiredValue); } - /** - * @param fieldName Название поля - * @param getter Метод получения проверяемого значения - * @param enumValues Значения из проверяемого множества (Enum.values()) - * @param errorWrongEnumValue Ошибка, которая будет возвращена, если поле не найдено в Enum - * @param errorEmptyRequiredValue Ошибка, которая будет возвращена, если поле пустое - * @param Класс проверяемого объекта - * @param Enum - */ public static EnumPresentRule instance(String fieldName, Function getter, E[] enumValues, diff --git a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/FieldRequiredRule.java b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/FieldRequiredRule.java index c2e0ebe48..d23b22803 100644 --- a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/FieldRequiredRule.java +++ b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/FieldRequiredRule.java @@ -9,17 +9,6 @@ import ru.spcex.platform.utils.validation.IValidationRule; import java.util.Optional; import java.util.function.Function; -/** - * Проверка обязательности поля (not null) - * - * @param fieldName Название поля - * @param getter Метод получения значения - * @param errorEmptyRequiredValue Ошибка, которая будет возвращена, если поле пустое - * @param additionalChecks Дополнительные проверки, связанные с этим полем - * @param required Флаг обязательности поля - * @param Класс проверяемого объекта - * @param Класс проверяемого значения - */ public record FieldRequiredRule( String fieldName, Function getter, @@ -28,15 +17,6 @@ public record FieldRequiredRule( Function[] additionalChecks ) implements IValidationRule> { - /** - * @param fieldName Название поля - * @param getter Метод получения значения - * @param errorEmptyRequiredValue Ошибка, которая будет возвращена, если поле пустое - * @param additionalChecks Дополнительные проверки, связанные с этим полем - * @param required Флаг обязательности поля - * @param Класс проверяемого объекта - * @param Класс проверяемого значения - */ @SafeVarargs public static FieldRequiredRule instance(String fieldName, Function getter, @@ -47,14 +27,6 @@ public record FieldRequiredRule( return new FieldRequiredRule<>(fieldName, getter, errorEmptyRequiredValue, required, additionalChecks); } - /** - * @param fieldName Название поля - * @param getter Метод получения значения - * @param errorEmptyRequiredValue Ошибка, которая будет возвращена, если поле пустое - * @param additionalChecks Дополнительные проверки, связанные с этим полем - * @param Класс проверяемого объекта - * @param Класс проверяемого значения - */ @SafeVarargs public static FieldRequiredRule instance(String fieldName, Function getter, @@ -65,7 +37,6 @@ public record FieldRequiredRule( } @Override - // todo replace for error fieldName to fieldValue public Optional validate(ImdgValidationContext context) { R validatedObject = context.getValidatedObject(); V value = getter.apply(validatedObject); diff --git a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/IdPresentRule.java b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/IdPresentRule.java index f0b811682..b4a1d7b2f 100644 --- a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/IdPresentRule.java +++ b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/IdPresentRule.java @@ -11,12 +11,6 @@ import java.util.Objects; import java.util.Optional; import java.util.function.Function; -/** - * Проверка наличия связанного по Id объекта в базе - * - * @param Класс проверяемого объекта - * @param Класс связанного объекта - */ public record IdPresentRule( String fieldName, Function idGetter, @@ -28,18 +22,6 @@ public record IdPresentRule( Function[] additionalChecks ) implements IValidationRule> { - /** - * @param fieldName Название поля, содержащего Id - * @param idGetter Метод получения Id - * @param mapName Название мапы связанного объекта (см. IMDGDistributedNames) - * @param mapClass Класс связанного объекта - * @param errorEmptyRequiredValue Ошибка, которая будет возвращена, если поле пустое - * @param errorIdNotPresent Ошибка, которая будет возвращена, если Id не найден - * @param required Флаг обязательности - * @param additionalChecks Дополнительные проверки, которые можно провести со связанным объектом - * @param Класс проверяемого объекта - * @param Класс связанного объекта - */ @SafeVarargs public static IdPresentRule instance(String fieldName, Function idGetter, @@ -62,17 +44,6 @@ public record IdPresentRule( additionalChecks); } - /** - * @param fieldName Название поля, содержащего Id - * @param idGetter Метод получения Id - * @param mapName Название мапы связанного объекта (см. IMDGDistributedNames) - * @param mapClass Класс связанного объекта - * @param errorEmptyRequiredValue Ошибка, которая будет возвращена, если поле пустое - * @param errorIdNotPresent Ошибка, которая будет возвращена, если Id не найден - * @param additionalChecks Дополнительные проверки, которые можно провести со связанным объектом - * @param Класс проверяемого объекта - * @param Класс связанного объекта - */ @SafeVarargs public static IdPresentRule instance(String fieldName, Function idGetter, diff --git a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/IsLongValueRule.java b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/IsLongValueRule.java index a5dcdd328..0de4e0513 100644 --- a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/IsLongValueRule.java +++ b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/IsLongValueRule.java @@ -8,11 +8,6 @@ import ru.spcex.platform.utils.validation.IValidationRule; import java.util.Optional; import java.util.function.Function; -/** - * Проверка поля типа String на возможность преобразования в Long - * - * @param Класс проверяемого объекта - */ public record IsLongValueRule( String fieldName, Function getter, @@ -21,14 +16,6 @@ public record IsLongValueRule( boolean required ) implements IValidationRule> { - /** - * @param fieldName Название поля класса, используется для передачи ошибки - * @param getter Метод получения проверяемого поля - * @param errorEmptyRequiredField Ошибка, которая будет возвращена, если поле пустое - * @param errorWrongFieldValue Ошибка, которая будет возвращена, если поле нельзя преобразовать в Long - * @param required Флаг обязательности поля - * @param Класс проверяемого объекта - */ public static IsLongValueRule instance(String fieldName, Function getter, IErrorEnumId errorEmptyRequiredField, @@ -37,13 +24,6 @@ public record IsLongValueRule( return new IsLongValueRule<>(fieldName, getter, errorEmptyRequiredField, errorWrongFieldValue, required); } - /** - * @param fieldName Название поля класса, используется для передачи ошибки - * @param getter Метод получения проверяемого поля - * @param errorEmptyRequiredField Ошибка, которая будет возвращена, если поле пустое - * @param errorWrongFieldValue Ошибка, которая будет возвращена, если поле нельзя преобразовать в Long - * @param Класс проверяемого объекта - */ public static IsLongValueRule instance(String fieldName, Function getter, IErrorEnumId errorEmptyRequiredField, diff --git a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/SpecialIdPresentRule.java b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/SpecialIdPresentRule.java index afa281bc5..75c93f119 100644 --- a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/SpecialIdPresentRule.java +++ b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/SpecialIdPresentRule.java @@ -1,10 +1,7 @@ package ru.spcex.clearing.validation.common.rules; -import ru.clearing.platform.dictionary.AbstractDictionary; import ru.spcex.platform.classes.base.SpcexObjectBase; import ru.spcex.platform.imdg.api.Imdg; -import ru.spcex.platform.imdg.api.predicate.ImdgPredicate; -import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder; import ru.spcex.platform.imdg.validation.ImdgValidationContext; import ru.spcex.platform.utils.enumeration.EnumMessage; import ru.spcex.platform.utils.enumeration.IErrorEnumId; @@ -15,12 +12,6 @@ import java.util.Map; import java.util.Optional; import java.util.function.Function; -/** - * Проверка поля с кодом из таблицы (аналог IdPresentRule / DictionaryPresentRule) - * - * @param Класс проверяемого объекта - * @param Класс искомого объекта (mapName) - */ public record SpecialIdPresentRule(String fieldName, Function getter, String keyName, diff --git a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/TimeNotBeforeRule.java b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/TimeNotBeforeRule.java index 7ab42a96c..0e54e28a4 100644 --- a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/TimeNotBeforeRule.java +++ b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/TimeNotBeforeRule.java @@ -9,10 +9,6 @@ import java.time.LocalTime; import java.util.Optional; import java.util.function.Function; -/** - * Проверка поля с LocalTime. Условие проверки: проверяемое время >= текущее время - * @param Класс проверяемого объекта - */ public record TimeNotBeforeRule( String fieldName, Function getter, @@ -21,14 +17,6 @@ public record TimeNotBeforeRule( boolean required ) implements IValidationRule> { - /** - * @param fieldName Название поля класса, используется для передачи ошибки - * @param getter Метод получения проверяемого времени - * @param errorEmptyRequiredValue Ошибка, которая будет возвращена, если поле пустое - * @param errorTaskForPastTime Ошибка, которая будет возвращена, если проверяемое время меньше текущего - * @param required Флаг обязательности поля - * @param Класс проверяемого объекта - */ public static TimeNotBeforeRule instance(String fieldName, Function getter, IErrorEnumId errorEmptyRequiredValue, @@ -37,13 +25,6 @@ public record TimeNotBeforeRule( return new TimeNotBeforeRule<>(fieldName, getter, errorEmptyRequiredValue, errorTaskForPastTime, required); } - /** - * @param fieldName Название поля класса, используется для передачи ошибки - * @param getter Метод получения проверяемого времени - * @param errorEmptyRequiredValue Ошибка, которая будет возвращена, если поле пустое - * @param errorTaskForPastTime Ошибка, которая будет возвращена, если проверяемое время меньше текущего - * @param Класс проверяемого объекта - */ public static TimeNotBeforeRule instance(String fieldName, Function getter, IErrorEnumId errorEmptyRequiredValue, diff --git a/clearing-parent/clearing-validation/src/test/java/ru/spcex/clearing/util/services/IMDGMessageResolverTest.java b/clearing-parent/clearing-validation/src/test/java/ru/spcex/clearing/util/services/IMDGMessageResolverTest.java index 37dd1196b..3571b0f42 100644 --- a/clearing-parent/clearing-validation/src/test/java/ru/spcex/clearing/util/services/IMDGMessageResolverTest.java +++ b/clearing-parent/clearing-validation/src/test/java/ru/spcex/clearing/util/services/IMDGMessageResolverTest.java @@ -9,7 +9,7 @@ import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.utils.enumeration.EnumMessage; import ru.spcex.platform.utils.enumeration.IErrorEnumId; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; class IMDGMessageResolverTest { @@ -39,19 +39,15 @@ class IMDGMessageResolverTest { } { String text = resolver.resolve(new EnumMessage(err1, "one only this")); - //assertEquals("Error 1 test. Two arg one only this, %s.", text); - // java.util.MissingFormatArgumentException: Format specifier '%s' assertEquals("(1) args [one only this]", text); } { String text = resolver.resolve(new EnumMessage(err1)); - //assertEquals("Error 1 test. Two arg %s, %s.", text); - // java.util.MissingFormatArgumentException: Format specifier '%s' assertEquals("(1) args []", text); } } - static enum ClearingErrorInternalTest implements IErrorEnumId { // see ClearingErrorInternal + static enum ClearingErrorInternalTest implements IErrorEnumId { TestError(1L); private final Long id; diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/CompanySymbolValidationConfig.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/CompanySymbolValidationConfig.java index c06df951a..f0f171d75 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/CompanySymbolValidationConfig.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/CompanySymbolValidationConfig.java @@ -44,8 +44,6 @@ public class CompanySymbolValidationConfig { Company.class, CompanyErrors.RequiredFieldEmpty, CompanyErrors.CompanyNotFound), -// FieldRequiredRule.instance("companySymbol", CompanySymbolUpdateRequest::getCompanySymbol, CompanyErrors.RequiredFieldEmpty), -// FieldRequiredRule.instance("companySymbolValue", CompanySymbolUpdateRequest::getCompanySymbolValue, CompanyErrors.RequiredFieldEmpty), DictionaryPresentRule.instance("companySymbol", CompanySymbolNewRequest::getCompanySymbol, IMDGDistributedNames.Map_CompanySymbolDictionary, @@ -87,8 +85,6 @@ public class CompanySymbolValidationConfig { Company.class, CompanyErrors.RequiredFieldEmpty, CompanyErrors.CompanyNotFound), -// FieldRequiredRule.instance("companySymbol", CompanySymbolUpdateRequest::getCompanySymbol, CompanyErrors.RequiredFieldEmpty), -// FieldRequiredRule.instance("companySymbolValue", CompanySymbolUpdateRequest::getCompanySymbolValue, CompanyErrors.RequiredFieldEmpty), DictionaryPresentRule.instance("companySymbol", CompanySymbolUpdateRequest::getCompanySymbol, IMDGDistributedNames.Map_CompanySymbolDictionary, diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/CompanyValidationConfig.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/CompanyValidationConfig.java index 316b37a5d..da587bbc5 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/CompanyValidationConfig.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/CompanyValidationConfig.java @@ -11,11 +11,9 @@ import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteReques import ru.spcex.clearing.platform.messaging.domain.cud.company.CompanyInfoUpdateRequest; import ru.spcex.clearing.platform.messaging.domain.cud.company.CompanyNewRequest; import ru.spcex.clearing.validation.common.rules.DictionaryPresentRule; -import ru.spcex.clearing.validation.common.rules.EnumPresentRule; import ru.spcex.clearing.validation.common.rules.FieldRequiredRule; import ru.spcex.clearing.validation.common.rules.IdPresentRule; import ru.spcex.platform.classes.base.SpcexObjectBase; -import ru.spcex.platform.enumeration.CompanySymbol; import ru.spcex.platform.enumeration.WorkflowStatus; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.validation.ImdgValidationContext; @@ -73,8 +71,6 @@ public class CompanyValidationConfig { FieldRequiredRule.instance("id", CompanyNewRequest::getId, CompanyErrors.RequiredFieldEmpty), FieldRequiredRule.instance("shortName", CompanyNewRequest::getShortName, CompanyErrors.RequiredFieldEmpty), -// FieldRequiredRule.instance("companySymbol", CompanyNewRequest::getCompanySymbol, CompanyErrors.RequiredFieldEmpty), -// FieldRequiredRule.instance("companySymbolValue", CompanyNewRequest::getCompanySymbolValue, CompanyErrors.RequiredFieldEmpty), FieldRequiredRule.instance("workflowStatus", CompanyNewRequest::getWorkflowStatus, CompanyErrors.RequiredFieldEmpty), DictionaryPresentRule.instance("workflowStatus", @@ -83,12 +79,6 @@ public class CompanyValidationConfig { WorkflowStatusDictionary.class, CompanyErrors.RequiredFieldEmpty, CompanyErrors.WrongFieldValue) -// DictionaryPresentRule.instance("companySymbol", -// CompanyNewRequest::getCompanySymbol, -// IMDGDistributedNames.Map_CompanySymbolDictionary, -// CompanySymbolDictionary.class, -// CompanyErrors.RequiredFieldEmpty, -// CompanyErrors.WrongFieldValue) ); }; } @@ -102,7 +92,6 @@ public class CompanyValidationConfig { Consumer addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s)); addImdg.accept(IMDGDistributedNames.Map_Company); return new ValidatorImpl<>(context, -// FieldRequiredRule.instance("id", CommonDeleteRequest::getId, CompanyErrors.RequiredFieldEmpty), IdPresentRule.instance("id", CommonDeleteRequest::getId, IMDGDistributedNames.Map_Company, @@ -131,14 +120,12 @@ public class CompanyValidationConfig { addImdg.accept(IMDGDistributedNames.Map_LegalKindDictionary); addImdg.accept(IMDGDistributedNames.Map_OrganizationTypeDictionary); return new ValidatorImpl<>(context, -// FieldRequiredRule.instance("id", CommonDeleteRequest::getId, CompanyErrors.RequiredFieldEmpty), IdPresentRule.instance("id", CompanyInfoUpdateRequest::getId, IMDGDistributedNames.Map_Company, Company.class, CompanyErrors.RequiredFieldEmpty, CompanyErrors.CompanyNotFound - //, company -> WorkflowStatus.Active.getKey().equals(company.getWorkflowStatus()) ? null : CompanyErrors.CompanyDisabled ), DictionaryPresentRule.instance("CorporationSoleType", diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/ProfileDocumentValidationConfig.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/ProfileDocumentValidationConfig.java index 9d38ebe63..36b58c515 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/ProfileDocumentValidationConfig.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/ProfileDocumentValidationConfig.java @@ -10,9 +10,11 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest; import ru.spcex.clearing.platform.messaging.domain.cud.company.ProfileDocumentNewRequest; import ru.spcex.clearing.platform.messaging.domain.cud.company.ProfileDocumentUpdateRequest; -import ru.spcex.clearing.validation.common.rules.*; +import ru.spcex.clearing.validation.common.rules.DictionaryPresentRule; +import ru.spcex.clearing.validation.common.rules.EndDtAfterStartDtRule; +import ru.spcex.clearing.validation.common.rules.FieldRequiredRule; +import ru.spcex.clearing.validation.common.rules.IdPresentRule; import ru.spcex.platform.classes.base.SpcexObjectBase; -import ru.spcex.platform.enumeration.WorkflowStatus; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.validation.ImdgValidationContext; import ru.spcex.platform.utils.validation.IValidator; @@ -94,7 +96,6 @@ public class ProfileDocumentValidationConfig { CompanyErrors.RequiredFieldEmpty, CompanyErrors.CompanyNotFound, false - //company -> WorkflowStatus.Active.getKey().equals(company.getWorkflowStatus()) ? null : CompanyErrors.CompanyDisabled ), DictionaryPresentRule.instance("documentType", ProfileDocumentUpdateRequest::getDocumentType, diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/RelationValidationConfig.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/RelationValidationConfig.java index 155e44c33..f3767294d 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/RelationValidationConfig.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/RelationValidationConfig.java @@ -72,7 +72,6 @@ public class RelationValidationConfig { Consumer addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s)); addImdg.accept(IMDGDistributedNames.Map_Relation); addImdg.accept(IMDGDistributedNames.Map_Company); -// addImdg.accept(IMDGDistributedNames.Map_ClearingCategoryDictionary); addImdg.accept(IMDGDistributedNames.Map_WorkflowStatusDictionary); addImdg.accept(IMDGDistributedNames.Map_ServiceStatusDictionary); return new ValidatorImpl<>(context, @@ -92,18 +91,6 @@ public class RelationValidationConfig { return null; } }), -// IdPresentRule.instance("companyId", -// RelationUpdateRequest::getCompanyId, -// IMDGDistributedNames.Map_Company, -// Company.class, -// CompanyErrors.RequiredFieldEmpty, -// CompanyErrors.CompanyNotFound), -// DictionaryPresentRule.instance("documentType", -// RelationUpdateRequest::getClearingMemberCategory, -// IMDGDistributedNames.Map_ClearingCategoryDictionary, -// ClearingCategoryDictionary.class, -// CompanyErrors.RequiredFieldEmpty, -// CompanyErrors.WrongFieldValue), DictionaryPresentRule.instance("serviceStatus", RelationUpdateRequest::getServiceStatus, IMDGDistributedNames.Map_ServiceStatusDictionary, diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/error/CompanyErrors.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/error/CompanyErrors.java index 1c5b42c49..a0fb882ea 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/error/CompanyErrors.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/error/CompanyErrors.java @@ -3,31 +3,31 @@ package ru.spcex.clearing.company.error; import ru.spcex.platform.utils.enumeration.IErrorEnumId; public enum CompanyErrors implements IErrorEnumId { - GeneralError(3000L), // Общая ошибка модуля company-service - UserVerifyDenial(3001L), // 'Нет прав на проведение данной операции + GeneralError(3000L), + UserVerifyDenial(3001L), - RequiredFieldEmpty(3002L), // Не заданы обязательные поля %s. - DictionaryNotFound(3003L), // Запись с идентификатором %s в справочнике %s не найдена. - WrongFieldValue(3004L), // Неверное значение поля %s. - RecordAlreadyExist(3005L), // Запись с идентификатором %s уже существует. - RecordNotFound(3006L), // Запись с идентификатором %s не найдена. - CompanyALreadyExist(3010L), // Компания %s уже существует - CompanyNotFound(3011L), // Компания %s не найдена. - CompanyDisabled(3012L), // Компания %s неактивна. - ProfileNotFound(3013L), // Профиль компании %s не найден. - CompanyInfoNotFound(3014L), // Реквизит компании %s не найден. - ContactNotFound(3015L), // Контакт компании %s не найден. - CategoryNotFound(3016L), // Категория компании %s не найдена. - CategoryAlreadySet(3017L), // Компании %s уже присвоена категория %s. - CompanyAlreadyHasLiabilities(3018L), // У компании %s присутствуют обязательства. - CompanyWithCompanySymbolAlreadyExist(3019L), // Компания с %s = %s уже создана" (где первый %s - companySymbol, второй %s - companySymbolValue) - EditCompanySymbols(3020L), // Тип реквизита компании %s не может быть изменен. - EditContactType(3021L), // Тип контакта компании %s не может быть изменен. - TradingClearingRegistryNotFound(3022L), // ТКР с %s не найден - AccountNotFound(3023L), // Счет %s не найден - ClearingMemberCategoryOnMKRAlreadyExist(3024L), // Договорные отношения %s в секции МКР уже созданы. - ClearingMemberCategoryOnFONDAlreadyExist(3025L), // Договорные отношения %s на фондовой секции уже созданы. - RelationNotFound(3026L), // Запись о договорных отношениях не найдена + RequiredFieldEmpty(3002L), + DictionaryNotFound(3003L), + WrongFieldValue(3004L), + RecordAlreadyExist(3005L), + RecordNotFound(3006L), + CompanyALreadyExist(3010L), + CompanyNotFound(3011L), + CompanyDisabled(3012L), + ProfileNotFound(3013L), + CompanyInfoNotFound(3014L), + ContactNotFound(3015L), + CategoryNotFound(3016L), + CategoryAlreadySet(3017L), + CompanyAlreadyHasLiabilities(3018L), + CompanyWithCompanySymbolAlreadyExist(3019L), + EditCompanySymbols(3020L), + EditContactType(3021L), + TradingClearingRegistryNotFound(3022L), + AccountNotFound(3023L), + ClearingMemberCategoryOnMKRAlreadyExist(3024L), + ClearingMemberCategoryOnFONDAlreadyExist(3025L), + RelationNotFound(3026L), ; private final Long id; diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/AccountNotificationHelper.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/AccountNotificationHelper.java index c220cf6dd..b3b746902 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/AccountNotificationHelper.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/AccountNotificationHelper.java @@ -63,29 +63,16 @@ public class AccountNotificationHelper { public CompanyErrors accountTerminationByDocumentNotification(Long companyId, Long terminationDocumentId) { -// Collection accounts = accountMap.getCollectionObjectsBySQL("companyId=" + companyId); -// log.trace("Found {} accounts (will be terminated) by company {}", accounts.size(), companyId); -// for (Account account : accounts) { -// Collection liabilities = liabilitiesClaimsAssetsMap.getCollectionObjectsBySQL("accountId=" + account.getId()); -// for (LiabilitiesClaimsAssets liability : liabilities) { -// if (liability.getLiabilitiesQuantity() != null && BigDecimal.ZERO.compareTo(liability.getLiabilitiesQuantity()) == 0) { -// return CompanyErrors.CompanyAlreadyHasLiabilities; -// } -// } -// } -// log.debug("Sending messages to account-service for {} account", accounts.size()); AccountTerminationRequest requestBatch = createAccountsRequest(companyId, terminationDocumentId); Long reqId = kafkaSender.sendRequestToQueue(Consts.ACCOUNT_TERMINATION, requestBatch); log.debug("For terminate account send termination by document request id={}", reqId); - // ответ должен послаться в ACCOUNT_TERMINATION_STEP2 = "company-block"; return null; } public void makeInfoAccount(Long companyId) { InformationAccountNewRequest r = new InformationAccountNewRequest(); r.setCompanyId(companyId); - // формат "39911"+ "810" +"000001"(счётчик)+"7000"; пример: "39911810000000017000" log.debug("Sending messages to account-service {} for company {}", Consts.INFORMATION_ACCOUNT_SYSTEM_NEW, companyId); 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 index af6ca5c70..d6b115e2d 100644 --- 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 @@ -132,8 +132,6 @@ public class ClearingMemberCategoryService extends QueueConsumer implements Init log.debug("ClearingMemberCategoryUpdateRequest received"); ClearingMemberCategory clearingMemberCategory = clearingMemberCategoryMap.getSingleObjectByID(req.getId()); - - // if (Objects.equals(clearingMemberCategory.getClearingMemberCategory(), req.getClearingMemberCategory())) String oldClearingMemberCategory = clearingMemberCategory.getClearingMemberCategory(); clearingMemberCategory.setClearingMemberCategory(req.getClearingMemberCategory()); synchronized (companyService) { @@ -141,9 +139,6 @@ public class ClearingMemberCategoryService extends QueueConsumer implements Init transaction.beginTransaction(); boolean txOk = false; try { - //todo сложный кейс с возможным изменением релейшена или пересозданием. Скоро ТЗ доделают. - //companyService.relationService.updateExistRelation(transaction,clearingMemberCategory.getCompanyId(), oldClearingMemberCategory, - // clearingMemberCategory.getClearingMemberCategory()); companyService.relationService.createNewRelation(transaction, clearingMemberCategory.getCompanyId(), clearingMemberCategory); Imdg txClearingMemberCategoryMap = transaction.getImdg(IMDGDistributedNames.Map_ClearingMemberCategory, ClearingMemberCategory.class); txClearingMemberCategoryMap.insert(clearingMemberCategory); @@ -178,7 +173,7 @@ public class ClearingMemberCategoryService extends QueueConsumer implements Init boolean txOk = false; try { Imdg txClearingMemberCategoryMap = transaction.getImdg(IMDGDistributedNames.Map_ClearingMemberCategory, ClearingMemberCategory.class); - txClearingMemberCategoryMap.delete(clearingMemberCategory); // далить до cancelRelation внутри транзакции + txClearingMemberCategoryMap.delete(clearingMemberCategory); companyService.relationService.cancelRelation(transaction, clearingMemberCategory.getCompanyId(), clearingMemberCategory); txOk = true; } finally { diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyInfoService.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyInfoService.java index e7648af78..3ca329ee0 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyInfoService.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyInfoService.java @@ -65,7 +65,7 @@ public class CompanyInfoService extends QueueConsumer implements InitializingBea .forDestination(Consts.DESTINATION_COMPANY_INFO_UPDATE, callbacks::put); callback(CompanyInfoUpdateRequest.class) .setFunction(request -> requestHelper.requestFunction(this::companyInfoUpdate, request)) - .forDestination(Consts.DESTINATION_COMPANY_INFO_NEW, callbacks::put); // логика заполнения одинакова с companyInfoUpdate + .forDestination(Consts.DESTINATION_COMPANY_INFO_NEW, callbacks::put); init(); } @@ -73,7 +73,7 @@ public class CompanyInfoService extends QueueConsumer implements InitializingBea public RequestInfoUpdate companyInfoUpdate(BaseRequest companyInfoReq) throws ValidationException { CompanyInfoUpdateRequest req = companyInfoReq.getRequestPayload(); log.debug("{} received", req.getClass().getSimpleName()); - { // Валидация, ValidationException + { RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(companyInfoReq); if (requestInfoUpdate != null) return requestInfoUpdate; diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyRoleSetService.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyRoleSetService.java index add089451..efbdf9782 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyRoleSetService.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyRoleSetService.java @@ -33,14 +33,12 @@ public class CompanyRoleSetService extends QueueConsumer implements Initializing private final RequestHelper requestHelper; private final ImdgProvider imdgProvider; - // private final Imdg companyMap; private final Imdg companyRoleSetMap; private final ImdgId idSequence; protected UserRoleVerification userRoleVerification; protected IMessageResolver messageResolver; private ValidationHelper validationHelper; -// private Function companyNewRequestValidator; @Autowired @@ -49,8 +47,6 @@ public class CompanyRoleSetService extends QueueConsumer implements Initializing RequestHelper requestHelper, ValidationHelper validationHelper, UserRoleVerification userRoleVerification -// @Qualifier("CompanyRoleSetRequestValidator") -// Function companyNewRequestValidator, ) { super(kafkaQueue, kafkaProducer); this.imdgProvider = imdgProvider; @@ -58,7 +54,6 @@ public class CompanyRoleSetService extends QueueConsumer implements Initializing this.idSequence = imdgProvider.getImdgIdGenerator(); this.userRoleVerification = userRoleVerification; this.validationHelper = validationHelper; -// this.companyDeleteRequestValidator = companyDeleteRequestValidator; this.requestHelper = requestHelper.setLogger(log); } @@ -67,9 +62,6 @@ public class CompanyRoleSetService extends QueueConsumer implements Initializing callback(CompanyRoleSetNewRequest.class) .setFunction(request -> requestHelper.requestFunction(this::createCompanyRoleSet, request)) .forDestination(Consts.DESTINATION_COMPANY_ROLE_SET_NEW, callbacks::put); -// callback(CompanyRoleSetNewRequest.class) -// .setConsumer(request -> requestHelper.requestFunction(this::createCompanyRoleSet, request)) -// .forDestination(Consts.DESTINATION_COMPANY_ROLE_SET_UPDATE, callbacks::put); callback(CommonDeleteRequest.class) .setFunction(request -> requestHelper.requestFunction(this::deleteCompanyRoleSet, request)) .forDestination(Consts.DESTINATION_COMPANY_ROLE_SET_DELETE @@ -80,13 +72,10 @@ public class CompanyRoleSetService extends QueueConsumer implements Initializing private RequestInfoUpdate createCompanyRoleSet(BaseRequest companyRoleNewRequestBaseRequest) throws ValidationException { CompanyRoleSetNewRequest req = companyRoleNewRequestBaseRequest.getRequestPayload(); log.debug("companyroleset-new request received, BaseRequest.id = {}", companyRoleNewRequestBaseRequest.getId()); - { // Валидация, ValidationException + { RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(companyRoleNewRequestBaseRequest); if (requestInfoUpdate != null) return requestInfoUpdate; -// RequestInfoUpdate requestInfoUpdate = validationHelper.validateTillFirstError(companyRoleNewRequestBaseRequest, companyNewRequestValidator); -// if (requestInfoUpdate != null) return requestInfoUpdate; } - //todo какие проверки нужны? 1. есть компания, 2. есть справочники CompanyRoleSet newRole = companyRoleSetMap.getFirstObjectByFieldValues(Map.of( "companyId", req.getCompanyId(), "companyRole", req.getCompanyRole() @@ -102,7 +91,6 @@ public class CompanyRoleSetService extends QueueConsumer implements Initializing } else { isNew = false; log.trace("Update exist CompanyRoleSet[{}] for company {}", newRole.getId(), req.getCompanyId()); -// return requestHelper.makeErrorResponse(companyRoleNewRequestBaseRequest, CompanyErrors.RecordAlreadyExist, newRole.getId()); } newRole.setCompanyRole(req.getCompanyRole()); newRole.setWorkflowStatus(req.getWorkflowStatus()); @@ -117,7 +105,7 @@ public class CompanyRoleSetService extends QueueConsumer implements Initializing private RequestInfoUpdate deleteCompanyRoleSet(BaseRequest companyRoleSetDeleteRequest) throws ValidationException { CommonDeleteRequest request = companyRoleSetDeleteRequest.getRequestPayload(); log.debug("companyRoleSetDeleteRequest received id = {}", request.getId()); - { // Валидация, ValidationException + { RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(companyRoleSetDeleteRequest); if (requestInfoUpdate != null) return requestInfoUpdate; if (request.getId() == null) { diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyService.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyService.java index 427df3c9b..b39bda050 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyService.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyService.java @@ -112,7 +112,6 @@ public class CompanyService extends QueueConsumer implements InitializingBean { } private RequestInfoUpdate processBaseRequest(BaseRequest request) throws ValidationException { - // Валидация RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(request); if (requestInfoUpdate != null) return requestInfoUpdate; ActionType actionType = request.getActionType(); @@ -199,10 +198,6 @@ public class CompanyService extends QueueConsumer implements InitializingBean { log.trace("Company {} not found", updateRequest.getId()); throw new ValidationException(new EnumMessage(CompanyErrors.CompanyNotFound)); } -// if (!WorkflowStatus.Active.equalsByKey(company.getWorkflowStatus())) { -// log.trace("Company {} not active: {}", company.getId(), company.getWorkflowStatus()); -// return requestHelper.makeErrorResponse(companyUpdateRequestBaseRequest, CompanyErrors.CompanyDisabled, updateRequest.getId()); -// } company.setUpdated(Instant.now()); company.setShortName(updateRequest.getShortName()); @@ -276,16 +271,10 @@ public class CompanyService extends QueueConsumer implements InitializingBean { } } - /** - * Блокировка компании - * - * @param companyBlockRequestBaseRequest - * @return - */ private synchronized RequestInfoUpdate deleteCompany(BaseRequest companyBlockRequestBaseRequest) throws ValidationException { CommonDeleteRequest request = companyBlockRequestBaseRequest.getRequestPayload(); log.debug("CommonDeleteRequest (block request) received id = {}", request.getId()); - { // Валидация + { RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(companyBlockRequestBaseRequest); if (requestInfoUpdate != null) return requestInfoUpdate; @@ -323,21 +312,12 @@ public class CompanyService extends QueueConsumer implements InitializingBean { } - /** - * Блокировка компании по документу о расторжении - * - * @param companyBlockRequestBaseRequest - * @return - */ private synchronized RequestInfoUpdate blockCompanyAfterDocument(BaseRequest companyBlockRequestBaseRequest) throws ValidationException { CommonDeleteRequest request = companyBlockRequestBaseRequest.getRequestPayload(); log.debug("CommonDeleteRequest (block request) received id = {}", request.getId()); - { // Валидация + { RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(companyBlockRequestBaseRequest); if (requestInfoUpdate != null) return requestInfoUpdate; - -// requestInfoUpdate = validationHelper.validateTillFirstError(companyBlockRequestBaseRequest, companyDeleteRequestValidator); -// if (requestInfoUpdate != null) return requestInfoUpdate; } Company company = companyIMap.getSingleObjectByID(request.getId()); @@ -375,15 +355,10 @@ public class CompanyService extends QueueConsumer implements InitializingBean { return null; } - /** - * Блокировка компании после блокировки счетов - * - * @return - */ private synchronized RequestInfoUpdate finishCompanyTermination(BaseRequest terminationRequest) throws ValidationException { AccountTerminationRequest request = terminationRequest.getRequestPayload(); log.debug("AccountTerminationRequest (block request) received id = {}", terminationRequest.getId()); - { // Валидация + { RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(terminationRequest); if (requestInfoUpdate != null) return requestInfoUpdate; } @@ -396,11 +371,9 @@ public class CompanyService extends QueueConsumer implements InitializingBean { Company company = companyIMap.getSingleObjectByID(request.getCompanyId()); if (company == null) { log.warn("Company {} not found", request.getCompanyId()); - //return requestHelper.makeErrorResponse(companyBlockRequestBaseRequest, CompanyErrors.CompanyNotFound); } if (WorkflowStatus.Blocked.equalsByKey(company.getWorkflowStatus())) { log.info("Company {} already blocked", company.getId()); - //return requestHelper.makeErrorResponse(companyBlockRequestBaseRequest, CompanyErrors.CompanyDisabled); } else { company.setWorkflowStatus(WorkflowStatus.Blocked.getKey()); company.setUpdated(Instant.now()); diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanySymbolService.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanySymbolService.java index 3297b9b03..30834fd1f 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanySymbolService.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanySymbolService.java @@ -20,7 +20,6 @@ import ru.spcex.clearing.platform.messaging.domain.cud.company.CompanySymbolNewR import ru.spcex.clearing.platform.messaging.domain.cud.company.CompanySymbolUpdateRequest; import ru.spcex.clearing.platform.messaging.service.QueueConsumer; import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate; -import ru.spcex.clearing.platform.messaging.service.Status; import ru.spcex.clearing.util.security.UserRoleVerification; import ru.spcex.clearing.util.services.RequestHelper; import ru.spcex.clearing.validation.common.ValidationHelper; @@ -93,7 +92,6 @@ public class CompanySymbolService extends QueueConsumer implements InitializingB private RequestInfoUpdate processBaseRequest(BaseRequest request) { RequestInfoUpdate requestInfoUpdate = null; - // Валидация requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(request); if (requestInfoUpdate != null) return requestInfoUpdate; @@ -112,7 +110,7 @@ public class CompanySymbolService extends QueueConsumer implements InitializingB public Long create(CompanySymbolNewRequest symbolRequest) throws ValidationException { log.debug("CompanySymbolNewRequest received"); - { // validate + { IValidator validator = companySymbolNewRequestValidator.apply(symbolRequest); Optional error = validator.tillFirstError(); if (error.isPresent()) { @@ -159,7 +157,7 @@ public class CompanySymbolService extends QueueConsumer implements InitializingB CompanySymbolUpdateRequest req = symbolRequest.getRequestPayload(); log.debug("CompanySymbolUpdateRequest received, id={}", symbolRequest.getId()); - { // validate + { RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(symbolRequest); if (requestInfoUpdate != null) return requestInfoUpdate; @@ -176,9 +174,6 @@ public class CompanySymbolService extends QueueConsumer implements InitializingB if (companySymbols == null) { throw new ClearingBaseException(new EnumMessage(CompanyErrors.CompanyInfoNotFound, req.getId())); } -// if (!companySymbols.getCompanySymbol().equalsIgnoreCase(req.getCompanySymbolValue())) { -// throw new ClearingBaseException(new EnumMessage(CompanyErrors.EditCompanySymbols, req.getId())); -// } companySymbols.setCompanySymbolValue(req.getCompanySymbolValue()); companySymbolsTMap.update(companySymbols); companyService.updateCompanyBySymbol(transaction, companySymbols, false); @@ -200,7 +195,7 @@ public class CompanySymbolService extends QueueConsumer implements InitializingB CommonDeleteRequest req = symbolRequest.getRequestPayload(); log.debug("CommonDeleteRequest for CompanySymbol received, id={}", symbolRequest.getId()); - { // validate + { RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(symbolRequest); if (requestInfoUpdate != null) return requestInfoUpdate; 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 48d592a95..b0d10729a 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 @@ -95,8 +95,6 @@ public class ContactService extends QueueConsumer implements InitializingBean { requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, contactUpdateRequestValidator); if (requestInfoUpdate != null) return requestInfoUpdate; - - // Тип контакта не меняем, при валидации кидаем ошибку. ContactUpdateRequest req = userRequest.getRequestPayload(); Contact contact = contactMap.getSingleObjectByID(req.getId()); contact.setContactValue(req.getContactValue()); diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/MultiCompanyService.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/MultiCompanyService.java index 23d56ef6b..c10494746 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/MultiCompanyService.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/MultiCompanyService.java @@ -36,9 +36,6 @@ import java.util.function.BiFunction; import java.util.stream.Collectors; import java.util.stream.Stream; -/** - * Обрабатывает MultiCompanyRequest и распределяет сложный объект по... - */ @Service public class MultiCompanyService extends QueueConsumer implements InitializingBean { @@ -47,7 +44,6 @@ public class MultiCompanyService private final RequestHelper requestHelper; protected UserRoleVerification userRoleVerification; -// private final ValidationHelper validationHelper; final CompanyService companyService; final CompanyInfoService companyInfoService; @@ -111,16 +107,15 @@ public class MultiCompanyService private synchronized RequestInfoUpdate processMultiRequest(BaseRequest baseRequest) { CompanyGatewayRequest req = baseRequest.getRequestPayload(); log.debug("company-batch-new request received, BaseRequest.id = {}", baseRequest.getId()); - { // Валидация + { RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(baseRequest); if (requestInfoUpdate != null) return requestInfoUpdate; } Long companyId = null; - boolean txOk = false; // todo IMDG transaction + boolean txOk = false; synchronized (companyService) { try { - //часть в companyService req.setCompanySymbols( Stream.concat(req.getCompanySymbols().stream(), additionalSymbols(req.getCompany())).collect(Collectors.toList()) ); @@ -203,7 +198,7 @@ public class MultiCompanyService if (txOk) { log.debug("Create or update sendNewClientCode for company {}", companyId); for (ClientCodeNewRequest partRequest : req.getClientCodes()) { - accountNotification.clientCodeNew(partRequest); // Consts.DESTINATION_CLIENT_CODE_NEW Consts.DESTINATION_CLIENT_CODE_UPDATE + accountNotification.clientCodeNew(partRequest); } } @@ -238,7 +233,7 @@ public class MultiCompanyService Map> query = new HashMap<>(); query.put("companyId", partRequest.getCompanyId()); query.put("documentType", partRequest.getDocumentType()); - query.put("issueDate", partRequest.getIssueDate()); // может быть null + query.put("issueDate", partRequest.getIssueDate()); Collection allDoc = profileDocumentImdg.getCollectionObjectsByFieldValues(query); if (allDoc.isEmpty()) return null; diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/ProfileDocumentService.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/ProfileDocumentService.java index 8a548c097..940eaeb43 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/ProfileDocumentService.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/ProfileDocumentService.java @@ -251,11 +251,5 @@ public class ProfileDocumentService extends QueueConsumer implements Initializin profileDocument.getCompanyId(), profileDocument.getId(), hasError + "(" + hasError.getId() + ")"); } log.debug("Now wait notification from account-service."); - /* processXCNT - Дальнейшая обработка документа о расторжении, то есть обновление статусов в company и relation, возможна только после ответа об успешном обновлении статуса в account. - ACCOUNT_TERMINATION -> ACCOUNT_TERMINATION_STEP2 - 1.2. Обновить статус в бизнес-объекте company [profileDocument.companyId=company.id] согласно описанию с тегом "При расторжении". - 1.3. Обновить статус в бизнес-объекте relation [profileDocument.companyId=relation.consumerId] согласно описанию с тегом "При расторжении". - */ } } diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/RelationService.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/RelationService.java index 4d9056990..115075476 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/RelationService.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/RelationService.java @@ -51,7 +51,7 @@ import static ru.spcex.platform.utils.enumeration.IEnumKey.getEnumByKey; @Service public class RelationService extends QueueConsumer implements InitializingBean { - protected static final Long SPVB_ID = 1L; // СПВБ + protected static final Long SPVB_ID = 1L; protected final Logger log = LoggerFactory.getLogger(getClass()); protected ImdgProvider imdgProvider; @@ -98,11 +98,8 @@ public class RelationService extends QueueConsumer implements InitializingBean { this.requestHelper = requestHelper.setLogger(log); } - // --- external API --- @Override public void afterPropertiesSet() { -// this.profileDocumentMap = imdgProvider.getImdg(IMDGDistributedNames.Map_ProfileDocument, ProfileDocument.class); -// this.companyMap = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class); callback(RelationNewRequest.class) .setFunction(this::relationNew) @@ -120,7 +117,7 @@ public class RelationService extends QueueConsumer implements InitializingBean { RelationNewRequest req = relationNewBaseRequest.getRequestPayload(); log.debug("relation-new request received, BaseRequest.id = {}", relationNewBaseRequest.getId()); - { //проверка заполнен ли serviceStatus + { String serviceStatus = req.getServiceStatus(); if (serviceStatus == null || serviceStatus.isEmpty()) { Company company = companyMap.getSingleObjectByID(req.getCompanyId()); @@ -129,7 +126,7 @@ public class RelationService extends QueueConsumer implements InitializingBean { } } } - { // Валидация + { RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(relationNewBaseRequest); if (requestInfoUpdate != null) return requestInfoUpdate; @@ -170,7 +167,7 @@ public class RelationService extends QueueConsumer implements InitializingBean { } relation.setConsumerId(req.getCompanyId()); - relation.setSupplierId(SPVB_ID); // 1 СПВБ + relation.setSupplierId(SPVB_ID); if (req.getServiceStatus() != null) { relation.setServiceStatus(req.getServiceStatus()); } else { @@ -187,7 +184,7 @@ public class RelationService extends QueueConsumer implements InitializingBean { } } String service = serviceForCMC(req.getClearingMemberCategory()); - relation.setService(service); // MKR + relation.setService(service); relation.setServiceProduct(ServiceProduct.ZERO.getKey()); relation.setComment(req.getComment()); @@ -209,7 +206,7 @@ public class RelationService extends QueueConsumer implements InitializingBean { log.debug("New relation.id={}", relation.getId()); relation.setConsumerId(companyId); - relation.setSupplierId(SPVB_ID); // 1 СПВБ + relation.setSupplierId(SPVB_ID); if (req.getServiceStatus() != null) { relation.setServiceStatus(req.getServiceStatus()); } else { @@ -221,7 +218,7 @@ public class RelationService extends QueueConsumer implements InitializingBean { relation.setServiceStatus(toStatus); } String service = serviceForCMC(clearingMemberCategory); - relation.setService(service); // MKR + relation.setService(service); relation.setServiceProduct(ServiceProduct.ZERO.getKey()); relation.setComment(req.getComment()); @@ -287,12 +284,6 @@ public class RelationService extends QueueConsumer implements InitializingBean { .collect(Collectors.toList()); } - /** - * @param companyId - * @param service - * @param statusActive фильтр, если null - разрешает всё. - * @return - */ Relation selectRelation(ImdgTransaction tx, Long companyId, String service, Boolean statusActive) { Objects.requireNonNull(companyId, "companyId"); Objects.requireNonNull(service, "service"); @@ -319,7 +310,7 @@ public class RelationService extends QueueConsumer implements InitializingBean { private synchronized RequestInfoUpdate relationUpdate(BaseRequest relationUpdateBaseRequest) { RelationUpdateRequest req = relationUpdateBaseRequest.getRequestPayload(); log.debug("relation-update request received, BaseRequest.id = {}", relationUpdateBaseRequest.getId()); - { // Валидация + { RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(relationUpdateBaseRequest); if (requestInfoUpdate != null) return requestInfoUpdate; @@ -339,12 +330,10 @@ public class RelationService extends QueueConsumer implements InitializingBean { boolean txOk = false; try { tx.beginTransaction(); - //relationUpdate0(tx, req, relation); // первоначальное ТЗ. - boolean needAddNewRelation = false; // call relationNew0(req, companyId, firstCMC); - if (ru.spcex.platform.enumeration.Service.MKR.equalsByKey(relation.getService())) { // relation B or I or V + boolean needAddNewRelation = false; + if (ru.spcex.platform.enumeration.Service.MKR.equalsByKey(relation.getService())) { if (companyCMCisCF) { - // 4.1. Если clearingMemberCategory = B or I or V и для этой компании установлены clearingMemberCategory = C or F: Relation relation1 = selectRelation(tx, companyId, MKR.getKey(), false); if (relation1 != null) { relationUpdate0WithResume(tx, req, relation1); @@ -353,13 +342,11 @@ public class RelationService extends QueueConsumer implements InitializingBean { } Relation relation2 = selectRelation(tx, companyId, MKR.getKey(), true); if (relation2 != null) { - // nothing } else { needAddNewRelation = true; } } if (!companyCMCisCF) { - // 4.3. Если clearingMemberCategory = B or I or V и для этой компании не установлены clearingMemberCategory = C or F: Relation relation1 = selectRelation(tx, companyId, MKR.getKey(), false); if (relation1 != null) { relationUpdate0WithResume(tx, req, relation1); @@ -368,19 +355,16 @@ public class RelationService extends QueueConsumer implements InitializingBean { } Relation relation2 = selectRelation(tx, companyId, MKR.getKey(), true); if (relation2 != null) { - // nothing } else { needAddNewRelation = true; } Relation relation3 = selectRelation(tx, companyId, FOND.getKey(), null); if (relation3 != null) { - // nothing relationClose0(tx, relation3); } } - } else if (FOND.equalsByKey(relation.getService())) { // relation C or F + } else if (FOND.equalsByKey(relation.getService())) { if (companyCMCisBIV) { - // 4.2. Если clearingMemberCategory = C or F и для этой компании установлены clearingMemberCategory = B or I or V: Relation relation1 = selectRelation(tx, companyId, FOND.getKey(), false); if (relation1 != null) { relationUpdate0WithResume(tx, req, relation1); @@ -389,13 +373,11 @@ public class RelationService extends QueueConsumer implements InitializingBean { } Relation relation2 = selectRelation(tx, companyId, FOND.getKey(), true); if (relation2 != null) { - // nothing } else { needAddNewRelation = true; } } if (!companyCMCisBIV) { - // 4.4. Если clearingMemberCategory = C or F и для этой компании установлены не clearingMemberCategory = B or I or V: Relation relation1 = selectRelation(tx, companyId, FOND.getKey(), false); if (relation1 != null) { relationUpdate0WithResume(tx, req, relation1); @@ -404,7 +386,6 @@ public class RelationService extends QueueConsumer implements InitializingBean { } Relation relation2 = selectRelation(tx, companyId, FOND.getKey(), true); if (relation2 != null) { - // nothing } else { needAddNewRelation = true; } @@ -414,7 +395,6 @@ public class RelationService extends QueueConsumer implements InitializingBean { } } } else { - // unknown type relationUpdate0(tx, req, relation); } @@ -440,7 +420,7 @@ public class RelationService extends QueueConsumer implements InitializingBean { if (req.getServiceStatus() != null) { log.debug("To relation {} set serivceStatus=\"{}\" by user request.", relation.getId(), req.getServiceStatus()); relation.setServiceStatus(req.getServiceStatus()); - } else { // never - см. валидатор relationUpdateRequestValidator + } else { if (relation.getConsumerId() == null) { log.warn("Relation[{}]. consumerId was null", relation.getId()); } @@ -500,7 +480,7 @@ public class RelationService extends QueueConsumer implements InitializingBean { private synchronized RequestInfoUpdate relationDelete(BaseRequest relationDeleteBaseRequest) { CommonDeleteRequest req = relationDeleteBaseRequest.getRequestPayload(); log.debug("relation-delete request received, BaseRequest.id = {}", relationDeleteBaseRequest.getId()); - { // Валидация + { RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(relationDeleteBaseRequest); if (requestInfoUpdate != null) return requestInfoUpdate; @@ -518,13 +498,9 @@ public class RelationService extends QueueConsumer implements InitializingBean { boolean companyCMCisCF = companyCMC.contains(ClearingCategory.C.getKey()) || companyCMC.contains(ClearingCategory.F.getKey()); if (companyCMCisBIV && MKR.equalsByKey(relation.getService())) { - // relation не изменяем } else if (companyCMCisCF && FOND.equalsByKey(relation.getService())) { - // relation не изменяем } else { - // удалить. } - // else { ImdgTransaction tx = imdgProvider.newTransaction(); boolean txOk = false; @@ -559,9 +535,6 @@ public class RelationService extends QueueConsumer implements InitializingBean { return null; } - - // --- internal API --- - protected void createNewRelation(ImdgTransaction transaction, Long companyId, ClearingMemberCategory clearingMemberCategory) { Objects.requireNonNull(companyId, "companyId"); Imdg relationMap = transaction.getImdg(IMDGDistributedNames.Map_Relation, Relation.class); @@ -588,7 +561,7 @@ public class RelationService extends QueueConsumer implements InitializingBean { log.debug("Update exist relation.id={}", relation.getId()); } relation.setConsumerId(companyId); - relation.setSupplierId(SPVB_ID); // 1 СПВБ + relation.setSupplierId(SPVB_ID); relation.setServiceStatus(Objects.requireNonNull(workflowStatus).getKey()); relation.setService(serviceStatus); relation.setServiceProduct(ServiceProduct.ZERO.getKey()); @@ -596,24 +569,13 @@ public class RelationService extends QueueConsumer implements InitializingBean { relationMap.insert(relation); } - /** - * Приходит от ClearingMemberCategory - */ protected void cancelRelation(ImdgTransaction transaction, Long companyId, ClearingMemberCategory clearingMemberCategory) { log.debug("Cancelling relations for companyId={} and clearingMemberCategory {}", companyId, clearingMemberCategory == null ? null : clearingMemberCategory.getClearingMemberCategory()); Objects.requireNonNull(companyId, "companyId"); Imdg relationMap = transaction.getImdg(IMDGDistributedNames.Map_Relation, Relation.class); -// String serviceStatus = null; -// if (clearingMemberCategory == null) { -// log.warn("clearingMemberCategory not set for companyId={}", companyId); -// } else { -// ClearingCategory clearingCategory = getEnumByKey(ClearingCategory.class, clearingMemberCategory.getClearingMemberCategory()); -// serviceStatus = serviceForCMC(clearingCategory).getKey(); -// } Collection companyCMC = selectCompanyClearingMemberCategory(null, companyId); if (companyCMC.contains(clearingMemberCategory.getClearingMemberCategory())) { - // never log.warn("ClearingMemberCategory \"{}\" already exist in set for company {}.", clearingMemberCategory.getClearingMemberCategory(), companyId); } boolean companyCMCisBIV = companyCMC.contains(ClearingCategory.B.getKey()) || companyCMC.contains(ClearingCategory.I.getKey()) @@ -626,13 +588,10 @@ public class RelationService extends QueueConsumer implements InitializingBean { log.debug("Relation for clearingMemberCategory.id={} {} not found", clearingMemberCategory.getId(), clearingMemberCategory.getClearingMemberCategory()); } else { if (companyCMCisBIV && MKR.equalsByKey(relation.getService())) { - // relation не изменяем log.debug("Relation {} {} lost for ClearingMemberCategory \"{}\".", relation.getId(), relation.getService(), clearingMemberCategory.getClearingMemberCategory()); } else if (companyCMCisCF && FOND.equalsByKey(relation.getService())) { - // relation не изменяем log.debug("Relation {} {} lost for ClearingMemberCategory \"{}\".", relation.getId(), relation.getService(), clearingMemberCategory.getClearingMemberCategory()); } else { - // удалить. log.debug("Block exist relation.id={}", relation.getId()); relation.setUpdated(Instant.now()); relation.setServiceStatus(Closed.getKey()); @@ -669,18 +628,12 @@ public class RelationService extends QueueConsumer implements InitializingBean { log.debug("New Relation[{}] updated.", relation.getId()); } - /** - * @param company - * @param oldStatus - * @param newStatus WorkflowStatus.Active - при возобналвении; WorkflowStatus.Blocked - при блокировки/расторжении - */ public void onChangeWorkflowStatus(ImdgTransaction transaction, Company company, String oldStatus, String newStatus) throws ValidationException { log.debug("Company id={} status changed from {} to {}", company.getId(), oldStatus, company.getWorkflowStatus()); onChangeWorkflowStatusOnlyRelationChange(transaction, company, newStatus); if (WorkflowStatus.Blocked.equalsByKey(newStatus)) { - // IV - сообщения на добавления документа расторжения договора CompanyErrors hasError = accountNotification.accountTerminationNotification(company.getId()); if (hasError != null) { log.warn("Can not block company, cause error {}", hasError); diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/validation/CompanySymbolNotExistRule.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/validation/CompanySymbolNotExistRule.java index b2d477732..197ddca25 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/validation/CompanySymbolNotExistRule.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/validation/CompanySymbolNotExistRule.java @@ -16,9 +16,6 @@ import java.util.Arrays; import java.util.Collection; import java.util.Optional; -/** - * Проверка наличия компании с переданными в запросе companySymbol и companySymbolCode (реквизиты) - */ public class CompanySymbolNotExistRule implements IValidationRule> { @Override public Optional validate(ImdgValidationContext context) { diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/validation/CompanySymbolOfSymbolNewRequestNotExistRule.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/validation/CompanySymbolOfSymbolNewRequestNotExistRule.java index f8dba7678..c9f14c880 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/validation/CompanySymbolOfSymbolNewRequestNotExistRule.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/validation/CompanySymbolOfSymbolNewRequestNotExistRule.java @@ -13,9 +13,6 @@ import java.util.Collection; import java.util.Map; import java.util.Optional; -/** - * Проверка наличия CompanySymbols с переданными в запросе companySymbol и companyId - */ public class CompanySymbolOfSymbolNewRequestNotExistRule implements IValidationRule> { @Override public Optional validate(ImdgValidationContext context) { diff --git a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/ClearingMemberCategoryServiceTest.java b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/ClearingMemberCategoryServiceTest.java index 9fd30fed6..82aeae318 100644 --- a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/ClearingMemberCategoryServiceTest.java +++ b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/ClearingMemberCategoryServiceTest.java @@ -15,7 +15,6 @@ import ru.clearing.platform.dictionary.ClearingCategoryDictionary; import ru.spcex.clearing.company.config.BeanConfiguration; import ru.spcex.clearing.company.config.validation.*; 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.ClearingMemberCategoryNewRequest; @@ -98,7 +97,6 @@ class ClearingMemberCategoryServiceTest { @Test void clearingMemberCategoryNew() throws InterruptedException { - //ARRANGE String clearingMemberCategory = CLEARING_CATEGORY_DICT_CODE; ClearingMemberCategoryNewRequest memberCategoryNewRequest = new ClearingMemberCategoryNewRequest(); memberCategoryNewRequest.setClearingMemberCategory(clearingMemberCategory); @@ -107,29 +105,17 @@ class ClearingMemberCategoryServiceTest { ClearingMemberCategory predictableClearingMemberCategory = new ClearingMemberCategory(); predictableClearingMemberCategory.setCompanyId(COMPANY_ID); predictableClearingMemberCategory.setClearingMemberCategory(clearingMemberCategory); - - //ACT String jsonString = getJsonStringForNew(memberCategoryNewRequest, ID); addRecordToKafka((MockConsumer) clearingMemberCategoryService.getConsumer(), TOPIC_MEMBER_CATEGORY_NEW, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); ClearingMemberCategory resultNew = memberCategoryImdg.getFirstObjectBySQL(String.format("clearingMemberCategory = %s", clearingMemberCategory)); predictableClearingMemberCategory.setId(resultNew.getId()); MEMBER_CATEGORY_MATCHER.assertMatch(resultNew, predictableClearingMemberCategory); } - /** - * {@link ClearingMemberCategoryService#clearingMemberCategoryUpdate(BaseRequest)}
- * Тест проверяет обновление сущности {@link ClearingMemberCategory} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link ClearingMemberCategoryUpdateRequest}:
- * {@link ClearingMemberCategoryUpdateRequest#id} - Идентификатор записи
- * {@link ClearingMemberCategoryUpdateRequest#clearingMemberCategory} - 1234
- */ @Test void clearingMemberCategoryUpdate() throws InterruptedException { - //ARRANGE String clearingMemberCategory = CLEARING_CATEGORY_DICT_CODE; ClearingMemberCategory existsClearingMemberCategory = new ClearingMemberCategory(); existsClearingMemberCategory.setClearingMemberCategory("0000"); @@ -144,27 +130,16 @@ class ClearingMemberCategoryServiceTest { predictableClearingMemberCategory.setCompanyId(COMPANY_ID); predictableClearingMemberCategory.setId(id); predictableClearingMemberCategory.setClearingMemberCategory(clearingMemberCategory); - - //ACT String jsonString = getJsonStringForUpdate(memberCategoryUpdateRequest, id); addRecordToKafka((MockConsumer) clearingMemberCategoryService.getConsumer(), TOPIC_MEMBER_CATEGORY_UPDATE, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(id, mockProducer); ClearingMemberCategory resultUpdating = memberCategoryImdg.getSingleObjectByID(id); MEMBER_CATEGORY_MATCHER.assertMatch(resultUpdating, predictableClearingMemberCategory); } - /** - * {@link ClearingMemberCategoryService#clearingMemberCategoryDelete(BaseRequest)}
- * Тест проверяет удаление сущности {@link ClearingMemberCategory} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link CommonDeleteRequest}:
- * {@link CommonDeleteRequest#id} - Идентификатор записи
- */ @Test void clearingMemberCategoryDelete() throws InterruptedException { - //ARRANGE String clearingMemberCategory = "0000"; ClearingMemberCategory existsClearingMemberCategory = new ClearingMemberCategory(); existsClearingMemberCategory.setClearingMemberCategory(clearingMemberCategory); @@ -172,12 +147,8 @@ class ClearingMemberCategoryServiceTest { CommonDeleteRequest memberCategoryDeleteRequest = new CommonDeleteRequest(); memberCategoryDeleteRequest.setId(id); - - //ACT String jsonString = getJsonStringForDelete(memberCategoryDeleteRequest, id); addRecordToKafka((MockConsumer) clearingMemberCategoryService.getConsumer(), TOPIC_MEMBER_CATEGORY_DELETE, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(id, mockProducer); ClearingMemberCategory resultDeleting = memberCategoryImdg.getFirstObjectBySQL(String.format("clearingMemberCategory = %s", clearingMemberCategory)); diff --git a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/CompanyInfoServiceTest.java b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/CompanyInfoServiceTest.java index bf5cdf895..4df44147c 100644 --- a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/CompanyInfoServiceTest.java +++ b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/CompanyInfoServiceTest.java @@ -17,7 +17,6 @@ import ru.spcex.clearing.company.config.validation.CompanyValidationConfig; import ru.spcex.clearing.company.config.validation.RelationValidationConfig; import ru.spcex.clearing.company.config.validation.ValidationConfig; 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.company.CompanyInfoUpdateRequest; import ru.spcex.clearing.test.MatcherFactory; @@ -71,8 +70,6 @@ class CompanyInfoServiceTest { private void init() { waitAvailableImdgProviderAndAddAdminWithDefaultId(); companyImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_Company, Company.class); - - // Словари для теста, применяются в ValidationConfig putToDictionary(IMDGDistributedNames.Map_WorkflowStatusDictionary, new WorkflowStatusDictionary(), "ACTV"); putToDictionary(IMDGDistributedNames.Map_CompanySymbolDictionary, new CompanySymbolDictionary(), "CLRC"); putToDictionary(IMDGDistributedNames.Map_CorporationSoleTypeDictionary, new CorporationSoleTypeDictionary(), "GDIR"); @@ -82,7 +79,7 @@ class CompanyInfoServiceTest { putToDictionary(IMDGDistributedNames.Map_OrganizationTypeDictionary, new OrganizationTypeDictionary(), "NCRD"); } - private void putToDictionary(String mapName, D object, String code) { + private void putToDictionary(String mapName, D object, String code) { Imdg dMap = (Imdg) hazelcastServiceTest.getImdg(mapName, object.getClass()); object.setId(2L); object.setCode(code); @@ -90,24 +87,8 @@ class CompanyInfoServiceTest { dMap.insert(object); } - /** - * {@link CompanyInfoService#companyInfoUpdate(BaseRequest)}
- * Тест проверяет обновление сущности {@link CompanyInfo} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link CompanyInfoUpdateRequest}:
- * {@link CompanyInfoUpdateRequest#id} - Идентификатор записи
- * {@link CompanyInfoUpdateRequest#corporationSoleType} - GDIR
- * {@link CompanyInfoUpdateRequest#countryCode} - RUS
- * {@link CompanyInfoUpdateRequest#description} - updated description
- * {@link CompanyInfoUpdateRequest#professionalSign} - ALWD
- * {@link CompanyInfoUpdateRequest#legalKind} - JURD
- * {@link CompanyInfoUpdateRequest#organizationType} - NCRD
- * {@link CompanyInfoUpdateRequest#residence} - RUS
- * {@link CompanyInfoUpdateRequest#shortNameEng} - updated shortNameEng
- * {@link CompanyInfoUpdateRequest#fullNameEng} - updated fullNameEng
- */ @Test void companyInfoUpdate() throws InterruptedException { - //ARRANGE CompanyInfo existsCompanyInfo = new CompanyInfo(); existsCompanyInfo.setId(ID); existsCompanyInfo.setCompanyId(ID); @@ -154,13 +135,9 @@ class CompanyInfoServiceTest { predictableCompanyInfo.setResidence("RUS"); predictableCompanyInfo.setShortNameEng("updated shortNameEng"); predictableCompanyInfo.setFullNameEng("updated fullNameEng"); - - //ACT String jsonString = getJsonStringForUpdate(companyInfoUpdateRequest, ID); addRecordToKafka((MockConsumer) companyInfoService.getConsumer(), TOPIC_COMPANY_INFO_UPDATE, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); Company resultUpdating = companyImdg.getSingleObjectByID(ID); diff --git a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/CompanyServiceTest.java b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/CompanyServiceTest.java index bb8a4bccc..4a4099be1 100644 --- a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/CompanyServiceTest.java +++ b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/CompanyServiceTest.java @@ -21,7 +21,6 @@ import ru.spcex.clearing.company.config.validation.RelationValidationConfig; import ru.spcex.clearing.company.config.validation.ValidationConfig; import ru.spcex.clearing.company.error.CompanyErrors; 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.CompanyNewRequest; @@ -109,15 +108,8 @@ class CompanyServiceTest { } } - /** - * {@link CompanyService#deleteCompany(BaseRequest)}
- * Тест проверяет удаление сущности {@link Company} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link CommonDeleteRequest}:
- * {@link CommonDeleteRequest#id} - Идентификатор записи
- */ @Test void deleteCompany() throws InterruptedException { - //ARRANGE final Long ID = 101L; Company existsCompany = new Company(); existsCompany.setId(ID); @@ -126,21 +118,13 @@ class CompanyServiceTest { CommonDeleteRequest commonDeleteRequest = new CommonDeleteRequest(); commonDeleteRequest.setId(ID); - - //ACT String jsonString = getJsonStringForDelete(commonDeleteRequest, ID); addRecordToKafka((MockConsumer) companyService.getConsumer(), TOPIC_COMPANY_DELETE, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); - - //Company resultDeleting = companyImdg.getSingleObjectByID(ID); Company resultDeleting = companyImdg.getFirstObjectBySQL("id=" + ID); Assertions.assertEquals(WorkflowStatus.Blocked.getKey(), resultDeleting.getWorkflowStatus()); { - // Hazelcast 3.12.4 возможно имеет ошибку с NearCache (https://github.com/hazelcast/hazelcast/issues/16577) и её устранили в версии 3.12.7+. - // метод устранения проблемы: вместо return map.get(paramLong); использовать return map.getEntryView(paramLong).getValue(); Company resultDeletingDirectGet = companyImdg.getSingleObjectByID(ID); if (!resultDeleting.getWorkflowStatus().equals(resultDeletingDirectGet.getWorkflowStatus())) { System.out.println("WARNING: Hazelcast error: WorkflowStatus " + resultDeletingDirectGet.getWorkflowStatus() + " and " + resultDeleting.getWorkflowStatus() + " together!"); @@ -149,32 +133,20 @@ class CompanyServiceTest { } - /** - * {@link CompanyService#createCompany(BaseRequest)}
- * Тест проверяет удаление сущности {@link Company} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link CommonDeleteRequest}:
- * {@link CommonDeleteRequest#id} - Идентификатор записи
- */ @Test void newCompany() throws InterruptedException { - //ARRANGE final Long ID = 102L; final String DESTINATION_COMPANY_NEW = Consts.DESTINATION_COMPANY_NEW; companyImdg.size(); CompanyNewRequest companyNewRequest = new CompanyNewRequest(); -// companyNewRequest.setId(ID); companyNewRequest.setCompanySymbol(CompanySymbol.CLRC.getKey()); companyNewRequest.setCompanySymbolValue("CLR-symbol ipo"); companyNewRequest.setShortName("ClrIPO"); companyNewRequest.setFullName("Clearing IPO"); companyNewRequest.setWorkflowStatus(WorkflowStatus.Active.getKey()); - - //ACT String jsonString = getJsonStringForNew(companyNewRequest, ID); addRecordToKafka((MockConsumer) companyService.getConsumer(), DESTINATION_COMPANY_NEW, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); Company resultNew = companyImdg.getFirstObjectByFieldValues(Map.of("ShortName", "ClrIPO")); @@ -196,18 +168,13 @@ class CompanyServiceTest { companySymbolsImdg.insert(existCompanySymbols); CompanyNewRequest companyNewRequest = new CompanyNewRequest(); -// companyNewRequest.setId(ID); companyNewRequest.setCompanySymbol(CompanySymbol.CIO.getKey()); companyNewRequest.setCompanySymbolValue("test_value"); companyNewRequest.setShortName("ClrIPO"); companyNewRequest.setFullName("Clearing IPO"); companyNewRequest.setWorkflowStatus(WorkflowStatus.Active.getKey()); - - //ACT String jsonString = getJsonStringForNew(companyNewRequest, ID); addRecordToKafka((MockConsumer) companyService.getConsumer(), DESTINATION_COMPANY_NEW, PARTITION, 0, jsonString); - - //ASSERT waitingWhenTryAddRecordAndCheckError(ID, mockProducer, String.valueOf(CompanyErrors.CompanyWithCompanySymbolAlreadyExist.getId()), diff --git a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/CompanySymbolServiceTest.java b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/CompanySymbolServiceTest.java index dffd3056f..8e5bca6ac 100644 --- a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/CompanySymbolServiceTest.java +++ b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/CompanySymbolServiceTest.java @@ -17,7 +17,6 @@ import ru.spcex.clearing.company.config.validation.CompanyValidationConfig; import ru.spcex.clearing.company.config.validation.RelationValidationConfig; import ru.spcex.clearing.company.config.validation.ValidationConfig; 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.company.CompanySymbolUpdateRequest; import ru.spcex.clearing.test.MatcherFactory; @@ -96,18 +95,8 @@ class CompanySymbolServiceTest { } } - /** - * {@link CompanySymbolService#companySymbolUpdate(BaseRequest)}
- * Тест проверяет обновление сущности {@link CompanySymbols} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link CompanySymbolUpdateRequest}:
- * {@link CompanySymbolUpdateRequest#id} - Идентификатор записи
- * {@link CompanySymbolUpdateRequest#companyId} - Идентификатор записи
- * {@link CompanySymbolUpdateRequest#companySymbol} - 1234
- * {@link CompanySymbolUpdateRequest#companySymbolValue} - new companySymbolValue
- */ @Test void companySymbolUpdate() throws InterruptedException { - //ARRANGE String companySymbolValue = "newCompanySymbolValue"; CompanySymbols existsCompanySymbols = new CompanySymbols(); existsCompanySymbols.setId(ID); @@ -127,12 +116,8 @@ class CompanySymbolServiceTest { predictableCompanySymbols.setCompanyId(ID); predictableCompanySymbols.setCompanySymbol("CIO"); predictableCompanySymbols.setCompanySymbolValue(companySymbolValue); - - //ACT String jsonString = getJsonStringForUpdate(companySymbolUpdateRequest, ID); addRecordToKafka((MockConsumer) companySymbolService.getConsumer(), TOPIC_COMPANY_SYMBOL_UPDATE, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); CompanySymbols resultUpdating = companySymbolsImdg.getFirstObjectBySQL(String.format("companySymbolValue = %s", companySymbolValue)); diff --git a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/ContactServiceTest.java b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/ContactServiceTest.java index 631608641..e09b09613 100644 --- a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/ContactServiceTest.java +++ b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/ContactServiceTest.java @@ -15,7 +15,6 @@ import ru.spcex.clearing.company.config.BeanConfiguration; import ru.spcex.clearing.company.config.validation.ContactValidationConfig; import ru.spcex.clearing.company.config.validation.ValidationConfig; 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.company.ContactNewRequest; import ru.spcex.clearing.platform.messaging.domain.cud.company.ContactUpdateRequest; @@ -84,7 +83,6 @@ class ContactServiceTest { } @Test void contactNew() throws InterruptedException { - //ARRANGE ContactNewRequest contactNewRequest = new ContactNewRequest(); contactNewRequest.setCompanyId(COMPANY_ID); contactNewRequest.setContactType(ContactTypes.adrs.getKey()); @@ -94,12 +92,8 @@ class ContactServiceTest { predictableContact.setCompanyId(COMPANY_ID); predictableContact.setContactType(ContactTypes.adrs.getKey()); predictableContact.setContactValue("value"); - - //ACT String jsonString = getJsonStringForNew(contactNewRequest, ID); addRecordToKafka((MockConsumer) contactService.getConsumer(), TOPIC_CONTACT_NEW, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); Contact resultNew = contactImdg.getAllValues().iterator().next(); @@ -107,17 +101,8 @@ class ContactServiceTest { CONTACT_MATCHER.assertMatch(resultNew, predictableContact); } - /** - * {@link ContactService#contactUpdate(BaseRequest)}
- * Тест проверяет обновление сущности {@link Contact} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link ContactUpdateRequest}:
- * {@link ContactUpdateRequest#id} - Идентификатор записи
- * {@link ContactUpdateRequest#contactType} - ADDR
- * {@link ContactUpdateRequest#contactValue} - new ContactValue
- */ @Test void contactUpdate() throws InterruptedException { - //ARRANGE Long existContactID; Contact existsContact = new Contact(); existsContact.setCompanyId(COMPANY_ID); @@ -135,12 +120,8 @@ class ContactServiceTest { predictableContact.setCompanyId(COMPANY_ID); predictableContact.setContactType(ContactTypes.adrs.getKey()); predictableContact.setContactValue("new ContactValue"); - - //ACT String jsonString = getJsonStringForUpdate(contactUpdateRequest, existContactID); addRecordToKafka((MockConsumer) contactService.getConsumer(), TOPIC_CONTACT_UPDATE, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(existContactID, mockProducer); Contact resultUpdating = contactImdg.getSingleObjectByID(existContactID); diff --git a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/MultiCompanyServiceTest.java b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/MultiCompanyServiceTest.java index da2ebe661..be55dc6d1 100644 --- a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/MultiCompanyServiceTest.java +++ b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/MultiCompanyServiceTest.java @@ -110,7 +110,7 @@ class MultiCompanyServiceTest { doc.setId(10002L); doc.setCompanyId(COMPANY_ID); doc.setDocumentType(DocumentTypes.form.getKey()); - doc.setIssueDate(LocalDate.now()); // тест может показать ложное срабатывание в 00:00:00.001 + doc.setIssueDate(LocalDate.now()); profileDocumentImdg.insert(doc); } diff --git a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/ProfileDocumentServiceTest.java b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/ProfileDocumentServiceTest.java index acf59e7d6..38f1b9dce 100644 --- a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/ProfileDocumentServiceTest.java +++ b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/ProfileDocumentServiceTest.java @@ -15,7 +15,6 @@ import ru.clearing.platform.dictionary.DocumentTypeDictionary; import ru.spcex.clearing.company.config.BeanConfiguration; import ru.spcex.clearing.company.config.validation.*; 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.ProfileDocumentNewRequest; @@ -110,14 +109,8 @@ class ProfileDocumentServiceTest { documentTypeDictionaryImdg.insert(documentTypeDictionary1); } - /** - * {@link ProfileDocumentService#profileDocumentNew(BaseRequest)}
- * Тест проверяет обновление сущности {@link ProfileDocument} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link ProfileDocumentNewRequest}:
- */ @Test void newProfileDocument() { - //ARRANGE ProfileDocumentNewRequest profileDocumentNewRequest = new ProfileDocumentNewRequest(); profileDocumentNewRequest.setCompanyId(COMPANY_ID); profileDocumentNewRequest.setDocumentType(TEST_DOCUMENT_TYPE_ID); @@ -146,13 +139,9 @@ class ProfileDocumentServiceTest { predictableProfileDocument.setValidFromDate(profileDocumentNewRequest.getValidFromDate()); predictableProfileDocument.setValidToDate(profileDocumentNewRequest.getValidToDate()); predictableProfileDocument.setLink(profileDocumentNewRequest.getLink()); - - //ACT String jsonString = getJsonStringForNew(profileDocumentNewRequest, ID); addRecordToKafka((MockConsumer) profileDocumentService.getConsumer(), TOPIC_DESTINATION_PROFILE_DOCUMENT_NEW, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); ProfileDocument resultNew = profileDocumentMap.getFirstObjectBySQL(String.format("companyId = %d", COMPANY_ID)); predictableProfileDocument.setId(resultNew.getId()); @@ -161,7 +150,6 @@ class ProfileDocumentServiceTest { @Test void updateProfileDocument() { - //ARRANGE ProfileDocument existsProfileDocument = new ProfileDocument(); existsProfileDocument.setId(ID); existsProfileDocument.setCompanyId(COMPANY_ID); @@ -207,23 +195,17 @@ class ProfileDocumentServiceTest { profileDocumentUpdateRequest.setValidFromDate(LocalDate.now()); profileDocumentUpdateRequest.setValidToDate(LocalDate.now().plus(1, ChronoUnit.DAYS)); profileDocumentUpdateRequest.setLink("new_link"); - - //ACT String jsonString = getJsonStringForUpdate(profileDocumentUpdateRequest, ID); addRecordToKafka((MockConsumer) profileDocumentService.getConsumer(), TOPIC_DESTINATION_PROFILE_DOCUMENT_UPDATE, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); ProfileDocument resultUpdate = profileDocumentMap.getFirstObjectBySQL(String.format("companyId = %d", COMPANY_ID)); -// predictableProfileDocument.setId(resultUpdate.getId()); PROFILE_DOCUMENT_MATCHER.assertMatch(resultUpdate, predictableProfileDocument); } @Test void deleteProfileDocument() { - //ARRANGE ProfileDocument existsProfileDocument = new ProfileDocument(); existsProfileDocument.setId(PROFILE_DOCUMENT_ID); existsProfileDocument.setCompanyId(COMPANY_ID); @@ -242,13 +224,9 @@ class ProfileDocumentServiceTest { CommonDeleteRequest profileDocumentDeleteRequest = new CommonDeleteRequest(); profileDocumentDeleteRequest.setId(PROFILE_DOCUMENT_ID); - - //ACT String jsonString = getJsonStringForUpdate(profileDocumentDeleteRequest, ID); addRecordToKafka((MockConsumer) profileDocumentService.getConsumer(), TOPIC_DESTINATION_PROFILE_DOCUMENT_DELETE, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); ProfileDocument resultUpdate = profileDocumentMap.getSingleObjectByID(PROFILE_DOCUMENT_ID); Assertions.assertNull(resultUpdate); diff --git a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/RelationServiceTest.java b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/RelationServiceTest.java index 0adb4903f..66f58c163 100644 --- a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/RelationServiceTest.java +++ b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/RelationServiceTest.java @@ -106,7 +106,6 @@ class RelationServiceTest { @Test void newRelation() { - //ARRANGE clearAllInImdg(relationMap); RelationNewRequest relationNewRequest = new RelationNewRequest(); relationNewRequest.setCompanyId(COMPANY_ID); @@ -121,22 +120,17 @@ class RelationServiceTest { predictableRelation.setServiceProduct("ZERO"); predictableRelation.setSupplierId(1L); predictableRelation.setServiceStatus("ACTV"); - - //ACT String jsonString = getJsonStringForNew(relationNewRequest, ID); addRecordToKafka((MockConsumer) relationService.getConsumer(), Consts.DESTINATION_RELATION_NEW, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); - Relation resultNew = relationMap.getFirstObjectBySQL("serviceStatus=ACTV"); // String.format("supplierId = %d", COMPANY_ID)); + Relation resultNew = relationMap.getFirstObjectBySQL("serviceStatus=ACTV"); predictableRelation.setId(resultNew.getId()); RELATION_MATCHER.assertMatch(resultNew, predictableRelation); } @Test void updateRelation() { - //ARRANGE Relation existsRelation = new Relation(); existsRelation.setId(ID); existsRelation.setConsumerId(COMPANY_ID); @@ -160,23 +154,17 @@ class RelationServiceTest { relationUpdateRequest.setId(RELATION_ID); relationUpdateRequest.setComment("Another Me - ONE"); relationUpdateRequest.setServiceStatus("ACTV"); - - //ACT String jsonString = getJsonStringForUpdate(relationUpdateRequest, ID); addRecordToKafka((MockConsumer) relationService.getConsumer(), Consts.DESTINATION_RELATION_UPDATE, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); Relation resultUpdate = relationMap.getFirstObjectBySQL(String.format("id = %d", RELATION_ID)); -// predictableProfileDocument.setId(resultUpdate.getId()); RELATION_MATCHER.assertMatch(resultUpdate, predictableRelation); } @Test void deleteProfileDocument() { - //ARRANGE Relation existsRelation = new Relation(); existsRelation.setId(ID); existsRelation.setConsumerId(COMPANY_ID); @@ -189,16 +177,11 @@ class RelationServiceTest { CommonDeleteRequest profileDocumentDeleteRequest = new CommonDeleteRequest(); profileDocumentDeleteRequest.setId(RELATION_ID); - - //ACT String jsonString = getJsonStringForUpdate(profileDocumentDeleteRequest, ID); addRecordToKafka((MockConsumer) relationService.getConsumer(), Consts.DESTINATION_RELATION_DELETE, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); Relation resultUpdate = relationMap.getSingleObjectByID(RELATION_ID); -// Assertions.assertNull(resultUpdate); assertEquals(WorkflowStatus.Blocked.getKey(), resultUpdate.getServiceStatus()); } } \ No newline at end of file diff --git a/clearing-parent/db-scripts/src/main/resources/db/readme.txt b/clearing-parent/db-scripts/src/main/resources/db/readme.txt index 3e1d23335..0de6298dc 100644 --- a/clearing-parent/db-scripts/src/main/resources/db/readme.txt +++ b/clearing-parent/db-scripts/src/main/resources/db/readme.txt @@ -1,4 +1,3 @@ -TODO 1. Remove database rm -fr /opt/clearing/db/clearing.db diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/config/KafkaSenderConfig.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/config/KafkaSenderConfig.java index bd4994aca..5891ef24c 100644 --- a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/config/KafkaSenderConfig.java +++ b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/config/KafkaSenderConfig.java @@ -19,7 +19,6 @@ import ru.spcex.platform.imdg.api.ImdgProvider; import java.util.function.Supplier; -//отдельный конфиг для sender чтобы сделать required false @Configuration public class KafkaSenderConfig { Logger log = LoggerFactory.getLogger(getClass()); diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/data/ResultContainer.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/data/ResultContainer.java index 6d2afc5cd..1f55d7846 100644 --- a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/data/ResultContainer.java +++ b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/data/ResultContainer.java @@ -7,9 +7,6 @@ import java.io.File; import java.time.LocalDateTime; import java.util.UUID; -/** - * Контейнер для передачи результата между стадиями - */ public class ResultContainer { private UUID uuid; private Table tableForExport; diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/data/enums/Table.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/data/enums/Table.java index 24ae62a8e..2d7fcb4de 100644 --- a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/data/enums/Table.java +++ b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/data/enums/Table.java @@ -15,19 +15,10 @@ public enum Table { S_DF56("DF-56", IMDGDistributedNames.Map_SDf56, SDf56.class); - /** - * Префикс имени файла для экспорта - */ private final String filePrefix; - /** - * Имя мапы hazelcast - */ private final String hazelcastMapName; - /** - * Класс объекта - */ private final Class entityClass; diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/stages/ExportFromHazelcast.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/stages/ExportFromHazelcast.java index e2cf98ab0..823932de8 100644 --- a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/stages/ExportFromHazelcast.java +++ b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/stages/ExportFromHazelcast.java @@ -23,9 +23,6 @@ import java.util.HashMap; import java.util.Map; import java.util.Objects; -/** - * Выгрузка данных из мапы hazelcast и их запись в файлы - */ @Component public class ExportFromHazelcast extends Stage implements InitializingBean { private final ExportDBFServiceSettings settings; @@ -125,19 +122,12 @@ public class ExportFromHazelcast extends Stage implements InitializingBean { return StageResult.OK; } - /** - * 1. Конструирует структуру DBF файлов для дальнейшей записи - * 2. Проверяет кодировку из настройки dbf.encoding - */ @Override public void afterPropertiesSet() { initExportFileStructure(); initDBFCharset(); } - /** - * Инициализация структуры выходных файлов (заголовки столбцов) - */ private void initExportFileStructure() { dbfFieldsForTable.put(Table.S_DF02, s_df02_converter.getDBFHeaders()); dbfFieldsForTable.put(Table.S_DF03, s_df03_converter.getDBFHeaders()); diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/stages/Journal.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/stages/Journal.java index 29a9c8cf9..b05a741b8 100644 --- a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/stages/Journal.java +++ b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/stages/Journal.java @@ -42,7 +42,6 @@ public class Journal extends Stage implements InitializingBean { return StageResult.COMPLETE; } JournalSdf journalSdf = new JournalSdf(); - //todo read file attibutes journalSdf.setRegistrationDate(resultContainer.getRegistrationDateTime().toLocalDate()); journalSdf.setRegistrationTime(resultContainer.getRegistrationDateTime().toLocalTime()); journalSdf.setRegistrationNumber(resultContainer.getGroupId()); @@ -50,8 +49,6 @@ public class Journal extends Stage implements InitializingBean { journalSdf.setDossierNumber(dossierNumber.get(resultContainer.getTableForExport())); journalSdf.setResultStatus(StageResult.ERROR.equals(resultContainer.getLastStageResult()) ? "NACK" : "ACK"); kafkaSender.get().sendRequestToQueue(EXPORT_COMPLETED, journalSdf); - - //удалим временный файл File dbfFile = resultContainer.getFileForExport(); try { Files.deleteIfExists(dbfFile.toPath()); diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/stages/PrepareDBFFile.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/stages/PrepareDBFFile.java index 2b88238c0..6325927fa 100644 --- a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/stages/PrepareDBFFile.java +++ b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/stages/PrepareDBFFile.java @@ -20,9 +20,6 @@ import java.util.List; import java.util.Map; import java.util.Objects; -/** - * Создание DBF файла - */ @Component public class PrepareDBFFile extends Stage implements InitializingBean { public static final String SECTION = "S"; diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/CommandService.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/CommandService.java index 9a9afee90..7a8fe4ee3 100644 --- a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/CommandService.java +++ b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/CommandService.java @@ -44,7 +44,7 @@ public class CommandService extends QueueConsumer implements InitializingBean { .setConsumer(r -> processSpecial(Table.S_DF02, r)) .forDestination(Consts.SDF02_PROCESS, callbacks::put); callback(SdfClearingRequest.class) - .setConsumer(r -> processSpecial(Table.S_DF03, r)) // todo необходимо в отдельную папку: "в отдельную директорию SettlementHouse_Fail (чтобы не отдавать такие файлы в ПРЦ" + .setConsumer(r -> processSpecial(Table.S_DF03, r)) .forDestination(Consts.SDF03_PROCESS, callbacks::put); callback(SdfClearingRequest.class) .setConsumer(r -> processSpecial(Table.S_DF05, r)) diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/DFConverter.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/DFConverter.java index c8c15f2ad..dd954424a 100644 --- a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/DFConverter.java +++ b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/DFConverter.java @@ -15,11 +15,6 @@ public abstract class DFConverter { public abstract Object[] toObjectArray(T entity); public abstract DBFField[] getDBFHeaders(); - /** - * Приведение типов в соответствие (для записи) - * @param src исходный объект - * @return объект другого типа, если тип не поддерживается dbfWriter - */ protected Object typeMatch(Object src) { if (src instanceof Instant srcInstant) return Timestamp.from(srcInstant); if (src instanceof LocalDate srcLocalDate) return Date.valueOf(srcLocalDate); diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF51_Converter.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF51_Converter.java index 41587938f..31865d37d 100644 --- a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF51_Converter.java +++ b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF51_Converter.java @@ -15,7 +15,7 @@ public class S_DF51_Converter extends DFConverter { public Object[] toObjectArray(SDf51 entity) { List values = new LinkedList<>(); values.add(typeMatch(entity.getNumber())); - values.add(typeMatch(convertStrToLong(entity.getDatetime()))); // UNIX TIME + values.add(typeMatch(convertStrToLong(entity.getDatetime()))); return values.toArray(Object[]::new); } @@ -23,7 +23,7 @@ public class S_DF51_Converter extends DFConverter { public DBFField[] getDBFHeaders() { List dbfFields = new LinkedList<>(); dbfFields.add(new DBFField("NUMBER", DBFDataType.CHARACTER, 10)); - dbfFields.add(new DBFField("DATETIME", DBFDataType.NUMERIC, 13)); // UNIX TIME + dbfFields.add(new DBFField("DATETIME", DBFDataType.NUMERIC, 13)); return dbfFields.toArray(DBFField[]::new); } diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF56_Converter.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF56_Converter.java index a3b29c1a0..0de0b8b77 100644 --- a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF56_Converter.java +++ b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF56_Converter.java @@ -14,8 +14,8 @@ public class S_DF56_Converter extends DFConverter { public Object[] toObjectArray(SDf56 entity) { List values = new LinkedList<>(); values.add(typeMatch(entity.getNumber())); - values.add(convertStrToBigDecimal(entity.getStart_datetime())); // UNIX DATE TIME - values.add(convertStrToBigDecimal(entity.getEnd_datetime())); // UNIX DATE TIME + values.add(convertStrToBigDecimal(entity.getStart_datetime())); + values.add(convertStrToBigDecimal(entity.getEnd_datetime())); values.add(typeMatch(entity.getAccount())); values.add(typeMatch(entity.getDeal())); return values.toArray(Object[]::new); diff --git a/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/AbstractServiceTest.java b/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/AbstractServiceTest.java index d4e8c0160..03d1673aa 100644 --- a/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/AbstractServiceTest.java +++ b/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/AbstractServiceTest.java @@ -64,7 +64,6 @@ public abstract class AbstractServiceTest { Path path = Paths.get("src", "main", "resources"); String currentPath = path.toAbsolutePath().toString(); System.setProperty("spring.config.location", currentPath); -// Hazelcast.shutdownAll(); } protected void init() { diff --git a/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/logic/data/enums/FilenameTemplateTest.java b/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/logic/data/enums/FilenameTemplateTest.java index a59594bc4..1c3fba5fc 100644 --- a/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/logic/data/enums/FilenameTemplateTest.java +++ b/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/logic/data/enums/FilenameTemplateTest.java @@ -20,9 +20,5 @@ class FilenameTemplateTest { List files = List.of(sftpFileInfo); int count = FilenameTemplate.df_section_dateTime.countSameFilesInDir("DF-02", files); assertEquals(1, count); - -// doReturn("DF-02_S_PRC230").when(lsEntry).getFilename(); -// count = FilenameTemplate.df_section_dateTime.countSameFilesInDir("DF-02", files); -// assertEquals(0, count); } } \ No newline at end of file diff --git a/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/services/S_DF02_Test.java b/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/services/S_DF02_Test.java index 65ce96a4c..71e37a0e6 100644 --- a/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/services/S_DF02_Test.java +++ b/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/services/S_DF02_Test.java @@ -29,9 +29,6 @@ class S_DF02_Test extends AbstractServiceTest { super.init(); } - /** - * Тест проверяет создание строк документа DBF .
- */ @Test void cdeateSdf() { Table table = Table.S_DF02; @@ -56,8 +53,6 @@ class S_DF02_Test extends AbstractServiceTest { sdfClearingRequest.setGroupId(generationId); String request = getJsonStringForNew(sdfClearingRequest, generationId); addRecordToKafka((MockConsumer) commandService.getConsumer(), Consts.SDF02_PROCESS, 0, 0, request); - - //waiting for kafka send message (finale event) ArgumentCaptor captor = getCaptor(kafkaTemplate); verify(kafkaTemplate, timeout(30_000L).times(1)) .send(captor.capture()); diff --git a/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/services/S_DF03_Test.java b/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/services/S_DF03_Test.java index 02185e4a9..d7ab2cfcf 100644 --- a/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/services/S_DF03_Test.java +++ b/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/services/S_DF03_Test.java @@ -29,9 +29,6 @@ class S_DF03_Test extends AbstractServiceTest { super.init(); } - /** - * Тест проверяет создание строк документа DBF .
- */ @Test void cdeateSdf() { Table table = Table.S_DF03; @@ -64,8 +61,6 @@ class S_DF03_Test extends AbstractServiceTest { sdfClearingRequest.setGroupId(generationId); String request = getJsonStringForNew(sdfClearingRequest, generationId); addRecordToKafka((MockConsumer) commandService.getConsumer(), Consts.SDF03_PROCESS, 0, 0, request); - - //waiting for kafka send message (finale event) ArgumentCaptor captor = getCaptor(kafkaTemplate); verify(kafkaTemplate, timeout(30_000L).times(1)) .send(captor.capture()); diff --git a/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/services/S_DF05_Test.java b/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/services/S_DF05_Test.java index 6cd675cd1..8fcfaaad4 100644 --- a/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/services/S_DF05_Test.java +++ b/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/services/S_DF05_Test.java @@ -32,9 +32,6 @@ class S_DF05_Test extends AbstractServiceTest { super.init(); } - /** - * Тест проверяет создание строк документа DBF .
- */ @Test void cdeateSdf() { Table table = Table.S_DF05; @@ -50,8 +47,6 @@ class S_DF05_Test extends AbstractServiceTest { sdfClearingRequest.setGroupId(generationId); String request = getJsonStringForNew(sdfClearingRequest, generationId); addRecordToKafka((MockConsumer) commandService.getConsumer(), Consts.SDF05_PROCESS, 0, 0, request); - - //waiting for kafka send message (finale event) ArgumentCaptor captor = getCaptor(kafkaTemplate); verify(kafkaTemplate, timeout(30_000L).times(1)) .send(captor.capture()); diff --git a/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/services/S_DF07_Test.java b/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/services/S_DF07_Test.java index 80ccdbb32..d8e6aac6f 100644 --- a/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/services/S_DF07_Test.java +++ b/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/services/S_DF07_Test.java @@ -30,9 +30,6 @@ class S_DF07_Test extends AbstractServiceTest { super.init(); } - /** - * Тест проверяет создание строк документа DBF .
- */ @Test void cdeateSdf() { Table table = Table.S_DF07; @@ -55,8 +52,6 @@ class S_DF07_Test extends AbstractServiceTest { sdfClearingRequest.setGroupId(generationId); String request = getJsonStringForNew(sdfClearingRequest, generationId); addRecordToKafka((MockConsumer) commandService.getConsumer(), Consts.SDF07_PROCESS, 0, 0, request); - - //waiting for kafka send message (finale event) ArgumentCaptor captor = getCaptor(kafkaTemplate); verify(kafkaTemplate, timeout(30_000L).times(1)) .send(captor.capture()); diff --git a/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/services/S_DF51_Test.java b/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/services/S_DF51_Test.java index ac4aa9048..2a266696c 100644 --- a/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/services/S_DF51_Test.java +++ b/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/services/S_DF51_Test.java @@ -29,9 +29,6 @@ class S_DF51_Test extends AbstractServiceTest { super.init(); } - /** - * Тест проверяет создание строк документа DBF .
- */ @Test void cdeateSdf() { Table table = Table.S_DF51; @@ -45,8 +42,6 @@ class S_DF51_Test extends AbstractServiceTest { sdfClearingRequest.setGroupId(generationId); String request = getJsonStringForNew(sdfClearingRequest, generationId); addRecordToKafka((MockConsumer) commandService.getConsumer(), Consts.SDF51_PROCESS, 0, 0, request); - - //waiting for kafka send message (finale event) ArgumentCaptor captor = getCaptor(kafkaTemplate); verify(kafkaTemplate, timeout(30_000L).times(1)) .send(captor.capture()); diff --git a/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/services/S_DF53_Test.java b/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/services/S_DF53_Test.java index 08e27f5dd..97ff48566 100644 --- a/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/services/S_DF53_Test.java +++ b/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/services/S_DF53_Test.java @@ -14,7 +14,6 @@ import ru.spcex.clearing.platform.messaging.domain.cud.system.JournalSdf; import ru.spcex.platform.imdg.api.Imdg; import javax.annotation.PostConstruct; -import java.math.BigDecimal; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.timeout; @@ -30,9 +29,6 @@ class S_DF53_Test extends AbstractServiceTest { super.init(); } - /** - * Тест проверяет создание строк документа DBF .
- */ @Test void cdeateSdf() { Table table = Table.S_DF53; @@ -48,8 +44,6 @@ class S_DF53_Test extends AbstractServiceTest { sdfClearingRequest.setGroupId(generationId); String request = getJsonStringForNew(sdfClearingRequest, generationId); addRecordToKafka((MockConsumer) commandService.getConsumer(), Consts.SDF53_PROCESS, 0, 0, request); - - //waiting for kafka send message (finale event) ArgumentCaptor captor = getCaptor(kafkaTemplate); verify(kafkaTemplate, timeout(30_000L).times(1)) .send(captor.capture()); diff --git a/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/services/S_DF54_Test.java b/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/services/S_DF54_Test.java index 0491a8c0d..6ef92e322 100644 --- a/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/services/S_DF54_Test.java +++ b/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/services/S_DF54_Test.java @@ -29,9 +29,6 @@ class S_DF54_Test extends AbstractServiceTest { super.init(); } - /** - * Тест проверяет создание строк документа DBF .
- */ @Test void cdeateSdf() { Table table = Table.S_DF54; @@ -83,8 +80,6 @@ class S_DF54_Test extends AbstractServiceTest { sdfClearingRequest.setGroupId(generationId); String request = getJsonStringForNew(sdfClearingRequest, generationId); addRecordToKafka((MockConsumer) commandService.getConsumer(), Consts.SDF54_PROCESS, 0, 0, request); - - //waiting for kafka send message (finale event) ArgumentCaptor captor = getCaptor(kafkaTemplate); verify(kafkaTemplate, timeout(30_000L).times(1)) .send(captor.capture()); diff --git a/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/services/S_DF56_Test.java b/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/services/S_DF56_Test.java index 4e7beff0d..6cca7d693 100644 --- a/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/services/S_DF56_Test.java +++ b/clearing-parent/dbf-exporter/src/test/java/ru/spcex/clearing/dbf/exporter/services/S_DF56_Test.java @@ -29,9 +29,6 @@ class S_DF56_Test extends AbstractServiceTest { super.init(); } - /** - * Тест проверяет создание строк документа DBF .
- */ @Test void cdeateSdf() { Table table = Table.S_DF56; @@ -48,8 +45,6 @@ class S_DF56_Test extends AbstractServiceTest { sdfClearingRequest.setGroupId(generationId); String request = getJsonStringForNew(sdfClearingRequest, generationId); addRecordToKafka((MockConsumer) commandService.getConsumer(), Consts.SDF56_PROCESS, 0, 0, request); - - //waiting for kafka send message (finale event) ArgumentCaptor captor = getCaptor(kafkaTemplate); verify(kafkaTemplate, timeout(30_000L).times(1)) .send(captor.capture()); diff --git a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/config/settings/Store.java b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/config/settings/Store.java index 07a7cbe35..e29a50116 100644 --- a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/config/settings/Store.java +++ b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/config/settings/Store.java @@ -6,7 +6,6 @@ public class Store { private String outDir; private String outDirError; private boolean deleteSrcFiles = true; - //sftp settings private String sftpSrcDir; private String user; private String password; diff --git a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/data/ResultContainer.java b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/data/ResultContainer.java index fc5b7b7f2..505e2b6d5 100644 --- a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/data/ResultContainer.java +++ b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/data/ResultContainer.java @@ -6,9 +6,6 @@ import ru.spcex.clearing.dbf.importer.logic.data.enums.StageResult; import java.io.File; import java.util.UUID; -/** - * Контейнер для передачи результата между стадиями - */ public class ResultContainer { private UUID uuid; private ETable dbfTable; diff --git a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/data/enums/ColumnType.java b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/data/enums/ColumnType.java index 12a7e0fac..9a070bdf1 100644 --- a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/data/enums/ColumnType.java +++ b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/data/enums/ColumnType.java @@ -4,10 +4,6 @@ import com.linuxense.javadbf.DBFDataType; import java.sql.Types; -/** - * Типы данных в таблицах. - * Ставит в соответствие типы PostGRE и DBF - */ public enum ColumnType { VARCHAR(DBFDataType.CHARACTER, Types.VARCHAR), CHARACTER(DBFDataType.CHARACTER, Types.CHAR), diff --git a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/data/tables/SDf57Table.java b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/data/tables/SDf57Table.java index 30d75f562..6f10e3178 100644 --- a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/data/tables/SDf57Table.java +++ b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/data/tables/SDf57Table.java @@ -48,7 +48,7 @@ public class SDf57Table extends AbstractTable { } else if (entity[19] instanceof BigDecimal) { BigDecimal unixTime19 = (BigDecimal) entity[19]; if (unixTime19 != null) { - result.setExt_date(unixTime19.toString()); // unix time + result.setExt_date(unixTime19.toString()); } } else if (entity[19] != null) { result.setExt_date(String.valueOf(entity[19])); diff --git a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/stages/DbfImportKafkaMessenger.java b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/stages/DbfImportKafkaMessenger.java index fd5959115..21d89fbb5 100644 --- a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/stages/DbfImportKafkaMessenger.java +++ b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/stages/DbfImportKafkaMessenger.java @@ -37,10 +37,6 @@ public class DbfImportKafkaMessenger implements InitializingBean { messengers.put(ETable.DF_04, groupId -> messageStatement(groupId, SdfTable.SDF_04)); } - /** - * отправляет в кафку сообщение, при необходимости - * (обрабатывается, например, в balance-service, clearing-service) - */ public void notifySystemIfNeeded(ETable table, Long groupId) { Consumer messenger = messengers.get(table); if (messenger != null) { diff --git a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/stages/ImportToDB.java b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/stages/ImportToDB.java index f0259951f..a1ac03cd8 100644 --- a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/stages/ImportToDB.java +++ b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/stages/ImportToDB.java @@ -17,9 +17,6 @@ import java.io.InputStream; import java.nio.charset.Charset; import java.util.Map; -/** - * Заливка проверенных данных в базу - */ @Component public class ImportToDB extends Stage { private final ImportDBFServiceSettings settings; diff --git a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/stages/ValidateFields.java b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/stages/ValidateFields.java index 217206ccd..48b96ea94 100644 --- a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/stages/ValidateFields.java +++ b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/stages/ValidateFields.java @@ -9,9 +9,6 @@ import ru.spcex.clearing.dbf.importer.logic.data.enums.StageResult; import java.nio.charset.Charset; -/** - * Фильтрация источника на предмет соответствия полей - */ @Component public class ValidateFields extends Stage implements InitializingBean { private final ImportDBFServiceSettings settings; @@ -26,9 +23,6 @@ public class ValidateFields extends Stage implements InitializingBean { return StageResult.OK; } - /** - * 1. Проверяет кодировку из настройки dbf.encoding-source - */ @Override public void afterPropertiesSet() throws Exception { initDBFCharset(); diff --git a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/services/LauncherCommandReceiver.java b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/services/LauncherCommandReceiver.java index 9eb424392..53eb8562a 100644 --- a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/services/LauncherCommandReceiver.java +++ b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/services/LauncherCommandReceiver.java @@ -23,23 +23,20 @@ public class LauncherCommandReceiver extends QueueConsumer implements Initializi this.importer = importer; } - /** - * В реальности не используется - */ @Override public void afterPropertiesSet() { callback(LauncherCommandRequest.class) .setConsumer(action -> importer.run(ETable.DF_04)) - .forDestination(Task.createOrderConfirm.topic(), callbacks::put); // CORC + .forDestination(Task.createOrderConfirm.topic(), callbacks::put); callback(LauncherCommandRequest.class) .setConsumer(action -> importer.run(ETable.DF_01)) - .forDestination(Task.accrualOfBalance.topic(), callbacks::put); // GBAL + .forDestination(Task.accrualOfBalance.topic(), callbacks::put); callback(LauncherCommandRequest.class) .setConsumer(action -> importer.run(ETable.DF_09)) - .forDestination(Task.getBalance.topic(), callbacks::put); // GBLD + .forDestination(Task.getBalance.topic(), callbacks::put); callback(LauncherCommandRequest.class) .setConsumer(action -> importer.run(ETable.DF_16)) - .forDestination(Task.additionOrDeleteOfBalance.topic(), callbacks::put); // ADBL + .forDestination(Task.additionOrDeleteOfBalance.topic(), callbacks::put); init(); } diff --git a/clearing-parent/dbf-importer/src/main/resources/application.properties b/clearing-parent/dbf-importer/src/main/resources/application.properties index f7b835461..ca50dc488 100644 --- a/clearing-parent/dbf-importer/src/main/resources/application.properties +++ b/clearing-parent/dbf-importer/src/main/resources/application.properties @@ -2,12 +2,12 @@ server.port=8080 server.servlet.context-path=/importer spring.main.web-application-type=servlet -import-dbf-service.scheduler.check-src-dir-cron=* * * * 1 ? +import-dbf-service.scheduler.check-src-dir-cron=*/25 * * * * * import-dbf-service.store.delete-src-files=false -import-dbf-service.store.src-dir=/opt/clearing/file/importer/ -import-dbf-service.store.out-dir=/opt/clearing/file/importer/loaded/ -import-dbf-service.store.out-dir-error=/opt/clearing/file/importer/error/ +import-dbf-service.store.src-dir=d:\\trash\\clearing\\importer\\in\\ +import-dbf-service.store.out-dir=d:\\trash\\clearing\\importer\\out\\ +import-dbf-service.store.out-dir-error=d:\\trash\\clearing\\importer\\out_error\\ import-dbf-service.common.encoding-source=cp866 import-dbf-service.common.insert-batch-size=100 @@ -20,7 +20,7 @@ import-dbf-service.store.password=********* import-dbf-service.store.server-ip=127.0.0.1 import-dbf-service.store.server-port=22 -import-dbf-service.hazelcast.cluster-members=10.200.200.181:5701 +import-dbf-service.hazelcast.cluster-members=127.0.0.1:5701 import-dbf-service.hazelcast.login=dev import-dbf-service.hazelcast.password=dev-pass diff --git a/clearing-parent/dbf-importer/src/test/java/ru/spcex/clearing/dbf/importer/logic/data/tables/SDf57TableTest.java b/clearing-parent/dbf-importer/src/test/java/ru/spcex/clearing/dbf/importer/logic/data/tables/SDf57TableTest.java index f764aa1ef..c79fc8abb 100644 --- a/clearing-parent/dbf-importer/src/test/java/ru/spcex/clearing/dbf/importer/logic/data/tables/SDf57TableTest.java +++ b/clearing-parent/dbf-importer/src/test/java/ru/spcex/clearing/dbf/importer/logic/data/tables/SDf57TableTest.java @@ -1,13 +1,10 @@ package ru.spcex.clearing.dbf.importer.logic.data.tables; import com.linuxense.javadbf.DBFReader; -import org.junit.jupiter.api.Test; import org.mockito.Mockito; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; -import ru.spcex.clearing.dbf.importer.logic.data.enums.StageResult; import ru.spcex.platform.imdg.iml.hazelcast.config.HazelcastClientParams; import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService; -import ru.spcex.platform.utils.log.ExceptionUtils; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -19,8 +16,7 @@ import java.nio.file.Path; class SDf57TableTest { -// @Test - void getEntity() throws IOException { +void getEntity() throws IOException { SDf57Table tableReader = new SDf57Table(); ThreadPoolTaskExecutor taskExecutorHazelcastClientInitializer = null; @@ -29,28 +25,22 @@ class SDf57TableTest { HazelcastService hcSvs = new HazelcastService(taskExecutorHazelcastClientInitializer, taskExecutorIdGeneratorAwaiter,hazelcastClientParams ); tableReader.setHazelcastService(hcSvs); - //tableReader.bootMap(); - - // ImportToDB - byte[] fileData = Files.readAllBytes(Path.of("src/test/resources/sdf/DF-57_S_PRC2306141135_1.dbf")); tableReader.setFilename("DF-57_S_PRC2306141135_1.dbf"); tableReader.setFileId(123L); - tableReader.bootMap(); // IMDGDistributedNames.Map_SDf57 + tableReader.bootMap(); reader(fileData, tableReader); } void reader(byte[] source, AbstractTable table) throws IOException { -// byte[] source = resultContainer.getDbfSource(); - Charset sourceCharset = Charset.forName("cp866"); //settings.getCommon().getEncodingSource()); + Charset sourceCharset = Charset.forName("cp866"); try (InputStream is = new ByteArrayInputStream(source); DBFReader dbfReader = new DBFReader(is, sourceCharset)) { for (int i = 0; i < dbfReader.getRecordCount(); i++) { Object[] entity = dbfReader.nextRecord(); if (entity == null) { -// log.warn("record index {} null", i); continue; } table.injectEntity(table.getEntity(entity)); diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/AccountTypeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/AccountTypeDictionary.java index 00cfbfdc5..12442efe5 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/AccountTypeDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/AccountTypeDictionary.java @@ -1,11 +1,6 @@ package ru.clearing.platform.dictionary; -/** - * Справочник типов счетов - * - * Dictionary DB table: ACCOUNT_TYPE_DICTIONARY - **/ public class AccountTypeDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/AllowedDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/AllowedDictionary.java index 420b3eab8..5bfcbeaeb 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/AllowedDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/AllowedDictionary.java @@ -1,8 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Database table: ALLOWED_DICTIONARY - */ public class AllowedDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/BalanceDimensionDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/BalanceDimensionDictionary.java index 1ba6eff87..ee8bdc30e 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/BalanceDimensionDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/BalanceDimensionDictionary.java @@ -1,9 +1,4 @@ package ru.clearing.platform.dictionary; -/** - * Справочник размерностей балансов - * - * Dictionary DB table: BALANCE_DIMENSION_DICTIONARY - **/ public class BalanceDimensionDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/BondTypeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/BondTypeDictionary.java index e6b4be62b..5ec030a3e 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/BondTypeDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/BondTypeDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник типов облигаций - * - * Dictionary DB table: BOND_TYPE_DICTIONARY - **/ public class BondTypeDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ClearingAccountTypeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ClearingAccountTypeDictionary.java index 7937910bd..6f3de1e94 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ClearingAccountTypeDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ClearingAccountTypeDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник типов клиринговых счетов - * - * Dictionary DB table: CLEARING_ACCOUNT_TYPE_DICTIONARY - **/ public class ClearingAccountTypeDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ClearingCategoryDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ClearingCategoryDictionary.java index 72badda0d..ea574cfe9 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ClearingCategoryDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ClearingCategoryDictionary.java @@ -1,8 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Database table: CLEARING_CATEGORY_DICTIONARY - */ public class ClearingCategoryDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ClearingStatusDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ClearingStatusDictionary.java index e7060078f..02a2679c1 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ClearingStatusDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ClearingStatusDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник результатов клиринга - * - * Dictionary DB table: CLEARING_STATUS_DICTIONARY - **/ @Deprecated public class ClearingStatusDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/CompanyRoleDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/CompanyRoleDictionary.java index da38ceef2..238e77a84 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/CompanyRoleDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/CompanyRoleDictionary.java @@ -1,8 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Database table: COMPANY_ROLE_DICTIONARY - */ public class CompanyRoleDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/CompanySymbolDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/CompanySymbolDictionary.java index 318814cfe..d2480cd2a 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/CompanySymbolDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/CompanySymbolDictionary.java @@ -1,9 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Database table: COMPANY_SYMBOL_DICTIONARY - * Словарь с дополнительным полем shortname - */ public class CompanySymbolDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ConnectionStateDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ConnectionStateDictionary.java index ed96817e5..81a14929c 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ConnectionStateDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ConnectionStateDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник состояний соединений - * - * Dictionary DB table: CONNECTION_STATE_DICTIONARY - **/ public class ConnectionStateDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ContactTypeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ContactTypeDictionary.java index 699b695f6..1e3ef336b 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ContactTypeDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ContactTypeDictionary.java @@ -1,8 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Database table: CONTACT_TYPE_DICTIONARY - */ public class ContactTypeDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/CorporationSoleTypeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/CorporationSoleTypeDictionary.java index 82d4d5a1c..671e7fa65 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/CorporationSoleTypeDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/CorporationSoleTypeDictionary.java @@ -1,8 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Database table: CORPORATION_SOLE_TYPE_DICTIONARY - */ public class CorporationSoleTypeDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/CountryCodeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/CountryCodeDictionary.java index 256e8f4f0..1ad2471ef 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/CountryCodeDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/CountryCodeDictionary.java @@ -1,8 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Database table: COUNTRY_CODE_DICTIONARY - */ public class CountryCodeDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/CourierTypeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/CourierTypeDictionary.java index 7b747a4f3..b88ed34fc 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/CourierTypeDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/CourierTypeDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Способ доставки документа - * - * Dictionary DB table: COURIER_TYPE_DICTIONARY - **/ public class CourierTypeDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/CurrencyCodeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/CurrencyCodeDictionary.java index 2f8b2b247..784268d50 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/CurrencyCodeDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/CurrencyCodeDictionary.java @@ -1,11 +1,6 @@ package ru.clearing.platform.dictionary; -/** - * Справочник кодов валют - * - * Dictionary DB table: CURRENCY_CODE_DICTIONARY - **/ public class CurrencyCodeDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/DayStatusDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/DayStatusDictionary.java index 724217d17..0b7164425 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/DayStatusDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/DayStatusDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник торговых статусов - * - * Dictionary DB table: DAY_STATUS_DICTIONARY - **/ public class DayStatusDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/DepoAccountTypeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/DepoAccountTypeDictionary.java index 1b86ce7ed..56e37cbab 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/DepoAccountTypeDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/DepoAccountTypeDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник типов депозитарных счетов - * - * Dictionary DB table: DEPO_ACCOUNT_TYPE_DICTIONARY - **/ public class DepoAccountTypeDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/Dictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/Dictionary.java index fbbec4e53..4dbbe376c 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/Dictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/Dictionary.java @@ -2,9 +2,6 @@ package ru.clearing.platform.dictionary; import java.io.Serializable; -/** - * Словарь. - */ public interface Dictionary extends Serializable { Long getId(); diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/DocumentTypeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/DocumentTypeDictionary.java index fdc706d1d..77b68a51a 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/DocumentTypeDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/DocumentTypeDictionary.java @@ -1,8 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Database table: DOCUMENT_TYPE_DICTIONARY - */ public class DocumentTypeDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ErrorCodeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ErrorCodeDictionary.java index 7ebe051e7..bcb3db1d4 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ErrorCodeDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ErrorCodeDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Коды ошибок - * - * Dictionary DB table: ERROR_CODE_DICTIONARY - **/ public class ErrorCodeDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/EventTypeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/EventTypeDictionary.java index 8a7dd4138..ed6d15d6d 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/EventTypeDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/EventTypeDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник типов изменений записей - * - * Dictionary DB table: EVENT_TYPE_DICTIONARY - **/ public class EventTypeDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/InOutDirectionDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/InOutDirectionDictionary.java index 9950d0a5f..ce75f86e7 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/InOutDirectionDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/InOutDirectionDictionary.java @@ -1,11 +1,6 @@ package ru.clearing.platform.dictionary; -/** - * Справочник значений направления денежного потока - * - * Dictionary DB table: IN_OUT_DIRECTION_DICTIONARY - **/ public class InOutDirectionDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/InOutSDfTypeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/InOutSDfTypeDictionary.java index 4223a6a26..4949f1d7c 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/InOutSDfTypeDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/InOutSDfTypeDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник типов входящих и исходящих записей - *

- * Dictionary DB table: IN_OUT_S_DF_TYPE_DICTIONARY - **/ public class InOutSDfTypeDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/InstrumentTypeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/InstrumentTypeDictionary.java index 2e3505b7f..146f10af4 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/InstrumentTypeDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/InstrumentTypeDictionary.java @@ -1,11 +1,6 @@ package ru.clearing.platform.dictionary; -/** - * Справочник типов инструмента - * - * Dictionary DB table: INSTRUMENT_TYPE_DICTIONARY - **/ public class InstrumentTypeDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/LegalKindDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/LegalKindDictionary.java index 68d5dcc9b..b5fb30fcf 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/LegalKindDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/LegalKindDictionary.java @@ -1,8 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Database table: LEGAL_KIND_DICTIONARY - */ public class LegalKindDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ManagementJournalPurposeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ManagementJournalPurposeDictionary.java index 2d151d1e4..f84040071 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ManagementJournalPurposeDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ManagementJournalPurposeDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник целей записей в журнале мониторинга и контроля - * - * Dictionary DB table: MANAGEMENT_JOURNAL_PURPOSE_DICTIONARY - **/ public class ManagementJournalPurposeDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ManagementJournalStatusDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ManagementJournalStatusDictionary.java index 8f49847bc..8617dc05e 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ManagementJournalStatusDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ManagementJournalStatusDictionary.java @@ -1,11 +1,6 @@ package ru.clearing.platform.dictionary; -/** - * Справочник статусов журнала мониторинга и контроля - * - * Dictionary DB table: MANAGEMENT_JOURNAL_STATUS_DICTIONARY - **/ public class ManagementJournalStatusDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ManagementJournalTypeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ManagementJournalTypeDictionary.java index 4377c7823..92e683453 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ManagementJournalTypeDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ManagementJournalTypeDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник типов записей в журнале мониторинга и контроля - * - * Dictionary DB table: MANAGEMENT_JOURNAL_TYPE_DICTIONARY - **/ public class ManagementJournalTypeDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/MarketCodeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/MarketCodeDictionary.java index 914007aab..cf13259cf 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/MarketCodeDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/MarketCodeDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник кодов рынков - * - * Dictionary DB table: MARKET_CODE_DICTIONARY - **/ public class MarketCodeDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/MarketTypeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/MarketTypeDictionary.java index 82b7b83f5..29162a18e 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/MarketTypeDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/MarketTypeDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник типов торгов - *

- * Dictionary DB table: MARKET_TYPE_DICTIONARY - **/ public class MarketTypeDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/MoneyFlowSideDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/MoneyFlowSideDictionary.java index 6c253d4d5..2fb573396 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/MoneyFlowSideDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/MoneyFlowSideDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник направлений денежного рынка - * - * Dictionary DB table: MONEY_FLOW_SIDE_DICTIONARY - **/ public class MoneyFlowSideDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/NotificationStatusDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/NotificationStatusDictionary.java index bd9bc2b04..abd7cfc95 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/NotificationStatusDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/NotificationStatusDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник статусов сообщений - * - * Dictionary DB table: NOTIFICATION_STATUS_DICTIONARY - **/ public class NotificationStatusDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ObjectTypeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ObjectTypeDictionary.java index 771901575..f659415e1 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ObjectTypeDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ObjectTypeDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник типов объектов - * - * Dictionary DB table: OBJECT_TYPE_DICTIONARY - **/ public class ObjectTypeDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/OperationStatusDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/OperationStatusDictionary.java index 383d108e6..217f18440 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/OperationStatusDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/OperationStatusDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник статусов операций - * - * Dictionary DB table: OPERATION_STATUS_DICTIONARY - **/ public class OperationStatusDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/OperationTypeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/OperationTypeDictionary.java index 6c902ff25..d76a1ad79 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/OperationTypeDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/OperationTypeDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник типов операций - * - * Dictionary DB table: OPERATION_TYPE_DICTIONARY - **/ public class OperationTypeDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/OrganizationTypeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/OrganizationTypeDictionary.java index def605aa6..010294803 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/OrganizationTypeDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/OrganizationTypeDictionary.java @@ -1,8 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Database table: ORGANIZATION_TYPE_DICTIONARY - */ public class OrganizationTypeDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ParentDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ParentDictionary.java index c7301fcd5..9fb8769af 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ParentDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ParentDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник источников - * - * Dictionary DB table: PARENT_DICTIONARY - **/ public class ParentDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/PriorityDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/PriorityDictionary.java index 310a27da3..3207ce439 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/PriorityDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/PriorityDictionary.java @@ -1,9 +1,4 @@ package ru.clearing.platform.dictionary; -/** - * Справочник приоритетов отображения - * - * Dictionary DB table: PRIORITY_DICTIONARY - **/ public class PriorityDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryCapacityDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryCapacityDictionary.java index 5df412229..437c046de 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryCapacityDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryCapacityDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник символов регистров - источники средств - * - * Dictionary DB table: REGISTRY_CAPACITY_DICTIONARY - **/ public class RegistryCapacityDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryCodeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryCodeDictionary.java index 754f9bd77..27b607ad4 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryCodeDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryCodeDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник кодов регистров - * - * Dictionary DB table: REGISTRY_CODE_DICTIONARY - **/ public class RegistryCodeDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryDesignationDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryDesignationDictionary.java index 01e1b1f74..983ca309b 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryDesignationDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryDesignationDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник символов регистров - назначения - * - * Dictionary DB table: REGISTRY_DESIGNATION_DICTIONARY - **/ public class RegistryDesignationDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryInstrumentTypeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryInstrumentTypeDictionary.java index 8ddb13d88..e0326e930 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryInstrumentTypeDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryInstrumentTypeDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник символов регистров - инструменты - * - * Dictionary DB table: REGISTRY_INSTRUMENT_TYPE_DICTIONARY - **/ public class RegistryInstrumentTypeDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryStatusDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryStatusDictionary.java index 7bab1d6b3..aa6052cce 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryStatusDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryStatusDictionary.java @@ -1,11 +1,6 @@ package ru.clearing.platform.dictionary; -/** - * Справочник статусов регистров - * - * Dictionary DB table: REGISTRY_STATUS_DICTIONARY - **/ public class RegistryStatusDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryUnitDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryUnitDictionary.java index 26affd2d0..323d3aabc 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryUnitDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryUnitDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник символов регистров - части регистров - * - * Dictionary DB table: REGISTRY_UNIT_DICTIONARY - **/ public class RegistryUnitDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ResultStatusDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ResultStatusDictionary.java index 893bfef4b..32020910b 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ResultStatusDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ResultStatusDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Статус обработки - * - * Dictionary DB table: RESULT_STATUS_DICTIONARY - **/ public class ResultStatusDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/SectionDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/SectionDictionary.java index 6b9004eb0..1416f45cb 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/SectionDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/SectionDictionary.java @@ -1,11 +1,6 @@ package ru.clearing.platform.dictionary; -/** - * Справочник секций - * - * Dictionary DB table: SECTION_DICTIONARY - **/ public class SectionDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ServiceDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ServiceDictionary.java index 0c96c885d..89fe21b76 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ServiceDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ServiceDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник услуги - * - * Dictionary DB table: SERVICE_DICTIONARY - **/ public class ServiceDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ServiceProductDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ServiceProductDictionary.java index c1c9d2ab3..536511952 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ServiceProductDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ServiceProductDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник продукта для услуги - * - * Dictionary DB table: SERVICE_PRODUCT_DICTIONARY - **/ public class ServiceProductDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ServiceStatusDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ServiceStatusDictionary.java index fc219ea61..28238a163 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ServiceStatusDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ServiceStatusDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник услуги - * - * Dictionary DB table: SERVICE_STATUS_DICTIONARY - **/ public class ServiceStatusDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/SessionStatusDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/SessionStatusDictionary.java index c09164d32..17e1e1417 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/SessionStatusDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/SessionStatusDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник статусов клиринговых сессий - * - * Dictionary DB table: SESSION_STATUS_DICTIONARY - **/ public class SessionStatusDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/SessionTypeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/SessionTypeDictionary.java index 93624f60d..1f87d081d 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/SessionTypeDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/SessionTypeDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник типов клиринговых сессий - * - * Dictionary DB table: SESSION_TYPE_DICTIONARY - **/ public class SessionTypeDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ShareTypeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ShareTypeDictionary.java index 3e945bcbc..0320388eb 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ShareTypeDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ShareTypeDictionary.java @@ -1,9 +1,6 @@ package ru.clearing.platform.dictionary; -/** - * Dictionary DB table: SHARE_TYPE_DICTIONARY - **/ public class ShareTypeDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; } \ No newline at end of file diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/SideDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/SideDictionary.java index 7dbf76d64..dbd13e50e 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/SideDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/SideDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник направлений - * - * Dictionary DB table: SIDE_DICTIONARY - **/ public class SideDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/StatementTypeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/StatementTypeDictionary.java index fc78b37b8..0b6384664 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/StatementTypeDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/StatementTypeDictionary.java @@ -1,11 +1,6 @@ package ru.clearing.platform.dictionary; -/** - * Справочник типов поступлений/списаний от ПРЦ - * - * Dictionary DB table: STATEMENT_TYPE_DICTIONARY - **/ public class StatementTypeDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TaskDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TaskDictionary.java index 791f61433..18ba7fed2 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TaskDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TaskDictionary.java @@ -1,11 +1,6 @@ package ru.clearing.platform.dictionary; -/** - * Справочник задач - * - * Dictionary DB table: TASK_DICTIONARY - **/ public class TaskDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TaskStatusDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TaskStatusDictionary.java index cc3447d80..548077e94 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TaskStatusDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TaskStatusDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник статусов задач - *

- * Dictionary DB table: TASK_STATUS_DICTIONARY - **/ public class TaskStatusDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TermTypeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TermTypeDictionary.java index e2880eea3..305538af6 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TermTypeDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TermTypeDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник видов инстурментов денежного рынка - * - * Dictionary DB table: TERM_TYPE_DICTIONARY - **/ public class TermTypeDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TradingClearingRegistryLevelDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TradingClearingRegistryLevelDictionary.java index 6e3e3a96f..360b84059 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TradingClearingRegistryLevelDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TradingClearingRegistryLevelDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник уровней торгово-клиринговых регистров - * - * Dictionary DB table: TRADING_CLEARING_REGISTRY_LEVEL_DICTIONARY - **/ public class TradingClearingRegistryLevelDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TradingClearingRegistryPurposeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TradingClearingRegistryPurposeDictionary.java index fa81fe060..71a0045f3 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TradingClearingRegistryPurposeDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TradingClearingRegistryPurposeDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник областей применения - * - * Dictionary DB table: TRADING_CLEARING_REGISTRY_PURPOSE_DICTIONARY - **/ public class TradingClearingRegistryPurposeDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TradingClearingRegistryTypeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TradingClearingRegistryTypeDictionary.java index 8d14252bf..5c410e0b7 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TradingClearingRegistryTypeDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TradingClearingRegistryTypeDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник типов торгово-клиринговых регистров - * - * Dictionary DB table: TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY - **/ public class TradingClearingRegistryTypeDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; } \ No newline at end of file diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TransactionStatusDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TransactionStatusDictionary.java index 6228f8057..7c7957220 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TransactionStatusDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TransactionStatusDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Справочник статусов транзакций - *

- * Dictionary DB table: TRANSACTION_STATUS_DICTIONARY - **/ public class TransactionStatusDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/UserRoleDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/UserRoleDictionary.java index 107b4bc36..8e18af820 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/UserRoleDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/UserRoleDictionary.java @@ -1,10 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Роли пользователей - * - * Dictionary DB table: USER_ROLE_DICTIONARY - **/ public class UserRoleDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/WorkflowStatusDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/WorkflowStatusDictionary.java index 5864f07ee..96e5723a2 100644 --- a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/WorkflowStatusDictionary.java +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/WorkflowStatusDictionary.java @@ -1,8 +1,5 @@ package ru.clearing.platform.dictionary; -/** - * Database table: WORKFLOW_STATUS_DICTIONARY - */ public class WorkflowStatusDictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/controller/GatewayController.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/controller/GatewayController.java index 39d5e65f0..333feaef7 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/controller/GatewayController.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/controller/GatewayController.java @@ -73,7 +73,6 @@ public class GatewayController { ) @ResponseBody public CommonResponse listingsFond(@RequestBody FondListingsRequest request) { -// request.validate(validTypes, List.of(Section.FOND)); executor.submit(() -> listingFondProcessor.process(request)); return createResponse(request, true); } @@ -92,7 +91,6 @@ public class GatewayController { ) @ResponseBody public CommonResponse listingsMM(@RequestBody MMListingsRequest request) { -// request.validate(validTypes, List.of(Section.MKR)); executor.submit(() -> listingMMProcessor.process(request)); return createResponse(request, true); } @@ -111,7 +109,6 @@ public class GatewayController { ) @ResponseBody public CommonResponse companies(@RequestBody CompaniesRequest request) { -// request.validate(validTypes, Collections.emptyList()); executor.submit(() -> companiesProcessor.process(request)); return createResponse(request, true); } @@ -176,9 +173,7 @@ public class GatewayController { private CommonResponse createCommonResponse(UUID uuid) { CommonResponse commonResponse = new CommonResponse(); commonResponse.setId(uuid); -// commonResponse.setType(request.getType()); commonResponse.setDatetime(Instant.now()); -// commonResponse.setSection(request.getSection()); return commonResponse; } } diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/controller/inbound/request/company/Company.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/controller/inbound/request/company/Company.java index 87caa4036..c4f382be1 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/controller/inbound/request/company/Company.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/controller/inbound/request/company/Company.java @@ -6,9 +6,6 @@ import ru.spcex.clearing.gatewayapi.controller.inbound.request.WithMapId; import java.util.UUID; -/** - * Компания участник - */ public class Company extends WithMapId { @JsonProperty("id") @ApiModelProperty( diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/controller/outbound/request/OutboundRequest.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/controller/outbound/request/OutboundRequest.java index f32281507..5e788c368 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/controller/outbound/request/OutboundRequest.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/controller/outbound/request/OutboundRequest.java @@ -48,7 +48,6 @@ public class OutboundRequest { ) private String section = ""; - // todo Пока так, чтобы отсылал null, в дальнейшем тип надо заменить на используемый в запросе. Возможно с помощью параметризации @JsonProperty("content") @ApiModelProperty( value = "Контент", example = "null" diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/CodeStatusComparator.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/CodeStatusComparator.java index 87be61427..0d0c54f88 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/CodeStatusComparator.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/CodeStatusComparator.java @@ -28,21 +28,16 @@ public class CodeStatusComparator implements Comparator { String securitySymbol2 = codeExtractor.apply(o2); String workflowStatus1 = workflowStatusExtractor.apply(o1); String workflowStatus2 = workflowStatusExtractor.apply(o2); - - //Если приходят несколько объектов с одним security.security_symbol и разными security.workflow_status, - // просьба сначала обрабатывать записи workflow_status="BLKD", а потом с workflow_status="ACTV". if (!Objects.equals(securitySymbol1, securitySymbol2)) { return Objects.compare(securitySymbol1, securitySymbol2, Comparator.naturalOrder()); } if (Objects.equals(workflowStatus1, workflowStatus2)) { return 0; } - //сначала достаем workflowStatus из объекта Function statusObtainer = ws -> { WorkflowStatus workflowStatus = IEnumKey.getEnumByKey(WorkflowStatus.class, ws); return Objects.requireNonNullElse(workflowStatus, WorkflowStatus.Active); }; - //потом устанавливаем очередносьб: сначала Blocked Function statusMapper = ws -> { if (WorkflowStatus.Blocked.equals(ws)) { return -1; diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/IssueCompanyService.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/IssueCompanyService.java index dedc8c53e..2be4d6a75 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/IssueCompanyService.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/IssueCompanyService.java @@ -55,9 +55,6 @@ public class IssueCompanyService { .filter(info -> info.getCompanyId().equals(companyId)).findFirst() .map(issuerCompanyRequestAdapter::toCompanyInfoRequest) .ifPresent(securityMkrGatewayRequest::setCompanyInfoUpdateRequest); - - //todo реализовать на стороне security-service обработку и правильную группировку -// kafkaSender.sendRequestToQueue(Consts.DESTINATION_ISSUER_COMPANY_GATEWAY_REQUEST, securityMkrGatewayRequest); } catch (Throwable e) { log.error("{}", ExceptionUtils.getStackTrace(e)); } diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/adapter/CompanyRequestAdapter.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/adapter/CompanyRequestAdapter.java index 93b5ed1f8..7aec283e9 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/adapter/CompanyRequestAdapter.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/adapter/CompanyRequestAdapter.java @@ -26,7 +26,7 @@ public class CompanyRequestAdapter { public CompanyInfoUpdateRequest toCompanyInfoRequest(CompanyInfo companyInfo) { CompanyInfoUpdateRequest companyInfoUpdateRequest = new CompanyInfoUpdateRequest(); - companyInfoUpdateRequest.setCountryCode("RUS"); // todo в текущей версии ТЗ присылается в цифровом обозначении + companyInfoUpdateRequest.setCountryCode("RUS"); companyInfoUpdateRequest.setProfessionalSign(companyInfo.getProfessionalSign()); companyInfoUpdateRequest.setLegalKind(companyInfo.getLegalKind()); companyInfoUpdateRequest.setOrganizationType(companyInfo.getOrganizationType()); diff --git a/clearing-parent/gateway-api/src/test/java/ru/spcex/clearing/gatewayapi/service/CodeStatusComparatorTest.java b/clearing-parent/gateway-api/src/test/java/ru/spcex/clearing/gatewayapi/service/CodeStatusComparatorTest.java index 7662ceaa5..8a5deea8f 100644 --- a/clearing-parent/gateway-api/src/test/java/ru/spcex/clearing/gatewayapi/service/CodeStatusComparatorTest.java +++ b/clearing-parent/gateway-api/src/test/java/ru/spcex/clearing/gatewayapi/service/CodeStatusComparatorTest.java @@ -34,9 +34,6 @@ class CodeStatusComparatorTest { security("8", "d", WorkflowStatus.Blocked.getKey()), security("5", "c", WorkflowStatus.Blocked.getKey()) ); - //signum(compare(x, y)) == -signum(compare(y, x)) for all x and y - //((compare(x, y)>0) && (compare(y, z)>0)) implies compare(x, z)>0. - //Finally, the implementor must ensure that compare(x, y)==0 implies that signum(compare(x, z))==signum(compare(y, z)) for all z fondSecurities.sort(comp); for (int i = 0; i < fondSecurities.size(); i++) { assertEquals(Integer.parseInt(fondSecurities.get(i).getShortName()), i + 1); diff --git a/clearing-parent/gateway-api/src/test/java/ru/spcex/clearing/gatewayapi/service/GatewayServiceTest.java b/clearing-parent/gateway-api/src/test/java/ru/spcex/clearing/gatewayapi/service/GatewayServiceTest.java index 83fbea1d2..e4056801b 100644 --- a/clearing-parent/gateway-api/src/test/java/ru/spcex/clearing/gatewayapi/service/GatewayServiceTest.java +++ b/clearing-parent/gateway-api/src/test/java/ru/spcex/clearing/gatewayapi/service/GatewayServiceTest.java @@ -1,15 +1,4 @@ package ru.spcex.clearing.gatewayapi.service; public class GatewayServiceTest { - -// @Test -// public void makeContentByReportRequestTest() { -// GatewayService gatewayService = new GatewayService(null, null, null, -// null, null, null, null); -// ReportPart reportPart = new ReportPart(); -// reportPart.setFileName("KS_BR_PFX64_INFTYPE_1_111111111111111.csv"); -// Map content = gatewayService.makeContentByReportRequest(content, reportPart); -// Assertions.assertTrue(content.containsKey("inftype_1")); -// Assertions.assertEquals("KS_BR_PFX64_INFTYPE_1_111111111111111.csv", content.get("inftype_1")); -// } } diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/AutoconfiguredMap.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/AutoconfiguredMap.java index d3d1b44ff..d0441d15f 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/AutoconfiguredMap.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/AutoconfiguredMap.java @@ -3,15 +3,7 @@ package ru.spcex.clearing.imdg.base; import com.hazelcast.core.MapLoader; public interface AutoconfiguredMap extends MapLoader { - /** - * - * @return IMDGDistributedNames.* - */ String getMapName(); - /** - * Список индексируемых полей, для быстрого поиска - * @return - */ String[] getIndexingField(); } diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/BusinessObjectMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/BusinessObjectMapStore.java index 32b4b047a..bd49f5ee8 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/BusinessObjectMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/BusinessObjectMapStore.java @@ -6,22 +6,12 @@ import ru.clearing.classes.objects.BusinessObject; import java.sql.ResultSet; import java.sql.SQLException; -/** - * Шаблон для загрузки BusinessObject-ов. - */ public abstract class BusinessObjectMapStore extends ObjectBaseMapStore { public BusinessObjectMapStore(JdbcTemplate jdbcTemplate) { super(jdbcTemplate); } - /** - * Заполняет стандартные поля для BusinessObject из ResultSet - * - * @param businessObject дозаполнить стандартные поля этому объекту - * @param rs из ResultSet - * @throws SQLException - error - */ protected void fillBusinessObjectFields(BusinessObject businessObject, ResultSet rs) throws SQLException { fillBusinessObjectFields(businessObject, rs, "id"); } diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/DictionaryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/DictionaryMapStore.java index 1e8aff1d1..e12d1f08a 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/DictionaryMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/DictionaryMapStore.java @@ -14,9 +14,6 @@ import java.util.*; import static ru.spcex.clearing.imdg.base.ObjectBaseMapStore.MAX_IN_CLAUSE_SIZE; -/** - * Store для словарей стандартных - из ID, CODE, NAME. - */ public abstract class DictionaryMapStore implements MapLoader { private static final Logger log = LoggerFactory.getLogger(DictionaryMapStore.class); protected final JdbcTemplate jdbcTemplate; @@ -62,8 +59,6 @@ public abstract class DictionaryMapStore implements MapLoa log.trace("loadAll from dictionary {} {} keys", getTableName(), keys.size()); Map result = new HashMap<>(); long start = System.currentTimeMillis(); - - // загрузить данные по ключам частями, чтобы не выйти за ограничения базы по кол-ву элементов в in clause List keysSubList = new ArrayList<>(MAX_IN_CLAUSE_SIZE); for (Iterator iterator = keys.iterator(); iterator.hasNext(); ) { Long key = iterator.next(); diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/DictionaryTMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/DictionaryTMapStore.java index bf4491ab2..1aa06c344 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/DictionaryTMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/DictionaryTMapStore.java @@ -3,9 +3,6 @@ package ru.spcex.clearing.imdg.base; import org.springframework.jdbc.core.JdbcTemplate; import ru.clearing.platform.dictionary.Dictionary; -/** - * Store для автонастраиваемых map словарей - */ public abstract class DictionaryTMapStore extends DictionaryMapStore implements AutoconfiguredMap { protected DictionaryTMapStore(JdbcTemplate jdbcTemplate) { super(jdbcTemplate); diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/ObjectBaseMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/ObjectBaseMapStore.java index 7c92626f9..5ccb20892 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/ObjectBaseMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/ObjectBaseMapStore.java @@ -29,7 +29,7 @@ public abstract class ObjectBaseMapStore extends Simp List list = Collections.singletonList(id); try { rows = load(list); - } catch (Throwable e) { // one retry + } catch (Throwable e) { rows = load(list); } T obj = DataAccessUtils.singleResult(rows); @@ -52,8 +52,6 @@ public abstract class ObjectBaseMapStore extends Simp log.debug("loadAll from " + getTableName() + " " + keys.size() + " keys"); Map result = new HashMap<>(); long start = System.currentTimeMillis(); - - // загрузить данные по ключам частями, чтобы не выйти за ограничения базы по кол-ву элементов в in clause List keysSubList = new ArrayList<>(MAX_IN_CLAUSE_SIZE); for (Iterator iterator = keys.iterator(); iterator.hasNext(); ) { Long key = iterator.next(); diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/SimpleObjectMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/SimpleObjectMapStore.java index da6cc1fac..87587e819 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/SimpleObjectMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/SimpleObjectMapStore.java @@ -19,11 +19,6 @@ import java.time.Instant; import java.util.*; import java.util.stream.Collectors; -/** - * MapStore для выгрузки обычных объектов - * - * @param - */ public abstract class SimpleObjectMapStore implements MapStore { private final static int BATCH_SIZE = 1000; protected final Logger log = LoggerFactory.getLogger(this.getClass()); @@ -91,7 +86,7 @@ public abstract class SimpleObjectMapStore implements jdbcTemplate.batchUpdate(sql, listOfID); } catch (Exception e) { log.error("SQL error at batch DELETE FROM {}\n{}", getTableName(), ExceptionUtils.getStackTrace(e)); - log.info("List of non deleted ID {}", collection); // показать список неудалённых UUID + log.info("List of non deleted ID {}", collection); throw e; } } diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/TemplateEventMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/TemplateEventMapStore.java index 38d2dad01..21ea132c0 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/TemplateEventMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/TemplateEventMapStore.java @@ -42,21 +42,6 @@ public abstract class TemplateEventMapStore> extends BusinessEventMapStore { protected final int validateSize = getFields().length; @@ -21,24 +19,6 @@ public abstract class TemplateHistoryMapStore extends ObjectBaseMapStore implements AutoconfiguredMap { protected final int validateSize = getFields().length; @@ -20,26 +17,12 @@ public abstract class TemplateMapStore extends Object super(jdbcTemplate); } - /** - * @return IMDGDistributedNames.* - */ public abstract String getMapName(); - /** - * Список индексируемых полей, для быстрого поиска - * - * @return - */ public String[] getIndexingField() { return null; } - /** - * Десериализатор - * - * @param resultSet - * @return - */ protected abstract T objectReader(ResultSet resultSet) throws SQLException; @Override @@ -49,12 +32,6 @@ public abstract class TemplateMapStore extends Object (resultSet, i) -> objectReader(resultSet)); } - /** - * Сериализатор - * - * @param resultSet - * @return Object[] args - */ protected abstract Object[] objectToField(T resultSet); @Override diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ASecurityHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ASecurityHistoryMapStore.java index 682ed3093..27419710f 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ASecurityHistoryMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ASecurityHistoryMapStore.java @@ -10,11 +10,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; -/** - * Двойная запись в 2 таблицы: - * SECURITY_HISTORY - * *_SECURITY_HISTORY - */ public abstract class ASecurityHistoryMapStore> extends TemplateEventMapStore { protected final int validateSecuritySize; @@ -42,7 +37,7 @@ public abstract class ASecurityHistoryMapStore companyInfoToSQLArgs(@NonNull CompanyInfo companyInfo, CompanyHistory rootUpdate) { return new ArrayList<>(Arrays.asList( rootUpdate.getId(), @@ -98,7 +90,7 @@ public class CompanyHistoryMapStore extends BusinessEventMapStore { diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ASecurityMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ASecurityMapStore.java index f6fdd4400..baf58f808 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ASecurityMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ASecurityMapStore.java @@ -10,14 +10,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; -/** - * Двойная запись в 2 таблицы: - * SECURITY_HISTORY - * *_SECURITY_HISTORY - * - * objectReader() надо использовать fillBySecurity(object, object.getSecurityId()); - * objectToField() требуется возвращать только поля в дополнительную таблицу, без полей для SECURITY - */ @Component public abstract class ASecurityMapStore extends TemplateMapStore { @@ -64,7 +56,7 @@ public abstract class ASecurityMapStore extends TemplateMap protected Object[] securityField(S object) { Object[] args = new Object[]{ - object.getId(), // SecurityId + object.getId(), TimeUtil.toDateFromInstant(object.getCreated()), TimeUtil.toDateFromInstant(object.getUpdated()), object.getInstrumentType(), diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/CompanyMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/CompanyMapStore.java index ee0891db9..0b1f75e09 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/CompanyMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/CompanyMapStore.java @@ -38,8 +38,7 @@ public class CompanyMapStore extends BusinessObjectMapStore { "id", "company_id", "corporation_sole_type", "country_code", "description", "professional_sign", "legal_kind", "organization_type", "residence", "short_name_eng", "full_name_eng" -// , "short_name", "full_name", "trading_code","clearing_code", "registration_code" - }; +}; } @Override @@ -83,7 +82,7 @@ public class CompanyMapStore extends BusinessObjectMapStore { }; batchArgs.add(args); if (company.getProfile() != null) { - company.getProfile().setId(company.getId());//todo для точного соответствия id = company.id + company.getProfile().setId(company.getId()); company.getProfile().setCompanyId(company.getId()); List companyInfoArgs = new ArrayList<>(); companyInfoArgs.addAll(companyInfoToSQLArgs(company.getProfile())); @@ -100,7 +99,7 @@ public class CompanyMapStore extends BusinessObjectMapStore { if (id == null) return null; List results = jdbcTemplate.query( - "SELECT * FROM COMPANY_INFO WHERE id = ?", new Object[]{id}, // id=comapny_id + "SELECT * FROM COMPANY_INFO WHERE id = ?", new Object[]{id}, (rs, rowNum) -> { CompanyInfo companyInfo = new CompanyInfo(); companyInfo.setId(rs.getObject("Id", Long.class)); @@ -114,11 +113,6 @@ public class CompanyMapStore extends BusinessObjectMapStore { companyInfo.setResidence(rs.getString("RESIDENCE")); companyInfo.setShortNameEng(rs.getString("SHORT_NAME_ENG")); companyInfo.setFullNameEng(rs.getString("FULL_NAME_ENG")); -// companyInfo.setShortName(rs.getString("SHORT_NAME")); -// companyInfo.setFullName(rs.getString("FULL_NAME")); -// companyInfo.setTradingCode(rs.getString("TRADING_CODE")); -// companyInfo.setClearingCode(rs.getString("CLEARING_CODE")); -// companyInfo.setRegistrationCode(rs.getString("REGISTRATION_CODE")); return companyInfo; } ); @@ -126,19 +120,12 @@ public class CompanyMapStore extends BusinessObjectMapStore { if (onceObject == null) { log.warn("No row in table COMPANY_INFO where id={}. Create empty ", id); onceObject = new CompanyInfo(); - onceObject.setId(id); // чтобы не потерять id + onceObject.setId(id); onceObject.setCompanyId(id); } return onceObject; } - /** - * Перечисление значений полей CompanyInfo. - * См. insertCompanyInfoStatement - * - * @param companyInfo должен быть заполнен id, company_id = company.id - * @return - */ protected List companyInfoToSQLArgs(@NonNull CompanyInfo companyInfo) { List companyInfoArgs = new ArrayList<>(Arrays.asList( companyInfo.getId(), @@ -152,11 +139,6 @@ public class CompanyMapStore extends BusinessObjectMapStore { companyInfo.getResidence(), companyInfo.getShortNameEng(), companyInfo.getFullNameEng() -// companyInfo.getShortName(), -// companyInfo.getFullName(), -// companyInfo.getTradingCode(), -// companyInfo.getClearingCode(), -// companyInfo.getRegistrationCode() )); return companyInfoArgs; } diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/EquitySecurityMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/EquitySecurityMapStore.java index a87523eee..b3de10e40 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/EquitySecurityMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/EquitySecurityMapStore.java @@ -4,14 +4,9 @@ import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Component; import ru.clearing.classes.statics.data.instrument.issue.EquitySecurity; import ru.spcex.clearing.imdg.IMDGDistributedNames; -import ru.spcex.clearing.imdg.base.TemplateMapStore; -import ru.spcex.platform.utils.time.TimeUtil; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; @Component public class EquitySecurityMapStore extends ASecurityMapStore { @@ -33,7 +28,7 @@ public class EquitySecurityMapStore extends ASecurityMapStore { @Override public String[] getFields() { return new String[]{ - "ID", "SECURITY_ID", "SHARE_TYPE"//, "LOT_SIZE" + "ID", "SECURITY_ID", "SHARE_TYPE" }; } @@ -45,7 +40,6 @@ public class EquitySecurityMapStore extends ASecurityMapStore { object.setId(resultSet.getObject("ID", Long.class)); object.setSecurityId(resultSet.getObject("SECURITY_ID", Long.class)); object.setShareType(resultSet.getObject("SHARE_TYPE", String.class)); -// object.setLotSize(resultSet.getObject("LOT_SIZE", BigDecimal.class)); fillBySecurity(object, object.getSecurityId()); return object; } diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/MoneyMarketSecurityMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/MoneyMarketSecurityMapStore.java index d642126f6..439fda4e0 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/MoneyMarketSecurityMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/MoneyMarketSecurityMapStore.java @@ -44,18 +44,6 @@ public class MoneyMarketSecurityMapStore extends ASecurityMapStore { } } -// todo Сделать BusinessEventMapStore RelationUpdateMapStore \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/SecurityMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/SecurityMapStore.java index 7b876cd81..d48f17ed2 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/SecurityMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/SecurityMapStore.java @@ -10,7 +10,6 @@ import ru.spcex.platform.utils.time.TimeUtil; import java.sql.ResultSet; import java.sql.SQLException; -// Abstract table: ASecurityHistoryMapStore @Component public class SecurityMapStore extends TemplateMapStore { diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/config/HazelcastConfiguration.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/config/HazelcastConfiguration.java index f6e601f92..07926f63b 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/config/HazelcastConfiguration.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/config/HazelcastConfiguration.java @@ -51,9 +51,8 @@ public class HazelcastConfiguration { ) ); - config.addMapConfig(poolMapConfigs.map_Company()); //todo убедиться, что CompanyMapStore extends BusinessObjectMapStore теперь будет TemplateMapStore. + config.addMapConfig(poolMapConfigs.map_Company()); config.addMapConfig(poolMapConfigs.map_CompanyHistory()); - // Автоподключение мап List autoMapCfg = poolMapConfigs.autoconfiguratorOfMapstorages(); for (MapConfig cfg : autoMapCfg) { config.addMapConfig(cfg); diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/config/PoolMapConfigs.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/config/PoolMapConfigs.java index d5889abff..24f518c7f 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/config/PoolMapConfigs.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/config/PoolMapConfigs.java @@ -27,14 +27,13 @@ public class PoolMapConfigs { @Autowired private CompanyHistoryMapStore companyHistoryMapStore; - // Автоконфигурируемые мапсторы: @Autowired private List> listOfAutopluginStores; private MapStoreConfig makeDefaultMapStoreConfig(MapLoader mapBean) { return new MapStoreConfig() .setImplementation(mapBean) - ;//todo config: .setWriteDelaySeconds(configRoot.getIMDG().getDbSyncSeconds()); + ; } public ScheduledExecutorConfig makeDefaultScheduledExecutorConfig(String name) { @@ -50,8 +49,7 @@ public class PoolMapConfigs { .setName(mapName) .setInMemoryFormat(InMemoryFormat.OBJECT) .setMapStoreConfig(makeDefaultMapStoreConfig(mapBean)) -//fixme config: .setBackupCount(configRoot.getIMDG().getBackupCount()) - ; +; } private NearCacheConfig makeDefaultNearCacheConfig() { @@ -80,7 +78,6 @@ public class PoolMapConfigs { return makeDefaultMapConfig(IMDGDistributedNames.Map_CompanyHistory, companyHistoryMapStore); } - // @Qualifier("AutoconfiguredMapStore") public List autoconfiguratorOfMapstorages() { List out = new ArrayList<>(); HashSet existMapStores = new HashSet<>(); @@ -93,7 +90,7 @@ public class PoolMapConfigs { if (existMapStores.contains(mapStore.getMapName())) { throw new IllegalArgumentException("MapStore " + mapStore + " has wrong mapName=\"" + mapStore.getMapName() + "\" is duplicated"); } - existMapStores.add(mapStore.getMapName()); // IMDGDistributedNames + existMapStores.add(mapStore.getMapName()); MapConfig mapCfg = makeDefaultMapConfig(mapStore.getMapName(), mapStore); if (mapStore.getIndexingField() != null && mapStore.getIndexingField().length > 0) { if (log.isTraceEnabled()) { diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/CompanyRoleSetMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/CompanyRoleSetMapStore.java index 25c972ccc..4b5282d94 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/CompanyRoleSetMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/CompanyRoleSetMapStore.java @@ -28,7 +28,7 @@ public class CompanyRoleSetMapStore extends TemplateMapStore { @Override public String[] getIndexingField() { - return new String[]{"companyId"};// список индексируемых полей + return new String[]{"companyId"}; } @Override diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/services/AbstractHazelcastLifecycleSupport.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/services/AbstractHazelcastLifecycleSupport.java index b715b032e..c000cf4c9 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/services/AbstractHazelcastLifecycleSupport.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/services/AbstractHazelcastLifecycleSupport.java @@ -19,7 +19,6 @@ import java.util.ArrayList; import java.util.List; import java.util.concurrent.*; -//todo почистить класс public abstract class AbstractHazelcastLifecycleSupport implements InitializingBean, DisposableBean { private final Logger log = LoggerFactory.getLogger(this.getClass()); private final HazelcastInstance hazelcastServerInstance; @@ -32,22 +31,12 @@ public abstract class AbstractHazelcastLifecycleSupport implements InitializingB this.plannerAllTodayMaker = plannerAllTodayMaker; } - /** - * Рабочая версия БД. Треьуется вручную сверять с DDL.sql и накручивать эту переменную. - */ public abstract String getCheckDbVersion(); -// private final HazelcastClientListener clientListener; -// private final ITaskAdministrator startupTasksAdministrator; - /** - * Обязательная сверка у этих классов SerialVersionUID во время подключения к Storage. - */ public abstract Class[] getSerialVersionUIDClasses(); @Override public void afterPropertiesSet() { -// HazelcastCommon.loadClassesVersionsByStorage(hazelcastServerInstance, getSerialVersionUIDClasses()); -// databaseVersionCheck(); long loadTime = System.currentTimeMillis(); @@ -71,9 +60,6 @@ public abstract class AbstractHazelcastLifecycleSupport implements InitializingB String tableName = ((SimpleObjectMapStore) mapStore).getTableName(); maxKey = jdbcTemplate.queryForObject("select max(id) from " + tableName, Long.class); } else if (mapStore instanceof DictionaryMapStore) { - // для Dictionary не используется общий id генератор -// } else if (mapStore instanceof FrontendUserSessionMapStore) { -// // не используется общий id генератор } else { throw new RuntimeException("unknown map store implementation " + mapStore); } @@ -84,7 +70,7 @@ public abstract class AbstractHazelcastLifecycleSupport implements InitializingB }); } long maxKey = 0L; - int threadCount = Runtime.getRuntime().availableProcessors();// todo config * Config.get().getRoot().getSettings().getInitHazelcastThreadMultiplier(); + int threadCount = Runtime.getRuntime().availableProcessors(); log.info("Initializing threads count = {}", threadCount); ExecutorService executor = Executors.newWorkStealingPool(threadCount); try { diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/services/AbstractUpdateMapService.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/services/AbstractUpdateMapService.java index e447f052c..016296d9e 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/services/AbstractUpdateMapService.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/services/AbstractUpdateMapService.java @@ -15,9 +15,6 @@ import java.time.Instant; public abstract class AbstractUpdateMapService implements InitializingBean, EntryAddedListener, EntryUpdatedListener, EntryRemovedListener { - /** - * EVENT_TYPE_DICTIONARY - */ protected final String EVENT_CREATE = "CRET"; protected final String EVENT_UPDATE = "UPDT"; protected final String EVENT_DELETE = "DELT"; @@ -56,7 +53,7 @@ public abstract class AbstractUpdateMapService implements InitializingBean, protected void createBusinessEvent(BusinessEvent businessEvent, String eventType) { businessEvent.setId(hazelcastServerInstance.getIdGenerator(IMDGDistributedNames.MAP_SEQUENCE_NAME).newId()); businessEvent.setEventTime(Instant.now()); - if (eventType != null && eventType.length() > 4) { // never + if (eventType != null && eventType.length() > 4) { eventType = eventType.substring(0, 4); } businessEvent.setEventType(eventType); diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/services/HazelcastLifecycleSupport.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/services/HazelcastLifecycleSupport.java index bf249777b..a34c78d4c 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/services/HazelcastLifecycleSupport.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/services/HazelcastLifecycleSupport.java @@ -11,9 +11,6 @@ import ru.clearing.platform.dictionary.ConstDictionarySerializable; @Service public class HazelcastLifecycleSupport extends AbstractHazelcastLifecycleSupport { - /** - * Рабочая версия БД. Требуется вручную сверять с DDL.sql и накручивать эту переменную. - */ public static final String CHECK_DB_VERSION = "1.0"; private final Logger log = LoggerFactory.getLogger(this.getClass()); diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/services/UpdateMapService.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/services/UpdateMapService.java index b7c49e858..15bee2f9f 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/services/UpdateMapService.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/services/UpdateMapService.java @@ -53,7 +53,7 @@ public class UpdateMapService extends AbstractUpdateMapService { hazelcastServerInstance.getMap(IMDGDistributedNames.Map_ClearingMemberCategory).addLocalEntryListener(this, Predicates.alwaysTrue(), true); hazelcastServerInstance.getMap(IMDGDistributedNames.Map_InformationAccount).addLocalEntryListener(this, Predicates.alwaysTrue(), true); hazelcastServerInstance.getMap(IMDGDistributedNames.Map_Relation).addLocalEntryListener(this, Predicates.alwaysTrue(), true); - hazelcastServerInstance.getMap(IMDGDistributedNames.Map_Security).addLocalEntryListener(this, Predicates.alwaysTrue(), true); // // Существуют наследники этой таблицы + hazelcastServerInstance.getMap(IMDGDistributedNames.Map_Security).addLocalEntryListener(this, Predicates.alwaysTrue(), true); hazelcastServerInstance.getMap(IMDGDistributedNames.Map_UserConnect).addLocalEntryListener(this, Predicates.alwaysTrue(), true); hazelcastServerInstance.getMap(IMDGDistributedNames.Map_User).addLocalEntryListener(this, Predicates.alwaysTrue(), true); hazelcastServerInstance.getMap(IMDGDistributedNames.Map_Currency).addLocalEntryListener(this, Predicates.alwaysTrue(), true); @@ -216,7 +216,7 @@ public class UpdateMapService extends AbstractUpdateMapService { hazelcastServerInstance.getMap(IMDGDistributedNames.Map_TradingClearingRegistry).put(tradingClearingRegistryHistory.getId(), tradingClearingRegistryHistory); - } else if (value instanceof Security) { // Существуют наследники этой таблицы, по этому в последнюю очередь делать эту проверку. + } else if (value instanceof Security) { SecurityHistory securityHistory = new SecurityHistory(); createBusinessEvent(securityHistory, eventType); securityHistory.setObject((Security) value); diff --git a/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/AllMapStoreTest.java b/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/AllMapStoreTest.java index 7886fe7b1..e9b72cd65 100644 --- a/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/AllMapStoreTest.java +++ b/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/AllMapStoreTest.java @@ -51,7 +51,6 @@ import static ru.spcex.clearing.imdg.utils.DbDataUtils.generatingRandomString; TestConfiguration.class, DbTestConnectionConfig.class}) @ExtendWith(SpringExtension.class) -//@TestPropertySource(properties = "spring.config.location=D:/repo/mfd/clearing/clearing-parent/imdg/src/main/resources") @TestPropertySource(locations = "/AllMapStoreTest.properties") public class AllMapStoreTest { private static final Long ID = 1000000L; private final Logger log = LoggerFactory.getLogger(this.getClass()); @@ -125,17 +124,14 @@ public class AllMapStoreTest { } } - // @Test public void checkAllMapStoreCreatedTest() throws SQLException { Assumptions.assumeTrue(false, "todo удалить если будет не нужна, пока не работает из-за не все mapStore готовы"); - //Поиск таблиц которым нужно добавить mapStore и вывод результата в консоль List nameTables = new ArrayList<>(); Connection jdbcConnection = DriverManager.getConnection("jdbc:postgresql://10.200.200.133:5432/postgres", "clearing", "Aa111111"); DatabaseMetaData md = jdbcConnection.getMetaData(); ResultSet rs = md.getTables(null, "clearing_tester", "%", new String[]{"TABLE"}); while (rs.next()) { String tableName = rs.getString("TABLE_NAME"); - //сущности для company_info и company_info_history включены соответственно в company и company_history, security используется с money_market_security для хранения MoneyMarketSecurity if (tableName.equalsIgnoreCase("company_info") || tableName.equalsIgnoreCase("company_info_history") || tableName.equalsIgnoreCase("security")) { continue; } @@ -209,8 +205,6 @@ public class AllMapStoreTest { } } - //todo удалить если будет не нужна, пока не работает из-за "deleteIsSupported() return false" в SimpleObjectMapStore. -// @Test public void checkDeletingForAllMapStoreTest() { Assumptions.assumeTrue(false, "todo удалить если будет не нужна, пока не работает из-за \"deleteIsSupported() return false\" в SimpleObjectMapStore."); saveBusinessObjectAndBusinessEventToMaps(); diff --git a/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/config/DbTestConnectionConfig.java b/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/config/DbTestConnectionConfig.java index 0aa13adc3..78c09f196 100644 --- a/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/config/DbTestConnectionConfig.java +++ b/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/config/DbTestConnectionConfig.java @@ -8,7 +8,6 @@ import org.springframework.context.annotation.Configuration; import org.springframework.core.io.ClassPathResource; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.datasource.init.DatabasePopulator; -import org.springframework.jdbc.datasource.init.DatabasePopulatorUtils; import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator; import ru.spcex.clearing.imdg.error.ModuleInitializeException; @@ -52,7 +51,6 @@ public class DbTestConnectionConfig { cpds.setNumHelperThreads(numHelperThreads); cpds.setCheckoutTimeout(timeoutSec * 1000); logTimeoutPart = String.format(" (timeout=%ds)", timeoutSec); -// DatabasePopulatorUtils.execute(createDatabasePopulator(), cpds); // пересоздание таблиц по DDL result = cpds; String OPERATION_DATABASE_CONNECTION_CHECK = String.format("Database [%s] connection check", dbPath); diff --git a/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/structure/CheckerBusinessMapStore.java b/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/structure/CheckerBusinessMapStore.java index 2de5f5fbe..e5fa6a098 100644 --- a/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/structure/CheckerBusinessMapStore.java +++ b/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/structure/CheckerBusinessMapStore.java @@ -69,7 +69,7 @@ public class CheckerBusinessMapStore { try { theClass = theClass.getSuperclass(); method = theClass.getDeclaredMethod(settingOperation.getMethodName(), settingOperation.getParameterTypes()); - } catch (NoSuchMethodException exception2) { // Имеется некоторое наследование для удобства обработки данных. + } catch (NoSuchMethodException exception2) { theClass = theClass.getSuperclass(); log.debug("settingOperations for Superclass 2 " + theClass.getName()); method = theClass.getDeclaredMethod(settingOperation.getMethodName(), settingOperation.getParameterTypes()); @@ -86,7 +86,6 @@ public class CheckerBusinessMapStore { private final Class[] parameterTypes; private final Object[] params; - //сеттер для полей значения которых обрезаются при вставке в БД public SettingOperation(String methodName, Class[] parameterTypes, Object[] params) { this.methodName = methodName; this.parameterTypes = parameterTypes; diff --git a/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/structure/RunnableMapNamesForTesting.java b/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/structure/RunnableMapNamesForTesting.java index 4aabadced..2ad6cde37 100644 --- a/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/structure/RunnableMapNamesForTesting.java +++ b/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/structure/RunnableMapNamesForTesting.java @@ -51,9 +51,6 @@ public class RunnableMapNamesForTesting { private static void init() { checkerBusinessMapStores = new LinkedList<>(); checkerDictionaryMapStores = new LinkedList<>(); - - //business event -// businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_AccountBalanceHistory, AccountBalanceHistory.class)); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_AccountHistory, AccountHistory.class)); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_BankAccountHistory, BankAccountHistory.class)); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_CompanyHistory, CompanyHistory.class, @@ -65,40 +62,29 @@ public class RunnableMapNamesForTesting { "object.lots", "object.quantity", "object.secondLegAmount") - /*new SettingOperation("object.firstLegAmount", new Object[]{new BigDecimal("850.640000000000000000")}), - new SettingOperation("object.interestAmount", new Object[]{new BigDecimal("851.640000000000000000")}), - new SettingOperation("object.lots", new Object[]{new BigDecimal("852.640000000000000000")}), - new SettingOperation("object.quantity", new Object[]{new BigDecimal("853.640000000000000000")}), - new SettingOperation("object.secondLegAmount", new Object[]{new BigDecimal("854.640000000000000000")})*/ )); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_ExecutionFondHistory, ExecutionFondHistory.class, usingIgnoringFieldsComparator( "object.interestAmount", "object.lots", "object.quantity", - "object.settlementAmount") - /*new SettingOperation("object.interestAmount", new Object[]{new BigDecimal("850.640000000000000000")}), - new SettingOperation("object.lots", new Object[]{new BigDecimal("851.640000000000000000")}), - new SettingOperation("object.quantity", new Object[]{new BigDecimal("852.640000000000000000")}), - new SettingOperation("object.settlementAmount", new Object[]{new BigDecimal("853.640000000000000000")})*/)); + "object.settlementAmount"))); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_InformationAccountHistory, InformationAccountHistory.class)); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_RelationHistory, RelationHistory.class)); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_SessionHistory, SessionHistory.class)); -// businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_SecurityHistory, SecurityHistory.class)); // parent table checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_UserConnectHistory, UserConnectHistory.class)); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_UserHistory, UserHistory.class)); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_CurrencyHistory, CurrencyHistory.class)); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_ListingHistory, ListingHistory.class, usingIgnoringFieldsComparator( - "object.lotSize") - /*new SettingOperation("object.lotSize", new Object[]{new BigDecimal("850.640000000000000000")}),*/)); + "object.lotSize"))); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_MarketHistory, MarketHistory.class)); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_NotificationHistory, NotificationHistory.class)); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_CompanySymbolsHistory, CompanySymbolsHistory.class)); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_ProfileDocumentHistory, ProfileDocumentHistory.class)); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_ClearingMemberCategoryHistory, ClearingMemberCategoryHistory.class)); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_MoneyMarketSecurityHistory, MoneyMarketSecurityHistory.class, - usingIgnoringFieldsComparator( // todo поправить тест для ASecurityHistoryMapStore + usingIgnoringFieldsComparator( "object.created", "object.updated", "object.fullName", "object.fullNameEng", "object.instrumentType", @@ -109,7 +95,7 @@ public class RunnableMapNamesForTesting { "object.uuid", "object.workflowStatus" ))); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_EquitySecurityHistory, EquitySecurityHistory.class, - usingIgnoringFieldsComparator( // todo поправить тест для ASecurityHistoryMapStore + usingIgnoringFieldsComparator( "object.created", "object.updated", "object.fullName", "object.fullNameEng", "object.instrumentType", @@ -120,7 +106,7 @@ public class RunnableMapNamesForTesting { "object.uuid", "object.workflowStatus" ))); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_FixedIncomeSecurityHistory, FixedIncomeSecurityHistory.class, - usingIgnoringFieldsComparator( // todo поправить тест для ASecurityHistoryMapStore + usingIgnoringFieldsComparator( "object.created", "object.updated", "object.fullName", "object.fullNameEng", "object.instrumentType", @@ -131,14 +117,9 @@ public class RunnableMapNamesForTesting { "object.uuid", "object.workflowStatus" ))); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_FixedIncomeCashFlowHistory, FixedIncomeCashFlowHistory.class, - usingIgnoringFieldsComparator("object.accruedCoupon") - /* new SettingOperation("getObject.setAccruedCoupon", new Object[]{new BigDecimal("870.680000000000000000")})*/)); + usingIgnoringFieldsComparator("object.accruedCoupon"))); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_CouponPeriodHistory, CouponPeriodHistory.class, - usingIgnoringFieldsComparator("object.couponRate") - /* new SettingOperation("getObject.setCouponRate", new Object[]{new BigDecimal("870.680000000000000000")})*/)); - - //business object -// businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_AccountBalance, AccountBalance.class)); + usingIgnoringFieldsComparator("object.couponRate"))); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_Account, Account.class)); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_ClearingCalendar, ClearingCalendar.class)); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_Company, Company.class, @@ -157,13 +138,12 @@ public class RunnableMapNamesForTesting { checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_Planner, Planner.class)); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_PlannerTemplate, PlannerTemplate.class)); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_Relation, Relation.class)); -// businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_Security, Security.class)); // класс наследуется checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_Statement, Statement.class, new SettingOperation("setAmount", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("23.22")}))); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_UserConnect, UserConnect.class)); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_User, User.class)); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_EquitySecurity, EquitySecurity.class - , usingIgnoringFieldsComparator( // todo поправить тест для ASecurityMapStore - проблема в заполнении securityId + , usingIgnoringFieldsComparator( "created", "updated", "fullName", "fullNameEng", "instrumentType", @@ -175,7 +155,7 @@ public class RunnableMapNamesForTesting { ) )); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_FixedIncomeSecurity, FixedIncomeSecurity.class, - usingIgnoringFieldsComparator( // todo поправить тест для ASecurityMapStore + usingIgnoringFieldsComparator( "created", "updated", "fullName", "fullNameEng", "instrumentType", @@ -185,8 +165,6 @@ public class RunnableMapNamesForTesting { "shortName", "shortNameEng", "uuid", "workflowStatus" ))); - - //dictionary checkerDictionaryMapStores.add(new CheckerDictionaryMapStore<>(IMDGDistributedNames.Map_AccountTypeDictionary, AccountTypeDictionary.class)); checkerDictionaryMapStores.add(new CheckerDictionaryMapStore<>(IMDGDistributedNames.Map_AllowedDictionary, AllowedDictionary.class)); checkerDictionaryMapStores.add(new CheckerDictionaryMapStore<>(IMDGDistributedNames.Map_ClearingCategoryDictionary, ClearingCategoryDictionary.class)); @@ -248,8 +226,6 @@ public class RunnableMapNamesForTesting { checkerDictionaryMapStores.add(new CheckerDictionaryMapStore<>(IMDGDistributedNames.Map_BalanceDimensionDictionary, BalanceDimensionDictionary.class)); checkerDictionaryMapStores.add(new CheckerDictionaryMapStore<>(IMDGDistributedNames.Map_DepoAccountTypeDictionary, DepoAccountTypeDictionary.class)); checkerDictionaryMapStores.add(new CheckerDictionaryMapStore<>(IMDGDistributedNames.Map_ClearingAccountTypeDictionary, ClearingAccountTypeDictionary.class)); - - //object checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_BankAccount, BankAccount.class)); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_ClearingMemberCategory, ClearingMemberCategory.class)); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_CompanyRoleSet, CompanyRoleSet.class)); @@ -302,7 +278,7 @@ public class RunnableMapNamesForTesting { new SettingOperation("setAmount", new Class[]{BigDecimal.class}, new Object[]{generatingRandomBigDecimal(2)}))); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_InformationAccount, InformationAccount.class)); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_MoneyMarketSecurity, MoneyMarketSecurity.class, - usingIgnoringFieldsComparator( // todo поправить тест для ASecurityHistoryMapStore + usingIgnoringFieldsComparator( "created", "updated", "fullName", "fullNameEng", "instrumentType", @@ -312,9 +288,8 @@ public class RunnableMapNamesForTesting { "shortName", "shortNameEng", "uuid", "workflowStatus", - "nominalValue" // только по точности не совпадает поле, но читается - )//, - //new SettingOperation("setNominalValue", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("25.25")}) + "nominalValue" + ) )); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_MarketDataLiquidation, MarketDataLiquidation.class)); checkerBusinessMapStores.add(new CheckerBusinessMapStore<>(IMDGDistributedNames.Map_Notification, Notification.class)); diff --git a/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/utils/AbstractHistoryRowMapper.java b/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/utils/AbstractHistoryRowMapper.java index 00f746706..1b1e6c391 100644 --- a/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/utils/AbstractHistoryRowMapper.java +++ b/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/utils/AbstractHistoryRowMapper.java @@ -58,8 +58,6 @@ public abstract class AbstractHistoryRowMapper implem protected String snakeCaseToCamelCase(String str) { StringBuilder builder = new StringBuilder(str); for (int i = 0; i < builder.length(); i++) { - - // Check char is underscore if (builder.charAt(i) == '_') { builder.deleteCharAt(i); builder.replace( diff --git a/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/utils/BusinessEventRowMapper.java b/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/utils/BusinessEventRowMapper.java index 0b04f8be5..25b41f218 100644 --- a/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/utils/BusinessEventRowMapper.java +++ b/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/utils/BusinessEventRowMapper.java @@ -54,7 +54,6 @@ public class BusinessEventRowMapper extends AbstractHis setValueFildForObjectIfFildExists(historyObject, historyObject.getClass(), fildName, value); setValueFildForObjectIfFildExists(objectFild, objectFild.getClass(), fildName, value); } catch (TypeMismatchException | NotWritablePropertyException e) { - // Ignore } catch (ClassNotFoundException e) { throw new RuntimeException(e); } diff --git a/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/utils/DbDataUtils.java b/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/utils/DbDataUtils.java index f02c5a3c9..ca5cc0547 100644 --- a/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/utils/DbDataUtils.java +++ b/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/utils/DbDataUtils.java @@ -18,15 +18,8 @@ import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; -/** - * Утилитарный класс для работы с embedded базой. - * Так же используется для заполнения значений классов для подготовки вставки в базу - */ public final class DbDataUtils { private static final Logger log = LoggerFactory.getLogger(DbDataUtils.class); - /** - * Паттерн который проверяет что исполняемый скрипт пересоздает таблицу (recreate table * (*)) - */ private final static Pattern PATTERN_CREATE_TABLE = Pattern.compile( "(?m)(?i)^\\s*?(?:re)*(create\\s*?table\\s*?[^\\s$]+?\\s*?\\([\\S\\s]+?(?:\\);|^\\)\\s*?$))"); private final static Pattern PATTERN_ALTER_TABLE = Pattern.compile( @@ -39,15 +32,9 @@ public final class DbDataUtils { "(?i)^\\s*?create"); private static final SimpleDateFormat SIMPLE_DATE_FORMAT = new SimpleDateFormat("ddMMyyyy"); - /** - * Создавать объект этого типа нельзя - */ private DbDataUtils() { } - /** - * Создает пустую базу по DDL скрипту (только таблицы), так же проверяет скрипты DDL на валидность. - */ public static void executeAllDDL(List DDLs, JdbcTemplate jdbcTemplate) { Logger log = LoggerFactory.getLogger(DbDataUtils.class); log.info("Создание всех таблиц по DDL.sql"); @@ -61,26 +48,16 @@ public final class DbDataUtils { public static int executeOneDDL(String ddl, JdbcTemplate jdbcTemplate) { Logger log = LoggerFactory.getLogger(DbDataUtils.class); Matcher m = PATTERN_CREATE_TABLE.matcher(ddl); -// Matcher alterMatcher = PATTERN_ALTER_TABLE.matcher(ddl); List sqls = new ArrayList<>(); -// List alterSqls = new ArrayList<>(); while (m.find()) { String oneDDL = m.group(1); Matcher mr = PATTERN_CHANGE_CREATE_TO_RECREATE.matcher(oneDDL); oneDDL = mr.replaceAll("RECREATE"); sqls.add(oneDDL); } - -// while (alterMatcher.find()) { -// String oneDDL = alterMatcher.group(1); -// alterSqls.add(oneDDL); -// } log.info("Exec batch"); int[] result = jdbcTemplate.batchUpdate(sqls.toArray(new String[0])); -// int alterResult[] = jdbcTemplate.batchUpdate(alterSqls.toArray(new String[0])); log.info("Batch sql done"); - - // Для проставления версии БД int insertCount = 0; Matcher versionM = PATTERN_UPDATE_OR_INSERT_VERSIONDB.matcher(ddl); while (versionM.find()) { @@ -163,20 +140,14 @@ public final class DbDataUtils { field.setAccessible(true); Object value = field.get(object); values.put(field, value); - if (deepScan && isBusinessObject(value)) { // пройти внутрь наших классов - getObjectsFieldValues(value, values, deepScan); // go to deeper + if (deepScan && isBusinessObject(value)) { + getObjectsFieldValues(value, values, deepScan); } } } } } - /** - * Это наш класс и не примитив - * - * @param value объект, возможно clearing-объект. - * @return нужно ли применять deepScan - */ private static boolean isBusinessObject(Object value) { String classesClassPathPrefix = "ru.clearing.classes.objects"; return value != null && value.getClass().getName().startsWith(classesClassPathPrefix); @@ -206,14 +177,6 @@ public final class DbDataUtils { field.set(object, UUID.randomUUID()); } else if (typeField.getName().equals(Instant.class.getName())) { field.set(object, generatingRandomInstant(false)); -// } else if (typeField.getSimpleName().equals(CompanyInfo.class.getSimpleName())) { -// CompanyInfo companyInfo = new CompanyInfo(); -// fillObjectDefaultValues(companyInfo, CompanyInfo.class); -// field.set(object, companyInfo); -// } else if (typeField.getSuperclass().getName().equals(SpcexObjectBase.class.getName())) { -// Object objectField = typeField.getDeclaredConstructor().newInstance(); -// DbDataUtils.fillObjectDefaultValues(objectField, objectField.getClass()); -// field.set(object, objectField); } else { Object objectField = typeField.getDeclaredConstructor().newInstance(); fillObjectDefaultValues(objectField, objectField.getClass()); @@ -227,8 +190,8 @@ public final class DbDataUtils { } public static String generatingRandomString(int targetStringLength) { - int leftLimit = 97; // letter 'a' - int rightLimit = 122; // letter 'z' + int leftLimit = 97; + int rightLimit = 122; Random random = new Random(); return random.ints(leftLimit, rightLimit + 1) diff --git a/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/utils/MatcherFactory.java b/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/utils/MatcherFactory.java index e4f858eb6..e8b43a00f 100644 --- a/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/utils/MatcherFactory.java +++ b/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/utils/MatcherFactory.java @@ -4,11 +4,6 @@ import java.util.Arrays; import static org.assertj.core.api.Assertions.assertThat; -/** - * Factory for creating test matchers. - *

- * Comparing actual and expected objects via AssertJ - */ public class MatcherFactory { public static Matcher usingIgnoringFieldsComparator(String... fieldsToIgnore) { diff --git a/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/utils/SpcexObjectBaseRowMapper.java b/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/utils/SpcexObjectBaseRowMapper.java index ce1d441d2..a1e3a7ab9 100644 --- a/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/utils/SpcexObjectBaseRowMapper.java +++ b/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/utils/SpcexObjectBaseRowMapper.java @@ -37,7 +37,6 @@ public class SpcexObjectBaseRowMapper extends Abstrac } setValueFildForObjectIfFildExists(object, object.getClass(), fildName, value); } catch (TypeMismatchException | NotWritablePropertyException e) { - // Ignore } catch (ClassNotFoundException e) { throw new RuntimeException(e); } diff --git a/clearing-parent/lim-exporter/src/main/java/ru/spcex/clearing/lim/exporter/config/KafkaConfig.java b/clearing-parent/lim-exporter/src/main/java/ru/spcex/clearing/lim/exporter/config/KafkaConfig.java index 79c009425..414e3b7c5 100644 --- a/clearing-parent/lim-exporter/src/main/java/ru/spcex/clearing/lim/exporter/config/KafkaConfig.java +++ b/clearing-parent/lim-exporter/src/main/java/ru/spcex/clearing/lim/exporter/config/KafkaConfig.java @@ -38,7 +38,7 @@ public class KafkaConfig { @Bean public ProducerFactory pf(ExportLimServiceSettings settings) { KafkaProducerSettings kafkaSettings = settings.getKafkaProducer(); - return KafkaProducerFactory.producerFactory(kafkaSettings); // Использует специальный сериализатор в JSON + return KafkaProducerFactory.producerFactory(kafkaSettings); } @Bean("kafkaTemplate") diff --git a/clearing-parent/lim-exporter/src/main/java/ru/spcex/clearing/lim/exporter/config/LimFormat.java b/clearing-parent/lim-exporter/src/main/java/ru/spcex/clearing/lim/exporter/config/LimFormat.java index d49aa149b..96570e556 100644 --- a/clearing-parent/lim-exporter/src/main/java/ru/spcex/clearing/lim/exporter/config/LimFormat.java +++ b/clearing-parent/lim-exporter/src/main/java/ru/spcex/clearing/lim/exporter/config/LimFormat.java @@ -9,8 +9,6 @@ public class LimFormat { private static final DecimalFormat D_FORMAT_2; static { D_FORMAT_2 = new DecimalFormat("#0.00"); -// D_FORMAT_2.setMaximumFractionDigits(2); -// D_FORMAT_2.setMinimumFractionDigits(2); D_FORMAT_2.setGroupingUsed(false); D_FORMAT_2.setDecimalFormatSymbols(DecimalFormatSymbols.getInstance(Locale.ENGLISH)); } diff --git a/clearing-parent/lim-exporter/src/main/java/ru/spcex/clearing/lim/exporter/services/AbstractExporterService.java b/clearing-parent/lim-exporter/src/main/java/ru/spcex/clearing/lim/exporter/services/AbstractExporterService.java index 093c477ba..cd01a68f2 100644 --- a/clearing-parent/lim-exporter/src/main/java/ru/spcex/clearing/lim/exporter/services/AbstractExporterService.java +++ b/clearing-parent/lim-exporter/src/main/java/ru/spcex/clearing/lim/exporter/services/AbstractExporterService.java @@ -33,7 +33,6 @@ public abstract class AbstractExporterService { protected final Imdg registryImdg; private final List validStatus = List.of( ServiceStatus.Active.getKey(), ServiceStatus.Reopened.getKey() - // "ACTV", "ROPN" ); private final Imdg tradingClearingRegistryImdg; private final DateTimeFormatter dtFormatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); @@ -62,7 +61,6 @@ public abstract class AbstractExporterService { Path limFilePath = limFile.toPath(); try { - // todo возможная оптимизация: посмотреть размеры файлов, возможно обойтись без временного файла Files.write(limFilePath, getLimFileRows()); gateway.sendToSftp(limFile); } catch (IOException e) { diff --git a/clearing-parent/lim-exporter/src/main/java/ru/spcex/clearing/lim/exporter/services/LauncherCommandReceiver.java b/clearing-parent/lim-exporter/src/main/java/ru/spcex/clearing/lim/exporter/services/LauncherCommandReceiver.java index 9dea4ab50..5f01e93bb 100644 --- a/clearing-parent/lim-exporter/src/main/java/ru/spcex/clearing/lim/exporter/services/LauncherCommandReceiver.java +++ b/clearing-parent/lim-exporter/src/main/java/ru/spcex/clearing/lim/exporter/services/LauncherCommandReceiver.java @@ -29,10 +29,10 @@ public class LauncherCommandReceiver extends QueueConsumer implements Initializi public void afterPropertiesSet() { callback(LauncherCommandRequest.class) .setFunction(action -> moneyExporterService.process()) - .forDestination(Task.unloadingSession_LIMM.topic(), callbacks::put); // LIMM + .forDestination(Task.unloadingSession_LIMM.topic(), callbacks::put); callback(LauncherCommandRequest.class) .setFunction(action -> securityExporterService.process()) - .forDestination(Task.unloadingSession_LIMS.topic(), callbacks::put); // LIMS + .forDestination(Task.unloadingSession_LIMS.topic(), callbacks::put); init(); } } diff --git a/clearing-parent/lim-exporter/src/test/java/ru/spcex/clearing/lim/exporter/services/AbstractExporterServiceTest.java b/clearing-parent/lim-exporter/src/test/java/ru/spcex/clearing/lim/exporter/services/AbstractExporterServiceTest.java index bc857354d..42e80ae9c 100644 --- a/clearing-parent/lim-exporter/src/test/java/ru/spcex/clearing/lim/exporter/services/AbstractExporterServiceTest.java +++ b/clearing-parent/lim-exporter/src/test/java/ru/spcex/clearing/lim/exporter/services/AbstractExporterServiceTest.java @@ -2,18 +2,9 @@ package ru.spcex.clearing.lim.exporter.services; import org.junit.jupiter.api.Test; import ru.spcex.clearing.lim.exporter.AbstractServiceTest; -import ru.spcex.clearing.lim.exporter.config.KafkaConfig; -import ru.spcex.clearing.lim.exporter.config.settings.ExportLimServiceSettings; -import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender; -import ru.spcex.clearing.platform.messaging.service.sender.KafkaSenderBuilderImpl; -import ru.spcex.clearing.test.TestUtils; import javax.annotation.PostConstruct; -import java.time.LocalDateTime; - -import static org.junit.jupiter.api.Assertions.*; - class AbstractExporterServiceTest extends AbstractServiceTest { @PostConstruct public void init() { @@ -26,12 +17,5 @@ class AbstractExporterServiceTest extends AbstractServiceTest { String fileName = "limits_money_202305241832.lim"; moneyExporterService.sendLimExportedNotification(fileName); - //TestUtils.waitingSendAndCheckRecord(null, mockProducer); - - /* - Для интеграционного теста см. - KafkaProducerSettings kafkaSettings = settings.getKafkaProducer(); - return KafkaProducerFactory.producerFactory(kafkaSettings); // Использует специальный сериализатор в JSON - */ } } \ No newline at end of file diff --git a/clearing-parent/lim-exporter/src/test/java/ru/spcex/clearing/lim/exporter/services/MoneyExporterServiceTest.java b/clearing-parent/lim-exporter/src/test/java/ru/spcex/clearing/lim/exporter/services/MoneyExporterServiceTest.java index 10741693c..e52388272 100644 --- a/clearing-parent/lim-exporter/src/test/java/ru/spcex/clearing/lim/exporter/services/MoneyExporterServiceTest.java +++ b/clearing-parent/lim-exporter/src/test/java/ru/spcex/clearing/lim/exporter/services/MoneyExporterServiceTest.java @@ -20,10 +20,6 @@ class MoneyExporterServiceTest extends AbstractServiceTest { super.init(); } - /** - * {@link MoneyExporterService#getLimFileRows()}
- * Тест проверяет создание строк документа lim.
- */ @Test void getLimFileRows() { clearAllInImdg(tradingClearingRegistryImdg); @@ -84,9 +80,6 @@ class MoneyExporterServiceTest extends AbstractServiceTest { return registry; } - - // see clearing-service ReistryUtil: - public static String clearingCode(Registry ofRegistry) { return clearingCode(ofRegistry.getRegistryDesignation(), ofRegistry.getRegistryInstrumentType(), ofRegistry.getRegistryCapacity(), ofRegistry.getRegistryUnit()); } diff --git a/clearing-parent/lim-exporter/src/test/java/ru/spcex/clearing/lim/exporter/services/SecurityExporterServiceTest.java b/clearing-parent/lim-exporter/src/test/java/ru/spcex/clearing/lim/exporter/services/SecurityExporterServiceTest.java index 72813baf7..4c549fb68 100644 --- a/clearing-parent/lim-exporter/src/test/java/ru/spcex/clearing/lim/exporter/services/SecurityExporterServiceTest.java +++ b/clearing-parent/lim-exporter/src/test/java/ru/spcex/clearing/lim/exporter/services/SecurityExporterServiceTest.java @@ -20,10 +20,6 @@ class SecurityExporterServiceTest extends AbstractServiceTest { super.init(); } - /** - * {@link SecurityExporterService#getLimFileRows()}
- * Тест проверяет создание строк документа lim.
- */ @Test void getLimFileRows() { clearAllInImdg(tradingClearingRegistryImdg); diff --git a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ExcludeLiabilitiesRegisterService.java b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ExcludeLiabilitiesRegisterService.java index d07e4bbcc..4fb3d2c3a 100644 --- a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ExcludeLiabilitiesRegisterService.java +++ b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ExcludeLiabilitiesRegisterService.java @@ -89,7 +89,6 @@ public class ExcludeLiabilitiesRegisterService extends QueueConsumer implements private void insertExcludeLiabilitiesRegister(Registry registry) { log.trace("Started generating ExcludeLiabilitiesRegister entity..."); ExcludeLiabilitiesRegister excludeLiabilitiesRegister = new ExcludeLiabilitiesRegister(); - //hz communicating Session sessionBySessionId = sessionMap.getFirstObjectByFieldValues(Map.of("clearingDate", registry.getSessionId())); LocalDate validToDate = TimeUtil.toLocalDate(sessionBySessionId.getUpdated()); Map> innPredicates = Map.of("companySymbol", "INN", "companyId", registry.getCompanyId()); diff --git a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/LiabilitiesRegisterService.java b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/LiabilitiesRegisterService.java index 5261e5832..27c7f51c9 100644 --- a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/LiabilitiesRegisterService.java +++ b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/LiabilitiesRegisterService.java @@ -70,7 +70,6 @@ public class LiabilitiesRegisterService extends QueueConsumer implements Initial log.debug("LiabilitiesRegisterNewRequest received from {}", Consts.REGISTRY_LIABILITIES_REGISTER_NEW); String sqlConditionForRegistry = getSqlForRegistries(); Collection registries = registryMap.getCollectionObjectsBySQL(sqlConditionForRegistry); - //checking for duplicates registries.forEach((registry -> { Map> fieldValues = getFieldValuesOrThrowException(Map.of("companyId", registry.getCompanyId(), "sessionId", registry.getSessionId())); Collection liabilitiesRegisterBySessionIdAndCompanyId = liabilitiesRegisterMap.getCollectionObjectsByFieldValues(fieldValues); diff --git a/clearing-parent/registry-service/src/test/java/ru/spcex/clearing/registry/utils/MatcherFactory.java b/clearing-parent/registry-service/src/test/java/ru/spcex/clearing/registry/utils/MatcherFactory.java index bd87052c0..b0fb3476b 100644 --- a/clearing-parent/registry-service/src/test/java/ru/spcex/clearing/registry/utils/MatcherFactory.java +++ b/clearing-parent/registry-service/src/test/java/ru/spcex/clearing/registry/utils/MatcherFactory.java @@ -4,11 +4,6 @@ import java.util.Arrays; import static org.assertj.core.api.Assertions.assertThat; -/** - * Factory for creating test matchers. - *

- * Comparing actual and expected objects via AssertJ - */ public class MatcherFactory { public static Matcher usingIgnoringFieldsComparator(String... fieldsToIgnore) { diff --git a/clearing-parent/registry-service/src/test/java/ru/spcex/clearing/registry/utils/TestUtils.java b/clearing-parent/registry-service/src/test/java/ru/spcex/clearing/registry/utils/TestUtils.java index 93099808c..f0b883376 100644 --- a/clearing-parent/registry-service/src/test/java/ru/spcex/clearing/registry/utils/TestUtils.java +++ b/clearing-parent/registry-service/src/test/java/ru/spcex/clearing/registry/utils/TestUtils.java @@ -42,8 +42,6 @@ public class TestUtils { requestInfoUpdate.setId(id); requestInfoUpdate.setStatus(Success); predictableBaseRequest.setRequestPayload(requestInfoUpdate); - - //waiting for kafka producer send message (finale event) verify(mockProducer, timeout(30_000L).times(1)) .send(producerRecord.capture()); diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/ReportsServiceApplication.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/ReportsServiceApplication.java index 0492bb849..f11201d24 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/ReportsServiceApplication.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/ReportsServiceApplication.java @@ -21,21 +21,4 @@ public class ReportsServiceApplication { System.exit(-1); } } - -/* для тестирования: - ReportsService reportsService = new ReportsService(); - reportsService.writeXML(); - test(context); - @Deprecated - public static void test(ConfigurableApplicationContext context) { - ImdgProvider imdg = context.getBean(ImdgProvider.class); - - ReportINACCNT_Collector collector = new ReportINACCNT_Collector(imdg); - ReportINACCNT report = collector.collectReportForClearingCode("test_clearing_code"); - XStream xStream = new XStream(new XppDriver(new NoNameCoder())); - xStream.processAnnotations(ReportINACCNT.class); - String out = xStream.toXML(report); - System.out.println(out); - } - */ } diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/config/validation/ValidationConfig.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/config/validation/ValidationConfig.java index 3e0ca4b97..0e1d80862 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/config/validation/ValidationConfig.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/config/validation/ValidationConfig.java @@ -97,8 +97,6 @@ public class ValidationConfig { }; } - // todo оставил бин валидатора на будущее, если в дальнейшем придется проверять запрос. в текущей версии, по факту, - // запрос не проверяется: в случае если sessionId не указан отчеты не строятся @Bean("reportRequestGREPValidator") public Function reportRequestGREPValidator( Map> imdgForValidation @@ -116,8 +114,6 @@ public class ValidationConfig { }; } - // todo оставил бин валидатора на будущее, если в дальнейшем придется проверять запрос. в текущей версии, по факту, - // запрос не проверяется: в случае если sessionId не указан отчеты не строятся @Bean("reportRequestGRETValidator") public Function reportRequestGRETValidator( Map> imdgForValidation @@ -135,8 +131,6 @@ public class ValidationConfig { }; } - // todo оставил бин валидатора на будущее, если в дальнейшем придется проверять запрос. в текущей версии, по факту, - // запрос не проверяется: в случае если sessionId не указан отчеты не строятся @Bean("reportRequestGREFValidator") public Function reportRequestGREFValidator( Map> imdgForValidation diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/notifications/DOCXService.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/notifications/DOCXService.java index fc2a0861c..1f1cf48e8 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/notifications/DOCXService.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/notifications/DOCXService.java @@ -18,45 +18,16 @@ import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; import java.util.stream.Collectors; -/** - * todo Пока неизвестно нужны ли будут ещё эти уведомления, поэтому весь связанный код переместил в один пакет - *

- * Сервис для работы с DOCX файлами - * Читает шаблон .docx и во всех текстовых элементах меняет переданные ключи на соответствующие им значения - * Пример ключа по умолчанию: ${ключ} - *

- * При использовании нового шаблона, необходимо отредактировать docx документ так, чтобы ключ содержался в одном - * элементе. Для этого нужно вырезать ключ и в это же место вставить его как текст, без форматирования. Если нужно, - * идентификатору потом можно установить стиль, который будет применён к вставляемой строке. - */ public class DOCXService { private final Logger log = LoggerFactory.getLogger(getClass()); - /** - * Паттерн поиска ключей в файле по умолчанию - */ private final Pattern DEFAULT_KEY_PATTERN = Pattern.compile("\\$\\{.*?}"); - /** - * При инициализации сохраняет все имеющиеся ключи (ищет по маске keyPattern), найденные в текстовых элементах документа - */ private List keyPositions = new LinkedList<>(); - /** - * Паттерн поиска ключей в файле - */ private Pattern keyPattern = DEFAULT_KEY_PATTERN; - /** - * Файл шаблона - */ private URL templateFile; - /** - * Флаг инициализации - */ private boolean initialized = false; - /** - * (ре)Инициализация сервиса - */ public boolean init(URL templateFile, String keyPattern) { initialized = false; if (templateFile == null) { @@ -80,16 +51,6 @@ public class DOCXService { return true; } - /** - * Вставка значений в шаблон. Шаблон может содержать любое количество ключей, при этом эти ключи должны содержаться в - * valuesMap. - * - * @param outputFile Выходной файл. Должен быть либо файлом (будет перезаписан), либо отсутствовать - * @param valuesMap Мапа значений. В файле шаблона будут искаться ключи этой мапы и заменяться на соответствующие значения. - * @param checkKeys True - строгий режим, где будет проверено наличие всех ключей из файла в valuesMap. - * False - мягкий режим, отсутствующие ключи будут пропущены - * @return true - если вставка прошла успешно - */ public boolean insertValues(File outputFile, Map valuesMap, boolean checkKeys) throws Exception { @@ -143,11 +104,6 @@ public class DOCXService { return true; } - /** - * Проверка прочтённых ключей (keyPositions) и переданных (valuesMap.keySet()) на соответствие. - * Для успешной вставки мапа должна содержать все ключи, имеющиеся в файле. - * Метод вызывается для проверки только в строгом режиме - */ private boolean checkIntersection(Map valuesMap, List notPresentInMap) { Set keysFromMap = valuesMap.keySet(); Set keysFromFile = keyPositions.stream().map(keyPosition -> keyPosition.key).collect(Collectors.toSet()); @@ -163,9 +119,6 @@ public class DOCXService { return false; } - /** - * Вставка значений в элементы XWPFRun - */ private void insertValues(Map valuesMap) { for (KeyPositionInDoc keyPosition : keyPositions) { String key = keyPosition.key; @@ -182,10 +135,6 @@ public class DOCXService { } } - /** - * Сбор ключей из таблицы. - * Ячейка таблицы может являться как параграфом, так и таблицей, поэтому метод работает рекурсивно - */ private void collectKeysFromTable(XWPFTable srcTable) { for (XWPFTableRow row : srcTable.getRows()) { for (XWPFTableCell cell : row.getTableCells()) { @@ -200,9 +149,6 @@ public class DOCXService { } } - /** - * Сбор ключей из параграфа - */ private void collectKeysFromParagraph(XWPFParagraph paragraph) { XWPFRun runForConcat = null; int first = 0; @@ -222,12 +168,6 @@ public class DOCXService { String key = matcher.group(); keyPositions.add(new KeyPositionInDoc(key, run, currPos)); } - /** - * если ключ не нашли регуляркой но есть начало ключа "${" соберем ключ из фрагментов и отделим от текста - * например из фрагментов XWPFRun(учитывается только текст): - * [test , someText${, some, Key}/${ano, ther, Key}someText, test] - * получим [test , someText, ${someKey}, /, ${anotherKey}, someText, test] - */ if (needConcat) { concatText = concatText + currText; if (currText.contains("}")) { @@ -267,7 +207,6 @@ public class DOCXService { } } } catch (IndexOutOfBoundsException ignored) { - // can't get all max text position for XWPFRun } } } diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/notifications/NotificationBuilder.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/notifications/NotificationBuilder.java index 9683f31f7..3f9727a0e 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/notifications/NotificationBuilder.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/notifications/NotificationBuilder.java @@ -77,7 +77,6 @@ public abstract class NotificationBuilder { if (companySymbolsCollection.size() >= 1) { companySymbols = companySymbolsCollection.iterator().next(); } else { -// log.warn("CompanySymbols with sql {} not found", companySymbolsSql); return ""; } return companySymbols.getCompanySymbolValue(); diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/CSVReportBuilder.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/CSVReportBuilder.java index 34b6b3c30..454d8c8e6 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/CSVReportBuilder.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/CSVReportBuilder.java @@ -24,70 +24,32 @@ import java.time.format.DateTimeFormatter; import java.util.List; import java.util.Locale; -/** - * Класс для построения отчетов в формате CSV - * - * @param

тип параметров, используемых при построении отчета - */ public abstract class CSVReportBuilder { protected static final Logger log = LoggerFactory.getLogger(CSVReportBuilder.class); protected DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("dd.MM.yyyy'T'HH:mm:ss"); protected DateTimeFormatter dateTimeFormatter_YYMMDDHHmmssSSS = DateTimeFormatter.ofPattern("yyMMddHHmmssSSS"); protected DateTimeFormatter dateFormatter_yyyyMMdd = DateTimeFormatter.ofPattern("yyyyMMdd"); - /** - * Возвращает списком значения CSV отчета. Каждый элемент списка - строка, элемент массива внутри списка - столбец. - */ protected abstract List getRows(); - /** - * Название отчета, используется для формирования имени отчета (без указания формата) - * - * @param params Параметры формирования отчета - */ protected String getReportFilename(P params) { return "%s_%s".formatted(getReportKey().getKey(), dateTimeFormatter_YYMMDDHHmmssSSS.format(LocalDateTime.now())); } - /** - * Тип отчета по {@link ReportBuilderType} - */ public abstract ReportBuilderType getReportType(); public abstract ReportKeys getReportKey(); - /** - * Тип параметров для построения отчетов - */ public abstract Class

getParamsClass(); - /** - * Класс отчета - */ public abstract Class getReportClass(); - /** - * Секция отчета (для конкретного отчета может быть перегружена) - */ public String getSection() { return null; } - /** - * Формирование отчета на основе параметров - * - * @param params Параметры формирования отчета - */ protected abstract void collect(P params); - /** - * Создает CSVWriter. Если требуется изменить параметры выходного CSV файла, этот метод следует переопределить. - * - * @param file Файл отчета - * @return Созданный CSVWriter - * - * todo check it - */ protected ICSVWriter createCsvWriter(File file) throws IOException { Writer writer = new FileWriter(file); CSVWriterBuilder csvWriterBuilder = new CSVWriterBuilder(writer) @@ -118,7 +80,6 @@ public abstract class CSVReportBuilder { .build(); if (!rows.isEmpty()) sbc.write(rows); else { - // Для записи заголовков в пустой файл Constructor constructor = getReportClass().getDeclaredConstructor(); R obj = constructor.newInstance(); String[] headers = customStrategy.generateHeader(obj); diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/EmptyParams.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/EmptyParams.java index c344fc1d2..e5b82f7db 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/EmptyParams.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/EmptyParams.java @@ -1,7 +1,4 @@ package ru.spcex.clearing.reports.reports; -/** - * Класс для формирования отчета без параметров - */ public class EmptyParams { } diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/SessionIdParam.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/SessionIdParam.java index 716071a2e..9f8168341 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/SessionIdParam.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/SessionIdParam.java @@ -2,9 +2,6 @@ package ru.spcex.clearing.reports.reports; import java.util.List; -/** - * Параметры для формирования отчета по SessionId - */ public class SessionIdParam { private List sessionId; diff --git a/clearing-parent/reports-service/src/test/java/ru/spcex/clearing/reports/notifications/NCMPNotificationBuilderTest.java b/clearing-parent/reports-service/src/test/java/ru/spcex/clearing/reports/notifications/NCMPNotificationBuilderTest.java index f5624dc34..f59d67da6 100644 --- a/clearing-parent/reports-service/src/test/java/ru/spcex/clearing/reports/notifications/NCMPNotificationBuilderTest.java +++ b/clearing-parent/reports-service/src/test/java/ru/spcex/clearing/reports/notifications/NCMPNotificationBuilderTest.java @@ -77,8 +77,6 @@ class NCMPNotificationBuilderTest { companySymbols.setCompanySymbol("RGRC"); companySymbols.setCompanySymbolValue("RGRC test"); companySymbolsImdg.insert(companySymbols); - -// clearAllInImdg(accountImdg); Account account = new Account(); account.setId(consumerId); account.setCompanyId(consumerId); @@ -87,7 +85,6 @@ class NCMPNotificationBuilderTest { accountImdg.insert(account); } - // @Test//тест заполнения шаблона void buildNotification() { NCMPNotificationBuilder builder = new NCMPNotificationBuilder(imdgProvider); File outputFile = builder.buildNotification(consumerId); diff --git a/clearing-parent/reports-service/src/test/java/ru/spcex/clearing/reports/notifications/NTCRNotificationBuilderTest.java b/clearing-parent/reports-service/src/test/java/ru/spcex/clearing/reports/notifications/NTCRNotificationBuilderTest.java index 2788f0fc7..9011cfc72 100644 --- a/clearing-parent/reports-service/src/test/java/ru/spcex/clearing/reports/notifications/NTCRNotificationBuilderTest.java +++ b/clearing-parent/reports-service/src/test/java/ru/spcex/clearing/reports/notifications/NTCRNotificationBuilderTest.java @@ -71,8 +71,7 @@ class NTCRNotificationBuilderTest { tradingClearingRegistryImdg.insert(tradingClearingRegistry); } -// @Test//тест заполнения шаблона - void buildNotification() { +void buildNotification() { NTCRNotificationBuilder builder = new NTCRNotificationBuilder(imdgProvider); File outputFile = builder.buildNotification(consumerId); try { diff --git a/clearing-parent/reports-service/src/test/java/ru/spcex/clearing/reports/services/DOCXServiceTest.java b/clearing-parent/reports-service/src/test/java/ru/spcex/clearing/reports/services/DOCXServiceTest.java index bb13c0e57..33157d0cd 100644 --- a/clearing-parent/reports-service/src/test/java/ru/spcex/clearing/reports/services/DOCXServiceTest.java +++ b/clearing-parent/reports-service/src/test/java/ru/spcex/clearing/reports/services/DOCXServiceTest.java @@ -32,8 +32,7 @@ class DOCXServiceTest { file.delete(); } -// @Test//для отладки алгоритма объединения ключей в методе DOCXService.collectKeysFromParagraph(XWPFParagraph paragraph) - void normalize() { +void normalize() { List data = Arrays.asList(new String[]{"test ", "someText${", "some", "Key}/${ano", "ther", "Key}someText", "test"}); String concatText = ""; @@ -83,7 +82,6 @@ class DOCXServiceTest { } } catch (IndexOutOfBoundsException ignored) { - // can't get all max text position for XWPFRun } } System.out.println(data.toString()); diff --git a/clearing-parent/reports-service/src/test/java/ru/spcex/clearing/reports/services/ReportServiceTest_BP.java b/clearing-parent/reports-service/src/test/java/ru/spcex/clearing/reports/services/ReportServiceTest_BP.java index 6fb95ef71..d8c1791df 100644 --- a/clearing-parent/reports-service/src/test/java/ru/spcex/clearing/reports/services/ReportServiceTest_BP.java +++ b/clearing-parent/reports-service/src/test/java/ru/spcex/clearing/reports/services/ReportServiceTest_BP.java @@ -188,8 +188,6 @@ public class ReportServiceTest_BP { testExecutionFond.setSessionId(TEST_SESSION_ID_3); executionFondImdg.update(testExecutionFond); - - // TEST INFTYPE_1 testExecutionFond.setTradingDate(LocalDate.now().minus(10, ChronoUnit.DAYS)); testExecutionFond.setSettlementDate(LocalDate.now()); testExecutionFond.setCoverageStatus(Allowed.ALLOWED.getKey()); @@ -240,8 +238,6 @@ public class ReportServiceTest_BP { testExecutionFond.setSessionId(TEST_SESSION_ID_3); executionFondImdg.update(testExecutionFond); - - // TEST INFTYPE_2 testExecutionFond.setTradingDate(LocalDate.now()); testExecutionFond.setSettlementDate(LocalDate.now()); testExecutionFond.setCoverageStatus(Allowed.ALLOWED.getKey()); @@ -289,8 +285,6 @@ public class ReportServiceTest_BP { final LocalDate oldExecutionFondTradingDate = testExecutionFond.getTradingDate(); final LocalDate oldExecutionFondSettlementDate = testExecutionFond.getSettlementDate(); final String oldExecutionFondCoverageStatus = testExecutionFond.getCoverageStatus(); - - // TEST INFTYPE_3 testExecutionFond.setSettlementDate(LocalDate.now().plus(10, ChronoUnit.DAYS)); testExecutionFond.setTradingDate(LocalDate.now().plus(10, ChronoUnit.DAYS)); testExecutionFond.setCoverageStatus(Allowed.ALLOWED.getKey()); @@ -338,8 +332,6 @@ public class ReportServiceTest_BP { final LocalDate oldExecutionFondTradingDate = testExecutionFond.getTradingDate(); final LocalDate oldExecutionFondSettlementDate = testExecutionFond.getSettlementDate(); final String oldExecutionFondCoverageStatus = testExecutionFond.getCoverageStatus(); - - // TEST INFTYPE_4 testExecutionFond.setSessionId(TEST_SESSION_ID_1); testExecutionFond.setSettlementDate(LocalDate.now()); testExecutionFond.setTradingDate(LocalDate.now().plus(10, ChronoUnit.DAYS)); @@ -496,7 +488,6 @@ public class ReportServiceTest_BP { testExecutionFond.setCounterPartyId(TEST_COUNTER_PARTY_ID_1); testExecutionFond.setCoverageStatus(TEST_COVERAGE_STATUS_1); testExecutionFond.setSessionId(TEST_SESSION_ID_1); -// testExecutionFond.setClearingDate(TEST_CLEARING_DATE_1); testExecutionFond.setClearingDate(LocalDate.now()); Long TEST_EXCHANGE_ORDER_ID = 20007L; testExecutionFond.setExchangeOrderId(TEST_EXCHANGE_ORDER_ID); diff --git a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/config/validation/PlannerTemplateValidationConfig.java b/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/config/validation/PlannerTemplateValidationConfig.java index 75f864dc1..1a2818eb7 100644 --- a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/config/validation/PlannerTemplateValidationConfig.java +++ b/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/config/validation/PlannerTemplateValidationConfig.java @@ -47,10 +47,6 @@ public class PlannerTemplateValidationConfig { PlannerTemplateNewRequest::getTask, IMDGDistributedNames.Map_TaskDictionary, TaskDictionary.class), -// TimeNotBeforeRule.instance("taskTime", -// PlannerTemplateNewRequest::getTaskTime, -// true, -// false), DictionaryPresentRule.instance("taskStatus", PlannerTemplateNewRequest::getTaskStatus, IMDGDistributedNames.Map_TaskStatusDictionary, @@ -105,10 +101,6 @@ public class PlannerTemplateValidationConfig { IMDGDistributedNames.Map_TaskDictionary, TaskDictionary.class, false), -// TimeNotBeforeRule.instance("taskTime", -// PlannerTemplateUpdateRequest::getTaskTime, -// false, -// false), DictionaryPresentRule.instance("taskStatus", PlannerTemplateUpdateRequest::getTaskStatus, IMDGDistributedNames.Map_TaskStatusDictionary, diff --git a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/error/ValidationError.java b/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/error/ValidationError.java index 68c1e5fb7..83c2025a5 100644 --- a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/error/ValidationError.java +++ b/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/error/ValidationError.java @@ -6,7 +6,7 @@ public enum ValidationError implements IErrorEnumId { UserVerifyDenial(18001L), EmptyRequiredValue(18002L), WrongDictionaryValue(18003L), - WrongEnumValue(777L), //todo set code + WrongEnumValue(777L), RecordNotFound(7006L), TaskForPastDate(7016L), TaskForPastTime(7011L), diff --git a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/service/ClearingCalendarService.java b/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/service/ClearingCalendarService.java index 87c5db89a..138512543 100644 --- a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/service/ClearingCalendarService.java +++ b/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/service/ClearingCalendarService.java @@ -102,7 +102,6 @@ public class ClearingCalendarService extends QueueConsumer implements Initializi clearingCalendar.setDayStatus(req.getDayStatus()); clearingCalendarMap.insert(clearingCalendar); log.debug("successfully processed, new id {}", clearingCalendar.getId()); - //если clearingCalendar.getClearingDate() сегодняшний день необходимо проверить/добавить plannerTemplate createPlannerAllTodayFromPlannerTemplateIfIsValidWorkday(clearingCalendar); return null; } @@ -124,7 +123,6 @@ public class ClearingCalendarService extends QueueConsumer implements Initializi clearingCalendar.setUpdated(updated); clearingCalendarMap.update(clearingCalendar); log.debug("successfully processed, new id {}", clearingCalendar.getId()); - //если clearingCalendar.getClearingDate() сегодняшний день необходимо проверить/добавить plannerTemplate createPlannerAllTodayFromPlannerTemplateIfIsValidWorkday(clearingCalendar); return null; } @@ -165,17 +163,13 @@ public class ClearingCalendarService extends QueueConsumer implements Initializi public void deleteFromPlannerAllTodayMap() { LocalDate currentDate = LocalDate.now(); boolean isWeekend = Arrays.asList(DayOfWeek.SATURDAY, DayOfWeek.SUNDAY).contains(currentDate.getDayOfWeek()); - //проверим есть ли другие записи clearingCalendar с таким же clearingDate, если они актуальные ничего не удаляем Collection clearingCalendars = clearingCalendarMap.getCollectionObjectsByFieldValues(Map.of("dayStatus", DayStatus.Workday.getKey(), "clearingDate", currentDate)); if (clearingCalendars != null && !clearingCalendars.isEmpty()) { for (ClearingCalendar calendar : clearingCalendars) { - //если будет хоть один валидные ClearingCalendar на сегодня на основании которого(и plannerTemplate -ов) могли быть созданы PlannerAllToday - //ничего проверять\удалять дальше не будем if (isValidWorkday(calendar, isWeekend)) return; } } - //удалим все PlannerAllToday созданные на основании plannerTemplate кроме созданных на основании planner Collection values = plannerAllTodayMap.getCollectionObjectsByFieldValues(Map.of("parent", Parent.Template.getKey())); values.forEach(plannerAllToday -> { diff --git a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/service/LauncherSender.java b/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/service/LauncherSender.java index e58529cc9..f24c1850e 100644 --- a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/service/LauncherSender.java +++ b/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/service/LauncherSender.java @@ -40,13 +40,13 @@ public class LauncherSender { request.setId(idGenerator.nextId()); request.setActionType(ActionType.NEW); request.setUserId(userId); - request.setRequestPayload(toRequest);// iAction.toRequest() + request.setRequestPayload(toRequest); return request; } public void sendCommandToQueue(Task toTaskQueue, Long userId) { BaseRequest request = makeCmdRequest(toTaskQueue, userId); - String destination = toTaskQueue.topic(); // "launcher-" + getKey() + String destination = toTaskQueue.topic(); log.debug("Send command {} to {}", toTaskQueue, destination); Future send = kafka.send(new ProducerRecord<>(destination, request)); try { diff --git a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/service/PlannerService.java b/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/service/PlannerService.java index f7f022df7..14cbaf2d1 100644 --- a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/service/PlannerService.java +++ b/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/service/PlannerService.java @@ -96,7 +96,6 @@ public class PlannerService extends QueueConsumer implements InitializingBean { planner.setClearingDate(req.getClearingDate()); planner.setSection(req.getSection()); planner.setSessionType(req.getSessionType()); -// planner.setMarket(req.getSection()); planner.setTaskStatus(req.getTaskStatus()); planner.setCompanyId(req.getCompanyId()); planner.setSecurityId(req.getSecurityId()); @@ -123,7 +122,6 @@ public class PlannerService extends QueueConsumer implements InitializingBean { planner.setTask(req.getTask()); planner.setTaskTime(req.getTaskTime()); planner.setClearingDate(req.getClearingDate()); -// planner.setMarket(req.getSection()); planner.setSection(req.getSection()); planner.setSessionType(req.getSessionType()); planner.setTaskStatus(req.getTaskStatus()); diff --git a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/service/PlannerTemplateService.java b/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/service/PlannerTemplateService.java index 5ecb74e50..1e3117c82 100644 --- a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/service/PlannerTemplateService.java +++ b/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/service/PlannerTemplateService.java @@ -98,7 +98,6 @@ public class PlannerTemplateService extends QueueConsumer implements Initializin plannerTemplate.setUpdated(created); plannerTemplate.setTask(req.getTask()); plannerTemplate.setTaskTime(req.getTaskTime()); -// plannerTemplate.setMarket(Market.mkrs.getKey()); plannerTemplate.setSection(req.getSection()); plannerTemplate.setSessionType(req.getSessionType()); plannerTemplate.setTaskStatus(req.getTaskStatus()); @@ -177,7 +176,6 @@ public class PlannerTemplateService extends QueueConsumer implements Initializin private boolean todayWorkDay() { LocalDate currentDate = LocalDate.now(); boolean isWeekend = Arrays.asList(DayOfWeek.SATURDAY, DayOfWeek.SUNDAY).contains(currentDate.getDayOfWeek()); - //проверим есть ли другие записи clearingCalendar с таким же clearingDate, если они актуальные ничего не удаляем Collection clearingCalendars = clearingCalendarMap.getCollectionObjectsByFieldValues(Map.of("clearingDate", currentDate)); if (clearingCalendars != null && !clearingCalendars.isEmpty()) { for (ClearingCalendar calendar : clearingCalendars) { diff --git a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/service/TaskManager.java b/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/service/TaskManager.java index 628c289f0..c58f7f574 100644 --- a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/service/TaskManager.java +++ b/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/service/TaskManager.java @@ -27,14 +27,10 @@ import static ru.spcex.clearing.imdg.IMDGDistributedNames.Map_PlannerAllToday; import static ru.spcex.platform.enumeration.Status.*; import static ru.spcex.platform.utils.enumeration.IEnumKey.getEnumByKey; -/** - * Планировщик задач, расписание берёт из Hazelcast map. - *

- */ @Service("userReportTask") public class TaskManager implements InitializingBean, AutoCloseable { private static final Logger log = LoggerFactory.getLogger(TaskManager.class); - public static final Long systemId = 0L;//для системных задач по договоренности, должен быть пользователь с правами админа и id=0L + public static final Long systemId = 0L; private final TaskScheduler taskScheduler; private final ImdgProvider imdgProvider; @@ -71,7 +67,6 @@ public class TaskManager implements InitializingBean, AutoCloseable { callbacks.put(Process.update, this::entryUpdated); callbacks.put(Process.delete, this::entryRemoved); scheduledJobs = new ConcurrentHashMap<>(); - //если сервис стартовал раньше imdg, дождемся создания всех PlannerAllToday. imdgProvider.waitAvailable(); updateScheduler(); process(); @@ -81,7 +76,6 @@ public class TaskManager implements InitializingBean, AutoCloseable { outputExecutor.submit(() -> { while (!closed.get()) { try { - //процесс ожидает пока появится новое сообщение в очереди Map.Entry entry = plannerQueue.take(); callbacks.get(entry.getKey()).accept(entry.getValue()); } catch (InterruptedException e) { @@ -94,23 +88,20 @@ public class TaskManager implements InitializingBean, AutoCloseable { }); } - // --- Обработчики PlannerAllToday --- public void entryAdded(PlannerAllToday task) { String taskStatus = task.getTaskStatus(); if (taskStatus == null) { log.warn("Task skipped, {} task status not recognized", task.getTask()); return; } - if (Active.equalsByKey(taskStatus)) { //&& ACTIVE.equalsById(task.getTaskStatusId()) + if (Active.equalsByKey(taskStatus)) { addOrUpdateActiveTask(task); } } public void entryUpdated(PlannerAllToday plannerAllToday) { - PlannerAllToday task = plannerAllTodayMap.getSingleObjectByID(plannerAllToday.getId());//event.getValue(); - PlannerAllToday oldTask = plannerAllToday;//event.getOldValue(); - - //если таск относится к другому обработчику, пропускаем + PlannerAllToday task = plannerAllTodayMap.getSingleObjectByID(plannerAllToday.getId()); + PlannerAllToday oldTask = plannerAllToday; if (!Objects.equals(task.getTask(), oldTask.getTask())) { log.debug("Trying to cancel task type {} and add task type {}", oldTask.getTask(), task.getTask()); @@ -120,9 +111,9 @@ public class TaskManager implements InitializingBean, AutoCloseable { log.warn("Task skipped, {} task status not recognized", task.getTask()); return; } - if (Active.equalsByKey(taskStatus)) { //&& ACTIVE.equalsById(task.getTaskStatusId()) + if (Active.equalsByKey(taskStatus)) { addOrUpdateActiveTask(task); - } else if (Cancel.equalsByKey(taskStatus)) { //&& TaskStatuses.CANCEL.equalsById(task.getTaskStatusId()) + } else if (Cancel.equalsByKey(taskStatus)) { if (removeTask(task.getTask(), task.getId())) log.debug("Task {} was successfully deleted after update to cancel", task.getTask()); else log.debug("No task {} for deleted after update to cancel", task.getTask()); @@ -156,7 +147,6 @@ public class TaskManager implements InitializingBean, AutoCloseable { } } - // --- Планирование задач --- protected void updateScheduler() { Collection schedulerAllTodays = plannerAllTodayMap.getAllValues(); Collection sortedSchedulers = @@ -167,7 +157,6 @@ public class TaskManager implements InitializingBean, AutoCloseable { } } - // --- Работа с задачами --- private void addOrUpdateActiveTask(PlannerAllToday task) { LocalTime taskTime = task.getTaskTime(); Task taskType = getEnumByKey(Task.class, task.getTask()); @@ -188,16 +177,14 @@ public class TaskManager implements InitializingBean, AutoCloseable { log.debug("Task skipped - taskType {} time {} with status CANCEL", Objects.requireNonNull(taskType).getKey(), taskTime); return; } - //чтобы не получилось, что старый таск не успели отменить а новый уже создали. if (taskTime.isBefore(LocalTime.now().plusSeconds(1))) { log.debug("Task skipped - taskTime {} is before now, taskType {}", taskTime, task.getTask()); return; } - //пришел активный таск log.debug("Adding task type {}, time {}", Objects.requireNonNull(taskType).getKey(), taskTime); ScheduledFuture future = taskScheduler.schedule(() -> doJob(task), LocalDateTime.of(LocalDate.now(), taskTime).atZone(ZoneId.systemDefault()).toInstant()); ScheduledFuture oldFuture = scheduledJobs.put(task.getId(), future); - if (oldFuture != null && !oldFuture.isCancelled()) { //for synchronization, never + if (oldFuture != null && !oldFuture.isCancelled()) { log.warn("Tasks were added simultaneously, cancel former one"); boolean success = oldFuture.cancel(false); log.warn("Cancelling task " + (success ? "success" : "fail")); @@ -213,13 +200,10 @@ public class TaskManager implements InitializingBean, AutoCloseable { return future.cancel(false); } - // --- Реализация выполнения задач --- - protected void doJob(PlannerAllToday task) { Task taskE = getEnumByKey(Task.class, task.getTask()); if (taskE != null) { log.debug("LauncherCommandRequest received"); - // 1. cохранить команду Instant created = Instant.now(); Launcher launcher = new Launcher(); launcher.setTask(task.getTask()); @@ -227,7 +211,6 @@ public class TaskManager implements InitializingBean, AutoCloseable { launcher.setCreated(created); launcher.setUpdated(created); launcherMap.insert(launcher); - // 2. отправить сообщение launcherSender.sendCommandToQueue(taskE, systemId); log.debug("Successfully processed, new id {}", launcher.getId()); } diff --git a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/validation/rules/common/DateAfterTodayRule.java b/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/validation/rules/common/DateAfterTodayRule.java index 804131d46..c33a244b3 100644 --- a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/validation/rules/common/DateAfterTodayRule.java +++ b/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/validation/rules/common/DateAfterTodayRule.java @@ -9,27 +9,12 @@ import java.time.LocalDate; import java.util.Optional; import java.util.function.Function; -/** - * Проверка поля с LocalDate. Условие проверки: поверяемая дата > текущая дата - * @param Класс проверяемого объекта - */ public record DateAfterTodayRule(String fieldName, Function getter, boolean required) implements IValidationRule> { - /** - * @param fieldName Название поля класса, используется для передачи ошибки - * @param getter Метод получения проверяемой даты - * @param required Флаг обязательности поля - * @param Класс проверяемого объекта - */ public static DateAfterTodayRule instance(String fieldName, Function getter, boolean required) { return new DateAfterTodayRule<>(fieldName, getter, required); } - /** - * @param fieldName Название поля класса, используется для передачи ошибки - * @param getter Метод получения проверяемой даты - * @param Класс проверяемого объекта - */ public static DateAfterTodayRule instance(String fieldName, Function getter) { return new DateAfterTodayRule<>(fieldName, getter, true); } diff --git a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/validation/rules/common/DateNotBeforeRule.java b/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/validation/rules/common/DateNotBeforeRule.java index b1df393c6..aaa94d43e 100644 --- a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/validation/rules/common/DateNotBeforeRule.java +++ b/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/validation/rules/common/DateNotBeforeRule.java @@ -9,27 +9,12 @@ import java.time.LocalDate; import java.util.Optional; import java.util.function.Function; -/** - * Проверка поля с LocalDate. Условие проверки: поверяемая дата >= текущая дата - * @param Класс проверяемого объекта - */ public record DateNotBeforeRule(String fieldName, Function getter, boolean required) implements IValidationRule> { - /** - * @param fieldName Название поля класса, используется для передачи ошибки - * @param getter Метод получения проверяемой даты - * @param required Флаг обязательности поля - * @param Класс проверяемого объекта - */ public static DateNotBeforeRule instance(String fieldName, Function getter, boolean required) { return new DateNotBeforeRule<>(fieldName, getter, required); } - /** - * @param fieldName Название поля класса, используется для передачи ошибки - * @param getter Метод получения проверяемой даты - * @param Класс проверяемого объекта - */ public static DateNotBeforeRule instance(String fieldName, Function getter) { return new DateNotBeforeRule<>(fieldName, getter, true); } diff --git a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/validation/rules/common/DictionaryPresentRule.java b/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/validation/rules/common/DictionaryPresentRule.java index 999f484bb..395d7bb12 100644 --- a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/validation/rules/common/DictionaryPresentRule.java +++ b/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/validation/rules/common/DictionaryPresentRule.java @@ -13,26 +13,12 @@ import java.util.Collection; import java.util.Optional; import java.util.function.Function; -/** - * Проверка поля с кодом из словаря (таблицы *_dictionary) - * @param Класс проверяемого объекта - * @param Класс словаря - */ public record DictionaryPresentRule(String fieldName, Function getter, String dictionaryName, Class dictionaryClass, boolean required) implements IValidationRule> { - /** - * @param fieldName Название поля - * @param getter Метод получения проверяемого значения - * @param dictionaryName Название словаря (см. IMDGDistributedNames) - * @param dictionaryClass Класс словаря (классы *Dictionary.class) - * @param required Флаг обязательности - * @param Класс проверяемого объекта - * @param Класс словаря - */ public static DictionaryPresentRule instance(String fieldName, Function getter, String dictionaryName, @@ -41,14 +27,6 @@ public record DictionaryPresentRule(String fiel return new DictionaryPresentRule<>(fieldName, getter, dictionaryName, dictionaryClass, required); } - /** - * @param fieldName Название поля - * @param getter Метод получения проверяемого значения - * @param dictionaryName Название словаря (см. IMDGDistributedNames) - * @param dictionaryClass Класс словаря (классы *Dictionary.class) - * @param Класс проверяемого объекта - * @param Класс словаря - */ public static DictionaryPresentRule instance(String fieldName, Function getter, String dictionaryName, diff --git a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/validation/rules/common/EnumPresentRule.java b/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/validation/rules/common/EnumPresentRule.java index 39e53a19a..43ff328ef 100644 --- a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/validation/rules/common/EnumPresentRule.java +++ b/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/validation/rules/common/EnumPresentRule.java @@ -9,24 +9,11 @@ import ru.spcex.platform.utils.validation.IValidationRule; import java.util.Optional; import java.util.function.Function; -/** - * Проверка поля со значением из множества (enum) - * @param Класс проверяемого объекта - * @param Enum - */ public record EnumPresentRule(String fieldName, Function getter, E[] enumValues, boolean required) implements IValidationRule> { - /** - * @param fieldName Название поля - * @param getter Метод получения проверяемого значения - * @param enumValues Значения из проверяемого множества (Enum.values()) - * @param required Флаг обязательности - * @param Класс проверяемого объекта - * @param Enum - */ public static EnumPresentRule instance(String fieldName, Function getter, E[] enumValues, @@ -34,13 +21,6 @@ public record EnumPresentRule(String fieldName, return new EnumPresentRule<>(fieldName, getter, enumValues, required); } - /** - * @param fieldName Название поля - * @param getter Метод получения проверяемого значения - * @param enumValues Значения из проверяемого множества (Enum.values()) - * @param Класс проверяемого объекта - * @param Enum - */ public static EnumPresentRule instance(String fieldName, Function getter, E[] enumValues) { diff --git a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/validation/rules/common/FieldRequiredRule.java b/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/validation/rules/common/FieldRequiredRule.java index 4abc90b45..80c3e5600 100644 --- a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/validation/rules/common/FieldRequiredRule.java +++ b/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/validation/rules/common/FieldRequiredRule.java @@ -8,19 +8,8 @@ import ru.spcex.platform.utils.validation.IValidationRule; import java.util.Optional; import java.util.function.Function; -/** - * Проверка обязательности поля (not null) - * @param Класс проверяемого объекта - * @param Класс проверяемого значения - */ public record FieldRequiredRule(String fieldName, Function getter) implements IValidationRule> { - /** - * @param fieldName Название поля - * @param getter Метод получения значения - * @param Класс проверяемого объекта - * @param Класс проверяемого значения - */ public static FieldRequiredRule instance(String fieldName, Function getter) { return new FieldRequiredRule<>(fieldName, getter); } diff --git a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/validation/rules/common/IdPresentRule.java b/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/validation/rules/common/IdPresentRule.java index e87377b56..bcc2f8810 100644 --- a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/validation/rules/common/IdPresentRule.java +++ b/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/validation/rules/common/IdPresentRule.java @@ -10,11 +10,6 @@ import ru.spcex.platform.utils.validation.IValidationRule; import java.util.Optional; import java.util.function.Function; -/** - * Проверка наличия связанного по Id объекта в базе - * @param Класс проверяемого объекта - * @param Класс связанного объекта - */ public record IdPresentRule( String fieldName, Function idGetter, @@ -25,17 +20,6 @@ public record IdPresentRule( boolean required ) implements IValidationRule> { - /** - * @param fieldName Название поля, содержащего Id - * @param idGetter Метод получения Id - * @param mapName Название мапы связанного объекта (см. IMDGDistributedNames) - * @param mapClass Класс связанного объекта - * @param idNotPresentError Ошибка, которая будет возвращена, если Id не найден - * @param required Флаг обязательности - * @param additionalChecks Дополнительные проверки, которые можно провести со связанным объектом - * @param Класс проверяемого объекта - * @param Класс связанного объекта - */ @SafeVarargs public static IdPresentRule instance(String fieldName, Function idGetter, diff --git a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/validation/rules/common/TimeNotBeforeRule.java b/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/validation/rules/common/TimeNotBeforeRule.java index 59144522f..90f14d285 100644 --- a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/validation/rules/common/TimeNotBeforeRule.java +++ b/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/validation/rules/common/TimeNotBeforeRule.java @@ -10,55 +10,23 @@ import java.time.LocalTime; import java.util.Optional; import java.util.function.Function; -/** - * Проверка поля с LocalTime. Условие проверки: проверяемое время >= текущее время - * - * @param Класс проверяемого объекта - */ public record TimeNotBeforeRule(String fieldName, Function getter, boolean required, boolean isToday, Function getterForDate) implements IValidationRule> { - /** - * @param fieldName Название поля класса, используется для передачи ошибки - * @param getter Метод получения проверяемого времени - * @param required Флаг обязательности поля - * @param Класс проверяемого объекта - * @param isToday Флаг что дата сегодняшняя - */ public static TimeNotBeforeRule instance(String fieldName, Function getter, boolean required, boolean isToday) { return new TimeNotBeforeRule<>(fieldName, getter, required, isToday, null); } - /** - * - * @param fieldName - * @param getter - * @param required - * @param getterForDate аналог isToday - * @param - * @return - */ public static TimeNotBeforeRule instance(String fieldName, Function getter, boolean required, Function getterForDate) { return new TimeNotBeforeRule<>(fieldName, getter, required, true, getterForDate); } - /** - * @param fieldName Название поля класса, используется для передачи ошибки - * @param getter Метод получения проверяемого времени - * @param required Флаг обязательности поля - * @param Класс проверяемого объекта - */ public static TimeNotBeforeRule instance(String fieldName, Function getter, boolean required) { return new TimeNotBeforeRule<>(fieldName, getter, required, true, null); } - /** - * @param fieldName Название поля класса, используется для передачи ошибки - * @param getter Метод получения проверяемого времени - * @param Класс проверяемого объекта - */ public static TimeNotBeforeRule instance(String fieldName, Function getter) { return new TimeNotBeforeRule<>(fieldName, getter, true,true, null); } diff --git a/clearing-parent/scheduler-service/src/test/java/ru/spcex/clearing/scheduler/AbstractServiceTest.java b/clearing-parent/scheduler-service/src/test/java/ru/spcex/clearing/scheduler/AbstractServiceTest.java index b0d9ab911..0dbcc0bec 100644 --- a/clearing-parent/scheduler-service/src/test/java/ru/spcex/clearing/scheduler/AbstractServiceTest.java +++ b/clearing-parent/scheduler-service/src/test/java/ru/spcex/clearing/scheduler/AbstractServiceTest.java @@ -149,7 +149,6 @@ public abstract class AbstractServiceTest { planner.setClearingDate(LocalDate.now()); planner.setSection(Section.MKR.getKey()); planner.setSessionType(sessionType); -// planner.setMarket(mkrs.getKey()); planner.setTaskStatus(Status.Active.getKey()); planner.setCompanyId(companyId); planner.setSecurityId(testSecurityId); diff --git a/clearing-parent/scheduler-service/src/test/java/ru/spcex/clearing/scheduler/service/ClearingCalendarServiceTest.java b/clearing-parent/scheduler-service/src/test/java/ru/spcex/clearing/scheduler/service/ClearingCalendarServiceTest.java index a27ae47f3..d25d22712 100644 --- a/clearing-parent/scheduler-service/src/test/java/ru/spcex/clearing/scheduler/service/ClearingCalendarServiceTest.java +++ b/clearing-parent/scheduler-service/src/test/java/ru/spcex/clearing/scheduler/service/ClearingCalendarServiceTest.java @@ -8,7 +8,6 @@ import ru.clearing.classes.statics.data.scheduler.ClearingCalendar; import ru.clearing.classes.statics.data.scheduler.Planner; import ru.clearing.classes.statics.data.scheduler.PlannerAllToday; import ru.clearing.classes.statics.data.scheduler.PlannerTemplate; -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.schedule.ClearingCalendarNewRequest; @@ -50,14 +49,8 @@ class ClearingCalendarServiceTest extends AbstractServiceTest { clearAllInImdg(plannerAllTodayImdg); } - /** - * {@link ClearingCalendarService#newClearingCalendar(BaseRequest)}(BaseRequest)}
- * Тест проверяет создание сущности {@link ClearingCalendar} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link ClearingCalendarNewRequest}:
- */ @Test public void newClearingCalendar() { - //ARRANGE ClearingCalendar clearingCalendar = new ClearingCalendar(); clearingCalendar.setClearingDate(LocalDate.now()); clearingCalendar.setCompanyId(newCompanyId); @@ -69,12 +62,8 @@ class ClearingCalendarServiceTest extends AbstractServiceTest { clearingCalendarNewRequest.setClearingDate(clearingCalendar.getClearingDate()); clearingCalendarNewRequest.setCompanyId(clearingCalendar.getCompanyId()); clearingCalendarNewRequest.setDayStatus(clearingCalendar.getDayStatus()); - - //ACT String jsonString = getJsonStringForNew(clearingCalendarNewRequest, ID); addRecordToKafka((MockConsumer) clearingCalendarService.getConsumer(), TOPIC_CLEARING_CALENDAR_NEW, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); ClearingCalendar clearingCalendarRes = clearingCalendarImdg.getFirstObjectBySQL(String.format("companyId = %s", clearingCalendar.getCompanyId())); @@ -83,14 +72,8 @@ class ClearingCalendarServiceTest extends AbstractServiceTest { checkPlannerAllTodayByPlannerTemplate(plannerTemplate); } - /** - * {@link ClearingCalendarService#updateClearingCalendar(BaseRequest)}(BaseRequest)}
- * Тест проверяет создание сущности {@link ClearingCalendar} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link ClearingCalendarUpdateRequest}:
- */ @Test public void updateClearingCalendar() { - //ARRANGE ClearingCalendar clearingCalendar = new ClearingCalendar(); clearingCalendar.setId(currentID.getAndIncrement()); clearingCalendar.setClearingDate(LocalDate.now()); @@ -107,12 +90,8 @@ class ClearingCalendarServiceTest extends AbstractServiceTest { clearingCalendarNewRequest.setClearingDate(clearingCalendar.getClearingDate()); clearingCalendarNewRequest.setCompanyId(clearingCalendar.getCompanyId()); clearingCalendarNewRequest.setDayStatus(clearingCalendar.getDayStatus()); - - //ACT String jsonString = getJsonStringForUpdate(clearingCalendarNewRequest, ID); addRecordToKafka((MockConsumer) clearingCalendarService.getConsumer(), TOPIC_CLEARING_CALENDAR_UPDATE, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); ClearingCalendar clearingCalendarRes = clearingCalendarImdg.getFirstObjectBySQL(String.format("companyId = %s", clearingCalendar.getCompanyId())); @@ -122,14 +101,8 @@ class ClearingCalendarServiceTest extends AbstractServiceTest { } - /** - * {@link ClearingCalendarService#deleteClearingCalendar(BaseRequest)}(BaseRequest)}
- * Тест проверяет удаление сущности {@link ru.clearing.classes.statics.data.scheduler.ClearingCalendar} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link CommonDeleteRequest}:
- */ @Test public void deleteClearingCalendar() { - //ARRANGE clearAllInImdg(clearingCalendarImdg); ClearingCalendar clearingCalendar = getClearingCalendar(); clearingCalendarImdg.insert(clearingCalendar); @@ -142,30 +115,19 @@ class ClearingCalendarServiceTest extends AbstractServiceTest { CommonDeleteRequest commonDeleteRequest = new CommonDeleteRequest(); commonDeleteRequest.setId(id); - - //ACT String jsonString = getJsonStringForDelete(commonDeleteRequest, id); addRecordToKafka((MockConsumer) clearingCalendarService.getConsumer(), TOPIC_CLEARING_CALENDAR_DELETE, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(id, mockProducer); ClearingCalendar plannerTemplateRes = clearingCalendarImdg.getFirstObjectBySQL(String.format("companyId = %s", clearingCalendar.getCompanyId())); assertNull(plannerTemplateRes); PlannerAllToday plannerAllTodayRes = plannerAllTodayImdg.getFirstObjectBySQL(String.format("companyId = %s", plannerTemplate.getCompanyId())); assertNull(plannerAllTodayRes); - - //добавим в clearingCalendarImdg валидный clearingCalendar на случай если тесты plannerTemplate еще не отработали clearingCalendarImdg.insert(clearingCalendar); } - /** - * {@link ClearingCalendarService#deleteFromPlannerAllTodayMap()}}
- * Тест проверяет удаление сущности {@link ru.clearing.classes.statics.data.scheduler.PlannerAllToday} в Hazelcast.
- */ @Test public void deleteFromPlannerAllTodayMap() { - //проверка удаления PlannerAllToday Planner planner = getPlanner(newCompanyId); planner.setId(12L); planner.setTaskStatus(Status.Active.getKey()); @@ -177,21 +139,15 @@ class ClearingCalendarServiceTest extends AbstractServiceTest { plannerTemplate.setId(13L); plannerTemplate.setCompanyId(updateCompanyId); plannerAllTodayImdg.insert(PlannerAllTodayBuilder.builder().append(plannerTemplate).build()); - - //ни чего не должно быть удалено ест валидный clearingCalendar clearingCalendarService.deleteFromPlannerAllTodayMap(); assertEquals(2, plannerAllTodayImdg.getAllValues().size()); checkPlannerAllTodayByPlanner(planner); checkPlannerAllTodayByPlannerTemplate(plannerTemplate); - - //сейчас удалятся только созданные на основании plannerTemplate clearAllInImdg(clearingCalendarImdg); clearingCalendarService.deleteFromPlannerAllTodayMap(); checkPlannerAllTodayByPlanner(planner); assertEquals(1, plannerAllTodayImdg.getAllValues().size()); - - //добавим в clearingCalendarImdg валидный clearingCalendar на случай если тесты plannerTemplate еще не отработали clearingCalendarImdg.insert(getClearingCalendar()); } } \ No newline at end of file diff --git a/clearing-parent/scheduler-service/src/test/java/ru/spcex/clearing/scheduler/service/LauncherServiceTest.java b/clearing-parent/scheduler-service/src/test/java/ru/spcex/clearing/scheduler/service/LauncherServiceTest.java index 033c281b5..0e007473b 100644 --- a/clearing-parent/scheduler-service/src/test/java/ru/spcex/clearing/scheduler/service/LauncherServiceTest.java +++ b/clearing-parent/scheduler-service/src/test/java/ru/spcex/clearing/scheduler/service/LauncherServiceTest.java @@ -9,7 +9,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import ru.clearing.classes.statics.data.scheduler.Launcher; -import ru.clearing.classes.statics.data.scheduler.Planner; import ru.spcex.clearing.platform.messaging.domain.ActionType; import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.Consts; @@ -50,14 +49,8 @@ class LauncherServiceTest extends AbstractServiceTest { clearAllInImdg(plannerAllTodayImdg); } - /** - * {@link LauncherService#newLauncher(BaseRequest)}(BaseRequest)}
- * Тест проверяет создание сущности {@link Planner} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link LauncherCommandRequest}:
- */ @Test public void newPlanner() { - //ARRANGE Launcher launcher = new Launcher(); launcher.setSenderId(defaultAdminId); launcher.setTask(accountBlock.getKey()); @@ -76,12 +69,8 @@ class LauncherServiceTest extends AbstractServiceTest { predictableBaseRequest.setId(ID); predictableBaseRequest.setUserId(launcher.getSenderId()); predictableBaseRequest.setActionType(ActionType.NEW); - - //ACT String jsonString = getJsonStringForNew(launcherCommandRequest, ID); addRecordToKafka((MockConsumer) launcherService.getConsumer(), TOPIC_LAUNCHER_NEW, PARTITION, 0, jsonString); - - //ASSERT ArgumentCaptor captor = getCaptor(mockProducer); verify(mockProducer, timeout(30_000L).times(1)) .send(captor.capture()); diff --git a/clearing-parent/scheduler-service/src/test/java/ru/spcex/clearing/scheduler/service/PlannerServiceTest.java b/clearing-parent/scheduler-service/src/test/java/ru/spcex/clearing/scheduler/service/PlannerServiceTest.java index f0d8e2d1d..62016111f 100644 --- a/clearing-parent/scheduler-service/src/test/java/ru/spcex/clearing/scheduler/service/PlannerServiceTest.java +++ b/clearing-parent/scheduler-service/src/test/java/ru/spcex/clearing/scheduler/service/PlannerServiceTest.java @@ -6,7 +6,6 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import ru.clearing.classes.statics.data.scheduler.Planner; import ru.clearing.classes.statics.data.scheduler.PlannerAllToday; -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.schedule.PlannerNewRequest; @@ -43,14 +42,8 @@ class PlannerServiceTest extends AbstractServiceTest { clearAllInImdg(plannerAllTodayImdg); } - /** - * {@link PlannerService#newPlanner(BaseRequest)}(BaseRequest)}
- * Тест проверяет создание сущности {@link ru.clearing.classes.statics.data.scheduler.Planner} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link PlannerNewRequest}:
- */ @Test public void newPlanner() { - //ARRANGE Long ID = currentID.getAndIncrement(); Planner planner = getPlanner(newCompanyId); @@ -63,12 +56,8 @@ class PlannerServiceTest extends AbstractServiceTest { plannerNewRequest.setClearingDate(planner.getClearingDate()); plannerNewRequest.setCompanyId(planner.getCompanyId()); plannerNewRequest.setSecurityId(planner.getSecurityId()); - - //ACT String jsonString = getJsonStringForUpdate(plannerNewRequest, ID); addRecordToKafka((MockConsumer) plannerService.getConsumer(), TOPIC_PLANNER_NEW, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); Planner plannerReq = plannerImdg.getFirstObjectBySQL(String.format("companyId = %s", planner.getCompanyId())); @@ -77,14 +66,8 @@ class PlannerServiceTest extends AbstractServiceTest { checkPlannerAllTodayByPlanner(planner); } - /** - * {@link PlannerService#updatePlanner(BaseRequest)}(BaseRequest)}
- * Тест проверяет создание сущности {@link ru.clearing.classes.statics.data.scheduler.Planner} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link PlannerUpdateRequest}:
- */ @Test public void updateScheduler() { - //ARRANGE Planner planner = getPlanner(newCompanyId); plannerImdg.insert(planner); planner.setCompanyId(updateCompanyId); @@ -99,12 +82,8 @@ class PlannerServiceTest extends AbstractServiceTest { plannerUpdateRequest.setClearingDate(planner.getClearingDate()); plannerUpdateRequest.setCompanyId(planner.getCompanyId()); plannerUpdateRequest.setSecurityId(planner.getSecurityId()); - - //ACT String jsonString = getJsonStringForUpdate(plannerUpdateRequest, planner.getId()); addRecordToKafka((MockConsumer) plannerService.getConsumer(), TOPIC_PLANNER_UPDATE, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(planner.getId(), mockProducer); Planner plannerReq = plannerImdg.getFirstObjectBySQL(String.format("companyId = %s", planner.getCompanyId())); @@ -113,14 +92,8 @@ class PlannerServiceTest extends AbstractServiceTest { checkPlannerAllTodayByPlanner(planner); } - /** - * {@link PlannerService#deletePlanner(BaseRequest)}(BaseRequest)}
- * Тест проверяет удаление сущности {@link ru.clearing.classes.statics.data.scheduler.Planner} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link CommonDeleteRequest}:
- */ @Test public void deletePlanner() { - //ARRANGE clearAllInImdg(plannerImdg); Planner planner = getPlanner(deleteCompanyId); plannerImdg.insert(planner); @@ -131,12 +104,8 @@ class PlannerServiceTest extends AbstractServiceTest { CommonDeleteRequest commonDeleteRequest = new CommonDeleteRequest(); commonDeleteRequest.setId(plannerId); - - //ACT String jsonString = getJsonStringForDelete(commonDeleteRequest, plannerId); addRecordToKafka((MockConsumer) plannerService.getConsumer(), TOPIC_PLANNER_DELETE, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(plannerId, mockProducer); Planner plannerReq = plannerImdg.getFirstObjectBySQL(String.format("companyId = %s", planner.getCompanyId())); @@ -145,24 +114,14 @@ class PlannerServiceTest extends AbstractServiceTest { assertNull(plannerAllTodayRes); } - /** - * {@link PlannerService#cudPlannerAllToday(Planner)}(BaseRequest)}
- * Тест проверяет добавление, обновление, удаление сущности {@link ru.clearing.classes.statics.data.scheduler.PlannerAllToday} в Hazelcast.
- * Входной запрос {@link Planner}:
- */ @Test public void cudPlannerAllToday() { - //проверка добавления Planner planner = getPlanner(newCompanyId); plannerService.cudPlannerAllToday(planner); checkPlannerAllTodayByPlanner(planner); - - //проверка обновления planner.setCompanyId(updateCompanyId); plannerService.cudPlannerAllToday(planner); checkPlannerAllTodayByPlanner(planner); - - //проверка удаления всех PlannerAllToday planner.setTaskStatus(Status.Cancel.getKey()); plannerAllTodayImdg.insert(PlannerAllTodayBuilder.builder().append(planner).build()); plannerService.cudPlannerAllToday(planner); diff --git a/clearing-parent/scheduler-service/src/test/java/ru/spcex/clearing/scheduler/service/PlannerTemplateServiceTest.java b/clearing-parent/scheduler-service/src/test/java/ru/spcex/clearing/scheduler/service/PlannerTemplateServiceTest.java index aa7e79ea4..92bb4200d 100644 --- a/clearing-parent/scheduler-service/src/test/java/ru/spcex/clearing/scheduler/service/PlannerTemplateServiceTest.java +++ b/clearing-parent/scheduler-service/src/test/java/ru/spcex/clearing/scheduler/service/PlannerTemplateServiceTest.java @@ -5,7 +5,6 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import ru.clearing.classes.statics.data.scheduler.PlannerAllToday; import ru.clearing.classes.statics.data.scheduler.PlannerTemplate; -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.schedule.PlannerTemplateNewRequest; @@ -37,14 +36,8 @@ class PlannerTemplateServiceTest extends AbstractServiceTest { super.init(); } - /** - * {@link PlannerTemplateService#newPlannerTemplate(BaseRequest)}(BaseRequest)}
- * Тест проверяет создание сущности {@link ru.clearing.classes.statics.data.scheduler.PlannerTemplate} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link PlannerTemplateNewRequest}:
- */ @Test public void newPlannerTemplateInQueue() throws InterruptedException { - //ARRANGE PlannerTemplate plannerTemplate = getPlannerTemplate(newCompanyId); PlannerTemplateNewRequest templateNewRequest = new PlannerTemplateNewRequest(); @@ -55,12 +48,8 @@ class PlannerTemplateServiceTest extends AbstractServiceTest { templateNewRequest.setTaskStatus(plannerTemplate.getTaskStatus()); templateNewRequest.setCompanyId(plannerTemplate.getCompanyId()); templateNewRequest.setSecurityId(plannerTemplate.getSecurityId()); - - //ACT String jsonString = getJsonStringForNew(templateNewRequest, ID); addRecordToKafka((MockConsumer) plannerTemplateService.getConsumer(), TOPIC_PLANNER_TEMPLATE_NEW, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); PlannerTemplate plannerTemplateRes = plannerTemplateImdg.getFirstObjectBySQL(String.format("companyId = %s", plannerTemplate.getCompanyId())); @@ -69,14 +58,8 @@ class PlannerTemplateServiceTest extends AbstractServiceTest { checkPlannerAllTodayByPlannerTemplate(plannerTemplate); } - /** - * {@link PlannerTemplateService#updatePlannerTemplate(BaseRequest)}(BaseRequest)}
- * Тест проверяет обновление сущности {@link ru.clearing.classes.statics.data.scheduler.PlannerTemplate} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link PlannerTemplateUpdateRequest}:
- */ @Test public void updatePlannerTemplate() throws InterruptedException { - //ARRANGE PlannerTemplate plannerTemplate = getPlannerTemplate(newCompanyId); plannerTemplateImdg.insert(plannerTemplate); plannerTemplate.setCompanyId(updateCompanyId); @@ -90,12 +73,8 @@ class PlannerTemplateServiceTest extends AbstractServiceTest { plannerTemplateUpdateRequest.setTaskStatus(plannerTemplate.getTaskStatus()); plannerTemplateUpdateRequest.setCompanyId(plannerTemplate.getCompanyId()); plannerTemplateUpdateRequest.setSecurityId(plannerTemplate.getSecurityId()); - - //ACT String jsonString = getJsonStringForUpdate(plannerTemplateUpdateRequest, ID); addRecordToKafka((MockConsumer) plannerTemplateService.getConsumer(), TOPIC_PLANNER_TEMPLATE_UPDATE, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); PlannerTemplate plannerTemplateRes = plannerTemplateImdg.getFirstObjectBySQL(String.format("companyId = %s", plannerTemplate.getCompanyId())); @@ -104,14 +83,8 @@ class PlannerTemplateServiceTest extends AbstractServiceTest { checkPlannerAllTodayByPlannerTemplate(plannerTemplate); } - /** - * {@link PlannerTemplateService#deletePlannerTemplate(BaseRequest)}(BaseRequest)}
- * Тест проверяет удаление сущности {@link ru.clearing.classes.statics.data.scheduler.PlannerTemplate} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link CommonDeleteRequest}:
- */ @Test public void deletePlannerTemplate() throws InterruptedException { - //ARRANGE PlannerTemplate plannerTemplate = getPlannerTemplate(newCompanyId); long id = plannerTemplate.getId(); @@ -121,12 +94,8 @@ class PlannerTemplateServiceTest extends AbstractServiceTest { CommonDeleteRequest commonDeleteRequest = new CommonDeleteRequest(); commonDeleteRequest.setId(id); - - //ACT String jsonString = getJsonStringForDelete(commonDeleteRequest, id); addRecordToKafka((MockConsumer) plannerTemplateService.getConsumer(), TOPIC_PLANNER_TEMPLATE_DELETE, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(id, mockProducer); PlannerTemplate plannerTemplateRes = plannerTemplateImdg.getFirstObjectBySQL(String.format("companyId = %s", plannerTemplate.getCompanyId())); diff --git a/clearing-parent/scheduler-service/src/test/java/ru/spcex/clearing/scheduler/service/TaskManagerTest.java b/clearing-parent/scheduler-service/src/test/java/ru/spcex/clearing/scheduler/service/TaskManagerTest.java index 80a9b8e5e..3e5d51f47 100644 --- a/clearing-parent/scheduler-service/src/test/java/ru/spcex/clearing/scheduler/service/TaskManagerTest.java +++ b/clearing-parent/scheduler-service/src/test/java/ru/spcex/clearing/scheduler/service/TaskManagerTest.java @@ -36,56 +36,32 @@ class TaskManagerTest extends AbstractServiceTest { super.init(); } - /** - * {@link TaskManager#entryAdded(PlannerAllToday)}}
- * Тест проверяет создание и отправку LauncherCommandRequest в Apache Kafka.
- * Входной запрос {@link PlannerAllToday}:
- */ @Test void entryAdded() { - //ARRANGE PlannerAllToday plannerAllToday = getPlannerAllToday(Task.createOrder.getKey()); - //ACT addToPlannerQueue(TaskManager.Process.add, plannerAllToday); - //ASSERT waitingWhenAddedLauncherCommandRequestAndCheckIt(getEnumByKey(Task.class, plannerAllToday.getTask()), systemId); } - /** - * {@link TaskManager#entryUpdated(PlannerAllToday)}}
- * Тест проверяет создание и отправку LauncherCommandRequest в Apache Kafka.
- * Входной запрос {@link PlannerAllToday}:
- */ @Test void entryUpdated() { - //ARRANGE PlannerAllToday plannerAllToday = getPlannerAllToday(Task.createReport_GREP.getKey()); PlannerAllToday oldPlanner = getPlannerAllToday(Task.createReport_GREP.getKey()); plannerAllToday.setId(oldPlanner.getId()); plannerAllTodayImdg.insert(plannerAllToday); addToPlannerQueue(TaskManager.Process.add, oldPlanner); - //ACT addToPlannerQueue(TaskManager.Process.update, oldPlanner); - //ASSERT waitingWhenAddedLauncherCommandRequestAndCheckIt(getEnumByKey(Task.class, plannerAllToday.getTask()), systemId); } - /** - * {@link TaskManager#entryRemoved(PlannerAllToday)}}
- * Тест проверяет создание и отправку LauncherCommandRequest в Apache Kafka.
- * Входной запрос {@link PlannerAllToday}:
- */ @Test void entryRemoved() { - //ARRANGE PlannerAllToday plannerAllToday = getPlannerAllToday(Task.createOrder.getKey()); PlannerAllToday oldPlanner = getPlannerAllToday(Task.createReport_GREP.getKey()); addToPlannerQueue(TaskManager.Process.add, oldPlanner); addToPlannerQueue(TaskManager.Process.delete, oldPlanner); - //ACT addToPlannerQueue(TaskManager.Process.add, plannerAllToday); - //ASSERT waitingWhenAddedLauncherCommandRequestAndCheckIt(getEnumByKey(Task.class, plannerAllToday.getTask()), systemId); } @@ -102,7 +78,6 @@ class TaskManagerTest extends AbstractServiceTest { BaseRequest predictableBaseRequest = launcherSender.makeCmdRequest(toTaskQueue, userId); ArgumentCaptor producerRecord = getCaptor(mockProducer); - //waiting for kafka producer send message (finale event) verify(mockProducer, timeout(30_000L).times(1)) .send(producerRecord.capture()); diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/errors/SecuritiesError.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/errors/SecuritiesError.java index 8a4b572d2..417a56d40 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/errors/SecuritiesError.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/errors/SecuritiesError.java @@ -4,7 +4,7 @@ import ru.spcex.platform.utils.enumeration.IErrorEnumId; public enum SecuritiesError implements IErrorEnumId { GeneralError(1000L), - UserVerifyDenial(1001L), // 'Нет прав на проведение данной операции + UserVerifyDenial(1001L), RequiredFieldIsEmpty(1002L), WrongFieldValue(1004L), InstrumentAlreadyExists(1010L), @@ -14,12 +14,12 @@ public enum SecuritiesError implements IErrorEnumId { CouponPeriodNotFound(1014L), CurrencyAlreadyExists(1015L), CurrencyNotFound(1016L), - ListingAlreadyExist(1017L), // Инструмент на режиме %s уже существует - ListingNotFound(1018L), // Инструмент на режиме %s не найден - MarketNotFound(1020L), // Режим %s не найден - ListingOnMMSCreatedBySystem(1021L), // Информиция об инструментах Денежного рынка на режимах добавляется автоматически. - ListingOnMMSUpdatedBySystem(1022L), // Информиция об инструментах Денежного рынка на режимах изменяется автоматически. - ListingOnMMSDeletedBySystem(1023L), // Информиция об инструментах Денежного рынка на режимах блокируется автоматически. + ListingAlreadyExist(1017L), + ListingNotFound(1018L), + MarketNotFound(1020L), + ListingOnMMSCreatedBySystem(1021L), + ListingOnMMSUpdatedBySystem(1022L), + ListingOnMMSDeletedBySystem(1023L), ; private final Long id; diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/CurrencyService.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/CurrencyService.java index 9ad133b26..b9845d2dc 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/CurrencyService.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/CurrencyService.java @@ -74,7 +74,7 @@ public class CurrencyService extends QueueConsumer implements InitializingBean { currency.setCurrencyCode(req.getCurrencyCode()); currencyImdg.insert(currency); log.debug("successfully processed, request id {}, new object id {}", userRequest.getId(), currency.getId()); - return null; // default success + return null; } private RequestInfoUpdate updateCurrency(BaseRequest userRequest) { diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/GatewaySecurityService.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/GatewaySecurityService.java index e6a8ec5a3..0143cad85 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/GatewaySecurityService.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/GatewaySecurityService.java @@ -139,8 +139,6 @@ public class GatewaySecurityService extends QueueConsumer implements Initializin } else if (companySymbols.size() > 1) { log.warn("For {} = {} found {} company_symbol, use first", CompanySymbol.UUID.getKey(), byUuid, companySymbols.size()); } - - // Проверяем, что в базе помимо реквизита есть компания Long companyId = companySymbols.iterator().next().getCompanyId(); Company company = companyImdg.getSingleObjectByID(companyId); if (company == null || !WorkflowStatus.Active.equalsByKey(company.getWorkflowStatus())) { @@ -171,13 +169,12 @@ public class GatewaySecurityService extends QueueConsumer implements Initializin private RequestInfoUpdate newSecurities(BaseRequest baseRequest) { log.debug("SecurityFondGatewayRequest id={} received", baseRequest.getId()); SecurityFondGatewayRequest req = (SecurityFondGatewayRequest) baseRequest.getRequestPayload(); - Long companyId = findCompany(req.getUuid());//issuerId findCompany + Long companyId = findCompany(req.getUuid()); if (companyId == null) { log.debug("CompanyId (issuer) not found."); } else { log.debug("CompanyId (issuer) found: {}", companyId); } -// ImdgTransaction transaction = imdgProvider.newTransaction(); todo transaction Security security = null; @@ -287,7 +284,7 @@ public class GatewaySecurityService extends QueueConsumer implements Initializin for (FixedIncomeCashFlowNewRequest partRequest : (List) req.getFixedIncomesCashFlow()) { try { - partRequest.setSecuritySymbol(String.valueOf(securityId)); // не getSecuritySymbol + partRequest.setSecuritySymbol(String.valueOf(securityId)); FixedIncomeCashFlow existFixedIncomeCashFlow = findFixedIncomeCashFlow(partRequest); if (existFixedIncomeCashFlow == null) { log.trace("For company[{}] do new FixedIncomeCashFlow", companyId); @@ -306,7 +303,7 @@ public class GatewaySecurityService extends QueueConsumer implements Initializin } log.debug("successfully processed, request id {}", baseRequest.getId()); - return null; // default success + return null; } Listing findListing(ListingNewRequest byRequest) { @@ -426,8 +423,6 @@ public class GatewaySecurityService extends QueueConsumer implements Initializin return updateRequest; } - // --- DESTINATION_GATEWAY_MONEY_MARKET_SECURITY --- - private RequestInfoUpdate newMoneyMarketSecurity(BaseRequest baseRequest) { log.debug("MoneyMarketSecurityNewRequest id={} received", baseRequest.getId()); MoneyMarketSecurityNewGatewayRequest gatewayReq = baseRequest.getRequestPayload(); diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/ListingService.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/ListingService.java index 6e79de2a7..800ed18b1 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/ListingService.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/ListingService.java @@ -96,7 +96,7 @@ public class ListingService extends QueueConsumer implements InitializingBean { validationHelper.validateTillFirstErrorAndThrow(req, validation.listingNewValidator()); Security security = securitySelector.selectSecurityById(req.getSecurityId()); - if (security == null) { // never + if (security == null) { log.error("Security not found {}", req.getSecurityId()); } @@ -108,11 +108,11 @@ public class ListingService extends QueueConsumer implements InitializingBean { listing.setMarket(req.getMarket()); listing.setLotSize(req.getLotSize()); if (req.getSymbolCode() != null) { - listing.setSymbolCode(req.getSymbolCode()); // listing.setSymbolCode(req.getSymbolCode()); + listing.setSymbolCode(req.getSymbolCode()); } else { listing.setSymbolCode(security.getSecuritySymbol()); } - listing.setSymbolName(security.getFullName()); // req.getSymbolName + listing.setSymbolName(security.getFullName()); listing.setTradingCurrency(req.getTradingCurrency()); if (StringUtils.isEmpty(req.getWorkflowStatus())) { listing.setWorkflowStatus(WorkflowStatus.Active.getKey()); @@ -142,17 +142,16 @@ public class ListingService extends QueueConsumer implements InitializingBean { Listing listing = listingImdg.getSingleObjectByID(req.getId()); Security security = securitySelector.selectSecurityById(req.getSecurityId()); - if (security == null) { // never + if (security == null) { log.error("Security not found {}", req.getSecurityId()); } - if (listing == null) { //never + if (listing == null) { log.error("listing not found {}", req.getId()); } listing.setUpdated(Instant.now()); listing.setLotSize(req.getLotSize()); if (req.getSymbolCode()!=null) listing.setSymbolCode(req.getSymbolCode()); - //if (req.getSymbolName!=null) listing.setSymbolName(req.getSymbolName); listing.setTradingCurrency(req.getTradingCurrency()); if (StringUtils.isNotEmpty(req.getWorkflowStatus())) { listing.setWorkflowStatus(req.getWorkflowStatus()); diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/MoneyMarketSecurityService.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/MoneyMarketSecurityService.java index 34036d8d1..16144f853 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/MoneyMarketSecurityService.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/MoneyMarketSecurityService.java @@ -53,7 +53,7 @@ public class MoneyMarketSecurityService extends QueueConsumer implements Initial private final ValidationHelper validationHelper; private final RequestHelper requestHelper; private final IMessageResolver messageResolver; - private final ListingService listingService; // для синхронизации + private final ListingService listingService; @Autowired public MoneyMarketSecurityService(Consumer kafkaQueue, @@ -154,7 +154,6 @@ public class MoneyMarketSecurityService extends QueueConsumer implements Initial transaction.beginTransaction(); Imdg moneyMarketSecurityTxMap = transaction.getImdg(IMDGDistributedNames.Map_MoneyMarketSecurity, MoneyMarketSecurity.class); Imdg listingTxMap = transaction.getImdg(IMDGDistributedNames.Map_Listing, Listing.class); - //одним скопом выполняем реквест moneyMarketSecurityTxMap.insert(mms); Listing listing = ListingBuilder.builder() .append(mms).append(req).build(); @@ -166,7 +165,7 @@ public class MoneyMarketSecurityService extends QueueConsumer implements Initial throw e; } } - return mms; // default success + return mms; } private RequestInfoUpdate updateMoneyMarket(BaseRequest userRequest) { diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/rule/HaveValidCodeByDictionary.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/rule/HaveValidCodeByDictionary.java index f6b606276..4b2808f15 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/rule/HaveValidCodeByDictionary.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/rule/HaveValidCodeByDictionary.java @@ -12,7 +12,7 @@ import java.util.Map; import java.util.Optional; import java.util.function.Function; -@Deprecated // use common validator ru.spcex.clearing.validation.common.rules.DictionaryPresentRule +@Deprecated public class HaveValidCodeByDictionary implements IValidationRule> { String mapName; String errArg; diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/rule/HaveValidCompanyId.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/rule/HaveValidCompanyId.java index b4f45a65b..e3bc55353 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/rule/HaveValidCompanyId.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/rule/HaveValidCompanyId.java @@ -11,7 +11,7 @@ import ru.spcex.platform.utils.validation.IValidationRule; import java.util.Optional; import java.util.function.Function; -@Deprecated // use common validator +@Deprecated public class HaveValidCompanyId implements IValidationRule> { Function idGetter; String errArg; diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/rule/MmsDeleteValidationRule.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/rule/MmsDeleteValidationRule.java index 71ca83735..b10125115 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/rule/MmsDeleteValidationRule.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/rule/MmsDeleteValidationRule.java @@ -16,7 +16,6 @@ public enum MmsDeleteValidationRule implements IValidationRule validate(ImdgValidationContext context) { MoneyMarketSecurity mms = context.getStoredObject(Stored.PresentById); - //проверка только если PresentById найдет объект и сохранит его if (mms != null && !Status.Active.getKey().equals(mms.getWorkflowStatus())) { return of(SecuritiesError.InstrumentNotActive); } else { diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/rule/MmsUpdateValidationRule.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/rule/MmsUpdateValidationRule.java index be9a064d0..0d6f385f9 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/rule/MmsUpdateValidationRule.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/rule/MmsUpdateValidationRule.java @@ -16,7 +16,6 @@ public enum MmsUpdateValidationRule implements IValidationRule validate(ImdgValidationContext context) { MoneyMarketSecurity mms = context.getStoredObject(Stored.PresentById); - //проверка только если PresentById найдет объект и сохранит его if (mms != null && !Status.Active.getKey().equals(mms.getWorkflowStatus())) { return of(SecuritiesError.InstrumentNotActive, mms.getClass().getSimpleName()); } else { diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/rule/WorkflowStatusActv.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/rule/WorkflowStatusActv.java index e374c914d..cac1d5bab 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/rule/WorkflowStatusActv.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/rule/WorkflowStatusActv.java @@ -15,7 +15,6 @@ public class WorkflowStatusActv implements IValidationRule validate(ImdgValidationContext context) { WithWorkflowStatus object = context.getStoredObject(Stored.PresentById); - //проверка только если PresentById найдет объект и сохранит его if (object != null && object.getWorkflowStatus() == null) { return of(SecuritiesError.RequiredFieldIsEmpty, "workflowStatus"); }else if (object != null && !Status.Active.getKey().equals(object.getWorkflowStatus())) { diff --git a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/CouponPeriodServiceTest.java b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/CouponPeriodServiceTest.java index 20dd04771..e8cf4c16c 100644 --- a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/CouponPeriodServiceTest.java +++ b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/CouponPeriodServiceTest.java @@ -4,7 +4,6 @@ import org.apache.kafka.clients.consumer.MockConsumer; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import ru.clearing.classes.statics.data.instrument.issue.CouponPeriod; -import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.cud.securitites.CouponPeriodNewRequest; import ru.spcex.clearing.platform.messaging.domain.cud.securitites.CouponPeriodUpdateRequest; @@ -33,11 +32,6 @@ public class CouponPeriodServiceTest extends AbstractServiceTest { super.init(); } - /** - * {@link CouponPeriodService#newCouponPeriod(BaseRequest)}
- * Тест проверяет генерацию сущности {@link CouponPeriod} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link CouponPeriodNewRequest}:
- */ @Test public void testNewCurrency() { clearAllInImdg(couponPeriodImdg); @@ -55,14 +49,9 @@ public class CouponPeriodServiceTest extends AbstractServiceTest { request.setPeriodStartDate(LocalDate.ofEpochDay(0)); request.setCouponRate(BigDecimal.TEN); request.setNumber(Long.MAX_VALUE); - - - //ACT String jsonString = getJsonStringForNew(request, ID); addRecordToKafka((MockConsumer) couponPeriodService.getConsumer(), TOPIC, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); CouponPeriod result = couponPeriodImdg.getFirstObjectBySQL(String.format("securityId = %s", currencyPrediction.getSecurityId())); @@ -70,11 +59,6 @@ public class CouponPeriodServiceTest extends AbstractServiceTest { COUPON_PERIOD_MATCHER.assertMatch(result, currencyPrediction); } - /** - * {@link CouponPeriodService#updateCouponPeriod(BaseRequest)} - * Тест проверяет обновление сущности {@link CouponPeriod} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link CouponPeriodUpdateRequest}:
- */ @Test public void testUpdateCurrency() { clearAllInImdg(couponPeriodImdg); @@ -105,13 +89,9 @@ public class CouponPeriodServiceTest extends AbstractServiceTest { request.setSecurityId(securityId); request.setPeriodEndDate(testStartDate); request.setPeriodStartDate(testEndDate); - - //ACT String jsonString = getJsonStringForUpdate(request, id); addRecordToKafka((MockConsumer) couponPeriodService.getConsumer(), TOPIC, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(id, mockProducer); CouponPeriod result = couponPeriodImdg.getFirstObjectBySQL(String.format("securityId = %s", predictableCoupon.getSecurityId())); diff --git a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/CurrencyServiceTest.java b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/CurrencyServiceTest.java index 0ed07c7ef..03da391b5 100644 --- a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/CurrencyServiceTest.java +++ b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/CurrencyServiceTest.java @@ -4,7 +4,6 @@ import org.apache.kafka.clients.consumer.MockConsumer; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import ru.clearing.classes.statics.data.misc.Currency; -import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.cud.securitites.CurrencyNewRequest; import ru.spcex.clearing.platform.messaging.domain.cud.securitites.CurrencyUpdateRequest; @@ -31,11 +30,6 @@ public class CurrencyServiceTest extends AbstractServiceTest { super.init(); } - /** - * {@link CurrencyService#newCurrency(BaseRequest)}
- * Тест проверяет генерацию сущности {@link Currency} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link CurrencyNewRequest}:
- */ @Test public void testNewCurrency() { clearAllInImdg(currencyImdg); @@ -47,13 +41,9 @@ public class CurrencyServiceTest extends AbstractServiceTest { final CurrencyNewRequest request = new CurrencyNewRequest(); request.setCountryCode(countryCode); request.setCurrencyCode(currencyCode); - - //ACT String jsonString = getJsonStringForNew(request, ID); addRecordToKafka((MockConsumer) currencyService.getConsumer(), TOPIC, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); Currency result = currencyImdg.getFirstObjectBySQL(String.format("countryCode = %s", currencyPrediction.getCountryCode())); @@ -61,11 +51,6 @@ public class CurrencyServiceTest extends AbstractServiceTest { CURRENCY_MATCHER.assertMatch(result, currencyPrediction); } - /** - * {@link CurrencyService#updateCurrency(BaseRequest)} - * Тест проверяет обновление сущности {@link Currency} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link CurrencyUpdateRequest}:
- */ @Test public void testUpdateCurrency() { clearAllInImdg(currencyImdg); @@ -80,13 +65,9 @@ public class CurrencyServiceTest extends AbstractServiceTest { request.setId(ID); request.setCountryCode(countryCode); request.setCurrencyCode(currencyCode); - - //ACT String jsonString = getJsonStringForUpdate(request, ID); addRecordToKafka((MockConsumer) currencyService.getConsumer(), TOPIC, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); Currency result = currencyImdg.getFirstObjectBySQL(String.format("countryCode = %s", currencyPrediction.getCountryCode())); diff --git a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/EquitySecurityServiceTest.java b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/EquitySecurityServiceTest.java index 236029adf..6fbfcc627 100644 --- a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/EquitySecurityServiceTest.java +++ b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/EquitySecurityServiceTest.java @@ -6,7 +6,6 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import ru.clearing.classes.statics.data.instrument.issue.EquitySecurity; import ru.clearing.classes.statics.data.misc.Listing; -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.securitites.EquitySecurityNewRequest; @@ -35,11 +34,6 @@ public class EquitySecurityServiceTest extends AbstractServiceTest { super.init(); } - /** - * {@link EquitySecurityService#newEquity(BaseRequest)}
- * Тест проверяет генерацию сущности {@link EquitySecurity} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link EquitySecurityNewRequest}:
- */ @Test public void testNewEquity() { clearAllInImdg(equitySecurityImdg); @@ -49,13 +43,9 @@ public class EquitySecurityServiceTest extends AbstractServiceTest { final EquitySecurityNewRequest request = getEquitySecurityNewRequest(equityPrediction); Listing listingPrediction = ListingBuilder.builder() .append(equityPrediction).append(request).build(); - - //ACT String jsonString = getJsonStringForNew(request, ID); addRecordToKafka((MockConsumer) equitySecurityService.getConsumer(), TOPIC, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); EquitySecurity equityResult = equitySecurityImdg.getFirstObjectBySQL(String.format("fullName = %s", equityPrediction.getFullName())); @@ -65,9 +55,6 @@ public class EquitySecurityServiceTest extends AbstractServiceTest { Listing listingResult = listingImdg.getFirstObjectByFieldValues(Map.of("securityId", equityPrediction.getId())); Assertions.assertNull(listingResult); -// listingPrediction.setId(listingResult.getId()); -// listingPrediction.setSecurityId(listingResult.getSecurityId()); -// LISTING_MATCHER.assertMatch(listingResult, listingPrediction); } public Listing updateListingByEquity(EquitySecurity equitySecurity, Listing listing) { @@ -81,11 +68,6 @@ public class EquitySecurityServiceTest extends AbstractServiceTest { return listing; } - /** - * {@link EquitySecurityService#updateEquity(BaseRequest)} - * Тест проверяет обновление сущности {@link EquitySecurity} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link EquitySecurityUpdateRequest}:
- */ @Test public void testUpdateEquity() { clearAllInImdg(equitySecurityImdg); @@ -98,35 +80,17 @@ public class EquitySecurityServiceTest extends AbstractServiceTest { equityPrediction.setFullName(fullName); equityPrediction.setLotSize(BigDecimal.valueOf(updateLotSize)); final EquitySecurityUpdateRequest request = getEquitySecurityUpdateRequest(equityPrediction); -// Listing listingPrediction = new Listing(); -// listingPrediction = equitySecurityService.updateListingByEquity(equityPrediction, listingPrediction); -// listingImdg.insert(listingPrediction); - - //ACT String jsonString = getJsonStringForUpdate(request, ID); addRecordToKafka((MockConsumer) equitySecurityService.getConsumer(), TOPIC, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); EquitySecurity equityResult = equitySecurityImdg.getFirstObjectBySQL(String.format("fullName = %s", equityPrediction.getFullName())); equityPrediction.setId(equityResult.getId()); equityPrediction.setSecurityId(equityResult.getSecurityId()); EQUITY_SECURITY_MATCHER.assertMatch(equityResult, equityPrediction); - -// Listing listingResult = listingImdg.getSingleObjectByFieldValues(Map.of("securityId", equityPrediction.getId())); -// listingPrediction.setId(listingResult.getId()); -// listingPrediction.setSecurityId(listingResult.getSecurityId()); -// LISTING_MATCHER.assertMatch(listingResult, listingPrediction); } - /** - * {@link EquitySecurityService#deleteEquity(BaseRequest)}
- * Тест проверяет удаление сущности {@link EquitySecurity} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link CommonDeleteRequest}:
- * {@link CommonDeleteRequest#id} - Идентификатор записи
- */ @Test public void testDeleteEquity() { clearAllInImdg(equitySecurityImdg); @@ -137,30 +101,18 @@ public class EquitySecurityServiceTest extends AbstractServiceTest { equityPrediction.setWorkflowStatus(ru.spcex.platform.enumeration.Status.Blocked.getKey()); Listing listingPrediction = new Listing(); -// listingPrediction = equitySecurityService.updateListingByEquity(equityPrediction, listingPrediction); -// listingImdg.insert(listingPrediction); -// listingPrediction.setWorkflowStatus(ru.spcex.platform.enumeration.Status.Blocked.getKey()); CommonDeleteRequest commonDeleteRequest = new CommonDeleteRequest(); commonDeleteRequest.setId(ID); - - //ACT String jsonString = getJsonStringForDelete(commonDeleteRequest, ID); addRecordToKafka((MockConsumer) equitySecurityService.getConsumer(), TOPIC, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); EquitySecurity equityResult = equitySecurityImdg.getFirstObjectBySQL(String.format("fullName = %s", equityPrediction.getFullName())); equityPrediction.setId(equityResult.getId()); equityPrediction.setSecurityId(equityResult.getSecurityId()); EQUITY_SECURITY_MATCHER.assertMatch(equityResult, equityPrediction); - -// Listing listingResult = listingImdg.getSingleObjectByFieldValues(Map.of("securityId", equityPrediction.getId())); -// listingPrediction.setId(listingResult.getId()); -// listingPrediction.setSecurityId(listingResult.getSecurityId()); -// LISTING_MATCHER.assertMatch(listingResult, listingPrediction); } private EquitySecurity getEquitySecurity() { diff --git a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/FixedIncomeCashFlowServiceTest.java b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/FixedIncomeCashFlowServiceTest.java index cbc899bbf..47e7450a0 100644 --- a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/FixedIncomeCashFlowServiceTest.java +++ b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/FixedIncomeCashFlowServiceTest.java @@ -79,7 +79,6 @@ class FixedIncomeCashFlowServiceTest { @Test void fixedIncomeCashFlowNewTest() { - //ARRANGE clearAllInImdg(fixedIncomeCashFlowImdg); FixedIncomeCashFlowNewRequest newRequest = new FixedIncomeCashFlowNewRequest(); newRequest.setSecuritySymbol(SECURITY_SYMBOL_STR); @@ -94,13 +93,9 @@ class FixedIncomeCashFlowServiceTest { predictableFixedIncomeCashFlow.setAccruedCoupon(TEST_BIG_DECIMAL); predictableFixedIncomeCashFlow.setNumber(TEST_LONG); predictableFixedIncomeCashFlow.setValueDate(TEST_DATE); - - //ACT String jsonString = getJsonStringForNew(newRequest, ID); addRecordToKafka((MockConsumer) fixedIncomeCashFlowService.getConsumer(), TOPIC_FIXED_INCOME_CASH_FLOW_NEW, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); FixedIncomeCashFlow resultNew = fixedIncomeCashFlowImdg.getFirstObjectBySQL(String.format("securityId = %s", SECURITY_SYMBOL_STR)); predictableFixedIncomeCashFlow.setId(resultNew.getId()); @@ -109,7 +104,6 @@ class FixedIncomeCashFlowServiceTest { @Test void fixedIncomeCashFlowUpdateTest() { - //ARRANGE FixedIncomeCashFlow existFixedIncomeCashFlow = new FixedIncomeCashFlow(); existFixedIncomeCashFlow.setSecurityId(SECURITY_SYMBOL_LONG); existFixedIncomeCashFlow.setNominalValue(BigDecimal.ZERO); @@ -132,13 +126,9 @@ class FixedIncomeCashFlowServiceTest { predictableFixedIncomeCashFlow.setAccruedCoupon(TEST_BIG_DECIMAL); predictableFixedIncomeCashFlow.setNumber(TEST_LONG); predictableFixedIncomeCashFlow.setValueDate(TEST_DATE); - - //ACT String jsonString = getJsonStringForUpdate(updateRequest, id); addRecordToKafka((MockConsumer) fixedIncomeCashFlowService.getConsumer(), TOPIC_FIXED_INCOME_CASH_FLOW_UPDATE, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(id, mockProducer); FixedIncomeCashFlow resultUpdate = fixedIncomeCashFlowImdg.getFirstObjectBySQL(String.format("securityId = %s", SECURITY_SYMBOL_STR)); predictableFixedIncomeCashFlow.setId(id); diff --git a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/FixedIncomeSecurityServiceTest.java b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/FixedIncomeSecurityServiceTest.java index c6479a851..1d6280249 100644 --- a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/FixedIncomeSecurityServiceTest.java +++ b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/FixedIncomeSecurityServiceTest.java @@ -6,7 +6,6 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import ru.clearing.classes.statics.data.instrument.issue.FixedIncomeSecurity; import ru.clearing.classes.statics.data.misc.Listing; -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.securitites.FixedIncomeSecurityNewRequest; @@ -35,11 +34,6 @@ public class FixedIncomeSecurityServiceTest extends AbstractServiceTest { super.init(); } - /** - * {@link FixedIncomeSecurityService#newFixedIncome(BaseRequest)}
- * Тест проверяет генерацию сущности {@link FixedIncomeSecurity} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link FixedIncomeSecurityNewRequest}:
- */ @Test public void newFixedIncome() { clearAllInImdg(fixedIncomeSecurityImdg); @@ -49,13 +43,9 @@ public class FixedIncomeSecurityServiceTest extends AbstractServiceTest { final FixedIncomeSecurityNewRequest request = getFixedIncomeSecurityNewRequest(fixedIncomePrediction); Listing listingPrediction = ListingBuilder.builder() .append(fixedIncomePrediction).append(request).build(); - - //ACT String jsonString = getJsonStringForNew(request, ID); addRecordToKafka((MockConsumer) fixedIncomeSecurityService.getConsumer(), TOPIC, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); FixedIncomeSecurity equityResult = fixedIncomeSecurityImdg.getFirstObjectBySQL(String.format("fullName = %s", fixedIncomePrediction.getFullName())); @@ -65,9 +55,6 @@ public class FixedIncomeSecurityServiceTest extends AbstractServiceTest { Listing listingResult = listingImdg.getFirstObjectByFieldValues(Map.of("securityId", fixedIncomePrediction.getId())); Assertions.assertNull(listingResult); -// listingPrediction.setId(listingResult.getId()); -// listingPrediction.setSecurityId(listingResult.getSecurityId()); -// LISTING_MATCHER.assertMatch(listingResult, listingPrediction); } public Listing updateListingByFixedIncome(FixedIncomeSecurity fixedIncomeSecurity, Listing listing) { @@ -80,11 +67,6 @@ public class FixedIncomeSecurityServiceTest extends AbstractServiceTest { listing.setUpdated(fixedIncomeSecurity.getUpdated()); return listing; } - /** - * {@link FixedIncomeSecurityService#updateFixedIncome(BaseRequest)} - * Тест проверяет обновление сущности {@link FixedIncomeSecurity} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link FixedIncomeSecurityUpdateRequest}:
- */ @Test public void updateFixedIncome() { clearAllInImdg(moneyMarketSecurityMap); @@ -98,35 +80,17 @@ public class FixedIncomeSecurityServiceTest extends AbstractServiceTest { fixedIncomePrediction.setFullName(fullName); fixedIncomePrediction.setLotSize(BigDecimal.valueOf(updateLotSize)); final FixedIncomeSecurityUpdateRequest request = getFixedIncomeSecurityUpdateRequest(fixedIncomePrediction); -// Listing listingPrediction = new Listing(); -// listingPrediction = fixedIncomeSecurityService.updateListingByFixedIncome(fixedIncomePrediction, listingPrediction); -// listingImdg.insert(listingPrediction); - - //ACT String jsonString = getJsonStringForUpdate(request, ID); addRecordToKafka((MockConsumer) fixedIncomeSecurityService.getConsumer(), TOPIC, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); FixedIncomeSecurity equityResult = fixedIncomeSecurityImdg.getFirstObjectBySQL(String.format("fullName = %s", fixedIncomePrediction.getFullName())); fixedIncomePrediction.setId(equityResult.getId()); fixedIncomePrediction.setSecurityId(equityResult.getSecurityId()); FIXED_INCOME_SECURITY_MATCHER.assertMatch(equityResult, fixedIncomePrediction); - -// Listing listingResult = listingImdg.getSingleObjectByFieldValues(Map.of("securityId", fixedIncomePrediction.getId())); -// listingPrediction.setId(listingResult.getId()); -// listingPrediction.setSecurityId(listingResult.getSecurityId()); -// LISTING_MATCHER.assertMatch(listingResult, listingPrediction); } - /** - * {@link FixedIncomeSecurityService#deleteFixedIncome(BaseRequest)}
- * Тест проверяет удаление сущности {@link FixedIncomeSecurity} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link CommonDeleteRequest}:
- * {@link CommonDeleteRequest#id} - Идентификатор записи
- */ @Test public void deleteFixedIncome() { clearAllInImdg(moneyMarketSecurityMap); @@ -137,30 +101,18 @@ public class FixedIncomeSecurityServiceTest extends AbstractServiceTest { fixedIncomePrediction.setWorkflowStatus(ru.spcex.platform.enumeration.Status.Blocked.getKey()); Listing listingPrediction = new Listing(); -// listingPrediction = fixedIncomeSecurityService.updateListingByFixedIncome(fixedIncomePrediction, listingPrediction); -// listingImdg.insert(listingPrediction); -// listingPrediction.setWorkflowStatus(ru.spcex.platform.enumeration.Status.Blocked.getKey()); CommonDeleteRequest commonDeleteRequest = new CommonDeleteRequest(); commonDeleteRequest.setId(ID); - - //ACT String jsonString = getJsonStringForDelete(commonDeleteRequest, ID); addRecordToKafka((MockConsumer) fixedIncomeSecurityService.getConsumer(), TOPIC, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); FixedIncomeSecurity equityResult = fixedIncomeSecurityImdg.getFirstObjectBySQL(String.format("fullName = %s", fixedIncomePrediction.getFullName())); fixedIncomePrediction.setId(equityResult.getId()); fixedIncomePrediction.setSecurityId(equityResult.getSecurityId()); FIXED_INCOME_SECURITY_MATCHER.assertMatch(equityResult, fixedIncomePrediction); - -// Listing listingResult = listingImdg.getSingleObjectByFieldValues(Map.of("securityId", fixedIncomePrediction.getId())); -// listingPrediction.setId(listingResult.getId()); -// listingPrediction.setSecurityId(listingResult.getSecurityId()); -// LISTING_MATCHER.assertMatch(listingResult, listingPrediction); } private FixedIncomeSecurity getFixedIncomeSecurity() { diff --git a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/MoneyMarketSecurityFactory.java b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/MoneyMarketSecurityFactory.java index 3e78596d8..4ecbe3dad 100644 --- a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/MoneyMarketSecurityFactory.java +++ b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/MoneyMarketSecurityFactory.java @@ -12,15 +12,15 @@ import static ru.spcex.clearing.securities.service.AbstractServiceTest.*; class MoneyMarketSecurityFactory { - private String nominalCurrency = currencyCode; // (linked to currencyCode) + private String nominalCurrency = currencyCode; private Long id = 0L; - private Long securityId = 0L;// (linked to security) + private Long securityId = 0L; private String description = "tsetse"; private BigDecimal lotSize = BigDecimal.valueOf(341.0); private LocalDate startDate = LocalDate.ofEpochDay(0); private LocalDate endDate = LocalDate.now(); private BigDecimal nominalValue = BigDecimal.valueOf(11.0); - private String instrumentType = RATE; // (linked to instrumentType) + private String instrumentType = RATE; private String fullName = "estat"; private String shortName = "esasdftat"; private String securitySymbol = "sdfafd"; diff --git a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/MoneyMarketSecurityServiceTest.java b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/MoneyMarketSecurityServiceTest.java index 98da455b2..97c059ba8 100644 --- a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/MoneyMarketSecurityServiceTest.java +++ b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/MoneyMarketSecurityServiceTest.java @@ -6,7 +6,6 @@ import org.springframework.beans.factory.annotation.Autowired; import ru.clearing.classes.statics.data.misc.Listing; import ru.clearing.classes.statics.data.security.MoneyMarketSecurity; 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.securitites.MoneyMarketSecurityNewRequest; @@ -45,18 +44,6 @@ public class MoneyMarketSecurityServiceTest extends AbstractServiceTest { moneyMarketSecurityFactory.setId(ID); } - /** - * {@link MoneyMarketSecurityService#newMoneyMarket(BaseRequest)}
- * Тест проверяет генерацию сущности {@link MoneyMarketSecurity} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link MoneyMarketSecurityNewRequest}:
- * {@link MoneyMarketSecurityNewRequest#lotSize} - 1.0
- * {@link MoneyMarketSecurityNewRequest#startDate} - текущее колличество секунд с 1970-01-01T00:00:00Z.
- * {@link MoneyMarketSecurityNewRequest#endDate} - текущее колличество секунд с 1970-01-01T00:00:00Z.
- * {@link MoneyMarketSecurityNewRequest#nominalValue} - 1.0
- * {@link MoneyMarketSecurityNewRequest#nominalCurrency} - 1L
- * {@link MoneyMarketSecurityNewRequest#instrumentType} - "sdgaga"
- * {@link MoneyMarketSecurityNewRequest#fullName} - "estat"
- */ @Test public void testNewMoneyMarketSecurity() { clearAllInImdg(moneyMarketSecurityMap); @@ -68,13 +55,9 @@ public class MoneyMarketSecurityServiceTest extends AbstractServiceTest { .getMoneyMarketSecurityNewRequest(); Listing listingPrediction = ListingBuilder.builder() .append(moneyMarketSecurityPrediction).append(keyRequest).build(); - - //ACT String jsonString = getJsonStringForNew(keyRequest, ID); addRecordToKafka((MockConsumer) moneyMarketSecurityService.getConsumer(), TOPIC, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); MoneyMarketSecurity moneyMarketSecurityResult = moneyMarketSecurityMap.getFirstObjectBySQL(String.format("fullName = %s", moneyMarketSecurityFactory.getFullName())); @@ -88,53 +71,6 @@ public class MoneyMarketSecurityServiceTest extends AbstractServiceTest { LISTING_MATCHER.assertMatch(listingResult, listingPrediction); } -// @Test todo тест с проверкой валидатора -// public void testNewMoneyMarketSecurity2() { -// clearAllInImdg(moneyMarketSecurityMap); -// final String TOPIC = Consts.DESTINATION_MONEY_MARKET_SECURITY_NEW; -// -// final MoneyMarketSecurity moneyMarketSecurityPrediction = moneyMarketSecurityFactory -// .getMoneyMarketSecurity(); -// final MoneyMarketSecurityNewRequest keyRequest = moneyMarketSecurityFactory -// .getMoneyMarketSecurityNewRequest(); -// Listing listingPrediction = ListingBuilder.builder() -// .append(moneyMarketSecurityPrediction).append(keyRequest).build(); -// -// // Создание копии инструмента - не должен задублировать его -// MoneyMarketSecurity existMMS = new MoneyMarketSecurity(); -// existMMS.setId(123L); -// existMMS.setSecuritySymbol(keyRequest.getSecuritySymbol()); -// existMMS.setWorkflowStatus(WorkflowStatus.Active.getKey()); -// moneyMarketSecurityMap.insert(existMMS); -// -// //ACT -// String jsonString = getJsonStringForNew(keyRequest, ID); -// -// addRecordToKafka((MockConsumer) moneyMarketSecurityService.getConsumer(), TOPIC, PARTITION, 0, jsonString); -// -// //ASSERT -// waitingWhenTryAddRecordAndCheckError(ID, mockProducer, -// "1010" //SecuritiesError.InstrumentAlreadyExists -// , Arrays.asList("")); -// waitingSendAndCheckRecord(ID, mockProducer); -// -// MoneyMarketSecurity moneyMarketSecurityResult = moneyMarketSecurityMap.getSingleObjectBySQL(String.format("fullName = %s", moneyMarketSecurityFactory.getFullName())); -// moneyMarketSecurityPrediction.setId(moneyMarketSecurityResult.getId()); -// moneyMarketSecurityPrediction.setSecurityId(moneyMarketSecurityResult.getSecurityId()); -// MONEY_MARKET_SECURITY_MATCHER.assertMatch(moneyMarketSecurityResult, moneyMarketSecurityPrediction); -// -// Listing listingResult = listingImdg.getSingleObjectByFieldValues(Map.of("securityId", moneyMarketSecurityPrediction.getId())); -// listingPrediction.setId(listingResult.getId()); -// listingPrediction.setSecurityId(listingResult.getSecurityId()); -// LISTING_MATCHER.assertMatch(listingResult, listingPrediction); -// } - - /** - * {@link MoneyMarketSecurityService#deleteMoneyMarket(BaseRequest)}
- * Тест проверяет удаление сущности {@link MoneyMarketSecurity} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link CommonDeleteRequest}:
- * {@link CommonDeleteRequest#id} - Идентификатор записи
- */ @Test public void testDeleteMoneyMarket() { clearAllInImdg(moneyMarketSecurityMap); @@ -152,13 +88,9 @@ public class MoneyMarketSecurityServiceTest extends AbstractServiceTest { CommonDeleteRequest commonDeleteRequest = new CommonDeleteRequest(); commonDeleteRequest.setId(ID); - - //ACT String jsonString = getJsonStringForDelete(commonDeleteRequest, ID); addRecordToKafka((MockConsumer) moneyMarketSecurityService.getConsumer(), TOPIC, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); MoneyMarketSecurity moneyMarketSecurityResult = moneyMarketSecurityMap.getFirstObjectBySQL(String.format("fullName = %s", moneyMarketSecurityFactory.getFullName())); @@ -170,16 +102,6 @@ public class MoneyMarketSecurityServiceTest extends AbstractServiceTest { LISTING_MATCHER.assertMatch(listingResult, listingPrediction); } - /** - * {@link MoneyMarketSecurityService#updateMoneyMarket(BaseRequest)} - * Тест проверяет обновление сущности {@link MoneyMarketSecurity} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link MoneyMarketSecurityUpdateRequest}:
- * {@link MoneyMarketSecurityUpdateRequest#fullName} - sfgsdfg
- * {@link MoneyMarketSecurityUpdateRequest#instrumentType} - qwerqwe
- * {@link MoneyMarketSecurityUpdateRequest#nominalCurrency} - RUB
- * {@link MoneyMarketSecurityUpdateRequest#nominalValue} - 2.0
- * {@link MoneyMarketSecurityUpdateRequest#endDate} - текущее колличество секунд с 1970-01-01T00:00:00Z + (24 * 3600)
- */ @Test public void testUpdateMoneyMarket() { clearAllInImdg(moneyMarketSecurityMap); @@ -201,13 +123,9 @@ public class MoneyMarketSecurityServiceTest extends AbstractServiceTest { listingPrediction = moneyMarketSecurityService.updateListingByMms(moneyMarketSecurityPrediction, listingPrediction); listingImdg.insert(listingPrediction); listingPrediction.setLotSize(updateLotSize); - - //ACT String jsonString = getJsonStringForUpdate(keyRequest, ID); addRecordToKafka((MockConsumer) moneyMarketSecurityService.getConsumer(), TOPIC, PARTITION, 0, jsonString); - - //ASSERT waitingSendAndCheckRecord(ID, mockProducer); MoneyMarketSecurity moneyMarketSecurityResult = moneyMarketSecurityMap.getFirstObjectBySQL(String.format("fullName = %s", moneyMarketSecurityFactory.getFullName())); diff --git a/clearing-parent/security-util/src/main/java/ru/spcex/clearing/util/security/SecuritySelector.java b/clearing-parent/security-util/src/main/java/ru/spcex/clearing/util/security/SecuritySelector.java index bbc7f9794..a5459b898 100644 --- a/clearing-parent/security-util/src/main/java/ru/spcex/clearing/util/security/SecuritySelector.java +++ b/clearing-parent/security-util/src/main/java/ru/spcex/clearing/util/security/SecuritySelector.java @@ -32,6 +32,6 @@ public class SecuritySelector { security = equitySecurity.getSingleObjectByID(securityId); if (security != null) return security; - return security; // null + return security; } } diff --git a/clearing-parent/security-util/src/main/java/ru/spcex/clearing/util/security/UserRoleVerification.java b/clearing-parent/security-util/src/main/java/ru/spcex/clearing/util/security/UserRoleVerification.java index 857550147..87d098452 100644 --- a/clearing-parent/security-util/src/main/java/ru/spcex/clearing/util/security/UserRoleVerification.java +++ b/clearing-parent/security-util/src/main/java/ru/spcex/clearing/util/security/UserRoleVerification.java @@ -19,14 +19,6 @@ import ru.spcex.platform.utils.error.ValidationException; import java.util.Collection; import java.util.Objects; -/** - * Проверка дополнительных прав пользователя. - *

- * Основная проверка прав осуществляется на frontend-api, и использовать этот компонент дополнительно не требуется. - *

- * Использовать @Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE), требует задание роли через setRoleForVerification(role). - * Либо роль можно задать во втором конструкторе, переопределив её где требуется (если используется scope prototype) - */ public class UserRoleVerification { protected Logger log = LoggerFactory.getLogger(getClass()); @@ -46,7 +38,6 @@ public class UserRoleVerification { this.roleVerificationError = roleVerificationError; } - //нужен чтобы спринг мог создать бин private UserRoleVerification(){} public UserRoleVerification(ImdgProvider imdg, IMessageResolver messageResolver, @@ -107,44 +98,4 @@ public class UserRoleVerification { this.roleForVerification = roleForVerification; return this; } - -// public UserRoleVerification(ImdgProvider imdg, UserRole roleForVerification, IErrorEnumId roleVerificationError) { -// userRoleSessions = imdg.getImdg(IMDGDistributedNames.Map_UserRoleSession, UserRoleSession.class); -// companyRoleSet = imdg.getImdg(IMDGDistributedNames.Map_CompanyRoleSet, CompanyRoleSet.class); -// this.roleForVerification = roleForVerification; -// this.roleVerificationError = roleVerificationError; -// } -// protected Imdg companyRoleSet; -// protected Imdg users; -// -// public boolean userHasRole(Long userId, Long companyId, String userRole) { -// String query = String.format("userId=%s and companyId=%s and userRole=%s and status=%s", -// userId, companyId, userRole, Status.Active.getKey()); -// Collection roles = userRoleSessions.getCollectionIdsBySQL(query); -// log.trace("userHasRole: found {} roles by query: {}", roles.size(), query); -// return !roles.isEmpty(); -// } - - // userIsEnabled & exist - frontend-api validation - - -// public boolean userHasRole(Long userId, Long companyId, IEnumKey role) { -// return userHasRole(userId, companyId, role == null ? null : role.getKey()); -// } - -// public boolean userHasRoleOnObject(Long userId, BusinessObject /*todo WithUserId / WithCompany */ bObject) { -// todo impl -// return true; -// } - - -// public boolean companyHasRole(Long companyId, String companyRole) { -// String query = String.format("companyId=%s and companyRole=%s and workflowStatus=%s", -// companyId, companyRole, Status.Active.getKey()); -// Collection roles = companyRoleSet.getCollectionIdsBySQL(query); -// log.trace("companyHasRole: found {} roles by query: {}", roles.size(), query); -// if (roles.isEmpty()) return false; - //todo impl -// return true; -// } } diff --git a/clearing-parent/swt-exporter/src/main/java/ru/spcex/clearing/swt/exporter/config/KafkaConfig.java b/clearing-parent/swt-exporter/src/main/java/ru/spcex/clearing/swt/exporter/config/KafkaConfig.java index 69df8cc0a..ee5b1b881 100644 --- a/clearing-parent/swt-exporter/src/main/java/ru/spcex/clearing/swt/exporter/config/KafkaConfig.java +++ b/clearing-parent/swt-exporter/src/main/java/ru/spcex/clearing/swt/exporter/config/KafkaConfig.java @@ -10,12 +10,12 @@ import org.springframework.context.annotation.Scope; import org.springframework.kafka.core.KafkaTemplate; import org.springframework.kafka.core.ProducerFactory; import ru.spcex.clearing.imdg.IMDGDistributedNames; -import ru.spcex.clearing.platform.messaging.config.element.KafkaProducerSettings; -import ru.spcex.clearing.swt.exporter.config.settings.ExportSwtServiceSettings; import ru.spcex.clearing.platform.messaging.config.KafkaConsumerFactory; import ru.spcex.clearing.platform.messaging.config.KafkaProducerFactory; +import ru.spcex.clearing.platform.messaging.config.element.KafkaProducerSettings; import ru.spcex.clearing.platform.messaging.service.RequestInfo; import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender; +import ru.spcex.clearing.swt.exporter.config.settings.ExportSwtServiceSettings; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgId; import ru.spcex.platform.imdg.api.ImdgProvider; @@ -38,7 +38,7 @@ public class KafkaConfig { @Bean public ProducerFactory pf(ExportSwtServiceSettings settings) { KafkaProducerSettings kafkaSettings = settings.getKafkaProducer(); - return KafkaProducerFactory.producerFactory(kafkaSettings); // Использует специальный сериализатор в JSON + return KafkaProducerFactory.producerFactory(kafkaSettings); } @Bean("kafkaTemplate") diff --git a/clearing-parent/swt-exporter/src/main/java/ru/spcex/clearing/swt/exporter/config/settings/ExportSwtServiceSettings.java b/clearing-parent/swt-exporter/src/main/java/ru/spcex/clearing/swt/exporter/config/settings/ExportSwtServiceSettings.java index 28f95aace..737c4f85f 100644 --- a/clearing-parent/swt-exporter/src/main/java/ru/spcex/clearing/swt/exporter/config/settings/ExportSwtServiceSettings.java +++ b/clearing-parent/swt-exporter/src/main/java/ru/spcex/clearing/swt/exporter/config/settings/ExportSwtServiceSettings.java @@ -16,7 +16,6 @@ public class ExportSwtServiceSettings { private KafkaProducerSettings kafkaProducer; private String docOut; - //todo ??? private Long interval public HazelcastClientParams getHazelcast() { diff --git a/clearing-parent/swt-exporter/src/main/java/ru/spcex/clearing/swt/exporter/services/AbstractExporterService.java b/clearing-parent/swt-exporter/src/main/java/ru/spcex/clearing/swt/exporter/services/AbstractExporterService.java index 53e962ffe..48540534e 100644 --- a/clearing-parent/swt-exporter/src/main/java/ru/spcex/clearing/swt/exporter/services/AbstractExporterService.java +++ b/clearing-parent/swt-exporter/src/main/java/ru/spcex/clearing/swt/exporter/services/AbstractExporterService.java @@ -13,10 +13,14 @@ import ru.spcex.platform.enumeration.SwtTable; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgProvider; -import java.io.*; +import java.io.ByteArrayOutputStream; +import java.io.OutputStream; +import java.io.PrintWriter; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; -import java.util.*; +import java.util.Collection; +import java.util.Objects; +import java.util.Optional; import static ru.spcex.clearing.platform.messaging.domain.Consts.JOURNAL_SERVICE; @@ -74,7 +78,7 @@ public abstract class AbstractExporterService { data = outBuffer.toByteArray(); } fileStorage.saveFile(fileName, data); - } catch (Exception e) { // IOException, ... + } catch (Exception e) { log.error("Failed export {} file", fileName); sendSwtExportedNotification(exportAt, null, ResultStatuses.notSuccess); throw new RuntimeException(e); @@ -107,12 +111,6 @@ public abstract class AbstractExporterService { } - /** - * @param type DF-09 - * @param section bond/fund/"" - * @param atTime LocalDateTime.now(), если null - текущее время - * @return пример "KS_RDC_DF-12_bond_220907151804503.txt" - */ protected String formatFileName(String type, String section, LocalDateTime atTime) { Objects.requireNonNull(type); if (section == null) section = ""; @@ -122,20 +120,16 @@ public abstract class AbstractExporterService { return String.format("KS_RDC_%s_%s%s.txt", type, section, dt); } - // Выборка protected Collection selectItems() { return sdfImdg.getAllValues(); } - // Конвертация (поля см. meta.xml) protected abstract String convertRecord(T record, ConvertionContext context); -// protected abstract String[] swtHeader(); - protected void makeSWTData(SWTHeaderData header, Collection records, OutputStream outStream) { try (PrintWriter out = new PrintWriter(outStream)) { out.print(header.buildString()); - int counter = 1; // нумерация начинается с 1 + int counter = 1; int totalSize = records.size(); for (T row : records) { ConvertionContext context = new ConvertionContext(mapClass, counter, totalSize); diff --git a/clearing-parent/swt-exporter/src/main/java/ru/spcex/clearing/swt/exporter/services/LauncherCommandReceiver.java b/clearing-parent/swt-exporter/src/main/java/ru/spcex/clearing/swt/exporter/services/LauncherCommandReceiver.java index f32040c21..e368f4bd7 100644 --- a/clearing-parent/swt-exporter/src/main/java/ru/spcex/clearing/swt/exporter/services/LauncherCommandReceiver.java +++ b/clearing-parent/swt-exporter/src/main/java/ru/spcex/clearing/swt/exporter/services/LauncherCommandReceiver.java @@ -28,9 +28,6 @@ public class LauncherCommandReceiver extends QueueConsumer implements Initializi @Override public void afterPropertiesSet() { -// callback(LauncherCommandRequest.class) -// .setConsumer(this::exportAll) -// .forDestination(Task.unloadingSession_LIMM.topic(), callbacks::put); // todo task name? callback(SwtExporterRequest.class) .setConsumer(this::exportSpecial) .forDestination(Consts.SWT_EXPORTER, callbacks::put); @@ -64,6 +61,5 @@ public class LauncherCommandReceiver extends QueueConsumer implements Initializi } } log.error("SWT export not execute for type \"{}\" - unknown command", req.getType()); - //todo return error? } } diff --git a/clearing-parent/swt-exporter/src/main/java/ru/spcex/clearing/swt/exporter/services/exportimpl/DF12Exporter.java b/clearing-parent/swt-exporter/src/main/java/ru/spcex/clearing/swt/exporter/services/exportimpl/DF12Exporter.java index 0b4314f9f..94e57f098 100644 --- a/clearing-parent/swt-exporter/src/main/java/ru/spcex/clearing/swt/exporter/services/exportimpl/DF12Exporter.java +++ b/clearing-parent/swt-exporter/src/main/java/ru/spcex/clearing/swt/exporter/services/exportimpl/DF12Exporter.java @@ -36,7 +36,7 @@ public class DF12Exporter extends AbstractExporterService { @Override protected String sectionForFileName() { - return "bond"; // todo bond / fund + return "bond"; } @Override @@ -46,10 +46,6 @@ public class DF12Exporter extends AbstractExporterService { @Override protected String getDocumentNameForJournal() { - //todo Выбор: - // Распоряжение на проведение операций по итогам клиринга (Фондовая секция) - //или - // Распоряжение на проведение операций по итогам клиринга (ОФЗ, ОБР) return "Распоряжение на проведение операций по итогам клиринга (Фондовая секция / ОФЗ, ОБР)"; } @@ -58,7 +54,7 @@ public class DF12Exporter extends AbstractExporterService { @Override protected String convertRecord(SDf12 record, ConvertionContext context) { StringBuilder stringBuilder = new StringBuilder(); - if (!Objects.equals(lastHeader20, record.getOutDocument())) { // header + if (!Objects.equals(lastHeader20, record.getOutDocument())) { stringBuilder.append(":20:").append(record.getOutDocument()).append(lineSeparator); lastHeader20 = record.getOutDocument(); } @@ -80,7 +76,6 @@ public class DF12Exporter extends AbstractExporterService { swtHeaderData.setType(typeForHeader()); swtHeaderData.setDateTime(LocalDateTime.now()); if (record != null) { -// swtHeaderData.setValFor20Tag(record.getOutDocument()); } lastHeader20 = null; return swtHeaderData; diff --git a/clearing-parent/swt-exporter/src/main/java/ru/spcex/clearing/swt/exporter/services/exportimpl/DF14Exporter.java b/clearing-parent/swt-exporter/src/main/java/ru/spcex/clearing/swt/exporter/services/exportimpl/DF14Exporter.java index 26cd1f59f..585b4ce8e 100644 --- a/clearing-parent/swt-exporter/src/main/java/ru/spcex/clearing/swt/exporter/services/exportimpl/DF14Exporter.java +++ b/clearing-parent/swt-exporter/src/main/java/ru/spcex/clearing/swt/exporter/services/exportimpl/DF14Exporter.java @@ -1,8 +1,6 @@ package ru.spcex.clearing.swt.exporter.services.exportimpl; import org.springframework.stereotype.Service; -import ru.clearing.classes.statics.data.sdf.SDf11; -import ru.clearing.classes.statics.data.sdf.SDf12; import ru.clearing.classes.statics.data.sdf.SDf14; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender; @@ -38,7 +36,7 @@ public class DF14Exporter extends AbstractExporterService { @Override protected String sectionForFileName() { - return "bond"; // todo bond / fund + return "bond"; } @Override @@ -48,10 +46,6 @@ public class DF14Exporter extends AbstractExporterService { @Override protected String getDocumentNameForJournal() { - //todo Выбор: - // Уведомление о завершении расчетов (ОФЗ, ОБР) - //или - // Уведомление о завершении расчетов (ОФЗ, ОБР) return "Уведомление о завершении расчетов (ОФЗ, ОБР)"; } @@ -75,6 +69,5 @@ public class DF14Exporter extends AbstractExporterService { @Override protected void writeFooter(PrintWriter out, Collection records, int counter) { - // нет специального конца файла } } diff --git a/clearing-parent/swt-exporter/src/test/java/ru/spcex/clearing/swt/exporter/services/AbstractExporterServiceTest.java b/clearing-parent/swt-exporter/src/test/java/ru/spcex/clearing/swt/exporter/services/AbstractExporterServiceTest.java index db500402c..e71f47691 100644 --- a/clearing-parent/swt-exporter/src/test/java/ru/spcex/clearing/swt/exporter/services/AbstractExporterServiceTest.java +++ b/clearing-parent/swt-exporter/src/test/java/ru/spcex/clearing/swt/exporter/services/AbstractExporterServiceTest.java @@ -20,6 +20,5 @@ class AbstractExporterServiceTest extends AbstractServiceTest { String fileName = "KS_RDC_DF-14_bond_221005134616035.txt"; moneyExporterService.sendSwtExportedNotification(LocalDateTime.now(), 1L, ResultStatuses.notSuccess); - //TestUtils.waitingSendAndCheckRecord(null, mockProducer); } } \ No newline at end of file diff --git a/clearing-parent/swt-exporter/src/test/java/ru/spcex/clearing/swt/exporter/services/exportimpl/DF09ExporterTest.java b/clearing-parent/swt-exporter/src/test/java/ru/spcex/clearing/swt/exporter/services/exportimpl/DF09ExporterTest.java index ea90f9c5f..ddf0b1ae2 100644 --- a/clearing-parent/swt-exporter/src/test/java/ru/spcex/clearing/swt/exporter/services/exportimpl/DF09ExporterTest.java +++ b/clearing-parent/swt-exporter/src/test/java/ru/spcex/clearing/swt/exporter/services/exportimpl/DF09ExporterTest.java @@ -12,11 +12,10 @@ import ru.spcex.platform.utils.time.TimeUtil; import java.io.ByteArrayOutputStream; import java.io.OutputStream; import java.time.LocalDate; -import java.time.LocalTime; import java.util.ArrayList; import java.util.Collection; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertTrue; class DF09ExporterTest { @@ -46,14 +45,6 @@ class DF09ExporterTest { exporter.makeSWTData(header, records, outBytes); String out = outBytes.toString(); assertTrue(out.length() > 35); -// assertEquals("To:CSO\n" + -// "From:SPCE\n" + -// "Type:009\n" + -// "Date/Time:20230530/1457\n" + -// ":20:7cf8af93-1a5e-456e-85c7-bca92dd36797\n" + // random UUID -// ":21:test2\n" + -// "test3:test4:test5:test6:test7\n" + -// "1\n", out); } private static class TestableExporter extends DF09Exporter { diff --git a/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/controller/LauncherCommandReceiver.java b/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/controller/LauncherCommandReceiver.java index 1ca177ca6..97875dbbc 100644 --- a/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/controller/LauncherCommandReceiver.java +++ b/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/controller/LauncherCommandReceiver.java @@ -24,20 +24,17 @@ public class LauncherCommandReceiver extends QueueConsumer implements Initializi this.importer = importer; } - /** - * В реальности не используется - */ @Override public void afterPropertiesSet() { callback(LauncherCommandRequest.class) .setConsumer(action -> importer.run(ETable.S_DF_08)) - .forDestination(Task.createOrderConfirm.topic(), callbacks::put); // CORC + .forDestination(Task.createOrderConfirm.topic(), callbacks::put); callback(LauncherCommandRequest.class) .setConsumer(action -> importer.run(ETable.S_DF_10)) - .forDestination(Task.accrualOfBalance.topic(), callbacks::put); // GBAL + .forDestination(Task.accrualOfBalance.topic(), callbacks::put); callback(LauncherCommandRequest.class) .setConsumer(action -> importer.run(ETable.S_DF_13)) - .forDestination(Task.getBalance.topic(), callbacks::put); // GBLD + .forDestination(Task.getBalance.topic(), callbacks::put); init(); } } diff --git a/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/logic/data/ResultContainer.java b/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/logic/data/ResultContainer.java index de88522e4..ad014d709 100644 --- a/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/logic/data/ResultContainer.java +++ b/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/logic/data/ResultContainer.java @@ -6,9 +6,6 @@ import ru.spcex.clearing.swt.importer.logic.data.enums.StageResult; import java.io.File; import java.util.UUID; -/** - * Контейнер для передачи результата между стадиями - */ public class ResultContainer { private UUID uuid; private ETable swtTable; diff --git a/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/logic/data/enums/ColumnType.java b/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/logic/data/enums/ColumnType.java index 2a1f5a751..fddd13a5a 100644 --- a/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/logic/data/enums/ColumnType.java +++ b/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/logic/data/enums/ColumnType.java @@ -4,10 +4,6 @@ import com.linuxense.javadbf.DBFDataType; import java.sql.Types; -/** - * Типы данных в таблицах. - * Ставит в соответствие типы PostGRE и DBF - */ public enum ColumnType { VARCHAR(DBFDataType.CHARACTER, Types.VARCHAR), CHARACTER(DBFDataType.CHARACTER, Types.CHAR), diff --git a/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/logic/data/enums/ETable.java b/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/logic/data/enums/ETable.java index 076a6beb3..0a3629463 100644 --- a/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/logic/data/enums/ETable.java +++ b/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/logic/data/enums/ETable.java @@ -4,7 +4,6 @@ public enum ETable { S_DF_08("DF-08"), S_DF_10("DF-10"), S_DF_13("DF-13"); - //S_DF20("DF-20"); private final String prefix; diff --git a/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/logic/stages/ImportToDB.java b/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/logic/stages/ImportToDB.java index 99e5150da..a30e0fb5c 100644 --- a/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/logic/stages/ImportToDB.java +++ b/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/logic/stages/ImportToDB.java @@ -18,9 +18,6 @@ import java.io.InputStream; import java.nio.charset.Charset; import java.util.Map; -/** - * Заливка проверенных данных в базу - */ @Component public class ImportToDB extends Stage { private final ImportSWTServiceSettings settings; diff --git a/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/logic/stages/SWTImportKafkaMessenger.java b/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/logic/stages/SWTImportKafkaMessenger.java index 260b1f4c2..b356d5071 100644 --- a/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/logic/stages/SWTImportKafkaMessenger.java +++ b/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/logic/stages/SWTImportKafkaMessenger.java @@ -33,10 +33,6 @@ public class SWTImportKafkaMessenger implements InitializingBean { messengers.put(ETable.S_DF_13, groupId -> messageBalance(groupId, SdfTable.SDF_13)); } - /** - * отправляет в кафку сообщение, при необходимости - * (обрабатывается, например, в balance-service, clearing-service) - */ public void notifySystemIfNeeded(ETable table, Long groupId) { Consumer messenger = messengers.get(table); if (messenger != null) { diff --git a/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/logic/stages/ValidateFields.java b/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/logic/stages/ValidateFields.java index d29b5261c..0b1d2f7c0 100644 --- a/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/logic/stages/ValidateFields.java +++ b/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/logic/stages/ValidateFields.java @@ -9,9 +9,6 @@ import ru.spcex.clearing.swt.importer.logic.data.enums.StageResult; import java.nio.charset.Charset; -/** - * Фильтрация источника на предмет соответствия полей - */ @Component public class ValidateFields extends Stage implements InitializingBean { private final ImportSWTServiceSettings settings; @@ -26,9 +23,6 @@ public class ValidateFields extends Stage implements InitializingBean { return StageResult.OK; } - /** - * 1. Проверяет кодировку из настройки swt.encoding-source - */ @Override public void afterPropertiesSet() throws Exception { initSWTCharset(); diff --git a/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/ImapEvent.java b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/ImapEvent.java index d6b74267b..4c529dfd0 100644 --- a/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/ImapEvent.java +++ b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/ImapEvent.java @@ -39,14 +39,13 @@ public class ImapEvent { } public void waitWhenHappened() throws InterruptedException { - //running timer task as daemon thread Timer timer = new Timer(true); timer.scheduleAtFixedRate(new TimerTask() { boolean secondRan; @Override public void run() { - checkEventHappened.set(secondRan);//если что-то пойдет не так не тормозить основной поток + checkEventHappened.set(secondRan); secondRan = true; } }, 0, 30 * 1000); @@ -55,7 +54,6 @@ public class ImapEvent { checkEventHappened.wait(100); } } - //preparing hazelcastImdgProvider for next test iMap.removeEntryListener(listenerAdding); iMap.removeEntryListener(listenerUpdating); iMap.removeEntryListener(listenerRemoving); diff --git a/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/MatcherFactory.java b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/MatcherFactory.java index 6b5f60c45..c255df04e 100644 --- a/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/MatcherFactory.java +++ b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/MatcherFactory.java @@ -4,11 +4,6 @@ import java.util.Arrays; import static org.assertj.core.api.Assertions.assertThat; -/** - * Factory for creating test matchers. - *

- * Comparing actual and expected objects via AssertJ - */ public class MatcherFactory { public static Matcher usingIgnoringFieldsComparator(String... fieldsToIgnore) { diff --git a/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/TestObjectCreator.java b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/TestObjectCreator.java index 1cb6d557f..d43303fd2 100644 --- a/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/TestObjectCreator.java +++ b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/TestObjectCreator.java @@ -15,10 +15,6 @@ public class TestObjectCreator { this.hazelcastServiceTest = hazelcastServiceTest; } - /** - * Создаёт пользователя администратора - * @param userId - */ public void createUserAdmin(Long userId) { Imdg userImdg = hazelcastServiceTest.getImdg( IMDGDistributedNames.Map_User, User.class @@ -38,18 +34,4 @@ public class TestObjectCreator { userRoleSession.setStatus(WorkflowStatus.Active.getKey()); userRoleSessionImdg.insert(userRoleSession); } - -// public void fillWorkflowStatusDictionary() { -// Imdg workflowStatusDictionaryImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_WorkflowStatusDictionary, WorkflowStatusDictionary.class); -// WorkflowStatusDictionary ws1 = new WorkflowStatusDictionary(); -// ws1.setId(1L); -// ws1.setCode(WorkflowStatus.Active.getKey()); -// ws1.setName("Active"); -// workflowStatusDictionaryImdg.insert(ws1); -// WorkflowStatusDictionary ws2 = new WorkflowStatusDictionary(); -// ws2.setId(2L); -// ws2.setCode(WorkflowStatus.Blocked.getKey()); -// ws2.setName("Blocked"); -// workflowStatusDictionaryImdg.insert(ws2); -// } } diff --git a/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/TestUtils.java b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/TestUtils.java index e903ef4d4..b3a843806 100644 --- a/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/TestUtils.java +++ b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/TestUtils.java @@ -43,7 +43,6 @@ public class TestUtils { private static final ObjectMapper objectMapper = new ObjectMapper(); public static void waitingSendAndCheckRecord(Long id, Producer mockProducer, ArgumentCaptor producerRecord) { - //waiting for kafka send message (finale event) verify(mockProducer, timeout(30_000L).times(1)) .send(producerRecord.capture()); checkRecord(id, producerRecord); @@ -51,7 +50,6 @@ public class TestUtils { public static void waitingSendAndCheckRecord(Long id, Producer mockProducer) { ArgumentCaptor producerRecord = getCaptor(mockProducer); - //waiting for kafka send message (finale event) verify(mockProducer, timeout(30_000L).times(1)) .send(producerRecord.capture()); checkRecord(id, producerRecord); @@ -59,7 +57,6 @@ public class TestUtils { public static void waitingSendAndCheckRecord(Long id, KafkaTemplate kafkaTemplate) { ArgumentCaptor producerRecord = getCaptor(kafkaTemplate); - //waiting for kafka send message (finale event) verify(kafkaTemplate, timeout(30_000L).times(1)) .send(producerRecord.capture()); checkRecord(id, producerRecord); @@ -68,8 +65,6 @@ public class TestUtils { public static void waitingSendAndReceiveAndCheckRecord(Long id, KafkaTemplate kafkaTemplate) { ReplyingKafkaTemplate rplKafkaTemplate = (ReplyingKafkaTemplate) kafkaTemplate; ArgumentCaptor producerRecord = getCaptor(kafkaTemplate); - - //waiting for kafka send message (finale event) verify(rplKafkaTemplate, timeout(30_000L).times(1)) .sendAndReceive(producerRecord.capture()); checkRecord(id, producerRecord); @@ -103,8 +98,6 @@ public class TestUtils { String errorsMessage = "(%s) args [%s]".formatted(errorCode, String.join(", ", errorMessageArgs)); requestInfoUpdate.setMessage(errorsMessage); predictableBaseRequest.setRequestPayload(requestInfoUpdate); - - //waiting for kafka producer send message (finale event) verify(mockProducer, timeout(30_000L).times(1)) .send(producerRecord.capture()); @@ -204,7 +197,7 @@ public class TestUtils { public static void clearImdg(Imdg imdg) { if (imdg instanceof ImdgHazelcast) { - ((ImdgHazelcast)imdg).clear(); // test API + ((ImdgHazelcast)imdg).clear(); return; } Collection values = imdg.getAllValues(); diff --git a/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/config/KafkaTestConfig.java b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/config/KafkaTestConfig.java index 0e8ff9860..b3400dfab 100644 --- a/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/config/KafkaTestConfig.java +++ b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/config/KafkaTestConfig.java @@ -43,7 +43,6 @@ public class KafkaTestConfig { public final static Map, ArgumentCaptor> producerCaptors = new HashMap<>(); public final static Map, ArgumentCaptor> templateCaptors = new HashMap<>(); - //из-за очисткой перед каждым тестом(MockReset.withSettings(MockReset.AFTER) необходимо каждый раз обновлять doReturn public static ArgumentCaptor getCaptor(Producer mockProducer){ ArgumentCaptor captor = producerCaptors.get(mockProducer); setFuture(captor, mockProducer); @@ -61,8 +60,6 @@ public class KafkaTestConfig { doReturn(future).when(mockProducer).send(captor.capture()); } public static void setFuture(ArgumentCaptor recordArgumentCaptor, ReplyingKafkaTemplate kafkaTemplate){ - - //sendToQueueWaitForAnswer RequestReplyFuture replyFuture = spy(RequestReplyFuture.class); doReturn(replyFuture).when(kafkaTemplate).sendAndReceive(recordArgumentCaptor.capture()); @@ -76,8 +73,6 @@ public class KafkaTestConfig { } } doReturn(null).when(consumerRecord).value(); - - //sendRequestToQueue ListenableFuture> send = mock(ListenableFuture.class); doReturn(send).when(kafkaTemplate).send(recordArgumentCaptor.capture()); try { @@ -89,8 +84,7 @@ public class KafkaTestConfig { } } -// @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) - @Bean("mockProducer") +@Bean("mockProducer") public Producer kafkaProducer() { Producer mockProducer = mock(MockProducer.class, MockReset.withSettings(MockReset.AFTER)); ArgumentCaptor recordArgumentCaptor = ArgumentCaptor.forClass(ProducerRecord.class); diff --git a/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/json/JsonUtil.java b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/json/JsonUtil.java index 7a64a96b6..8a8e489db 100644 --- a/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/json/JsonUtil.java +++ b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/json/JsonUtil.java @@ -54,16 +54,11 @@ public class JsonUtil { private static final ObjectMapper MAPPER = new JacksonObjectMapper(); private JacksonObjectMapper() { - //настройки Ильи configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, true); - //модуль для корректной сериализации LocalDateTime в поля JSON - JavaTimeModule модуль библиотеки jackson-datatype-jsr310 registerModule(new JavaTimeModule()); configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); - //запрещаем доступ ко всем полям и методам класса и потом разрешаем доступ только к полям, нужны чтобы не было лишних полей из-за методов как: public ActionType getActionType() у BankAccountNewAction setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.NONE); setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY); - //не сериализуем null-поля -// setSerializationInclusion(JsonInclude.Include.NON_NULL); } public static ObjectMapper getMapper() { diff --git a/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/json/MatcherFactoryWithJson.java b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/json/MatcherFactoryWithJson.java index 1824063ef..c951d833e 100644 --- a/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/json/MatcherFactoryWithJson.java +++ b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/json/MatcherFactoryWithJson.java @@ -9,12 +9,6 @@ import java.io.UnsupportedEncodingException; import java.util.List; import java.util.function.BiConsumer; -/** - * Factory for creating test matchers. - *

- * Comparing actual and expected objects via AssertJ - * Support converting json MvcResult to objects for comparation. - */ public class MatcherFactoryWithJson { public static Matcher usingAssertionsForClass(Class clazz, BiConsumer assertion, BiConsumer, Iterable> iterableAssertion) { diff --git a/clearing-parent/trade-importer/src/main/java/ru/spcex/clearing/trade/importer/services/LauncherCommandReceiver.java b/clearing-parent/trade-importer/src/main/java/ru/spcex/clearing/trade/importer/services/LauncherCommandReceiver.java index 0d92824f2..86ab4c148 100644 --- a/clearing-parent/trade-importer/src/main/java/ru/spcex/clearing/trade/importer/services/LauncherCommandReceiver.java +++ b/clearing-parent/trade-importer/src/main/java/ru/spcex/clearing/trade/importer/services/LauncherCommandReceiver.java @@ -26,7 +26,7 @@ public class LauncherCommandReceiver extends QueueConsumer implements Initializi public void afterPropertiesSet() { callback(LauncherCommandRequest.class) .setConsumer(action -> importer.process(true)) - .forDestination(Task.getOfTrades.topic(), callbacks::put); // GTRD + .forDestination(Task.getOfTrades.topic(), callbacks::put); init(); } } diff --git a/clearing-parent/trade-importer/src/main/java/ru/spcex/clearing/trade/importer/services/TradeImporterService.java b/clearing-parent/trade-importer/src/main/java/ru/spcex/clearing/trade/importer/services/TradeImporterService.java index ade26b866..aff5d3d9e 100644 --- a/clearing-parent/trade-importer/src/main/java/ru/spcex/clearing/trade/importer/services/TradeImporterService.java +++ b/clearing-parent/trade-importer/src/main/java/ru/spcex/clearing/trade/importer/services/TradeImporterService.java @@ -76,14 +76,12 @@ public class TradeImporterService { if (isValidTrades(tradesDb) && fillNessessaryFields(tradesDb)) { STrades sTrades = getSTradesFromImdg(tradesDb, sTradesImdg); if (sTrades != null) { - // Обновление всех полей объекта из БД tradesDb.setId(sTrades.getId()); tradesDb.setCreated(sTrades.getCreated()); tradesDb.setUpdated(currentInstant); sTradesImdg.update(tradesDb); updated++; } else { - // Создание объекта из БД tradesDb.setCreated(currentInstant); tradesDb.setUpdated(currentInstant); sTradesImdg.insert(tradesDb); @@ -104,9 +102,6 @@ public class TradeImporterService { kafka.get().sendRequestToQueue(S_TRADES_IMPORTED, sTradesImportedRequest); } - /** - * returns OK - everything is kk - */ private boolean fillNessessaryFields(STrades tradesDb) { Consumer logErr = (st) -> log.error("strades {} {} {}", tradesDb.getTradeDate(), tradesDb.getTradeNum(), st); try { diff --git a/clearing-parent/trade-importer/src/test/java/ru/spcex/clearing/trade/importer/config/config/DbTestConnectionConfig.java b/clearing-parent/trade-importer/src/test/java/ru/spcex/clearing/trade/importer/config/config/DbTestConnectionConfig.java index d295c5f19..87a83b8df 100644 --- a/clearing-parent/trade-importer/src/test/java/ru/spcex/clearing/trade/importer/config/config/DbTestConnectionConfig.java +++ b/clearing-parent/trade-importer/src/test/java/ru/spcex/clearing/trade/importer/config/config/DbTestConnectionConfig.java @@ -36,7 +36,6 @@ public class DbTestConnectionConfig { String OPERATION_DATABASE_CONNECTION_CHECK = String.format("Database [%s] connection check", dbUrl); try { Connection conn = cpds.getConnection(); -// conn.close(); log.info("{}: success", OPERATION_DATABASE_CONNECTION_CHECK); return cpds; } catch (Throwable e) { diff --git a/clearing-parent/trade-importer/src/test/java/ru/spcex/clearing/trade/importer/services/TradeImporterServiceTest.java b/clearing-parent/trade-importer/src/test/java/ru/spcex/clearing/trade/importer/services/TradeImporterServiceTest.java index 12f55e0c9..a43a7a981 100644 --- a/clearing-parent/trade-importer/src/test/java/ru/spcex/clearing/trade/importer/services/TradeImporterServiceTest.java +++ b/clearing-parent/trade-importer/src/test/java/ru/spcex/clearing/trade/importer/services/TradeImporterServiceTest.java @@ -45,7 +45,6 @@ class TradeImporterServiceTest extends AbstractServiceTest { Path path = Paths.get("src", "main", "resources"); String currentPath = path.toAbsolutePath().toString(); System.setProperty("spring.config.location", currentPath); -// Hazelcast.shutdownAll(); } @BeforeEach @@ -53,19 +52,11 @@ class TradeImporterServiceTest extends AbstractServiceTest { clearAllInImdg(sTradesImdg); } - /** - * {@link TradeImporterService#process(boolean)}
- * Тест проверяет обновление сущности {@link STrades}.
- * Входной запрос {@link LauncherCommandRequest}:
- */ -// @Test //для работы теста нужна тестовая база Microsoft SQL с данными void process() { STrades sTrade = getSTrade(); Long id = sTradesImdg.insert(sTrade); addRecordToKafka((MockConsumer) launcherCommandReceiver.getConsumer(), Task.getOfTrades.topic(), 0, 1, getJsonStringForNew(new LauncherCommandRequest(),0)); - - //waiting for kafka producer send message ArgumentCaptor captor = getCaptor(kafkaTemplate); verify(kafkaTemplate, timeout(30_000L).times(1)) .send(captor.capture()); @@ -75,11 +66,6 @@ class TradeImporterServiceTest extends AbstractServiceTest { assertEquals(sTrades.getId(), id); } - /** - * {@link TradeImporterService#process(boolean)}
- * Тест проверяет обновление сущности {@link STrades}.
- * Входной запрос {@link LauncherCommandRequest}:
- */ @Test void getSTradesFromImdg(){ STrades sTrade = getSTrade(); diff --git a/clearing-parent/utility-service/src/main/java/ru/spcex/clearing/utility/service/KeyRateService.java b/clearing-parent/utility-service/src/main/java/ru/spcex/clearing/utility/service/KeyRateService.java index 528c77777..c77c2b1e4 100644 --- a/clearing-parent/utility-service/src/main/java/ru/spcex/clearing/utility/service/KeyRateService.java +++ b/clearing-parent/utility-service/src/main/java/ru/spcex/clearing/utility/service/KeyRateService.java @@ -19,7 +19,7 @@ import ru.spcex.platform.enumeration.Status; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgProvider; -@Deprecated // KeyRate was deleted +@Deprecated @Service public class KeyRateService extends QueueConsumer implements InitializingBean { private final Logger log = LoggerFactory.getLogger(getClass()); diff --git a/clearing-parent/utility-service/src/main/java/ru/spcex/clearing/utility/service/UserService.java b/clearing-parent/utility-service/src/main/java/ru/spcex/clearing/utility/service/UserService.java index d2562ac71..5a3c67bfd 100644 --- a/clearing-parent/utility-service/src/main/java/ru/spcex/clearing/utility/service/UserService.java +++ b/clearing-parent/utility-service/src/main/java/ru/spcex/clearing/utility/service/UserService.java @@ -230,7 +230,6 @@ public class UserService extends QueueConsumer implements InitializingBean { public static class RoleAction { String roleName; - //------поля при обновления----- Status newStatus; UserRoleSession roleToChange; diff --git a/clearing-parent/utility-service/src/test/java/ru/spcex/clearing/utility/service/KeyRateServiceDisabled.java b/clearing-parent/utility-service/src/test/java/ru/spcex/clearing/utility/service/KeyRateServiceDisabled.java index dd7a3b93c..4c40c5d29 100644 --- a/clearing-parent/utility-service/src/test/java/ru/spcex/clearing/utility/service/KeyRateServiceDisabled.java +++ b/clearing-parent/utility-service/src/test/java/ru/spcex/clearing/utility/service/KeyRateServiceDisabled.java @@ -88,16 +88,6 @@ public class KeyRateServiceDisabled { keyRateService.afterPropertiesSet(); } - /** - * {@link KeyRateService#newKeyRate(BaseRequest)} - * Тест проверяет генерацию сущности {@link KeyRate} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link KeyRateNewRequest}:
- * {@link KeyRateNewRequest#keyRate} - 0.5
- * {@link KeyRateNewRequest#document} - "Test"
- * {@link KeyRateNewRequest#startDate} - текущее колличество секунд с 1970-01-01T00:00:00Z.
- * {@link KeyRateNewRequest#endDate} - текущее колличество секунд с 1970-01-01T00:00:00Z.
- */ -// @Test public void testNewKeyRate() throws InterruptedException { final String TOPIC = Consts.DESTINATION_KEY_RATE_NEW; final String MAP = IMDGDistributedNames.Map_KeyRate; @@ -159,13 +149,6 @@ public class KeyRateServiceDisabled { iMap.removeEntryListener(listenerID); } - /** - * {@link KeyRateService#deleteKeyRate(BaseRequest)}
- * Тест проверяет удаление сущности {@link KeyRate} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link CommonDeleteRequest}:
- * {@link CommonDeleteRequest#id} - Идентификатор записи
- */ -// @Test public void testDeleteKeyRate() throws InterruptedException { final String TOPIC = Consts.DESTINATION_KEY_RATE_DELETE; final String MAP = IMDGDistributedNames.Map_KeyRate; @@ -224,16 +207,6 @@ public class KeyRateServiceDisabled { iMap.removeEntryListener(listenerID); } - /** - * {@link KeyRateService#updateKeyRate(BaseRequest)} - * Тест проверяет генерацию сущности {@link KeyRate} в Hazelcast при передаче из Apache Kafka.
- * Входной запрос {@link KeyRateUpdateRequest}:
- * {@link KeyRateUpdateRequest#keyRate} - 5
- * {@link KeyRateUpdateRequest#document} - "Update"
- * {@link KeyRateUpdateRequest#startDate} - текущее колличество секунд с 1970-01-01T00:00:00Z + (24 * 3600)
- * {@link KeyRateUpdateRequest#endDate} - текущее колличество секунд с 1970-01-01T00:00:00Z + (24 * 3600)
- */ -// @Test public void testUpdateKeyRate() throws InterruptedException { final String TOPIC = Consts.DESTINATION_KEY_RATE_UPDATE; final String MAP = IMDGDistributedNames.Map_KeyRate; diff --git a/clearing-parent/utility-service/src/test/java/ru/spcex/clearing/utility/utils/MatcherFactory.java b/clearing-parent/utility-service/src/test/java/ru/spcex/clearing/utility/utils/MatcherFactory.java index 06162be8f..a431542a5 100644 --- a/clearing-parent/utility-service/src/test/java/ru/spcex/clearing/utility/utils/MatcherFactory.java +++ b/clearing-parent/utility-service/src/test/java/ru/spcex/clearing/utility/utils/MatcherFactory.java @@ -1,13 +1,9 @@ package ru.spcex.clearing.utility.utils; import java.util.Arrays; + import static org.assertj.core.api.Assertions.assertThat; -/** - * Factory for creating test matchers. - *

- * Comparing actual and expected objects via AssertJ - */ public class MatcherFactory { public static Matcher usingIgnoringFieldsComparator(String... fieldsToIgnore) { diff --git a/platform-parent/platform-classes-base/src/main/java/ru/spcex/platform/classes/base/SpcexObjectBase.java b/platform-parent/platform-classes-base/src/main/java/ru/spcex/platform/classes/base/SpcexObjectBase.java index b43f7ff35..184a92bc4 100644 --- a/platform-parent/platform-classes-base/src/main/java/ru/spcex/platform/classes/base/SpcexObjectBase.java +++ b/platform-parent/platform-classes-base/src/main/java/ru/spcex/platform/classes/base/SpcexObjectBase.java @@ -4,9 +4,6 @@ import ru.spcex.platform.classes.base.interfaces.WithId; import java.io.Serializable; -/** - * Long ID - based primary key object - */ public abstract class SpcexObjectBase implements WithId, Serializable { protected Long id; diff --git a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/BalanceAccountType.java b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/BalanceAccountType.java index e4e2085f3..447239f5a 100644 --- a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/BalanceAccountType.java +++ b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/BalanceAccountType.java @@ -2,7 +2,7 @@ package ru.spcex.platform.enumeration; import ru.spcex.platform.utils.enumeration.IEnumKey; -@Deprecated // Словарь balanceAccountTypeDictionary удалён +@Deprecated public enum BalanceAccountType implements IEnumKey { Active("ACTV"), Blocked("BLKD"); diff --git a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/BondType.java b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/BondType.java index 423e427aa..a65ac7795 100644 --- a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/BondType.java +++ b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/BondType.java @@ -3,13 +3,13 @@ package ru.spcex.platform.enumeration; import ru.spcex.platform.utils.enumeration.IEnumKey; public enum BondType implements IEnumKey { - Z("Z"), // Дисконтная облигация - F("F"), // Купонная облигация с постоянным купоном - V("V"), // Купонная облигация с переменным купоном - C("C"), // Купонная облигация банка России - E("E"), // Биржевая облигация - I("I"), // Облигация с индексированным номиналом - M("M"), // Облигация с амортизацией долга + Z("Z"), + F("F"), + V("V"), + C("C"), + E("E"), + I("I"), + M("M"), ; private final String key; diff --git a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ClearingCategory.java b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ClearingCategory.java index e9aa5181e..a13941e82 100644 --- a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ClearingCategory.java +++ b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ClearingCategory.java @@ -2,18 +2,15 @@ package ru.spcex.platform.enumeration; import ru.spcex.platform.utils.enumeration.IEnumKey; -/** - * CLEARING_CATEGORY_DICTIONARY - */ public enum ClearingCategory implements IEnumKey { undefined(UNDEFINED_VALUE), - C("C"), // Категория «Ц» - Банк России - B("B"), // Категория «Б» - Кредитная организация ДР - F("F"), // Категория «Ф» - Участник рынка РЦБ - I("I"), // Категория «И» - Инициатор по ТБС - V("V"), // Категория «В» - Инициатор по ТКС - T("T"), // Категория «Т» - Участник товарного рынка - K("K"); // Категория «К» - Участник клиринга - Контроллер + C("C"), + B("B"), + F("F"), + I("I"), + V("V"), + T("T"), + K("K"); private final String key; diff --git a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ClearingStatus.java b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ClearingStatus.java index 82526ebaa..4b861c8fd 100644 --- a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ClearingStatus.java +++ b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ClearingStatus.java @@ -2,7 +2,7 @@ package ru.spcex.platform.enumeration; import ru.spcex.platform.utils.enumeration.IEnumKey; -@Deprecated // словарь ClearingStatusDictionary удалён +@Deprecated public enum ClearingStatus implements IEnumKey { OK("OK"), FAIL("FAIL"), diff --git a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ContactTypes.java b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ContactTypes.java index 647335612..609393172 100644 --- a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ContactTypes.java +++ b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ContactTypes.java @@ -2,21 +2,18 @@ package ru.spcex.platform.enumeration; import ru.spcex.platform.utils.enumeration.IEnumKey; -/** - * CONTACT_TYPE_DICTIONARY - */ public enum ContactTypes implements IEnumKey { - adrs("ADRS"), // Адрес - post("POST"), // Почтовый адрес - cont("CONT"), // Контактное лицо - mail("MAIL"), // Электронная почта - phon("PHON"), // Телефон - gdir("GDIR"), // Генеральный директор - trst("TRST"), // Доверенное лицо - fax("FAX"), // Факс - info("INFO"), // Контактная информация - cmnt("CMNT"), // Примечание - web("WEB"), // Веб-сайт + adrs("ADRS"), + post("POST"), + cont("CONT"), + mail("MAIL"), + phon("PHON"), + gdir("GDIR"), + trst("TRST"), + fax("FAX"), + info("INFO"), + cmnt("CMNT"), + web("WEB"), ; diff --git a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/CurrencyCode.java b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/CurrencyCode.java index e0fd13c1a..7c073a3fa 100644 --- a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/CurrencyCode.java +++ b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/CurrencyCode.java @@ -4,7 +4,7 @@ import ru.spcex.platform.utils.enumeration.IEnumKey; public enum CurrencyCode implements IEnumKey { RUB("RUB"), - RUR("RUR") //fixme may be remove to separate enum + RUR("RUR") ; private final String key; diff --git a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/DocumentTypes.java b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/DocumentTypes.java index 68bd9d1ce..09dd29661 100644 --- a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/DocumentTypes.java +++ b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/DocumentTypes.java @@ -2,33 +2,30 @@ package ru.spcex.platform.enumeration; import ru.spcex.platform.utils.enumeration.IEnumKey; -/** - * DOCUMENT_TYPE_DICTIONARY - */ public enum DocumentTypes implements IEnumKey { - pasp("PASP"), // Паспорт - icrt("ICRT"), // Удостоверение личности - prxy("PRXY"), // Доверенность - cntr("CNTR"), // Договор клиринга - regs("REGS"), // Регистрация - form("FORM"), // Анкета участника - ogrn("OGRN"), // ОГРН - licb("LICB"), // Банковская лицензия - licp("LICP"), // Лицензия проф. участника - plac("PLAC"), // Регистрация по месту пребывания - inn("INN"), // ИНН - cio("CIO"), // КИО - licr("LICR"), // Брокерская лицензия - licd("LICD"), // Номер дилерской лицензии - lict("LICT"), // Номер лицензии по управлению ЦБ - licc("LICC"), // Номер лицензии по брокерской деятельности ПФИ (производных финансовых инструментов) - licf("LICF"), // Номер лицензии форекс-дилера - fin("FIN"), // Финансовая отчетность - trst("TRST"), // Полномочия должностных лиц - pmkr("PMKR"), // Распоряжение на списание МКР - taut("TAUT"), // Допуск к торгам - edoc("EDOC"), // Договор об электронном взаимодействии - xcnt("XCNT"); // Документ о расторжении Договора клиринга + pasp("PASP"), + icrt("ICRT"), + prxy("PRXY"), + cntr("CNTR"), + regs("REGS"), + form("FORM"), + ogrn("OGRN"), + licb("LICB"), + licp("LICP"), + plac("PLAC"), + inn("INN"), + cio("CIO"), + licr("LICR"), + licd("LICD"), + lict("LICT"), + licc("LICC"), + licf("LICF"), + fin("FIN"), + trst("TRST"), + pmkr("PMKR"), + taut("TAUT"), + edoc("EDOC"), + xcnt("XCNT"); private final String key; diff --git a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/InstrumentType.java b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/InstrumentType.java index 079ef799b..0b91f57da 100644 --- a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/InstrumentType.java +++ b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/InstrumentType.java @@ -3,9 +3,9 @@ package ru.spcex.platform.enumeration; import ru.spcex.platform.utils.enumeration.IEnumKey; public enum InstrumentType implements IEnumKey { - BOND("BOND"), // Долевые ценные бумаги (акции) - EQTY("EQTY"), // Долговые ценные бумаги (облигации) - RATE("RATE"), // Инструмент Денежного рынка + BOND("BOND"), + EQTY("EQTY"), + RATE("RATE"), CRNC ("CRNC") ; diff --git a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/Priority.java b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/Priority.java index 11eb55544..9a0732b84 100644 --- a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/Priority.java +++ b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/Priority.java @@ -2,13 +2,9 @@ package ru.spcex.platform.enumeration; import ru.spcex.platform.utils.enumeration.IEnumKey; -/** - * Для Notification.priority - * priority_dictionary - */ public enum Priority implements IEnumKey { - HIGH("HIGH"), // Высокий - LOW("LOW"); // Низкий + HIGH("HIGH"), + LOW("LOW"); private final String key; diff --git a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/RegistryCapacity.java b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/RegistryCapacity.java index 4a7f28e72..9ceacb55f 100644 --- a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/RegistryCapacity.java +++ b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/RegistryCapacity.java @@ -2,7 +2,6 @@ package ru.spcex.platform.enumeration; import ru.spcex.platform.utils.enumeration.IEnumKey; -//todo фиксированные ли это значения? расшифровки подъедут? public enum RegistryCapacity implements IEnumKey { A("A"), B("B"), diff --git a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/RegistryCode.java b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/RegistryCode.java index c4ab43cd4..62b9a53c2 100644 --- a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/RegistryCode.java +++ b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/RegistryCode.java @@ -4,7 +4,6 @@ import ru.spcex.platform.utils.enumeration.IEnumKey; public enum RegistryCode implements IEnumKey { T("T"); - //TODO где взять дополнительные значения для registry code? private final String key; diff --git a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ReportBuilderType.java b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ReportBuilderType.java index dee144f70..e2e6be328 100644 --- a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ReportBuilderType.java +++ b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ReportBuilderType.java @@ -2,10 +2,6 @@ package ru.spcex.platform.enumeration; import ru.spcex.platform.utils.enumeration.IEnumKey; -/** - * Идентификатор отчета - * todo сделать для них dictionary - */ public enum ReportBuilderType implements IEnumKey { EXECUTED_DEAL_REPORT("executed-deal-report"), UNFULFILLED_DEAL_REPORT("unfulfilled-deal-report"), diff --git a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ReportType.java b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ReportType.java index 29d023232..81e5206b3 100644 --- a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ReportType.java +++ b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ReportType.java @@ -2,10 +2,6 @@ package ru.spcex.platform.enumeration; import ru.spcex.platform.utils.enumeration.IEnumKey; -/** - * Идентификатор отчета - * todo сделать для них dictionary - */ public enum ReportType implements IEnumKey { PFX64("PFX64"), PFX65("PFX65"), diff --git a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ResultStatuses.java b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ResultStatuses.java index 54660b5ce..f2c93a105 100644 --- a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ResultStatuses.java +++ b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ResultStatuses.java @@ -2,12 +2,9 @@ package ru.spcex.platform.enumeration; import ru.spcex.platform.utils.enumeration.IEnumKey; -/** - * ResultStatusDictionary - */ public enum ResultStatuses implements IEnumKey { - notSuccess("NACK"), // Неуспешно - success("ACK"); // Успешно + notSuccess("NACK"), + success("ACK"); private final String key; diff --git a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/Sender.java b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/Sender.java index 9b3cd0317..951ef27f1 100644 --- a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/Sender.java +++ b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/Sender.java @@ -3,9 +3,9 @@ package ru.spcex.platform.enumeration; import ru.spcex.platform.utils.enumeration.IEnumId; public enum Sender implements IEnumId { - One(1L), /* СПВБ */ - Prc(2L), /* ПРЦ */ - Rdc(3L); /* РДЦ */ + One(1L), + Prc(2L), + Rdc(3L); private final Long key; diff --git a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ServiceProduct.java b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ServiceProduct.java index 7272851d8..b584d6d0a 100644 --- a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ServiceProduct.java +++ b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ServiceProduct.java @@ -3,8 +3,8 @@ package ru.spcex.platform.enumeration; import ru.spcex.platform.utils.enumeration.IEnumKey; public enum ServiceProduct implements IEnumKey { - PRNT("PRNT"), // Расчет обязательств с процентом - ZERO("ZERO") // Расчет обязательств без процента (по умолчанию) + PRNT("PRNT"), + ZERO("ZERO") ; private final String key; diff --git a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ShareType.java b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ShareType.java index 51744d51a..ad37d5619 100644 --- a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ShareType.java +++ b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ShareType.java @@ -3,8 +3,8 @@ package ru.spcex.platform.enumeration; import ru.spcex.platform.utils.enumeration.IEnumKey; public enum ShareType implements IEnumKey { - S("S"), // Обыкновенная акция - P("P"), // Привилегированная акция + S("S"), + P("P"), ; private final String key; diff --git a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/Task.java b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/Task.java index b932af49a..dd1185694 100644 --- a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/Task.java +++ b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/Task.java @@ -3,54 +3,54 @@ package ru.spcex.platform.enumeration; import ru.spcex.platform.utils.enumeration.IEnumKey; public enum Task implements IEnumKey { - accrualOfBalance("GBAL"),//Зачисление остатков - accountBlock("ABLK"),//Блокировка счета - additionOrDeleteOfBalance("ADBL"),//Дозачисление/списание остатков - getOfTrades("GTRD"),//Получение сделок из Торговой системы - getVerification("GVER"),// Запуск сверки - @Deprecated /* todo GBLD удаляется по CLS-267, CLS-275 */ getBalance("GBLD"),// Поступление средств - startOfClearing("SCLR"),// Запуск клиринговой сессии - startOfB0("IPO0"),// Запуск клиринговой сессии - startOfT0("TRDT"),// Запуск клиринговой сессии - startOfPreClearing("SPRC"),// Запуск преклиринга - startPostClearing("SPOC"),// Запуск постклиринга + accrualOfBalance("GBAL"), + accountBlock("ABLK"), + additionOrDeleteOfBalance("ADBL"), + getOfTrades("GTRD"), + getVerification("GVER"), + @Deprecated getBalance("GBLD"), + startOfClearing("SCLR"), + startOfB0("IPO0"), + startOfT0("TRDT"), + startOfPreClearing("SPRC"), + startPostClearing("SPOC"), createOrder("CORD"), createOrderConfirm("CORC"), - getAllBalance("GALB"), // Запрос остатков по всем счетам (отправка ДФ-51, ДФ-56 для получения ответа ДФ-01, ДФ-57) - createReport_GREP("GREP"), // Создание отчёта (report-service) RPRT нескольких видов, этот GREP - createDealsReport_GRET("GRET"), // Формирование отчетности по сделкам - createDealsReport_GREF("GREF"), // Формирование финальной отчетности по сделкам - unloadingSession_LIMM("LIMM"),//Выгрузка в торговую систему остатков по деньгам - unloadingSession_LIMS("LIMS"),//Выгрузка в торговую систему остатков по бумагам - liquidationSession_LIQU("LIQU"),//Ликвидационная сессия по обязательтсвам участника - startSession_STRM("STRM"),//Начало торговой сессии секции МКР - terminationSession_ETRM("ETRM"),//Завершение торговой сессии секции МКР - startSession_SIPO("SIPO"),//Начало торговой сессии по первичным торгам - terminationSession_EIPO("EIPO"),//Завершение торговой сессии по первичным торгам - startSession_STRF("STRF"),//Начало торговой сессии по вторичным торгам - terminationSession_ETRF("ETRF"),//Завершение торговой сессии по вторичным торгам - reconciliationRequest_RCHK("RCHK"),//Запрос на сверку активов - createRegistry_GRYT("GRYT"),//Сформировать регистр на текущий день - createRegistry_GRRT("GRRT"),//Сформировать реестр на текущий день - createRegistry_GBRR("GBRR"),//Сформировать реестр на текущий день - createRegistry_GORD("GORD"), // Формирование реестра распоряжений, направленных расчетному депозитарию - createRegistry_GORR("GORR"), // Формирование реестра распоряжений, направленных расчетному депозитарию - createRegistry_GCMR("GCMR"), // Формирование реестра участников клиринга - createRegistry_GSRR("GSRR"), // Формирование реестра отправленных отчетов - createRegistry_GACA("GACA"), // Создание файла остатков CSV по клиринговым счетам - createRegistry_ADLR("ADLR"), // формирование admittedLiabilitiesRegister - createRegistry_CDLR("CDLR"), // формирование coveredLiabilitiesRegister - createRegistry_EXLR("EXLR"), // формирование excludeLiabilitiesRegister - createRegistry_LBSR("LBSR"), // формирование liabilitiesRegister - createRegistry_ECNR("ECNR"), // формирование executionRegister - createRegistry_STRS("STRS"), // Начало торговой сессии - createRegistry_ETRS("ETRS"), // Завершение торговой сессии - forming_CMBA("CMBA"), // Формирование распоряжения на перевод с ТБС - creatingFile_GAIA("GAIA"), // Создание файла остатков CSV по внутренним информацион.счетам - loadParty_LOCM("LOCM"), // Загрузка участников - loadIssue_LOSC("LOSC"), // Загрузка инструментов - dbfExport_OUTV("OUTV"), // для dbf-exporter сообщение на создание файла ДФ-54 - sdf05WithCode9Final("FDFF"), //Формирование ДФ-05 с кодом 9 (финальный) + getAllBalance("GALB"), + createReport_GREP("GREP"), + createDealsReport_GRET("GRET"), + createDealsReport_GREF("GREF"), + unloadingSession_LIMM("LIMM"), + unloadingSession_LIMS("LIMS"), + liquidationSession_LIQU("LIQU"), + startSession_STRM("STRM"), + terminationSession_ETRM("ETRM"), + startSession_SIPO("SIPO"), + terminationSession_EIPO("EIPO"), + startSession_STRF("STRF"), + terminationSession_ETRF("ETRF"), + reconciliationRequest_RCHK("RCHK"), + createRegistry_GRYT("GRYT"), + createRegistry_GRRT("GRRT"), + createRegistry_GBRR("GBRR"), + createRegistry_GORD("GORD"), + createRegistry_GORR("GORR"), + createRegistry_GCMR("GCMR"), + createRegistry_GSRR("GSRR"), + createRegistry_GACA("GACA"), + createRegistry_ADLR("ADLR"), + createRegistry_CDLR("CDLR"), + createRegistry_EXLR("EXLR"), + createRegistry_LBSR("LBSR"), + createRegistry_ECNR("ECNR"), + createRegistry_STRS("STRS"), + createRegistry_ETRS("ETRS"), + forming_CMBA("CMBA"), + creatingFile_GAIA("GAIA"), + loadParty_LOCM("LOCM"), + loadIssue_LOSC("LOSC"), + dbfExport_OUTV("OUTV"), + sdf05WithCode9Final("FDFF"), ; private final String key; diff --git a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/TermType.java b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/TermType.java index a3cbb46e7..2960aceee 100644 --- a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/TermType.java +++ b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/TermType.java @@ -3,9 +3,9 @@ package ru.spcex.platform.enumeration; import ru.spcex.platform.utils.enumeration.IEnumKey; public enum TermType implements IEnumKey { - S("S"), // Срочный - V("V"), // До востребования - K("K"), // Комбинированный + S("S"), + V("V"), + K("K"), ; private final String key; diff --git a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/TradingClearingRegistryType.java b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/TradingClearingRegistryType.java index cd3e2e4e3..2e3a26d33 100644 --- a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/TradingClearingRegistryType.java +++ b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/TradingClearingRegistryType.java @@ -3,16 +3,16 @@ package ru.spcex.platform.enumeration; import ru.spcex.platform.utils.enumeration.IEnumKey; public enum TradingClearingRegistryType implements IEnumKey { - Owner_A("A"), // Владелец - Client_B("B"), // Клиентский - Trustee_C("C"), // Попечитель - TrusteeManager_D("D"), // Доверительный управляющий - Issuer_E("E"), // Эмитент - ToThePlacementOrRedeem_Z("Z"), // К размещению/выкупу - DepoBond_H("H"), // Депо по учету облигаций - DepoOfShares_T("T"), // Депо по учету акций - DepoOfTrustedBond_N("N"), // Депо по учету облигаций с попечителем - DepoOfTrustedShares_S("S"), // Депо по учету акций с попечителем + Owner_A("A"), + Client_B("B"), + Trustee_C("C"), + TrusteeManager_D("D"), + Issuer_E("E"), + ToThePlacementOrRedeem_Z("Z"), + DepoBond_H("H"), + DepoOfShares_T("T"), + DepoOfTrustedBond_N("N"), + DepoOfTrustedShares_S("S"), ; private final String key; diff --git a/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/adapter/ImdgHazelcast.java b/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/adapter/ImdgHazelcast.java index fa7708a22..b5350738f 100644 --- a/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/adapter/ImdgHazelcast.java +++ b/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/adapter/ImdgHazelcast.java @@ -83,7 +83,6 @@ public class ImdgHazelcast implements Imdg { public void lockAndPerform(Runnable operation) { ILock hzLock = null; try { - //в качестве альтернативы getCPSubsystem, поддерживается только при 3+ нодах хазелкаста hzLock = hzInstance.getLock(mapName); hzLock.lock(); operation.run(); @@ -108,9 +107,6 @@ public class ImdgHazelcast implements Imdg { map.remove(paramT.getId()); } - /** - * Только для тестирования. Очистка map. - */ public void clear() { map.clear(); } @@ -120,10 +116,6 @@ public class ImdgHazelcast implements Imdg { return map.get(paramLong); } - /** - * возвращает объект удовлетворяющий условиям - * не проверяет, если удовлетворяющих условиям > 1 - */ @SuppressWarnings("unchecked") @Override public T getFirstObjectByFieldValues(Map> conditions) { @@ -189,9 +181,6 @@ public class ImdgHazelcast implements Imdg { } - /** - * возвращает коллекцию объектов, удовлетворяющий условиям на поля - */ @SuppressWarnings("unchecked") @Override public Collection getCollectionObjectsByFieldValues(Map> conditions) { @@ -271,7 +260,6 @@ public class ImdgHazelcast implements Imdg { } - // Predicate API @Override public Collection getCollectionObjectsByPredicate(ImdgPredicate predicateImdg) { Predicate hazelcastPredicate = ((ImdgPredicateHazelcast) predicateImdg).getRawPredicate(); diff --git a/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/adapter/ImdgTransactionalHazelcast.java b/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/adapter/ImdgTransactionalHazelcast.java index c84cf4656..6224633a2 100644 --- a/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/adapter/ImdgTransactionalHazelcast.java +++ b/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/adapter/ImdgTransactionalHazelcast.java @@ -38,7 +38,6 @@ public class ImdgTransactionalHazelcast implements Im public void lockAndPerform(Runnable operation) { ILock hzLock = null; try { - //в качестве альтернативы getCPSubsystem, поддерживается только при 3+ нодах хазелкаста hzLock = hzInstance.getLock(mapName); hzLock.lock(); operation.run(); @@ -68,10 +67,6 @@ public class ImdgTransactionalHazelcast implements Im return map.get(paramLong); } - /** - * возвращает объект удовлетворяющий условиям - * не проверяет, если удовлетворяющих условиям > 1 - */ @SuppressWarnings("unchecked") @Override public T getFirstObjectByFieldValues(Map> conditions) { @@ -118,13 +113,10 @@ public class ImdgTransactionalHazelcast implements Im public Collection getCollectionObjectsBySQL(String paramString) { SqlPredicate sqlPredicate = new SqlPredicate(paramString); Collection found = map.values(sqlPredicate); - List result = new ArrayList<>(found); // Hazelcast может вернуть proxy-коллекцию + List result = new ArrayList<>(found); return result; } - /** - * возвращает коллекцию объектов, удовлетворяющий условиям на поля - */ @SuppressWarnings("unchecked") @Override public Collection getCollectionObjectsByFieldValues(Map> conditions) { diff --git a/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/service/HazelcastServiceBase.java b/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/service/HazelcastServiceBase.java index 0fb7b039f..f577fca05 100644 --- a/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/service/HazelcastServiceBase.java +++ b/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/service/HazelcastServiceBase.java @@ -27,7 +27,6 @@ import java.util.*; import java.util.concurrent.atomic.AtomicBoolean; public abstract class HazelcastServiceBase -// implements IHazelcastService implements ImdgProvider { protected final Logger log = LoggerFactory.getLogger(this.getClass()); @@ -86,11 +85,10 @@ public abstract class HazelcastServiceBase log.info("Hazelcast: client created and connected"); } -// @Override - public void reinitializeHazelcastClient() { +public void reinitializeHazelcastClient() { try { createHazelcastClient(); - Thread.sleep(100); // await for skip CLIENT_CONNECTED event. See warn "Hazelcast already available, but has call onAvailable() again." + Thread.sleep(100); awaitGeneratorId(); hazelcastInstance.getLifecycleService().addLifecycleListener((LifecycleEvent event) -> { switch (event.getState()) { @@ -112,7 +110,7 @@ public abstract class HazelcastServiceBase protected void onAvailable() { if (isAvailableNow) { log.warn("Hazelcast already available, but has call onAvailable() again. Ignore."); - return; // пропустить + return; } isAvailableNow = false; synchronized (hazelcastStatusSubscribers) { @@ -141,7 +139,7 @@ public abstract class HazelcastServiceBase log.warn(ExceptionUtils.getStackTrace(e)); } }); - if (isAvailableNow) { // never: если успел проскочить между isAvailableNow = false и synchronized + if (isAvailableNow) { log.warn("Concurrent call onAvailable() and onUnavailable(). Stacktrace: {}", ExceptionUtils.getStackTrace(new ConcurrentModificationException("Warning"))); isAvailableNow = false; } @@ -168,7 +166,6 @@ public abstract class HazelcastServiceBase protected void awaitGeneratorId() { taskExecutorIdGeneratorAwaiter.execute(() -> { try { - // ожидание инициализации Storage (только после инициализации IDGenerator начинать работу). boolean done = false; while (!done) { log.debug("Execute awaitGeneratorId()"); @@ -188,22 +185,19 @@ public abstract class HazelcastServiceBase } } } - // проверка версии классов -// HazelcastCommon.verifyVersionClientsClasses(hazelcastInstance); } catch (Throwable e) { log.error("Error at awaitGeneratorId(): {}", ExceptionUtils.getStackTrace(e)); } }); } -// @Override - public void statusSubscribe(IHazelcastClusterStatus clusterStatus) { +public void statusSubscribe(IHazelcastClusterStatus clusterStatus) { log.trace("hazelcastStatusSubscribers add> {}", clusterStatus); synchronized (hazelcastStatusSubscribers) { - if (hazelcastStatusSubscribers.contains(clusterStatus)) // never + if (hazelcastStatusSubscribers.contains(clusterStatus)) throw new IllegalStateException("ClusterStatus listener " + clusterStatus + " already added!"); hazelcastStatusSubscribers.add(clusterStatus); - if (isAvailableNow) { // register now + if (isAvailableNow) { log.trace("hazelcastStatusSubscribers added and call now> {}", clusterStatus); try { clusterStatus.getAvailable(hazelcastInstance); @@ -214,8 +208,7 @@ public abstract class HazelcastServiceBase } } -// @Override - public HazelcastInstance getHazelcast() { +public HazelcastInstance getHazelcast() { return hazelcastInstance; } @@ -268,11 +261,6 @@ public abstract class HazelcastServiceBase } } - /** - * Переподключение во время транзакции не предусмотрено. - * Транзакция - объект с коротким жизненным циклом. - * @return - */ @Override public ImdgTransaction newTransaction() { ImdgTransactionProviderHazelcast transactionalContext = new ImdgTransactionProviderHazelcast(); @@ -300,7 +288,6 @@ public abstract class HazelcastServiceBase return imdgId; } - // @Override public void waitTillReadyState() throws InterruptedException { boolean done = false; int sleepCount = 0; @@ -323,8 +310,7 @@ public abstract class HazelcastServiceBase } } -// @Override - public void shutdown() { +public void shutdown() { isAvailableNow = false; if (hazelcastInstance != null) hazelcastInstance.shutdown(); diff --git a/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/util/HazelcastHelper.java b/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/util/HazelcastHelper.java index 605849f15..1efd4228d 100644 --- a/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/util/HazelcastHelper.java +++ b/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/util/HazelcastHelper.java @@ -56,30 +56,12 @@ public final class HazelcastHelper { } - /** - * Создаёт клиента HazelcastInstance, подключённого по настрйокам ClientConfig. - * Ожидает готовности Storage, инициализирует TextErrorService. - * В случае ошибок делает повторение попыток создания клиента. - *

- * Пример получения ClientConfig: - * - * HazelcastHelper.getClientConfig( - * Config.get().getHazelcastSettings().getClusterMembers(), - * Config.get().getHazelcastSettings().getLogin(), - * Config.get().getHazelcastSettings().getPassword() - * ) - * - * - * @param hzClientConfig - * @return HazelcastClient - */ public HazelcastInstance makeHazelcastClientAndWaitTillReady(ClientConfig hzClientConfig) { HazelcastInstance instance = null; - // ожидание инициализации Storage (только после инициализации IDGenerator начинать работу). boolean done = false; while (!done) { try { - instance = HazelcastClient.newHazelcastClient(hzClientConfig);// createHzClient(); + instance = HazelcastClient.newHazelcastClient(hzClientConfig); waitTillReadyState(instance); log.info("Hazelcast: TextErrorService done"); done = true; @@ -96,8 +78,6 @@ public final class HazelcastHelper { } } } - // проверка версии классов -// HazelcastCommon.verifyVersionClientsClasses(instance); return instance; } @@ -111,7 +91,6 @@ public final class HazelcastHelper { } log.info("IMDG connected!"); } catch (HazelcastException hcEx) { - // проброс InterruptException из Hazelcast if (hcEx instanceof HazelcastException && hcEx.getCause() instanceof InterruptedException) throw new InterruptedException("Can not obtain IMDG for check state, cause has interrupted. " + hcEx); throw hcEx; diff --git a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java index d4fd82a6b..ee3b35993 100644 --- a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java +++ b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java @@ -1,8 +1,5 @@ package ru.spcex.clearing.imdg; -/** - * Список имён распределённых объектов - */ public final class IMDGDistributedNames { public static final String Map_Company = "Map_Company"; public static final String Map_CompanyHistory = "Map_CompanyHistory"; diff --git a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/platform/imdg/api/Imdg.java b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/platform/imdg/api/Imdg.java index 9beb042df..458d998bb 100644 --- a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/platform/imdg/api/Imdg.java +++ b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/platform/imdg/api/Imdg.java @@ -72,30 +72,18 @@ public interface Imdg { throw new UnsupportedOperationException("not implemented projectionsAttributeBySql"); } - /** - * при необходимости ввести ImdgAggregator - */ default Long aggregateLongMax(String fieldName, ImdgPredicate predicate) { throw new UnsupportedOperationException("not implemented aggregate"); } - /** - * при необходимости ввести ImdgAggregator - */ default T aggregateByMax(String fieldName, ImdgPredicate predicate) { throw new UnsupportedOperationException("not implemented aggregate"); } - /** - * при необходимости ввести ImdgProjection - */ default Collection projectSingleAttribute(String fieldName, ImdgPredicate predicate) { throw new UnsupportedOperationException("not implemented projectSingleAttribute"); } - /** - * при необходимости ввести ImdgProjection - */ default Collection projectSingleAttribute(String fieldName) { return projectSingleAttribute(fieldName, null); } @@ -104,17 +92,14 @@ public interface Imdg { throw new UnsupportedOperationException("not implemented size"); } - // Predicate API default Collection getCollectionObjectsByPredicate(ImdgPredicate predicate) { throw new UnsupportedOperationException("not implemented getCollectionObjectsByPredicate"); } - // Predicate API default T getSingleObjectByPredicate(ImdgPredicate predicate) { throw new UnsupportedOperationException("not implemented getSingleObjectByPredicate"); } - // Predicate API default T getFirstObjectByPredicate(ImdgPredicate predicate) { throw new UnsupportedOperationException("not implemented getFirstObjectByPredicate"); } diff --git a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/platform/imdg/api/ImdgProvider.java b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/platform/imdg/api/ImdgProvider.java index 4ff60bf67..dc21e66c6 100644 --- a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/platform/imdg/api/ImdgProvider.java +++ b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/platform/imdg/api/ImdgProvider.java @@ -3,9 +3,6 @@ package ru.spcex.platform.imdg.api; import ru.spcex.platform.classes.base.SpcexObjectBase; public interface ImdgProvider { - /** - * пока простой интерфейс для получения доступа к мапам - */ Imdg getImdg(String key, Class clazz); ImdgId getImdgIdGenerator(); diff --git a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/platform/imdg/api/ImdgTransaction.java b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/platform/imdg/api/ImdgTransaction.java index bd1f2eb32..a9da990e7 100644 --- a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/platform/imdg/api/ImdgTransaction.java +++ b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/platform/imdg/api/ImdgTransaction.java @@ -1,9 +1,5 @@ package ru.spcex.platform.imdg.api; -/** - * из TransactionalContext тоже можно доставать мапы - * поэтому объект транзацкии тоже является ImdgProvider - */ public interface ImdgTransaction extends ImdgProvider { void commitTransaction(); diff --git a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/platform/imdg/validation/ImdgValidationContext.java b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/platform/imdg/validation/ImdgValidationContext.java index 8e1ea71a4..08cb95d65 100644 --- a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/platform/imdg/validation/ImdgValidationContext.java +++ b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/platform/imdg/validation/ImdgValidationContext.java @@ -43,9 +43,6 @@ public class ImdgValidationContext implements IValidatorContext { } } - /** - * !!!не использовать один Enum в разных местах - */ public void storeObject(Enum storedObject, Object anyObject) { storedObjects.put(storedObject, anyObject); } diff --git a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/platform/imdg/validation/Stored.java b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/platform/imdg/validation/Stored.java index c9f6ff542..ea63d65bb 100644 --- a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/platform/imdg/validation/Stored.java +++ b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/platform/imdg/validation/Stored.java @@ -1,11 +1,5 @@ package ru.spcex.platform.imdg.validation; -/** - * !!!не использовать один Enum в разных местах - по энуму на один класс IValidationRule. - */ public enum Stored { - /** - * если выполняется проверка наличия объекта по Id (см. ru.spcex.platform.imdg.validation.rule.PresentById) - */ PresentById } diff --git a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/platform/imdg/validation/rule/PresentById.java b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/platform/imdg/validation/rule/PresentById.java index ed124b62b..1da49900d 100644 --- a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/platform/imdg/validation/rule/PresentById.java +++ b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/platform/imdg/validation/rule/PresentById.java @@ -10,9 +10,6 @@ import ru.spcex.platform.utils.validation.IValidationRule; import java.util.Optional; -/** - * В рексевте необходим интерфейс WithId - */ public class PresentById implements IValidationRule> { private final String mapName; private final IErrorEnumId errorEnum; diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/config/KafkaConsumerFactory.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/config/KafkaConsumerFactory.java index 26e7209f8..d06d4660f 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/config/KafkaConsumerFactory.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/config/KafkaConsumerFactory.java @@ -29,7 +29,6 @@ public class KafkaConsumerFactory { public static ConsumerFactory consumerFactory(KafkaConsumerSettings kafkaSettings) { Map props = new HashMap<>(); - //Properties props = new Properties(); props.put("bootstrap.servers", kafkaSettings.getBootstrapServers()); if (kafkaSettings.getGroupId() != null && kafkaSettings.getGroupId().length() > 0) { props.put("group.id", kafkaSettings.getGroupId()); @@ -38,7 +37,6 @@ public class KafkaConsumerFactory { props.put("session.timeout.ms", kafkaSettings.getSessionTimeoutMs().toString()); props.put("auto.offset.reset", kafkaSettings.getAutoOffsetReset()); props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer"); -// props.put("value.deserializer", JsonDeserializer.class.getName()); props.put("value.deserializer", ErrorHandlingDeserializer.class.getName()); props.put(ErrorHandlingDeserializer.VALUE_DESERIALIZER_CLASS, JsonDeserializer.class.getName()); diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/config/KafkaProducerFactory.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/config/KafkaProducerFactory.java index fdae5c834..29a75da14 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/config/KafkaProducerFactory.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/config/KafkaProducerFactory.java @@ -15,28 +15,14 @@ import java.util.Properties; public class KafkaProducerFactory { public static Producer producer(KafkaProducerSettings kafkaSettings) { Properties kafkaProps = new Properties(); - - //Assign localhost id kafkaProps.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, kafkaSettings.getBootstrapServers()); - - //Set acknowledgements for producer requests. kafkaProps.put(ProducerConfig.ACKS_CONFIG, kafkaSettings.getAcks()); - - //If the request fails, the producer can automatically retry, kafkaProps.put(ProducerConfig.RETRIES_CONFIG, kafkaSettings.getRetries()); - - //Specify buffer size in config kafkaProps.put(ProducerConfig.BATCH_SIZE_CONFIG, kafkaSettings.getBatchSize()); - - //Reduce the no of requests less than 0 kafkaProps.put(ProducerConfig.LINGER_MS_CONFIG, kafkaSettings.getLingerMs()); - //The buffer.memory controls the total amount of memory available to the producer for buffering. kafkaProps.put(ProducerConfig.BUFFER_MEMORY_CONFIG, kafkaSettings.getBufferMemory()); kafkaProps.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringSerializer"); kafkaProps.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, JsonSerializer.class.getName()); -// kafkaProps.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer"); - //ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName()); - // prop.setProperty(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, Employee.class.getName()); return new KafkaProducer<>(kafkaProps); @@ -44,22 +30,12 @@ public class KafkaProducerFactory { public static ProducerFactory producerFactory(KafkaProducerSettings kafkaSettings) { Map kafkaProps = new HashMap<>(); - ////Assign localhost id kafkaProps.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, kafkaSettings.getBootstrapServers()); - // - ////Set acknowledgements for producer requests. kafkaProps.put(ProducerConfig.ACKS_CONFIG, kafkaSettings.getAcks()); - // - ////If the request fails, the producer can automatically retry, kafkaProps.put(ProducerConfig.RETRIES_CONFIG, kafkaSettings.getRetries()); kafkaProps.put(ProducerConfig.RECONNECT_BACKOFF_MS_CONFIG, 10000); - // - ////Specify buffer size in config kafkaProps.put(ProducerConfig.BATCH_SIZE_CONFIG, kafkaSettings.getBatchSize()); - // - ////Reduce the no of requests less than 0 kafkaProps.put(ProducerConfig.LINGER_MS_CONFIG, kafkaSettings.getLingerMs()); - ////The buffer.memory controls the total amount of memory available to the producer for buffering. kafkaProps.put(ProducerConfig.BUFFER_MEMORY_CONFIG, kafkaSettings.getBufferMemory()); kafkaProps.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringSerializer"); kafkaProps.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, JsonSerializer.class.getName()); diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/BaseRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/BaseRequest.java index e97fb4513..2e265da93 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/BaseRequest.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/BaseRequest.java @@ -9,25 +9,13 @@ import java.util.HashMap; import java.util.Map; public class BaseRequest implements WithId { - /** - * Идентификатор запроса - */ @JsonProperty private Long id; - /** - * Тип запроса - */ @JsonProperty private ActionType actionType; - /** - * Параметры запроса - */ @JsonProperty private T requestPayload; - /** - * ID пользователя, приславшего запрос. - */ @JsonProperty private Long userId; 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 3a524711c..a5a687bf3 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 @@ -103,8 +103,8 @@ public interface Consts { String DESTINATION_CLIENT_CODE_UPDATE = "client-code-update"; String DESTINATION_CLIENT_CODE_DELETE = "client-code-delete"; - String DESTINATION_TRADING_CLEARING_REGISTRY_NEW = "trading-clearing-registry-new"; // не путать с REGISTRY_NEW - @Deprecated // сейчас в бизнес-логике автосоздание ТКР не используется + String DESTINATION_TRADING_CLEARING_REGISTRY_NEW = "trading-clearing-registry-new"; + @Deprecated String DESTINATION_TRADING_CLEARING_REGISTRY_AUTO_NEW = "trading-clearing-registry-auto-new"; String DESTINATION_TRADING_CLEARING_REGISTRY_UPDATE = "trading-clearing-registry-update"; String DESTINATION_TRADING_CLEARING_REGISTRY_BLOCK = "trading-clearing-registry-block"; @@ -174,7 +174,6 @@ public interface Consts { String REGISTRY_EXECUTION_REGISTER_NEW = "registry-execution-register-new"; String REGISTRY_EXECUTION_REGISTER_UPDATE = "registry-execution-register-update"; - //TODO IS IT NEEDED RIGHT HERE? String REGISTRY_CONTRACT_REGISTER_NEW = "registry-contract-register-new"; String REGISTRY_BALANCE_REGISTER_NEW = "registry-balance-register-new"; String REGISTRY_UNCOVERED_DEAL_REGISTER_NEW = "registry-uncovered-deal-register-new"; 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 index 5ee6fc958..a29f18f0f 100644 --- 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 @@ -4,25 +4,25 @@ import com.fasterxml.jackson.annotation.JsonProperty; public class BankAccountUpdateRequest { @JsonProperty - public Long id; //Идентификатор записи + public Long id; @JsonProperty - public String bankIdentificationCode;//Банковский идентификационный код (БИК) + public String bankIdentificationCode; @JsonProperty - public String bankName;//Наименование банка + public String bankName; @JsonProperty - public String correspondentAccount;//Корреспондентский счет + public String correspondentAccount; @JsonProperty - public String correspondentAccountName;//Наименование корреспондентского счета + public String correspondentAccountName; @JsonProperty - public String currency;//Идентификатор валюты + public String currency; @JsonProperty - public String destination;//Назначение + public String destination; @JsonProperty - public String taxpayerIdentificationNumber;//Идентификационный номер налогоплательщика (ИНН) + public String taxpayerIdentificationNumber; @JsonProperty - public String taxRegistrationReasonCode;//Код причины постановки (КПП) + public String taxRegistrationReasonCode; @JsonProperty - public String account;//Номер счета + public String account; public Long getId() { return id; diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/account/ClientCodeUpdateRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/account/ClientCodeUpdateRequest.java index e4bf6f8eb..695864a51 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/account/ClientCodeUpdateRequest.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/account/ClientCodeUpdateRequest.java @@ -4,7 +4,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; public class ClientCodeUpdateRequest { @JsonProperty - public Long id; //Идентификатор записи + public Long id; @JsonProperty private Long companyId; @JsonProperty diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/account/sdf01/AccountSdf01Request.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/account/sdf01/AccountSdf01Request.java index 52c1a5c2e..2e9cb13a2 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/account/sdf01/AccountSdf01Request.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/account/sdf01/AccountSdf01Request.java @@ -4,9 +4,6 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.util.List; -/** - * SDF01 / SDF08 - */ public class AccountSdf01Request { private Long groupingSdf01Id; diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/balance/StatementRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/balance/StatementRequest.java index eec240f6b..e1d4d334b 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/balance/StatementRequest.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/balance/StatementRequest.java @@ -11,8 +11,6 @@ public class StatementRequest { private Long groupId; @JsonProperty private SdfTable table; - //------------------- - //from account-service creation @JsonProperty List accountCreationResults = new ArrayList<>(); @JsonProperty diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/clearing/Sdf56And51Request.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/clearing/Sdf56And51Request.java index aabf1a854..1027f4de7 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/clearing/Sdf56And51Request.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/clearing/Sdf56And51Request.java @@ -8,13 +8,7 @@ import ru.spcex.clearing.platform.messaging.domain.json.serialize.InstantSeriali import java.time.Instant; -/** - * попросили сделать максимально одновременные запросы - */ public class Sdf56And51Request { - /** - * поля для DF-16 - */ @JsonProperty private Long df56Number; @JsonSerialize(using = InstantSerializer.class) @@ -26,9 +20,6 @@ public class Sdf56And51Request { @JsonProperty private Instant eDateTime; - /** - * поля для DF-51 - */ @JsonProperty private Long df51Number; @JsonSerialize(using = InstantSerializer.class) diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/company/CompanyNewRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/company/CompanyNewRequest.java index c35be1c47..17d372121 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/company/CompanyNewRequest.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/company/CompanyNewRequest.java @@ -22,7 +22,6 @@ public class CompanyNewRequest { @JsonProperty private String initiatorCode; - // for update, это поле может использоваться в gateway-api @JsonProperty private Long id; diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/company/CompanySymbolUpdateRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/company/CompanySymbolUpdateRequest.java index fb637060e..1d6011436 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/company/CompanySymbolUpdateRequest.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/company/CompanySymbolUpdateRequest.java @@ -9,7 +9,7 @@ public class CompanySymbolUpdateRequest { @JsonProperty private Long companyId; @JsonProperty - @Deprecated // todo новая мета без этого поля + @Deprecated private String companySymbol; @JsonProperty private String companySymbolValue; diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/ContractRegisterNewRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/ContractRegisterNewRequest.java index 29c58cef3..689d31517 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/ContractRegisterNewRequest.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/ContractRegisterNewRequest.java @@ -11,7 +11,7 @@ import ru.spcex.clearing.platform.messaging.domain.json.serialize.LocalDateSeria import java.time.Instant; import java.time.LocalDate; -@Deprecated // Не используется. Возможно артефакт мёржа. +@Deprecated public class ContractRegisterNewRequest { @JsonProperty diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/reports/NotificationRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/reports/NotificationRequest.java index 5a542d32f..93cedfb0b 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/reports/NotificationRequest.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/reports/NotificationRequest.java @@ -2,13 +2,7 @@ package ru.spcex.clearing.platform.messaging.domain.cud.reports; import com.fasterxml.jackson.annotation.JsonProperty; -/** - * Запрос на формирование уведомления - */ public class NotificationRequest { - /** - * Идентификатор участника клиринга - */ @JsonProperty protected Long consumerId; diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/reports/ReportRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/reports/ReportRequest.java index 78ed940e9..dc392c6e0 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/reports/ReportRequest.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/reports/ReportRequest.java @@ -1,16 +1,8 @@ package ru.spcex.clearing.platform.messaging.domain.cud.reports; import com.fasterxml.jackson.annotation.JsonProperty; -import ru.spcex.platform.enumeration.ReportBuilderType; -/** - * Запрос отчёта (без параметров) report-service - */ public class ReportRequest { - /** - * Идентификатор отчёта - * см. {@link ReportBuilderType} - */ @JsonProperty public String reportId; diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/reports/ReportRequestWithPeriod.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/reports/ReportRequestWithPeriod.java index 983d92d8e..0b1c3a35c 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/reports/ReportRequestWithPeriod.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/reports/ReportRequestWithPeriod.java @@ -8,9 +8,6 @@ import ru.spcex.clearing.platform.messaging.domain.json.serialize.LocalDateSeria import java.time.LocalDate; -/** - * Запрос отчёта с периодом report-service - */ public class ReportRequestWithPeriod extends ReportRequest { @JsonSerialize(using = LocalDateSerializer.class) @JsonDeserialize(using = LocalDateDeserializer.class) diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/reports/ReportRequestWithRegistryId.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/reports/ReportRequestWithRegistryId.java index 9dd2ff2b1..8ca620605 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/reports/ReportRequestWithRegistryId.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/reports/ReportRequestWithRegistryId.java @@ -2,13 +2,7 @@ package ru.spcex.clearing.platform.messaging.domain.cud.reports; import com.fasterxml.jackson.annotation.JsonProperty; -/** - * Запрос на построение отчета по SessionId, RegistryId - */ public class ReportRequestWithRegistryId extends ReportRequest { - /** - * Идентификатор сессии - */ @JsonProperty public Long sessionId; @JsonProperty diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/reports/ReportRequestWithSessionId.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/reports/ReportRequestWithSessionId.java index c065ad6b4..bde0ff300 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/reports/ReportRequestWithSessionId.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/reports/ReportRequestWithSessionId.java @@ -2,13 +2,7 @@ package ru.spcex.clearing.platform.messaging.domain.cud.reports; import com.fasterxml.jackson.annotation.JsonProperty; -/** - * Запрос на построение отчета по SessionId - */ public class ReportRequestWithSessionId extends ReportRequest { - /** - * Идентификатор сессии - */ @JsonProperty public Long sessionId; diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/reports/ReportRequestWithSessionIdList.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/reports/ReportRequestWithSessionIdList.java index d5f9bce77..6e685d9d4 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/reports/ReportRequestWithSessionIdList.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/reports/ReportRequestWithSessionIdList.java @@ -4,13 +4,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.util.List; -/** - * Запрос на построение отчета по списку SessionId - */ public class ReportRequestWithSessionIdList extends ReportRequest { - /** - * Идентификатор сессии - */ @JsonProperty public List sessionId; diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/utilities/JournalEventExportedRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/utilities/JournalEventExportedRequest.java index 099c346a4..98d1068c1 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/utilities/JournalEventExportedRequest.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/utilities/JournalEventExportedRequest.java @@ -26,10 +26,6 @@ public class JournalEventExportedRequest { private String documentName; @JsonProperty private String dossierNumber; - /** - * ACK при успешной загрузке - * NACK при ошибке загрузки - */ @JsonProperty private String resultStatus; diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/logic/functional/BuilderConsumerStep.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/logic/functional/BuilderConsumerStep.java index 0a7bb7f01..224b7b1c7 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/logic/functional/BuilderConsumerStep.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/logic/functional/BuilderConsumerStep.java @@ -5,19 +5,7 @@ import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import java.util.function.Consumer; import java.util.function.Function; -/** - * консьюмеры умеют обновлять RequestInfo в мапе хазелкаста.
- * нам это нужно, например, когда хотим дать возможность узнать пользователю о статусе выполняемой команды.
- * (см. RequestStatusController - в нем пользователь по ID может получить инфу о ранее отправленном запросе) - */ public interface BuilderConsumerStep { - /** - * без обновления RequestInfo в мапе - * - */ BuilderDestinationStep setConsumer(Consumer> consumer); - /** - * с обновлением RequestInfo в мапе - */ BuilderDestinationStep setFunction(Function, Object> function); } diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/logic/functional/ConsumerSpecificClass.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/logic/functional/ConsumerSpecificClass.java index 0b6e96404..5799dd20b 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/logic/functional/ConsumerSpecificClass.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/logic/functional/ConsumerSpecificClass.java @@ -6,18 +6,8 @@ import java.util.function.BiConsumer; import java.util.function.Consumer; import java.util.function.Function; -/** - * вспомогательный класс - * callback для пришедшего сообщения из очереди - */ public class ConsumerSpecificClass implements BuilderConsumerStep, BuilderDestinationStep { - /** - * какой payload будет в BaseRequest - */ private Class clazz; - /** - * действие-обработчик реквеста (метод из конкретного менеджера) - */ private java.util.function.Consumer> consumer; private java.util.function.Function, Object> function; diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/serialization/JsonDeserializer.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/serialization/JsonDeserializer.java index ca0ceb998..36a25ec68 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/serialization/JsonDeserializer.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/serialization/JsonDeserializer.java @@ -32,24 +32,14 @@ public class JsonDeserializer implements Deserializer { @Override public Object deserialize(String topic, Headers headers, byte[] data) { try { -// ObjectReader deserReader = null; -// JavaType javaType = this.typeMapper.toJavaType(headers); -// if (javaType != null) { -// deserReader = this.json.readerFor(javaType); -// } -// if (deserReader == null) { -// throw new RuntimeException("couldn't serialize kafka message without headers (need type info)"); -// } Header header = headers.lastHeader(ClearingKafkaHeader.BaseRequestTypeParameter.getKey()); if (header == null) { throw new RuntimeException("couldn't serialize kafka message without header '" + ClearingKafkaHeader.BaseRequestTypeParameter.getKey() + "' (need type info)"); } String typeParameterClassName = new String(header.value(), StandardCharsets.UTF_8); -// JavaType parameterType = json.getTypeFactory().constructType(ClassUtils.forName(typeParameterClassName, ClassUtils.getDefaultClassLoader())); Class parameterType = ClassUtils.forName(typeParameterClassName, ClassUtils.getDefaultClassLoader()); JavaType requestType = json.getTypeFactory().constructParametricType(BaseRequest.class, parameterType); - //... headers.remove(ClearingKafkaHeader.BaseRequestTypeParameter.getKey()); return json.readValue(new String(data, StandardCharsets.UTF_8), requestType); } catch (IOException | ClassNotFoundException e) { diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/serialization/JsonSerializer.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/serialization/JsonSerializer.java index e819ab119..37869a932 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/serialization/JsonSerializer.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/serialization/JsonSerializer.java @@ -10,11 +10,9 @@ import java.nio.charset.StandardCharsets; public class JsonSerializer implements Serializer { private final ObjectMapper json; -// private final Jackson2JavaTypeMapper typeMapper; public JsonSerializer() { this.json = new ObjectMapper(); -// this.typeMapper = new DefaultJackson2JavaTypeMapper(); } @Override @@ -32,17 +30,9 @@ public class JsonSerializer implements Serializer { if (data == null) { return null; } - //if (this.addTypeInfo && headers != null) { - //Class clazz = callback.getClazz(); - //JavaType payloadType = json.getTypeFactory().constructParametricType(BaseRequest.class, clazz); - //JavaType payloadType = json.getTypeFactory().constructParametricType(BaseRequest.class, clazz); - //JavaType payloadType = json.getTypeFactory().constructCollectionLikeType(BaseRequest.class, clazz); - //failed to use Jackson2JavaTypeMapper with parametrized BaseRequest - //this.typeMapper.fromJavaType(payloadType, headers); BaseRequest req = (BaseRequest) data; Class clazz = req.getRequestPayload().getClass(); headers.add(new RecordHeader(ClearingKafkaHeader.BaseRequestTypeParameter.getKey(), clazz.getName().getBytes(StandardCharsets.UTF_8))); return serialize(topic, data); -// } } } diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/serialization/LogFormatter.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/serialization/LogFormatter.java index 620ade474..0fb9c33d0 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/serialization/LogFormatter.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/serialization/LogFormatter.java @@ -6,9 +6,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import ru.spcex.platform.utils.log.ExceptionUtils; -/** - * Для удобной записи в лог объектов. - */ public class LogFormatter { static Logger log = LoggerFactory.getLogger(LogFormatter.class); static final ObjectMapper json; @@ -26,12 +23,6 @@ public class LogFormatter { } } - /** - * Для записи сложного объекта в лог уровней trace/debug - конвертация выполняется только по toString - * - * @param o - * @return - */ public static Object toStringWrapper(final Object o) { if (o == null) return String.valueOf(null); return new Object() { diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/service/QueueConsumer.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/service/QueueConsumer.java index bfe4c6cb4..f8f5bdb3e 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/service/QueueConsumer.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/service/QueueConsumer.java @@ -35,9 +35,6 @@ import java.util.concurrent.Future; import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.Function; -/** - * утилитный класс для обработки сообщений из очереди - */ public class QueueConsumer implements AutoCloseable { protected final Map> callbacks; private final Logger log = LoggerFactory.getLogger(getClass()); @@ -61,13 +58,6 @@ public class QueueConsumer implements AutoCloseable { } } - /** - * используем этот конструктор, если хотим класть - * в кафку "ответ" - информацию о статусе обработки команд - * - * @param kafkaQueue - * @param kafkaResponseQueue - */ public QueueConsumer(Consumer kafkaQueue, Producer kafkaResponseQueue) { this(kafkaQueue); this.producer = kafkaResponseQueue; @@ -146,12 +136,10 @@ public class QueueConsumer implements AutoCloseable { }); } - //мб перенести в другой класс private void sendErrorResponse(BaseRequest o, Header correlationId) { outputExecutor.submit(() -> { try { Future send; - //default response BaseRequest req = new BaseRequest<>(); RequestInfoUpdate success = new RequestInfoUpdate(); success.setId(o.getId()); @@ -184,7 +172,6 @@ public class QueueConsumer implements AutoCloseable { if (response != null) { req.setRequestPayload(response); } else { - //default response RequestInfoUpdate success = new RequestInfoUpdate(); success.setId(o.getId()); success.setStatus(Status.Success); @@ -207,12 +194,6 @@ public class QueueConsumer implements AutoCloseable { } - /** - * Валидация запроса - * - * @param Класс проверяемого запроса - * @return null если ошибок нет - */ @Deprecated public RequestInfoUpdate validate(BaseRequest userRequest, Function validatorBuilder, @@ -242,7 +223,6 @@ public class QueueConsumer implements AutoCloseable { outputExecutor.shutdown(); } - // нужен для тестов поскольку у каждого сервиса свой consumer public Consumer getConsumer() { return consumer; } diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/service/sender/KafkaSender.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/service/sender/KafkaSender.java index 39ec6b504..923e0d168 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/service/sender/KafkaSender.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/service/sender/KafkaSender.java @@ -46,7 +46,6 @@ public class KafkaSender { request.setId(idGenerator.get()); request.setActionType(ActionType.SYSTEM); request.setRequestPayload(requestPayload); - //сохраняет данные о запросе в хранилище saveRequestToStorage(destination, request); ProducerRecord prdRec = new ProducerRecord<>(destination, request); if (correlationId != null) { @@ -65,9 +64,6 @@ public class KafkaSender { return request.getId(); } - /** - * Вариант метода для случая, когда хотим додждаться ответа от другого сервиса через кафку - */ public R sendToQueueWaitForAnswer(String destination, Object requestPayload) { if (!(kafkaTemplate instanceof ReplyingKafkaTemplate)) { throw new IllegalStateException("kafkaTemplate is not ReplyingKafkaTemplate"); @@ -76,14 +72,11 @@ public class KafkaSender { request.setId(idGenerator.get()); request.setActionType(ActionType.SYSTEM); request.setRequestPayload(requestPayload); - //сохраняет данные о запросе в хранилище saveRequestToStorage(destination, request); ProducerRecord prdRec = new ProducerRecord<>(destination, request); ReplyingKafkaTemplate rplKafkaTemplate = (ReplyingKafkaTemplate) kafkaTemplate; RequestReplyFuture replyFuture = rplKafkaTemplate.sendAndReceive(prdRec); - //can be used to extract Producer metadata - //SendResult sendResult = replyFuture.getSendFuture().get(10, TimeUnit.SECONDS); Object value = null; try { ConsumerRecord consumerRecord = replyFuture.get(10, TimeUnit.SECONDS); @@ -122,7 +115,6 @@ public class KafkaSender { @Deprecated void setProducer(Producer kafka) { -// this.kafka = kafka; } void setIdGenerator(Supplier idGenerator) { diff --git a/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/enumeration/EnumMessage.java b/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/enumeration/EnumMessage.java index fc8093067..10a650b15 100644 --- a/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/enumeration/EnumMessage.java +++ b/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/enumeration/EnumMessage.java @@ -5,10 +5,6 @@ import java.util.Collections; public class EnumMessage { private final IEnumId subject; - /** - * Параметры для подстановки в текст сообщения. Все Serializable. - * args not null. - */ private Object[] args; public EnumMessage(IEnumId subject) { diff --git a/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/enumeration/IEnumId.java b/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/enumeration/IEnumId.java index f2a161277..4e5060a31 100644 --- a/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/enumeration/IEnumId.java +++ b/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/enumeration/IEnumId.java @@ -6,10 +6,6 @@ import java.util.Objects; public interface IEnumId extends Serializable { Long UNDEFINED_VALUE = Long.MIN_VALUE; - /** - * Проверяет что среди данного набора Enum, присутствует элемент с данным id - * id может быть null - */ static & IEnumId> boolean contains(java.lang.Long id, T... enumSet) { for (T e : enumSet) { if (Objects.equals(id, e.getId())) @@ -26,10 +22,6 @@ public interface IEnumId extends Serializable { return false; } - /** - * Проверяет что среди всех Enum данного класса, присутствует элемент с данным id - * id может быть null - */ static & IEnumId> boolean contains(Class enumClass, Long id) { for (T e : enumClass.getEnumConstants()) { if (Objects.equals(id, e.getId())) @@ -38,12 +30,6 @@ public interface IEnumId extends Serializable { return false; } - /** - * Возвращает Enum по id, если в заданном классе такой определен - * id может быть null - * - * @return Enum если нашел, иначе null - */ static & IEnumId> T getEnumById(Class enumClass, Long id) { for (T e : enumClass.getEnumConstants()) { if (Objects.equals(id, e.getId())) diff --git a/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/enumeration/IEnumKey.java b/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/enumeration/IEnumKey.java index 7bf725710..f92005ad8 100644 --- a/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/enumeration/IEnumKey.java +++ b/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/enumeration/IEnumKey.java @@ -10,10 +10,6 @@ public interface IEnumKey extends Serializable { return key != null && getKey().equalsIgnoreCase(key); } - /** - * Проверяет что среди данного набора Enum, присутствует элемент с данным id - * id может быть null - */ static & IEnumKey> boolean contains(String id, T... enumSet) { for (T e : enumSet) { if (Objects.equals(id, e.getKey())) @@ -30,10 +26,6 @@ public interface IEnumKey extends Serializable { return false; } - /** - * Проверяет что среди всех Enum данного класса, присутствует элемент с данным id - * id может быть null - */ static & IEnumKey> boolean contains(Class enumClass, String key) { for (T e : enumClass.getEnumConstants()) { if (Objects.equals(key, e.getKey())) @@ -42,12 +34,6 @@ public interface IEnumKey extends Serializable { return false; } - /** - * Возвращает Enum по id, если в заданном классе такой определен - * id может быть null - * - * @return Enum если нашел, иначе null - */ static & IEnumKey> T getEnumByKey(Class enumClass, String key) { for (T e : enumClass.getEnumConstants()) { if (Objects.equals(key, e.getKey())) diff --git a/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/enumeration/SpringPropertiesMessageResolver.java b/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/enumeration/SpringPropertiesMessageResolver.java index f086c0970..8034252ea 100644 --- a/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/enumeration/SpringPropertiesMessageResolver.java +++ b/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/enumeration/SpringPropertiesMessageResolver.java @@ -4,9 +4,6 @@ import org.springframework.context.support.ResourceBundleMessageSource; import java.util.Locale; -/** - * Если в зависимостях не будет spring-context, кинет NoClassDefFound - */ public class SpringPropertiesMessageResolver implements IMessageResolver { private final ResourceBundleMessageSource errorMessages; private Locale locale; diff --git a/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/error/ClearingBaseException.java b/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/error/ClearingBaseException.java index 6a5c0b4e0..66d48f1a9 100644 --- a/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/error/ClearingBaseException.java +++ b/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/error/ClearingBaseException.java @@ -27,11 +27,6 @@ public class ClearingBaseException extends Exception { this.enumMsg = new EnumMessage(code); } -// public ClearingBaseException(String message, Throwable cause) { -// super(message, cause); -// this.enumMsg = new EnumMessage(ClearingError.GeneralError); -// } - public EnumMessage getEnumMsg() { return enumMsg; } diff --git a/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/number/BigDecimalUtil.java b/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/number/BigDecimalUtil.java index 9bc4ac8ba..645b7079f 100644 --- a/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/number/BigDecimalUtil.java +++ b/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/number/BigDecimalUtil.java @@ -6,8 +6,6 @@ import java.math.BigDecimal; public class BigDecimalUtil { -// private final Pattern numberPattern = Pattern.compile("\\d+([.,]\\d+)?"); - public static BigDecimal parse(String number) { if (number == null) { return null; @@ -20,9 +18,6 @@ public class BigDecimalUtil { } } - /** - * Для кейсов когда есть String поле с десятичной частью, и хотим ограничить число знаков после запятой - */ public static String limitDecimalPlaces(String number, int decimalPlaces) { if (number == null) { return null; diff --git a/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/time/TimeUtil.java b/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/time/TimeUtil.java index d6efc9f5e..a8f04f7df 100644 --- a/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/time/TimeUtil.java +++ b/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/time/TimeUtil.java @@ -10,9 +10,6 @@ public class TimeUtil { public static final DateTimeFormatter PROPERTY_DATE_FORMATTER = DateTimeFormatter.ofPattern("dd.MM.yyyy"); public static ZoneId zone = ZoneId.systemDefault(); - /** - * метод чтобы парсить в инстант даты типа yyyy-MM-dd, dd.MM.yyyy и т.д. - */ public static Instant parseInstantDt(String date, DateTimeFormatter formatter) { return LocalDate.parse(date, formatter).atStartOfDay(zone).toInstant(); } diff --git a/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/validation/IValidationRule.java b/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/validation/IValidationRule.java index d5a3f8be7..e35ee7fa8 100644 --- a/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/validation/IValidationRule.java +++ b/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/validation/IValidationRule.java @@ -5,30 +5,17 @@ import ru.spcex.platform.utils.enumeration.IErrorEnumId; import java.util.Optional; -/** - * Правило валидации, описывающее какую ошибку возвращать и при каких условиях - * Все необходимые данные берет из контекста - * @param контекст - */ public interface IValidationRule { Optional validate(C context); - /** - * для логов - */ default String ruleName() { return getClass().getSimpleName(); } - /** - * если у валидатора был вызван метод проверить все, этот метод может использоваться для более тонкой настройки - * по дефолту - выполнять проверку даже если предыдущие выполнены с ошибками - */ default boolean runIfErrorsPresent() { return true; } - //*************** методы для сокращения кода *************** default Optional of(IErrorEnumId error) { return Optional.of(new EnumMessage(error)); } diff --git a/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/validation/IValidator.java b/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/validation/IValidator.java index 36f9b3608..b06c5dec8 100644 --- a/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/validation/IValidator.java +++ b/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/validation/IValidator.java @@ -6,37 +6,15 @@ import ru.spcex.platform.utils.enumeration.EnumMessage; import java.util.Collection; import java.util.Optional; -/** - * Валидатор, в который можно добавлять правила проверок. - * Будет выполнять их в том порядке, в котором их добавляли - */ public interface IValidator { - /** - * метод для добавления правил валидации - * если положить правило с некорректными типами, при вызове validate будет ClassCastException - */ void addRule(IValidationRule rule); - /** - * если хотим добавить проверки другого валидатора
- * они будут выполняться только если проверки этого успешно пройдены - * возвращает себя - */ IValidator chain(IValidator anotherValidator); - /** - * валидирует все (подходит для случаев когда проверки не полагаются на то что предыдущие проверки прошли нормально) - */ Collection validateAll(); - /** - * валидирует до первой ошибки - */ Optional tillFirstError(); - /** - * валидирует все, возвращает первую ошибку - для совместимости - */ Optional validateAllReturnFirst(); default S getStored(Enum storedObject) { diff --git a/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/validation/ValidatorImpl.java b/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/validation/ValidatorImpl.java index 416e854e2..4ca7c1fc8 100644 --- a/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/validation/ValidatorImpl.java +++ b/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/validation/ValidatorImpl.java @@ -10,9 +10,6 @@ import java.util.Collection; import java.util.List; import java.util.Optional; -/** - * Валидатор, предназначенный для правил у которых есть "контекст" валидации - */ public class ValidatorImpl implements IValidator { private final Logger log = LoggerFactory.getLogger(getClass()); private List> rules = new ArrayList<>(); @@ -21,7 +18,7 @@ public class ValidatorImpl implements IValidator { public ValidatorImpl(C context) {this.context = context;} - public ValidatorImpl(C context, IValidationRule... rules) { // + public ValidatorImpl(C context, IValidationRule... rules) { this.context = context; for (IValidationRule rule : rules) { addRule(rule);