diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/account/ClientCodeController.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/account/ClientCodeController.java new file mode 100644 index 000000000..06cb48671 --- /dev/null +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/account/ClientCodeController.java @@ -0,0 +1,84 @@ +package ru.spcex.clearing.backendapi.controller.queue.account; + +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.MediaType; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; +import ru.clearing.classes.statics.data.account.ClientCode; +import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController; +import ru.spcex.clearing.backendapi.controller.request.cud.account.ClientCodeNewAction; +import ru.spcex.clearing.backendapi.controller.request.cud.account.ClientCodeUpdateAction; +import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction; +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.service.IOperator; +import ru.spcex.clearing.backendapi.service.IStateLoader; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.platform.messaging.domain.Consts; + +import java.util.Collection; +import java.util.Map; +import java.util.concurrent.ExecutionException; + +@Controller +@RequestMapping("/accounting/client-codes") +public class ClientCodeController extends AbstractQueueController { + private final IStateLoader stateLoader; + + @Autowired + public ClientCodeController(IOperator operator, IStateLoader stateLoader) { + super(operator); + this.stateLoader = stateLoader; + } + + @ApiOperation(value = "create client code.") + @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, produces = MediaType.APPLICATION_JSON_VALUE) + @ResponseBody + public CudResponse add( + @ApiParam(value = "Параметры команды в JSON формате.", required = true) + @RequestBody ClientCodeNewAction clientCodeNewAction) throws ExecutionException, InterruptedException { + return processRequest(Consts.DESTINATION_CLIENT_CODE_NEW, clientCodeNewAction); + } + + @ApiOperation(value = "update client-code.") + @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) + @ResponseBody + public CudResponse update( + @ApiParam(value = "Идентификатор изменяемого объекта.", required = true, example = "1234") + @PathVariable("id") Long id, + @ApiParam(value = "Новые значения полей объекта.", required = true) + @RequestBody ClientCodeUpdateAction clientCodeUpdateAction) throws ExecutionException, InterruptedException { + clientCodeUpdateAction.setId(id); + return processRequest(Consts.DESTINATION_CLIENT_CODE_UPDATE, clientCodeUpdateAction); + } + + @ApiOperation(value = "delete client code.") + @ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.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_CLIENT_CODE_DELETE, deleteAction); + } + + + @ApiOperation(value = "get all client codes.") + @ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)}) + @RequestMapping(method = RequestMethod.GET) + @ResponseBody + public CommonGetAllResponse getAll() { + Collection> all = stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_ClientCode, ClientCode.class); + CommonGetAllResponse response = new CommonGetAllResponse(); + response.fromEntity(all); + return response; + } +} diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/account/ClientCodeNewAction.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/account/ClientCodeNewAction.java new file mode 100644 index 000000000..ef0a6b1b1 --- /dev/null +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/account/ClientCodeNewAction.java @@ -0,0 +1,113 @@ +package ru.spcex.clearing.backendapi.controller.request.cud.account; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; +import org.springframework.util.StringUtils; +import ru.spcex.clearing.backendapi.domain.actions.IAction; +import ru.spcex.clearing.backendapi.errors.BackEndError; +import ru.spcex.clearing.platform.messaging.domain.ActionType; +import ru.spcex.clearing.platform.messaging.domain.cud.account.ClientCodeNewRequest; +import ru.spcex.platform.utils.enumeration.EnumMessage; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.List; + +public class ClientCodeNewAction implements IAction { + + @ApiModelProperty(value = "Наименование компании", example = "1200") + @JsonProperty + private Long companyId; + @ApiModelProperty(value = "Код клиента", example = "A301011111") + @JsonProperty + private String code; + @ApiModelProperty(value = "Торгово-клиринговый регистр", example = "1234") + @JsonProperty + private Long tradingClearingRegistryId; + @ApiModelProperty(value = "Номер денежного счета", example = "1234") + @JsonProperty + private Long moneyAccountId; + @ApiModelProperty(value = "Номер депозитарного счета", example = "1234") + @JsonProperty + private Long depoAccountId; + @ApiModelProperty(value = "Наименование статуса", example = "ACTV") + @JsonProperty + private String status; + + @Override + public Collection validate() { + List errors = new ArrayList<>(); + if (this.companyId == null) + errors.add(new EnumMessage(BackEndError.ValidationError, "companyId")); + if (!StringUtils.hasLength(this.code)) + errors.add(new EnumMessage(BackEndError.ValidationError, "code")); + return errors.isEmpty() ? Collections.emptyList() : errors; + } + + @Override + public ClientCodeNewRequest toRequest() { + var req = new ClientCodeNewRequest(); + req.setCompanyId(this.companyId); + req.setCode(this.code); + req.setTradingClearingRegistryId(this.tradingClearingRegistryId); + req.setMoneyAccountId(this.moneyAccountId); + req.setDepoAccountId(this.depoAccountId); + req.setStatus(this.status); + return req; + } + + @ApiModelProperty(hidden = true) + @Override + public ActionType getActionType() { + return ActionType.NEW; + } + + public Long getCompanyId() { + return companyId; + } + + public void setCompanyId(Long companyId) { + this.companyId = companyId; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public Long getTradingClearingRegistryId() { + return tradingClearingRegistryId; + } + + public void setTradingClearingRegistryId(Long tradingClearingRegistryId) { + this.tradingClearingRegistryId = tradingClearingRegistryId; + } + + public Long getMoneyAccountId() { + return moneyAccountId; + } + + public void setMoneyAccountId(Long moneyAccountId) { + this.moneyAccountId = moneyAccountId; + } + + public Long getDepoAccountId() { + return depoAccountId; + } + + public void setDepoAccountId(Long depoAccountId) { + this.depoAccountId = depoAccountId; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } +} diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/account/ClientCodeUpdateAction.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/account/ClientCodeUpdateAction.java new file mode 100644 index 000000000..97f92a06e --- /dev/null +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/account/ClientCodeUpdateAction.java @@ -0,0 +1,121 @@ +package ru.spcex.clearing.backendapi.controller.request.cud.account; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; +import ru.spcex.clearing.backendapi.domain.actions.IAction; +import ru.spcex.clearing.backendapi.errors.BackEndError; +import ru.spcex.clearing.platform.messaging.domain.ActionType; +import ru.spcex.clearing.platform.messaging.domain.cud.account.ClientCodeUpdateRequest; +import ru.spcex.platform.utils.enumeration.EnumMessage; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.List; + +public class ClientCodeUpdateAction implements IAction { + @ApiModelProperty(hidden = true) + @JsonProperty + public Long id; + @ApiModelProperty(value = "Наименование компании", example = "1200") + @JsonProperty + private Long companyId; + @ApiModelProperty(value = "Код клиента", example = "A301011111") + @JsonProperty + private String code; + @ApiModelProperty(value = "Торгово-клиринговый регистр", example = "1234") + @JsonProperty + private Long tradingClearingRegistryId; + @ApiModelProperty(value = "Номер денежного счета", example = "1234") + @JsonProperty + private Long moneyAccountId; + @ApiModelProperty(value = "Номер депозитарного счета", example = "1234") + @JsonProperty + private Long depoAccountId; + @ApiModelProperty(value = "Наименование статуса", example = "ACTV") + @JsonProperty + private String status; + + @Override + public Collection validate() { + List errors = new ArrayList<>(); + if (this.id == null) + errors.add(new EnumMessage(BackEndError.ValidationError, "id")); + return errors.isEmpty() ? Collections.emptyList() : errors; + } + + @Override + public ClientCodeUpdateRequest toRequest() { + var req = new ClientCodeUpdateRequest(); + req.setId(this.id); + req.setCompanyId(this.companyId); + req.setCode(this.code); + req.setTradingClearingRegistryId(this.tradingClearingRegistryId); + req.setMoneyAccountId(this.moneyAccountId); + req.setDepoAccountId(this.depoAccountId); + req.setStatus(this.status); + return req; + } + + @ApiModelProperty(hidden = true) + @Override + public ActionType getActionType() { + return ActionType.UPDATE; + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getCompanyId() { + return companyId; + } + + public void setCompanyId(Long companyId) { + this.companyId = companyId; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public Long getTradingClearingRegistryId() { + return tradingClearingRegistryId; + } + + public void setTradingClearingRegistryId(Long tradingClearingRegistryId) { + this.tradingClearingRegistryId = tradingClearingRegistryId; + } + + public Long getMoneyAccountId() { + return moneyAccountId; + } + + public void setMoneyAccountId(Long moneyAccountId) { + this.moneyAccountId = moneyAccountId; + } + + public Long getDepoAccountId() { + return depoAccountId; + } + + public void setDepoAccountId(Long depoAccountId) { + this.depoAccountId = depoAccountId; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } +} 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 0f1c3d1d9..0ab17daac 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 @@ -88,6 +88,8 @@ import static ru.spcex.clearing.test.json.MatcherFactoryWithJson.usingIgnoringFi BankAccountController.class, ClearingAccountController.class, DepoAccountController.class, + //account misc + ClientCodeController.class, //company CompanyRoleSetController.class, CompanyController.class, 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 new file mode 100644 index 000000000..32a66547e --- /dev/null +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/account/ClientCodeControllerTest.java @@ -0,0 +1,174 @@ +package ru.spcex.clearing.backendapi.controller.queue.account; + +import org.junit.jupiter.api.Test; +import org.springframework.core.NestedExceptionUtils; +import org.springframework.http.MediaType; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import ru.clearing.classes.statics.data.account.ClientCode; +import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest; +import ru.spcex.clearing.backendapi.controller.request.cud.account.ClientCodeNewAction; +import ru.spcex.clearing.backendapi.controller.request.cud.account.ClientCodeUpdateAction; +import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction; +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 java.time.Instant; + +import static org.junit.jupiter.api.Assertions.assertThrows; +import static ru.spcex.clearing.test.json.JsonUtil.writeValue; + +class ClientCodeControllerTest extends AbstractControllerTest { + private static final String REST_URL = "/accounting/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", + "ACTV", + 1000L, + 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)); + assertThrowsFor(getClientCodeNewAction(0, null, "ACTV", 1000L, 1010L, 1020L, 1030L)); + 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, + "044525776", + "ACTV", + 1000L, + 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.
+ * Входной запрос /accounting/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.
+ * Входной запрос /accounting/client-codes/
+ * Ответ CommonGetAllResponse
+ */ + @Test + void getAll() throws Exception { + //ARRANGE + ClientCode existClientCode = new ClientCode(); + existClientCode.setCode("ooo tinkoff"); + existClientCode.setCompanyId(1000L); + existClientCode.setDepoAccountId(1010L); + existClientCode.setStatus("ACTV"); + existClientCode.setMoneyAccountId(1020L); + existClientCode.setTradingClearingRegistryId(1030L); + existClientCode.setCreated(Instant.now()); + existClientCode.setUpdated(Instant.now()); + existClientCode.setId(currentId.get()); + + //ACT and ASSERT + checkGettingAllFromRestApi(IMDGDistributedNames.Map_ClientCode, existClientCode, REST_URL); + } + + private void assertThrowsFor(IAction iAction) { + assertThrows(ActionValidationException.class, () -> { + try { + perform(MockMvcRequestBuilders.post(REST_URL).contentType(MediaType.APPLICATION_JSON).content(writeValue(iAction))); + } catch (Exception e) { + Throwable rootCause = NestedExceptionUtils.getRootCause(e); + throw rootCause != null ? rootCause : e; + } + }); + } + + private ClientCodeNewAction getClientCodeNewAction(long id, + String code, String status, Long companyId, Long depoAccountId, + Long moneyAccountId, Long tradingClearingRegistryId ) { + ClientCodeNewAction clientCodeNewAction = new ClientCodeNewAction(); + clientCodeNewAction.setCode(code); + clientCodeNewAction.setCompanyId(companyId); + clientCodeNewAction.setDepoAccountId(depoAccountId); + clientCodeNewAction.setStatus(status); + clientCodeNewAction.setMoneyAccountId(moneyAccountId); + clientCodeNewAction.setTradingClearingRegistryId(tradingClearingRegistryId); + return clientCodeNewAction; + } + + private ClientCodeUpdateAction getClientCodeUpdateAction(long id, String code, String status, Long companyId, Long depoAccountId, + Long moneyAccountId, Long tradingClearingRegistryId) { + ClientCodeUpdateAction clientCodeUpdateAction = new ClientCodeUpdateAction(); + clientCodeUpdateAction.setId(id); + clientCodeUpdateAction.setCode(code); + clientCodeUpdateAction.setCompanyId(companyId); + clientCodeUpdateAction.setDepoAccountId(depoAccountId); + clientCodeUpdateAction.setStatus(status); + clientCodeUpdateAction.setMoneyAccountId(moneyAccountId); + clientCodeUpdateAction.setTradingClearingRegistryId(tradingClearingRegistryId); + return clientCodeUpdateAction; + } +} \ No newline at end of file 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 e81d7e852..32ccec396 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 @@ -65,6 +65,10 @@ public interface Consts { String DESTINATION_PROFILE_DOCUMENT_UPDATE = "profile-document-update"; String DESTINATION_PROFILE_DOCUMENT_DELETE = "profile-document-delete"; + String DESTINATION_CLIENT_CODE_NEW = "client-code-new"; + String DESTINATION_CLIENT_CODE_UPDATE = "client-code-update"; + String DESTINATION_CLIENT_CODE_DELETE = "client-code-delete"; + String DESTINATION_SDF08_NEW = "s-df-08-new"; String DESTINATION_SDF02_NEW = "s-df-02-new"; diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/account/ClientCodeNewRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/account/ClientCodeNewRequest.java new file mode 100644 index 000000000..2884c916c --- /dev/null +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/account/ClientCodeNewRequest.java @@ -0,0 +1,66 @@ +package ru.spcex.clearing.platform.messaging.domain.cud.account; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class ClientCodeNewRequest { + @JsonProperty + private Long companyId; + @JsonProperty + private String code; + @JsonProperty + private Long tradingClearingRegistryId; + @JsonProperty + private Long moneyAccountId; + @JsonProperty + private Long depoAccountId; + @JsonProperty + private String status; + + public Long getCompanyId() { + return companyId; + } + + public void setCompanyId(Long companyId) { + this.companyId = companyId; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public Long getTradingClearingRegistryId() { + return tradingClearingRegistryId; + } + + public void setTradingClearingRegistryId(Long tradingClearingRegistryId) { + this.tradingClearingRegistryId = tradingClearingRegistryId; + } + + public Long getMoneyAccountId() { + return moneyAccountId; + } + + public void setMoneyAccountId(Long moneyAccountId) { + this.moneyAccountId = moneyAccountId; + } + + public Long getDepoAccountId() { + return depoAccountId; + } + + public void setDepoAccountId(Long depoAccountId) { + this.depoAccountId = depoAccountId; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } +} 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 new file mode 100644 index 000000000..e4bf6f8eb --- /dev/null +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/account/ClientCodeUpdateRequest.java @@ -0,0 +1,76 @@ +package ru.spcex.clearing.platform.messaging.domain.cud.account; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class ClientCodeUpdateRequest { + @JsonProperty + public Long id; //Идентификатор записи + @JsonProperty + private Long companyId; + @JsonProperty + private String code; + @JsonProperty + private Long tradingClearingRegistryId; + @JsonProperty + private Long moneyAccountId; + @JsonProperty + private Long depoAccountId; + @JsonProperty + private String status; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getCompanyId() { + return companyId; + } + + public void setCompanyId(Long companyId) { + this.companyId = companyId; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public Long getTradingClearingRegistryId() { + return tradingClearingRegistryId; + } + + public void setTradingClearingRegistryId(Long tradingClearingRegistryId) { + this.tradingClearingRegistryId = tradingClearingRegistryId; + } + + public Long getMoneyAccountId() { + return moneyAccountId; + } + + public void setMoneyAccountId(Long moneyAccountId) { + this.moneyAccountId = moneyAccountId; + } + + public Long getDepoAccountId() { + return depoAccountId; + } + + public void setDepoAccountId(Long depoAccountId) { + this.depoAccountId = depoAccountId; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } +}