This commit is contained in:
parent
ead30c2765
commit
2570b82309
5 changed files with 175 additions and 7 deletions
|
|
@ -5,14 +5,14 @@ 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.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
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.CompanyNewAction;
|
||||
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;
|
||||
|
|
@ -26,12 +26,12 @@ import java.util.concurrent.ExecutionException;
|
|||
|
||||
@Controller
|
||||
@RequestMapping("/companies")
|
||||
public class DeleteCompanyController extends AbstractQueueController {
|
||||
public class CompanyController extends AbstractQueueController {
|
||||
private final IStateLoader stateLoader;
|
||||
|
||||
@Autowired
|
||||
public DeleteCompanyController(IOperator operator,
|
||||
IStateLoader stateLoader) {
|
||||
public CompanyController(IOperator operator,
|
||||
IStateLoader stateLoader) {
|
||||
super(operator);
|
||||
this.stateLoader = stateLoader;
|
||||
}
|
||||
|
|
@ -57,4 +57,14 @@ public class DeleteCompanyController extends AbstractQueueController {
|
|||
response.fromEntity(all);
|
||||
return response;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "new company.")
|
||||
@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 CompanyNewAction companyNewAction) throws ExecutionException, InterruptedException {
|
||||
return processRequest(Consts.DESTINATION_COMPANY_NEW, companyNewAction);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,83 @@
|
|||
package ru.spcex.clearing.backendapi.controller.request.cud.company;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import ru.spcex.clearing.backendapi.domain.actions.IAction;
|
||||
import ru.spcex.clearing.platform.messaging.domain.ActionType;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.company.CompanyNewRequest;
|
||||
|
||||
public class CompanyNewAction implements IAction<CompanyNewRequest> {
|
||||
|
||||
@ApiModelProperty(value = "Краткое наименование Компании", example = "Company Name")
|
||||
@JsonProperty
|
||||
private String shortName;
|
||||
@ApiModelProperty(value = "Полное наименование Компании", example = "OOO Full Company Name")
|
||||
@JsonProperty
|
||||
private String fullName;
|
||||
@ApiModelProperty(value = "Код участника торгов", example = "TRADINGCODE")
|
||||
@JsonProperty
|
||||
private String tradingCode;
|
||||
@ApiModelProperty(value = "Код участника клиринга", example = "CLEARINGCODE")
|
||||
@JsonProperty
|
||||
private String clearingCode;
|
||||
@ApiModelProperty(value = "Регистрационный код участника", example = "REGISTRATIONCODE")
|
||||
@JsonProperty
|
||||
private String registrationCode;
|
||||
|
||||
@Override
|
||||
public CompanyNewRequest toRequest() {
|
||||
CompanyNewRequest request = new CompanyNewRequest();
|
||||
request.setShortName(this.shortName);
|
||||
request.setFullName(this.fullName);
|
||||
request.setTradingCode(this.tradingCode);
|
||||
request.setClearingCode(this.clearingCode);
|
||||
request.setRegistrationCode(this.registrationCode);
|
||||
return request;
|
||||
}
|
||||
|
||||
@ApiModelProperty(hidden = true)
|
||||
@Override
|
||||
public ActionType getActionType() {
|
||||
return ActionType.NEW;
|
||||
}
|
||||
|
||||
public String getShortName() {
|
||||
return shortName;
|
||||
}
|
||||
|
||||
public void setShortName(String shortName) {
|
||||
this.shortName = shortName;
|
||||
}
|
||||
|
||||
public String getFullName() {
|
||||
return fullName;
|
||||
}
|
||||
|
||||
public void setFullName(String fullName) {
|
||||
this.fullName = fullName;
|
||||
}
|
||||
|
||||
public String getTradingCode() {
|
||||
return tradingCode;
|
||||
}
|
||||
|
||||
public void setTradingCode(String tradingCode) {
|
||||
this.tradingCode = tradingCode;
|
||||
}
|
||||
|
||||
public String getClearingCode() {
|
||||
return clearingCode;
|
||||
}
|
||||
|
||||
public void setClearingCode(String clearingCode) {
|
||||
this.clearingCode = clearingCode;
|
||||
}
|
||||
|
||||
public String getRegistrationCode() {
|
||||
return registrationCode;
|
||||
}
|
||||
|
||||
public void setRegistrationCode(String registrationCode) {
|
||||
this.registrationCode = registrationCode;
|
||||
}
|
||||
}
|
||||
|
|
@ -12,6 +12,7 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
|||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.company.CompanyNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
|
@ -33,9 +34,26 @@ public class CompanyService extends QueueConsumer implements InitializingBean {
|
|||
callback(CommonDeleteRequest.class)
|
||||
.setConsumer(this::deleteCompany)
|
||||
.forDestination(Consts.DESTINATION_COMPANY_DELETE, callbacks::put);
|
||||
callback(CompanyNewRequest.class)
|
||||
.setConsumer(this::createCompany)
|
||||
.forDestination(Consts.DESTINATION_COMPANY_NEW, callbacks::put);
|
||||
init();
|
||||
}
|
||||
|
||||
private void createCompany(BaseRequest<CompanyNewRequest> companyNewRequestBaseRequest) {
|
||||
CompanyNewRequest req = companyNewRequestBaseRequest.getRequestPayload();
|
||||
log.debug("company-new request received, BaseRequest.id = {}", companyNewRequestBaseRequest.getId());
|
||||
Company company = new Company();
|
||||
company.setShortName(req.getShortName());
|
||||
company.setFullName(req.getFullName());
|
||||
company.setTradingCode(req.getTradingCode());
|
||||
company.setClearingCode(req.getClearingCode());
|
||||
company.setRegistrationCode(req.getRegistrationCode());
|
||||
companyMap.insert(company);
|
||||
log.debug("company-new request processed, BaseRequest.id = {}, company.id={}",
|
||||
companyNewRequestBaseRequest.getId(), company.getId());
|
||||
}
|
||||
|
||||
private void deleteCompany(BaseRequest<CommonDeleteRequest> userRequest) {
|
||||
CommonDeleteRequest req = userRequest.getRequestPayload();
|
||||
log.debug("CommonDeleteRequest received id = {}", req.getId());
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ public interface Consts {
|
|||
String DESTINATION_PLANNER_UPDATE = "planner-update";
|
||||
String DESTINATION_PLANNER_DELETE = "planner-delete";
|
||||
|
||||
String DESTINATION_COMPANY_NEW = "company-new";
|
||||
String DESTINATION_COMPANY_DELETE = "company-delete";
|
||||
String DESTINATION_COMPANY_INFO_UPDATE = "company-info-update";
|
||||
String DESTINATION_COMPANY_SYMBOL_UPDATE = "company-symbol-update";
|
||||
|
|
|
|||
|
|
@ -0,0 +1,56 @@
|
|||
package ru.spcex.clearing.platform.messaging.domain.cud.company;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
public class CompanyNewRequest {
|
||||
@JsonProperty
|
||||
private String shortName;
|
||||
@JsonProperty
|
||||
private String fullName;
|
||||
@JsonProperty
|
||||
private String tradingCode;
|
||||
@JsonProperty
|
||||
private String clearingCode;
|
||||
@JsonProperty
|
||||
private String registrationCode;
|
||||
|
||||
public String getShortName() {
|
||||
return shortName;
|
||||
}
|
||||
|
||||
public void setShortName(String shortName) {
|
||||
this.shortName = shortName;
|
||||
}
|
||||
|
||||
public String getFullName() {
|
||||
return fullName;
|
||||
}
|
||||
|
||||
public void setFullName(String fullName) {
|
||||
this.fullName = fullName;
|
||||
}
|
||||
|
||||
public String getTradingCode() {
|
||||
return tradingCode;
|
||||
}
|
||||
|
||||
public void setTradingCode(String tradingCode) {
|
||||
this.tradingCode = tradingCode;
|
||||
}
|
||||
|
||||
public String getClearingCode() {
|
||||
return clearingCode;
|
||||
}
|
||||
|
||||
public void setClearingCode(String clearingCode) {
|
||||
this.clearingCode = clearingCode;
|
||||
}
|
||||
|
||||
public String getRegistrationCode() {
|
||||
return registrationCode;
|
||||
}
|
||||
|
||||
public void setRegistrationCode(String registrationCode) {
|
||||
this.registrationCode = registrationCode;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue