From 8e73a2eced6dce056761e4fbeb70e4ee7dbf6b61 Mon Sep 17 00:00:00 2001 From: AKurakin Date: Fri, 8 Sep 2023 19:09:39 +0300 Subject: [PATCH] =?UTF-8?q?backend-api=20http://jira.mfd.msk:8088/browse/C?= =?UTF-8?q?LS-525=20=D0=B2=D1=8B=D0=B4=D0=B0=D1=87=D0=B0=20=D0=BD=D0=B5?= =?UTF-8?q?=D0=BA=D0=BE=D1=82=D0=BE=D1=80=D1=8B=D1=85=20Account=20=D0=BF?= =?UTF-8?q?=D0=BE=20meta=20(=D1=81=D0=BE=D1=81=D1=82=D0=B0=D0=B2=D0=BD?= =?UTF-8?q?=D0=BE=D0=B5=20=D0=BF=D0=BE=D0=BB=D0=B5)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../account/ClearingAccountController.java | 26 +++++++++++++++-- .../queue/account/DepoAccountController.java | 26 +++++++++++++++-- .../account/InformationAccountController.java | 29 ++++++++++++++++--- 3 files changed, 73 insertions(+), 8 deletions(-) diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/account/ClearingAccountController.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/account/ClearingAccountController.java index 4b4491202..38fa1b5b0 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/account/ClearingAccountController.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/account/ClearingAccountController.java @@ -8,11 +8,16 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; +import ru.clearing.classes.statics.data.account.Account; import ru.clearing.classes.statics.data.account.ClearingAccount; import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse; +import ru.spcex.clearing.backendapi.meta.GetResponseFactory; import ru.spcex.clearing.backendapi.service.IStateLoader; import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.platform.imdg.api.Imdg; +import ru.spcex.platform.imdg.api.ImdgProvider; +import java.util.ArrayList; import java.util.Collection; import java.util.Map; @@ -20,10 +25,16 @@ import java.util.Map; @RequestMapping("/accounting/clearing-accounts") public class ClearingAccountController { private final IStateLoader stateLoader; + private final GetResponseFactory responseFactory; + private final Imdg accountImdg; + private final Imdg clearingAccountImdg; @Autowired - public ClearingAccountController(IStateLoader stateLoader) { + public ClearingAccountController(IStateLoader stateLoader, GetResponseFactory responseFactory, ImdgProvider imdgProvider) { this.stateLoader = stateLoader; + this.responseFactory = responseFactory; + accountImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Account, Account.class); + clearingAccountImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearingAccount, ClearingAccount.class); } @ApiOperation(value = "get all clearing account.") @@ -31,7 +42,18 @@ public class ClearingAccountController { @RequestMapping(method = RequestMethod.GET) @ResponseBody public CommonGetAllResponse getAll() { - Collection> all = stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_ClearingAccount, ClearingAccount.class); + Collection accounts = clearingAccountImdg.getAllValues(); + + Collection> all = new ArrayList<>(accounts.size()); + for (ClearingAccount cAcc : accounts) { + Map fieldMap = responseFactory.responseFromObject(cAcc); + Account baseAccount = accountImdg.getSingleObjectByID(cAcc.getAccountId()); + if (baseAccount != null) { + fieldMap.put("serviceStatus", baseAccount.getStatus()); + } + all.add(fieldMap); + } + CommonGetAllResponse response = new CommonGetAllResponse(); response.fromEntity(all); return response; diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/account/DepoAccountController.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/account/DepoAccountController.java index 9c252536b..89c4b2cca 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/account/DepoAccountController.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/account/DepoAccountController.java @@ -8,11 +8,16 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; +import ru.clearing.classes.statics.data.account.Account; import ru.clearing.classes.statics.data.account.DepoAccount; import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse; +import ru.spcex.clearing.backendapi.meta.GetResponseFactory; import ru.spcex.clearing.backendapi.service.IStateLoader; import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.platform.imdg.api.Imdg; +import ru.spcex.platform.imdg.api.ImdgProvider; +import java.util.ArrayList; import java.util.Collection; import java.util.Map; @@ -20,10 +25,16 @@ import java.util.Map; @RequestMapping("/accounting/depo-accounts") public class DepoAccountController { private final IStateLoader stateLoader; + private final GetResponseFactory responseFactory; + private final Imdg accountImdg; + private final Imdg depoAccountImdg; @Autowired - public DepoAccountController(IStateLoader stateLoader) { + public DepoAccountController(IStateLoader stateLoader, GetResponseFactory responseFactory, ImdgProvider imdgProvider) { this.stateLoader = stateLoader; + this.responseFactory = responseFactory; + accountImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Account, Account.class); + depoAccountImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_DepoAccount, DepoAccount.class); } @ApiOperation(value = "get all depo account.") @@ -31,7 +42,18 @@ public class DepoAccountController { @RequestMapping(method = RequestMethod.GET) @ResponseBody public CommonGetAllResponse getAll() { - Collection> all = stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_DepoAccount, DepoAccount.class); + Collection accounts = depoAccountImdg.getAllValues(); + + Collection> all = new ArrayList<>(accounts.size()); + for (DepoAccount dAcc : accounts) { + Map fieldMap = responseFactory.responseFromObject(dAcc); + Account baseAccount = accountImdg.getSingleObjectByID(dAcc.getAccountId()); + if (baseAccount != null) { + fieldMap.put("serviceStatus", baseAccount.getStatus()); + } + all.add(fieldMap); + } + CommonGetAllResponse response = new CommonGetAllResponse(); response.fromEntity(all); return response; diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/account/InformationAccountController.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/account/InformationAccountController.java index a83f758fb..0874cb6c7 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/account/InformationAccountController.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/account/InformationAccountController.java @@ -11,18 +11,22 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; +import ru.clearing.classes.statics.data.account.Account; import ru.clearing.classes.statics.data.account.InformationAccount; import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController; import ru.spcex.clearing.backendapi.controller.request.cud.account.AccountInformationNewAction; -import ru.spcex.clearing.backendapi.controller.request.cud.account.BankAccountNewAction; import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse; import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse; import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse; +import ru.spcex.clearing.backendapi.meta.GetResponseFactory; import ru.spcex.clearing.backendapi.service.IOperator; import ru.spcex.clearing.backendapi.service.IStateLoader; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.Consts; +import ru.spcex.platform.imdg.api.Imdg; +import ru.spcex.platform.imdg.api.ImdgProvider; +import java.util.ArrayList; import java.util.Collection; import java.util.Map; import java.util.concurrent.ExecutionException; @@ -31,11 +35,18 @@ import java.util.concurrent.ExecutionException; @RequestMapping("/accounting/information-accounts") public class InformationAccountController extends AbstractQueueController { private final IStateLoader stateLoader; + private final GetResponseFactory responseFactory; + private final Imdg accountImdg; + private final Imdg informationAccountImdg; + @Autowired - public InformationAccountController(IOperator operator, IStateLoader stateLoader) { + public InformationAccountController(IOperator operator, IStateLoader stateLoader, GetResponseFactory responseFactory, ImdgProvider imdgProvider) { super(operator); this.stateLoader = stateLoader; + this.responseFactory = responseFactory; + accountImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Account, Account.class); + informationAccountImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_InformationAccount, InformationAccount.class); } @ApiOperation(value = "get all information accounts.") @@ -43,8 +54,18 @@ public class InformationAccountController extends AbstractQueueController { @RequestMapping(method = RequestMethod.GET) @ResponseBody public CommonGetAllResponse getAll() { - Collection> all = stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_InformationAccount, - InformationAccount.class); + Collection accounts = informationAccountImdg.getAllValues(); + + Collection> all = new ArrayList<>(accounts.size()); + for (InformationAccount iAcc : accounts) { + Map fieldMap = responseFactory.responseFromObject(iAcc); + Account baseAccount = accountImdg.getSingleObjectByID(iAcc.getAccountId()); + if (baseAccount != null) { + fieldMap.put("serviceStatus", baseAccount.getStatus()); + } + all.add(fieldMap); + } + CommonGetAllResponse response = new CommonGetAllResponse(); response.fromEntity(all); return response;