diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/account/BankAccountController.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/account/BankAccountController.java index fd927a33b..4e9297dff 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/account/BankAccountController.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/account/BankAccountController.java @@ -16,7 +16,8 @@ import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAc 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.controller.response.entity.account.BankAccountBackendGetById; +import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetByIdResponse; +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; @@ -31,11 +32,13 @@ import java.util.concurrent.ExecutionException; @RequestMapping("/accounting/bank-accounts") public class BankAccountController extends AbstractQueueController { private final IStateLoader stateLoader; + private final GetResponseFactory responseMetaFactory; @Autowired - public BankAccountController(IOperator operator, IStateLoader stateLoader) { + public BankAccountController(GetResponseFactory responseMetaFactory, IOperator operator, IStateLoader stateLoader) { super(operator); this.stateLoader = stateLoader; + this.responseMetaFactory = responseMetaFactory; } @ApiOperation(value = "create bank account.") @@ -73,14 +76,17 @@ public class BankAccountController extends AbstractQueueController { } @ApiOperation(value = "get bank account.") - @ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = BankAccountBackendGetById.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)}) + @ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetByIdResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)}) @RequestMapping(value = "/{id}", method = RequestMethod.GET) @ResponseBody - public BankAccountBackendGetById getById(@ApiParam(value = "Идентификатор объекта", required = true, example = "1234") + public CommonGetByIdResponse getById(@ApiParam(value = "Идентификатор объекта", required = true, example = "1234") @PathVariable("id") Long id) { Optional bankAccount = stateLoader.getById(id, IMDGDistributedNames.Map_BankAccount, BankAccount.class); - BankAccountBackendGetById response = new BankAccountBackendGetById(); - bankAccount.ifPresentOrElse(response::fromEntity, () -> response.setCode(404)); + CommonGetByIdResponse response = new CommonGetByIdResponse(); + bankAccount.ifPresentOrElse( r -> { + Map extractedByMeta = responseMetaFactory.responseFromObject(r); + response.fromEntity(extractedByMeta); + }, () -> response.setCode(404)); return response; } 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 482567c0a..df1cd0349 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 @@ -15,7 +15,6 @@ import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController; import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse; import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse; import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetByIdResponse; -import ru.spcex.clearing.backendapi.controller.response.entity.account.BankAccountBackendGetById; import ru.spcex.clearing.backendapi.errors.NotFound404Exception; import ru.spcex.clearing.backendapi.meta.GetResponseFactory; import ru.spcex.clearing.backendapi.service.IOperator; @@ -51,7 +50,7 @@ public class StatementController extends AbstractQueueController { } @ApiOperation(value = "get Statement by Id.") - @ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = BankAccountBackendGetById.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)}) + @ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetByIdResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)}) @RequestMapping(value = "/{id}", method = RequestMethod.GET) @ResponseBody public CommonGetByIdResponse getById(@ApiParam(value = "Идентификатор объекта", required = true, example = "1234") diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/account/AccountBackendGetAll.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/account/AccountBackendGetAll.java index 46a4a0f1e..baa8ffbd9 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/account/AccountBackendGetAll.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/account/AccountBackendGetAll.java @@ -35,6 +35,7 @@ public class AccountBackendGetAll extends BasicSpcexResponse { singleItem.setRelationId(account.getRelationId()); singleItem.setStatus(account.getStatus()); singleItem.setProcessingSign(account.getProcessingSign()); + singleItem.setCompanyId(account.getCompanyId()); singleItem.setCreated(account.getCreated()); singleItem.setUpdated(account.getUpdated()); payload.getItems().add(singleItem); diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/account/AccountBackendGetFields.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/account/AccountBackendGetFields.java index 7d866ad70..3a23382f2 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/account/AccountBackendGetFields.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/account/AccountBackendGetFields.java @@ -20,6 +20,8 @@ public class AccountBackendGetFields { @JsonProperty private String processingSign; @JsonProperty + private Long companyId; + @JsonProperty @JsonSerialize(using = InstantSerializer.class) private Instant created; @JsonProperty @@ -74,6 +76,14 @@ public class AccountBackendGetFields { this.processingSign = processingSign; } + public Long getCompanyId() { + return companyId; + } + + public void setCompanyId(Long companyId) { + this.companyId = companyId; + } + public Instant getCreated() { return created; } diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/account/BankAccountBackendGetAll.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/account/BankAccountBackendGetAll.java deleted file mode 100644 index 1c1068680..000000000 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/account/BankAccountBackendGetAll.java +++ /dev/null @@ -1,64 +0,0 @@ -package ru.spcex.clearing.backendapi.controller.response.entity.account; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import ru.clearing.classes.statics.data.account.BankAccount; -import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - -/** - * Банковские реквизиты для перечисления денежных средств - **/ -@ApiModel(description = "Ответ при получении объектов BankAccount.") -public class BankAccountBackendGetAll extends BasicSpcexResponse { - - @JsonProperty - @ApiModelProperty(value = "Полезная нагрузка") - private BankAccountBackendPayload payload = new BankAccountBackendPayload(); - - public BankAccountBackendPayload getPayload() { - return payload; - } - - public void setPayload(BankAccountBackendPayload payload) { - this.payload = payload; - } - - public void fromEntity(Collection bankAccounts) { - var payload = this.getPayload(); - for (BankAccount bankAccount : bankAccounts) { - var singleItem = new BankAccountBackendGetFields(); - singleItem.setId(bankAccount.getId()); - singleItem.setAccountId(bankAccount.getAccountId()); - singleItem.setBankIdentificationCode(bankAccount.getBankIdentificationCode()); - singleItem.setBankName(bankAccount.getBankName()); - singleItem.setCorrespondentAccount(bankAccount.getCorrespondentAccount()); - singleItem.setCorrespondentAccountName(bankAccount.getCorrespondentAccountName()); - singleItem.setCurrency(bankAccount.getCurrency()); - singleItem.setDestination(bankAccount.getDestination()); - singleItem.setIban(bankAccount.getIban()); - singleItem.setInternationalTransferSign(bankAccount.getInternationalTransferSign()); - singleItem.setSwiftCode(bankAccount.getSwiftCode()); - singleItem.setTaxpayerIdentificationNumber(bankAccount.getTaxpayerIdentificationNumber()); - singleItem.setTaxRegistrationReasonCode(bankAccount.getTaxRegistrationReasonCode()); - payload.getItems().add(singleItem); - } - } - - private static class BankAccountBackendPayload { - private List items = new ArrayList<>(); - - public List getItems() { - return items; - } - - public void setItems(List items) { - this.items = items; - } - } - -} \ No newline at end of file diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/account/BankAccountBackendGetById.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/account/BankAccountBackendGetById.java deleted file mode 100644 index 21c23f35d..000000000 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/account/BankAccountBackendGetById.java +++ /dev/null @@ -1,48 +0,0 @@ -package ru.spcex.clearing.backendapi.controller.response.entity.account; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import ru.clearing.classes.statics.data.account.BankAccount; -import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse; - -/** - * Банковские реквизиты для перечисления денежных средств - * - * @ApiModel(description = "Ответ в результате отправки операции в топик Kafka.") - * @ApiModelProperty(value = "Информация о принятом запросе") - **/ -@ApiModel(description = "Ответ при получении объекта BankAccount.") -public class BankAccountBackendGetById extends BasicSpcexResponse { - - @JsonProperty - @ApiModelProperty(value = "Поля объекта") - private BankAccountBackendGetFields payload; - - public BankAccountBackendGetFields getPayload() { - return payload; - } - - public void setPayload(BankAccountBackendGetFields payload) { - this.payload = payload; - } - - public void fromEntity(BankAccount bankAccount) { - var payload = new BankAccountBackendGetFields(); - this.setPayload(payload); - payload.setId(bankAccount.getId()); - payload.setAccountId(bankAccount.getAccountId()); - payload.setBankIdentificationCode(bankAccount.getBankIdentificationCode()); - payload.setBankName(bankAccount.getBankName()); - payload.setCorrespondentAccount(bankAccount.getCorrespondentAccount()); - payload.setCorrespondentAccountName(bankAccount.getCorrespondentAccountName()); - payload.setCurrency(bankAccount.getCurrency()); - payload.setDestination(bankAccount.getDestination()); - payload.setIban(bankAccount.getIban()); - payload.setInternationalTransferSign(bankAccount.getInternationalTransferSign()); - payload.setSwiftCode(bankAccount.getSwiftCode()); - payload.setTaxpayerIdentificationNumber(bankAccount.getTaxpayerIdentificationNumber()); - payload.setTaxRegistrationReasonCode(bankAccount.getTaxRegistrationReasonCode()); - } - -} \ No newline at end of file diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/account/BankAccountBackendGetFields.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/account/BankAccountBackendGetFields.java deleted file mode 100644 index 1c90f44de..000000000 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/account/BankAccountBackendGetFields.java +++ /dev/null @@ -1,150 +0,0 @@ -package ru.spcex.clearing.backendapi.controller.response.entity.account; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.annotations.ApiModelProperty; - -public class BankAccountBackendGetFields { - @JsonProperty - @ApiModelProperty(value = "Идентификатор", example = "1234") - private Long id; - @JsonProperty - @ApiModelProperty(value = "", example = "") - private Long accountId; - @JsonProperty - @ApiModelProperty(value = "", example = "ABCD") - private String bankIdentificationCode; - @JsonProperty - @ApiModelProperty(value = "Имя банка", example = "Сбербанк") - private String bankName; - @JsonProperty - @ApiModelProperty(value = "", example = "") - private String correspondentAccount; - @JsonProperty - @ApiModelProperty(value = "", example = "") - private String correspondentAccountName; - @JsonProperty - @ApiModelProperty(value = "", example = "") - private String currency; - @JsonProperty - @ApiModelProperty(value = "", example = "") - private String destination; - @JsonProperty - @ApiModelProperty(value = "", example = "") - private String iban; - @JsonProperty - @ApiModelProperty(value = "", example = "") - private String internationalTransferSign; - @JsonProperty - @ApiModelProperty(value = "", example = "") - private String swiftCode; - @JsonProperty - @ApiModelProperty(value = "", example = "") - private String taxpayerIdentificationNumber; - @JsonProperty - @ApiModelProperty(value = "", example = "") - private String taxRegistrationReasonCode; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Long getAccountId() { - return accountId; - } - - public void setAccountId(Long value) { - this.accountId = value; - } - - public String getBankIdentificationCode() { - return bankIdentificationCode; - } - - public void setBankIdentificationCode(String value) { - this.bankIdentificationCode = value; - } - - public String getBankName() { - return bankName; - } - - public void setBankName(String value) { - this.bankName = value; - } - - public String getCorrespondentAccount() { - return correspondentAccount; - } - - public void setCorrespondentAccount(String value) { - this.correspondentAccount = value; - } - - public String getCorrespondentAccountName() { - return correspondentAccountName; - } - - public void setCorrespondentAccountName(String value) { - this.correspondentAccountName = value; - } - - public String getCurrency() { - return currency; - } - - public void setCurrency(String value) { - this.currency = value; - } - - public String getDestination() { - return destination; - } - - public void setDestination(String value) { - this.destination = value; - } - - public String getIban() { - return iban; - } - - public void setIban(String value) { - this.iban = value; - } - - public String getInternationalTransferSign() { - return internationalTransferSign; - } - - public void setInternationalTransferSign(String value) { - this.internationalTransferSign = value; - } - - public String getSwiftCode() { - return swiftCode; - } - - public void setSwiftCode(String value) { - this.swiftCode = value; - } - - public String getTaxpayerIdentificationNumber() { - return taxpayerIdentificationNumber; - } - - public void setTaxpayerIdentificationNumber(String value) { - this.taxpayerIdentificationNumber = value; - } - - public String getTaxRegistrationReasonCode() { - return taxRegistrationReasonCode; - } - - public void setTaxRegistrationReasonCode(String value) { - this.taxRegistrationReasonCode = value; - } -} diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/test/DefaultController.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/test/DefaultController.java index f99b2eb03..da8a15d2b 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/test/DefaultController.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/test/DefaultController.java @@ -22,7 +22,7 @@ public class DefaultController implements InitializingBean { @ApiOperation(value = "Test backend-api availability.") @ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = String.class)}) - @RequestMapping(method = RequestMethod.GET, path = "/api/system/ping", produces = MediaType.TEXT_PLAIN_VALUE) + @RequestMapping(method = RequestMethod.GET, path = "/system/ping", produces = MediaType.TEXT_PLAIN_VALUE) @ResponseBody public String processGet() { log.info("Call test method for backend-api controller"); @@ -31,7 +31,7 @@ public class DefaultController implements InitializingBean { @ApiOperation(value = "Test backend-api availability (for authorized access). Available for anonymous, if authorization-disabled=true.") @ApiResponses(value = {@ApiResponse(code = 200, message = "OK")}) - @RequestMapping(method = RequestMethod.GET, path = "/api/system/ping/authorized", produces = MediaType.TEXT_PLAIN_VALUE) + @RequestMapping(method = RequestMethod.GET, path = "/system/ping/authorized", produces = MediaType.TEXT_PLAIN_VALUE) @ResponseBody public String processProtectedGet() { log.info("controller method2");