backend-api http://jira.mfd.msk:8088/browse/CLS-257 /accounting/
This commit is contained in:
parent
32590c00f8
commit
d7c74b25b1
15 changed files with 573 additions and 11 deletions
|
|
@ -1,28 +1,38 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.queue.account;
|
package ru.spcex.clearing.backendapi.controller.queue.account;
|
||||||
|
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import io.swagger.annotations.ApiParam;
|
||||||
import io.swagger.annotations.ApiResponse;
|
import io.swagger.annotations.ApiResponse;
|
||||||
import io.swagger.annotations.ApiResponses;
|
import io.swagger.annotations.ApiResponses;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.http.MediaType;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
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.Account;
|
||||||
|
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
||||||
|
import ru.spcex.clearing.backendapi.controller.request.cud.account.AccountNewAction;
|
||||||
|
import ru.spcex.clearing.backendapi.controller.request.cud.account.AccountUpdateAction;
|
||||||
|
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.controller.response.entity.CommonGetAllResponse;
|
||||||
|
import ru.spcex.clearing.backendapi.service.IOperator;
|
||||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.ExecutionException;
|
||||||
|
|
||||||
@Controller
|
@Controller
|
||||||
@RequestMapping("/accounting/accounts")
|
@RequestMapping("/accounting/accounts")
|
||||||
public class AccountController {
|
public class AccountController extends AbstractQueueController {
|
||||||
private final IStateLoader stateLoader;
|
private final IStateLoader stateLoader;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
public AccountController(IStateLoader stateLoader) {
|
public AccountController(IOperator operator, IStateLoader stateLoader) {
|
||||||
|
super(operator);
|
||||||
this.stateLoader = stateLoader;
|
this.stateLoader = stateLoader;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -36,4 +46,40 @@ public class AccountController {
|
||||||
response.fromEntity(all);
|
response.fromEntity(all);
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ApiOperation(value = "create account.")
|
||||||
|
@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 AccountNewAction accountNewAction) throws ExecutionException, InterruptedException {
|
||||||
|
return processRequest(Consts.DESTINATION_ACCOUNT_NEW, accountNewAction);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "update account.")
|
||||||
|
@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 AccountUpdateAction accountUpdateAction) throws ExecutionException, InterruptedException {
|
||||||
|
accountUpdateAction.setId(id);
|
||||||
|
return processRequest(Consts.DESTINATION_ACCOUNT_UPDATE, accountUpdateAction);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "delete account.")
|
||||||
|
@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_ACCOUNT_DELETE, deleteAction);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ import java.util.Optional;
|
||||||
import java.util.concurrent.ExecutionException;
|
import java.util.concurrent.ExecutionException;
|
||||||
|
|
||||||
@Controller
|
@Controller
|
||||||
@RequestMapping("/securities/bank-accounts")
|
@RequestMapping("/accounting/bank-accounts")
|
||||||
public class BankAccountController extends AbstractQueueController {
|
public class BankAccountController extends AbstractQueueController {
|
||||||
private final IStateLoader stateLoader;
|
private final IStateLoader stateLoader;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,39 @@
|
||||||
|
package ru.spcex.clearing.backendapi.controller.queue.account;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import io.swagger.annotations.ApiResponse;
|
||||||
|
import io.swagger.annotations.ApiResponses;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
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.ClearingAccount;
|
||||||
|
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||||
|
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
||||||
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
@RequestMapping("/accounting/clearing-accounts")
|
||||||
|
public class ClearingAccountController {
|
||||||
|
private final IStateLoader stateLoader;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
public ClearingAccountController(IStateLoader stateLoader) {
|
||||||
|
this.stateLoader = stateLoader;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "get all clearing account.")
|
||||||
|
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
||||||
|
@RequestMapping(method = RequestMethod.GET)
|
||||||
|
@ResponseBody
|
||||||
|
public CommonGetAllResponse getAll() {
|
||||||
|
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_ClearingAccount, ClearingAccount.class);
|
||||||
|
CommonGetAllResponse response = new CommonGetAllResponse();
|
||||||
|
response.fromEntity(all);
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,39 @@
|
||||||
|
package ru.spcex.clearing.backendapi.controller.queue.account;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import io.swagger.annotations.ApiResponse;
|
||||||
|
import io.swagger.annotations.ApiResponses;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
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.DepoAccount;
|
||||||
|
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||||
|
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
||||||
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
@RequestMapping("/accounting/depo-accounts")
|
||||||
|
public class DepoAccountController {
|
||||||
|
private final IStateLoader stateLoader;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
public DepoAccountController(IStateLoader stateLoader) {
|
||||||
|
this.stateLoader = stateLoader;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "get all depo account.")
|
||||||
|
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
||||||
|
@RequestMapping(method = RequestMethod.GET)
|
||||||
|
@ResponseBody
|
||||||
|
public CommonGetAllResponse getAll() {
|
||||||
|
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_DepoAccount, DepoAccount.class);
|
||||||
|
CommonGetAllResponse response = new CommonGetAllResponse();
|
||||||
|
response.fromEntity(all);
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,92 @@
|
||||||
|
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.AccountNewRequest;
|
||||||
|
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||||
|
import ru.spcex.platform.utils.text.TextUtil;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class AccountNewAction implements IAction<AccountNewRequest> {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "Наименование компании", example = "1200")
|
||||||
|
@JsonProperty
|
||||||
|
private Long companyId;
|
||||||
|
@ApiModelProperty(value = "Номер счета", example = "A30101111111111111776")
|
||||||
|
@JsonProperty
|
||||||
|
private String account;
|
||||||
|
@ApiModelProperty(value = "Наименование статуса", example = "ACTV")
|
||||||
|
@JsonProperty
|
||||||
|
private String status;
|
||||||
|
@ApiModelProperty(value = "Наименование типа счета", example = "CLRN")
|
||||||
|
@JsonProperty
|
||||||
|
private String accountType;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Collection<EnumMessage> validate() {
|
||||||
|
List<EnumMessage> errors = new ArrayList<>();
|
||||||
|
if (this.companyId == null)
|
||||||
|
errors.add(new EnumMessage(BackEndError.ValidationError, "companyId"));
|
||||||
|
if (!StringUtils.hasLength(this.account))
|
||||||
|
errors.add(new EnumMessage(BackEndError.ValidationError, "account"));
|
||||||
|
if (!StringUtils.hasLength(this.accountType))
|
||||||
|
errors.add(new EnumMessage(BackEndError.ValidationError, "accountType"));
|
||||||
|
return errors.isEmpty() ? Collections.emptyList() : errors;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AccountNewRequest toRequest() {
|
||||||
|
var req = new AccountNewRequest();
|
||||||
|
req.setCompanyId(this.companyId);
|
||||||
|
req.setAccount(this.account);
|
||||||
|
req.setStatus(this.status);
|
||||||
|
req.setAccountType(this.accountType);
|
||||||
|
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 getAccount() {
|
||||||
|
return account;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAccount(String account) {
|
||||||
|
this.account = account;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getStatus() {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStatus(String status) {
|
||||||
|
this.status = status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getAccountType() {
|
||||||
|
return accountType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAccountType(String accountType) {
|
||||||
|
this.accountType = accountType;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,102 @@
|
||||||
|
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.AccountNewRequest;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.cud.account.AccountUpdateRequest;
|
||||||
|
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 AccountUpdateAction implements IAction<AccountUpdateRequest> {
|
||||||
|
|
||||||
|
@ApiModelProperty(hidden = true)
|
||||||
|
@JsonProperty
|
||||||
|
public Long id;
|
||||||
|
@ApiModelProperty(value = "Наименование компании", example = "1200")
|
||||||
|
@JsonProperty
|
||||||
|
private Long companyId;
|
||||||
|
@ApiModelProperty(value = "Номер счета", example = "A30101111111111111776")
|
||||||
|
@JsonProperty
|
||||||
|
private String account;
|
||||||
|
@ApiModelProperty(value = "Наименование статуса", example = "ACTV")
|
||||||
|
@JsonProperty
|
||||||
|
private String status;
|
||||||
|
@ApiModelProperty(value = "Наименование типа счета", example = "CLRN")
|
||||||
|
@JsonProperty
|
||||||
|
private String accountType;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Collection<EnumMessage> validate() {
|
||||||
|
List<EnumMessage> errors = new ArrayList<>();
|
||||||
|
if (this.id == null)
|
||||||
|
errors.add(new EnumMessage(BackEndError.ValidationError, "id"));
|
||||||
|
if (!StringUtils.hasLength(this.accountType))
|
||||||
|
errors.add(new EnumMessage(BackEndError.ValidationError, "accountType"));
|
||||||
|
return errors.isEmpty() ? Collections.emptyList() : errors;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AccountUpdateRequest toRequest() {
|
||||||
|
var req = new AccountUpdateRequest();
|
||||||
|
req.setId(this.id);
|
||||||
|
req.setCompanyId(this.companyId);
|
||||||
|
req.setAccount(this.account);
|
||||||
|
req.setStatus(this.status);
|
||||||
|
req.setAccountType(this.accountType);
|
||||||
|
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 getAccount() {
|
||||||
|
return account;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAccount(String account) {
|
||||||
|
this.account = account;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getStatus() {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStatus(String status) {
|
||||||
|
this.status = status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getAccountType() {
|
||||||
|
return accountType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAccountType(String accountType) {
|
||||||
|
this.accountType = accountType;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -28,9 +28,7 @@ import org.springframework.web.context.WebApplicationContext;
|
||||||
import org.springframework.web.filter.CharacterEncodingFilter;
|
import org.springframework.web.filter.CharacterEncodingFilter;
|
||||||
import ru.clearing.classes.statics.data.user.User;
|
import ru.clearing.classes.statics.data.user.User;
|
||||||
import ru.spcex.clearing.backendapi.controller.config.*;
|
import ru.spcex.clearing.backendapi.controller.config.*;
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.account.AccountBalanceController;
|
import ru.spcex.clearing.backendapi.controller.queue.account.*;
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.account.AccountController;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.account.BankAccountController;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.company.*;
|
import ru.spcex.clearing.backendapi.controller.queue.company.*;
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.execution.ExecutionDepositController;
|
import ru.spcex.clearing.backendapi.controller.queue.execution.ExecutionDepositController;
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.journal.InDocumentJournalController;
|
import ru.spcex.clearing.backendapi.controller.queue.journal.InDocumentJournalController;
|
||||||
|
|
@ -88,6 +86,8 @@ import static ru.spcex.clearing.test.json.MatcherFactoryWithJson.usingIgnoringFi
|
||||||
AccountBalanceController.class,
|
AccountBalanceController.class,
|
||||||
AccountController.class,
|
AccountController.class,
|
||||||
BankAccountController.class,
|
BankAccountController.class,
|
||||||
|
ClearingAccountController.class,
|
||||||
|
DepoAccountController.class,
|
||||||
//company
|
//company
|
||||||
CompanyRoleSetController.class,
|
CompanyRoleSetController.class,
|
||||||
CompanyController.class,
|
CompanyController.class,
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,11 @@ package ru.spcex.clearing.backendapi.controller.queue.account;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import ru.clearing.classes.statics.data.account.Account;
|
import ru.clearing.classes.statics.data.account.Account;
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||||
|
import ru.spcex.clearing.backendapi.controller.request.cud.account.AccountNewAction;
|
||||||
|
import ru.spcex.clearing.backendapi.controller.request.cud.account.AccountUpdateAction;
|
||||||
|
import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||||
|
|
||||||
class AccountControllerTest extends AbstractControllerTest {
|
class AccountControllerTest extends AbstractControllerTest {
|
||||||
private static final String REST_URL = "/accounting/accounts/";
|
private static final String REST_URL = "/accounting/accounts/";
|
||||||
|
|
@ -25,4 +29,79 @@ class AccountControllerTest extends AbstractControllerTest {
|
||||||
//ACT and ASSERT
|
//ACT and ASSERT
|
||||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_Account, existBankAccount, REST_URL);
|
checkGettingAllFromRestApi(IMDGDistributedNames.Map_Account, existBankAccount, REST_URL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@link AccountController#add(AccountNewAction)} <br>
|
||||||
|
* Тест проверяет получение сущности {@link AccountNewAction} по REST API и отправку в Apache Kafka.<br>
|
||||||
|
* Входной запрос {@link AccountNewAction}:<br>
|
||||||
|
*/
|
||||||
|
@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_ACCOUNT_NEW, accountNewAction);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@link AccountController#update(Long, AccountUpdateAction)} <br>
|
||||||
|
* Тест проверяет получение сущности {@link AccountUpdateAction} по REST API и отправку в Apache Kafka.<br>
|
||||||
|
* Входной запрос {@link AccountUpdateAction}:<br>
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
void update() throws Exception {
|
||||||
|
//ARRANGE
|
||||||
|
long id = currentId.getAndIncrement();
|
||||||
|
AccountUpdateAction accountUpdateAction = new AccountUpdateAction();
|
||||||
|
accountUpdateAction.setId(id);
|
||||||
|
accountUpdateAction.setStatus("ACTV");
|
||||||
|
accountUpdateAction.setAccount("A11112222333");
|
||||||
|
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_ACCOUNT_UPDATE, accountUpdateAction);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@link AccountController#delete(Long)} <br>
|
||||||
|
* Тест проверяет получение id сущности {@link Long} по REST API и отправку в Apache Kafka.<br>
|
||||||
|
* Входной запрос /securities/account/{@link Long}: - 0L<br>
|
||||||
|
*/
|
||||||
|
@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_ACCOUNT_DELETE, deleteAction);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private Account getAccount(Long id) {
|
||||||
|
Account account = new Account();
|
||||||
|
account.setId(id);
|
||||||
|
account.setStatus("ACTV");
|
||||||
|
account.setAccount("A11112222333");
|
||||||
|
account.setRelationId(4L);
|
||||||
|
account.setCompanyId(5L);
|
||||||
|
account.setAccountType("BANK");
|
||||||
|
account.setProcessingSign("B");
|
||||||
|
account.setRelationId(6L);
|
||||||
|
return account;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -25,7 +25,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
|
||||||
import static ru.spcex.clearing.test.json.JsonUtil.writeValue;
|
import static ru.spcex.clearing.test.json.JsonUtil.writeValue;
|
||||||
|
|
||||||
class BankAccountControllerTest extends AbstractControllerTest {
|
class BankAccountControllerTest extends AbstractControllerTest {
|
||||||
private static final String REST_URL = "/securities/bank-accounts/";
|
private static final String REST_URL = "/accounting/bank-accounts/";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@link BankAccountController#add(BankAccountNewAction)}<br>
|
* {@link BankAccountController#add(BankAccountNewAction)}<br>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
package ru.spcex.clearing.backendapi.controller.queue.account;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import ru.clearing.classes.statics.data.account.ClearingAccount;
|
||||||
|
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||||
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
|
||||||
|
class ClearingAccountControllerTest extends AbstractControllerTest {
|
||||||
|
private static final String REST_URL = "/accounting/clearing-accounts/";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@link ClearingAccountController#getAll()} <br>
|
||||||
|
* Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_ClearingAccount.<br>
|
||||||
|
* Входной запрос /securities/clearing-accounts/ <br>
|
||||||
|
* Ответ CommonGetAllResponse <br>
|
||||||
|
*/
|
||||||
|
@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);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
package ru.spcex.clearing.backendapi.controller.queue.account;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import ru.clearing.classes.statics.data.account.DepoAccount;
|
||||||
|
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||||
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
|
||||||
|
class DepoAccountControllerTest extends AbstractControllerTest {
|
||||||
|
private static final String REST_URL = "/accounting/depo-accounts/";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@link DepoAccountController#getAll()} <br>
|
||||||
|
* Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_ClearingAccount.<br>
|
||||||
|
* Входной запрос /securities/depo-accounts/ <br>
|
||||||
|
* Ответ CommonGetAllResponse <br>
|
||||||
|
*/
|
||||||
|
@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);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -39,7 +39,7 @@ class CudFixedIncomeSecurityControllerTest extends AbstractControllerTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@link CudEquitySecurityController#update(Long, FixedIncomeSecurityUpdateAction)} <br>
|
* {@link CudFixedIncomeSecurityController#update(Long, FixedIncomeSecurityUpdateAction)} <br>
|
||||||
* Тест проверяет получение сущности {@link FixedIncomeSecurityUpdateAction} по REST API и отправку в Apache Kafka.<br>
|
* Тест проверяет получение сущности {@link FixedIncomeSecurityUpdateAction} по REST API и отправку в Apache Kafka.<br>
|
||||||
* Входной запрос {@link FixedIncomeSecurityUpdateAction}:<br>
|
* Входной запрос {@link FixedIncomeSecurityUpdateAction}:<br>
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -54,6 +54,9 @@ public interface Consts {
|
||||||
String DESTINATION_CLEARING_MEMBER_CATEGORY_UPDATE = "clearing-member-category-update";
|
String DESTINATION_CLEARING_MEMBER_CATEGORY_UPDATE = "clearing-member-category-update";
|
||||||
String DESTINATION_CLEARING_MEMBER_CATEGORY_DELETE = "clearing-member-category-delete";
|
String DESTINATION_CLEARING_MEMBER_CATEGORY_DELETE = "clearing-member-category-delete";
|
||||||
|
|
||||||
|
String DESTINATION_ACCOUNT_DELETE = "account-delete";
|
||||||
|
String DESTINATION_ACCOUNT_UPDATE = "account-update";
|
||||||
|
String DESTINATION_ACCOUNT_NEW = "account-new";
|
||||||
String DESTINATION_BANK_ACCOUNT_DELETE = "bank-account-delete";
|
String DESTINATION_BANK_ACCOUNT_DELETE = "bank-account-delete";
|
||||||
String DESTINATION_BANK_ACCOUNT_UPDATE = "bank-account-update";
|
String DESTINATION_BANK_ACCOUNT_UPDATE = "bank-account-update";
|
||||||
String DESTINATION_BANK_ACCOUNT_NEW = "bank-account-new";
|
String DESTINATION_BANK_ACCOUNT_NEW = "bank-account-new";
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,46 @@
|
||||||
|
package ru.spcex.clearing.platform.messaging.domain.cud.account;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
|
||||||
|
public class AccountNewRequest {
|
||||||
|
@JsonProperty
|
||||||
|
public Long companyId;
|
||||||
|
@JsonProperty
|
||||||
|
public String account;
|
||||||
|
@JsonProperty
|
||||||
|
public String status;
|
||||||
|
@JsonProperty
|
||||||
|
public String accountType;
|
||||||
|
|
||||||
|
public Long getCompanyId() {
|
||||||
|
return companyId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCompanyId(Long companyId) {
|
||||||
|
this.companyId = companyId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getAccount() {
|
||||||
|
return account;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAccount(String account) {
|
||||||
|
this.account = account;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getStatus() {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStatus(String status) {
|
||||||
|
this.status = status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getAccountType() {
|
||||||
|
return accountType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAccountType(String accountType) {
|
||||||
|
this.accountType = accountType;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,56 @@
|
||||||
|
package ru.spcex.clearing.platform.messaging.domain.cud.account;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
|
||||||
|
public class AccountUpdateRequest {
|
||||||
|
@JsonProperty
|
||||||
|
public Long id;
|
||||||
|
@JsonProperty
|
||||||
|
public Long companyId;
|
||||||
|
@JsonProperty
|
||||||
|
public String account;
|
||||||
|
@JsonProperty
|
||||||
|
public String status;
|
||||||
|
@JsonProperty
|
||||||
|
public String accountType;
|
||||||
|
|
||||||
|
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 getAccount() {
|
||||||
|
return account;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAccount(String account) {
|
||||||
|
this.account = account;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getStatus() {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStatus(String status) {
|
||||||
|
this.status = status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getAccountType() {
|
||||||
|
return accountType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAccountType(String accountType) {
|
||||||
|
this.accountType = accountType;
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Reference in a new issue