From 97da625d6422fc8258c46be20aa755c3fb47f68a Mon Sep 17 00:00:00 2001 From: AKurakin Date: Fri, 12 May 2023 15:25:03 +0300 Subject: [PATCH] =?UTF-8?q?backend-api=20http://jira.mfd.msk:8088/browse/C?= =?UTF-8?q?LS-257=20http://jira.mfd.msk:8088/browse/CLS-256=20=D1=81=D0=B2?= =?UTF-8?q?=D0=B5=D1=80=D0=BA=D0=B0=20=D1=81=20=D0=BC=D0=B5=D1=82=D0=BE?= =?UTF-8?q?=D0=B9.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../company/CompanySymbolController.java | 25 +++ .../queue/company/ContactController.java | 12 + .../MoneyMarketSecurityNewAction.java | 205 +++++++++++++----- .../MoneyMarketSecurityUpdateAction.java | 183 ++++++++++++---- .../MoneyMarketSecurityControllerTest.java | 15 ++ .../platform/messaging/domain/Consts.java | 2 + 6 files changed, 339 insertions(+), 103 deletions(-) diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/company/CompanySymbolController.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/company/CompanySymbolController.java index b14070c55..6814c19e2 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/company/CompanySymbolController.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/company/CompanySymbolController.java @@ -10,7 +10,10 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import ru.clearing.classes.statics.data.company.CompanySymbols; import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController; +import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction; +import ru.spcex.clearing.backendapi.controller.request.cud.company.CompanySymbolNewAction; 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.response.BasicSpcexResponse; import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse; import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse; @@ -35,6 +38,17 @@ public class CompanySymbolController extends AbstractQueueController { this.stateLoader = stateLoader; } + + @ApiOperation(value = "create company symbol.") + @ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)}) + @RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE) + @ResponseBody + public CudResponse create( + @ApiParam(value = "Значения полей нового объекта.", required = true) + @RequestBody CompanySymbolNewAction companySymbolNewAction) throws ExecutionException, InterruptedException { + return processRequest(Consts.DESTINATION_COMPANY_SYMBOL_NEW, companySymbolNewAction); + } + @ApiOperation(value = "update company symbol.") @ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)}) @RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE) @@ -58,4 +72,15 @@ public class CompanySymbolController extends AbstractQueueController { response.fromEntity(all); return response; } + + @ApiOperation(value = "delete company symbol.") + @ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class)}) + @RequestMapping(value = "/{id}", method = RequestMethod.DELETE) + @ResponseBody + public CudResponse delete(@ApiParam(value = "Идентификатор удаляемого объекта", required = true, example = "1234") + @PathVariable("id") Long id) throws ExecutionException, InterruptedException { + CommonDeleteAction deleteAction = new CommonDeleteAction(); + deleteAction.setId(id); + return processRequest(Consts.DESTINATION_COMPANY_SYMBOL_DELETE, deleteAction); + } } diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/company/ContactController.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/company/ContactController.java index 4caf0f997..82a85bddf 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/company/ContactController.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/company/ContactController.java @@ -10,6 +10,7 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import ru.clearing.classes.statics.data.profile.Contact; import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController; +import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction; 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.controller.response.BasicSpcexResponse; @@ -58,6 +59,17 @@ public class ContactController extends AbstractQueueController { return processRequest(Consts.DESTINATION_CONTACT_NEW, contactNewAction); } + @ApiOperation(value = "delete contact.") + @ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class)}) + @RequestMapping(value = "/{id}", method = RequestMethod.DELETE) + @ResponseBody + public CudResponse delete(@ApiParam(value = "Идентификатор удаляемого объекта", required = true, example = "1234") + @PathVariable("id") Long id) throws ExecutionException, InterruptedException { + CommonDeleteAction deleteAction = new CommonDeleteAction(); + deleteAction.setId(id); + return processRequest(Consts.DESTINATION_CONTACT_DELETE, deleteAction); + } + @ApiOperation(value = "get all Contacts.") @ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)}) @RequestMapping(method = RequestMethod.GET) diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/securities/MoneyMarketSecurityNewAction.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/securities/MoneyMarketSecurityNewAction.java index fc5f8bc61..e8c258b59 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/securities/MoneyMarketSecurityNewAction.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/securities/MoneyMarketSecurityNewAction.java @@ -21,7 +21,25 @@ import java.util.Collections; import java.util.List; public class MoneyMarketSecurityNewAction implements IAction, WithSecuritySymbol { - @ApiModelProperty(value = "Дата начала действия", example = "2022-01-20") + @ApiModelProperty(value = "Код инструмента", example = "CDE") + @JsonProperty + public String securitySymbol; + @ApiModelProperty(value = "Краткое наименование инструмента", example = "NAME") + @JsonProperty + public String shortName; + @ApiModelProperty(value = "Полное наименование инструмента", example = "NAME A") + @JsonProperty + public String fullName; + @ApiModelProperty(value = "Размер лота", example = "21.55") + @JsonProperty + public BigDecimal lotSize; + @ApiModelProperty(value = "Номинал", example = "20.5554") + @JsonProperty + public BigDecimal nominalValue; + @ApiModelProperty(value = "Наименование валюты номинала", example = "RUB") + @JsonProperty + public String nominalCurrency; + @ApiModelProperty(value = "Дата начала действия", example = "2022-02-20") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Europe/Moscow") @JsonDeserialize(using = LocalDateDeserializer.class) @JsonProperty @@ -31,27 +49,30 @@ public class MoneyMarketSecurityNewAction implements IAction validate() { @@ -70,8 +91,8 @@ public class MoneyMarketSecurityNewAction implements IAction 0 ? errors : Collections.emptyList(); @@ -89,6 +110,13 @@ public class MoneyMarketSecurityNewAction implements IAction