add CompaniesRequest
This commit is contained in:
parent
6832899c2a
commit
338d8274ab
10 changed files with 211 additions and 77 deletions
|
|
@ -2,7 +2,8 @@ package ru.spcex.clearing.gatewayapi.config;
|
|||
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import ru.spcex.clearing.gatewayapi.logic.*;
|
||||
import ru.spcex.clearing.gatewayapi.logic.Stage;
|
||||
import ru.spcex.clearing.gatewayapi.logic.listings.*;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import org.springframework.web.bind.annotation.RequestBody;
|
|||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import ru.spcex.clearing.gatewayapi.request.CompaniesRequest;
|
||||
import ru.spcex.clearing.gatewayapi.request.ListingsRequest;
|
||||
import ru.spcex.clearing.gatewayapi.response.CommonResponse;
|
||||
|
||||
|
|
@ -42,5 +43,27 @@ public class GatewayController {
|
|||
return commonResponse;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "Put companies")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 200, message = "OK", response = CommonResponse.class),
|
||||
@ApiResponse(code = 400, message = "Ошибка валидации", response = CommonResponse.class)
|
||||
})
|
||||
@RequestMapping(
|
||||
path = "/companies",
|
||||
method = RequestMethod.POST,
|
||||
consumes = MediaType.APPLICATION_JSON_VALUE,
|
||||
produces = MediaType.APPLICATION_JSON_VALUE
|
||||
)
|
||||
@ResponseBody
|
||||
public CommonResponse companies(@RequestBody CompaniesRequest request) {
|
||||
// todo pack it to abstract class
|
||||
CommonResponse commonResponse = new CommonResponse();
|
||||
commonResponse.setId(request.getId());
|
||||
commonResponse.setType(request.getType());
|
||||
commonResponse.setDatetime(request.getDatetime());
|
||||
commonResponse.setSection(request.getSection());
|
||||
commonResponse.setCode(200); // todo set result code
|
||||
return commonResponse;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
package ru.spcex.clearing.gatewayapi.logic;
|
||||
package ru.spcex.clearing.gatewayapi.logic.listings;
|
||||
|
||||
import ru.clearing.classes.statics.data.instrument.issue.EquitySecurity;
|
||||
import ru.clearing.classes.statics.data.instrument.issue.FixedIncomeSecurity;
|
||||
import ru.spcex.clearing.gatewayapi.logic.ProcessResult;
|
||||
import ru.spcex.clearing.gatewayapi.logic.Stage;
|
||||
import ru.spcex.clearing.gatewayapi.request.objects.IncomeSecurity;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.platform.enumeration.InstrumentType;
|
||||
|
|
@ -1,5 +1,7 @@
|
|||
package ru.spcex.clearing.gatewayapi.logic;
|
||||
package ru.spcex.clearing.gatewayapi.logic.listings;
|
||||
|
||||
import ru.spcex.clearing.gatewayapi.logic.ProcessResult;
|
||||
import ru.spcex.clearing.gatewayapi.logic.Stage;
|
||||
import ru.spcex.clearing.gatewayapi.request.objects.*;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
|
@ -1,5 +1,7 @@
|
|||
package ru.spcex.clearing.gatewayapi.logic;
|
||||
package ru.spcex.clearing.gatewayapi.logic.listings;
|
||||
|
||||
import ru.spcex.clearing.gatewayapi.logic.ProcessResult;
|
||||
import ru.spcex.clearing.gatewayapi.logic.Stage;
|
||||
import ru.spcex.clearing.gatewayapi.request.objects.*;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package ru.spcex.clearing.gatewayapi.logic;
|
||||
package ru.spcex.clearing.gatewayapi.logic.listings;
|
||||
|
||||
import ru.spcex.clearing.gatewayapi.request.ListingsRequest;
|
||||
import ru.spcex.clearing.gatewayapi.request.objects.IncomeSecurity;
|
||||
|
|
@ -1,5 +1,7 @@
|
|||
package ru.spcex.clearing.gatewayapi.logic;
|
||||
package ru.spcex.clearing.gatewayapi.logic.listings;
|
||||
|
||||
import ru.spcex.clearing.gatewayapi.logic.ProcessResult;
|
||||
import ru.spcex.clearing.gatewayapi.logic.Stage;
|
||||
import ru.spcex.clearing.gatewayapi.request.objects.IncomeSecurity;
|
||||
import ru.spcex.clearing.gatewayapi.request.objects.Listing;
|
||||
import ru.spcex.platform.enumeration.BondType;
|
||||
|
|
@ -0,0 +1,78 @@
|
|||
package ru.spcex.clearing.gatewayapi.request;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import ru.spcex.clearing.gatewayapi.config.deserializers.InstantDeserializer;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.UUID;
|
||||
|
||||
public class BaseRequest {
|
||||
|
||||
@JsonProperty("id")
|
||||
@ApiModelProperty(
|
||||
value = """
|
||||
Передавать новый UUID, если процесс стартовал по расписанию, или UUID, возвращенный в Клиринговую
|
||||
систему в ответ на запрос Клиринговой системы об экспорте ценных бумаг (см. п. «Сигнальный REST API»),
|
||||
если процесс стартовал по запросу от Клиринговой системы.
|
||||
""",
|
||||
example = "ef47f76c-bcea-11ed-afa1-0242ac120002"
|
||||
)
|
||||
private UUID id;
|
||||
|
||||
@JsonProperty("type")
|
||||
@ApiModelProperty(
|
||||
value = """
|
||||
Передавать «DAY_START», если процесс стартовал по расписанию, или «ON_DEMAND»,
|
||||
если процесс стартовал по запросу от Клиринговой системы.
|
||||
""",
|
||||
example = "DAY_START"
|
||||
)
|
||||
private String type;
|
||||
|
||||
@JsonProperty("datetime")
|
||||
@JsonDeserialize(using = InstantDeserializer.class)
|
||||
@ApiModelProperty(
|
||||
value = "Передавать дату и время формирования JSON объекта в формате «ДД.ММ.ГГГГ ЧЧ:ММ:СС:ссс».",
|
||||
example = "01.01.2023 12:34:56:789"
|
||||
)
|
||||
private Instant datetime;
|
||||
|
||||
@JsonProperty("section")
|
||||
@ApiModelProperty(value = "Секция (FOND или MKR)", example = "FOND")
|
||||
private String section;
|
||||
|
||||
|
||||
public UUID getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(UUID id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setType(String type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public Instant getDatetime() {
|
||||
return datetime;
|
||||
}
|
||||
|
||||
public void setDatetime(Instant datetime) {
|
||||
this.datetime = datetime;
|
||||
}
|
||||
|
||||
public String getSection() {
|
||||
return section;
|
||||
}
|
||||
|
||||
public void setSection(String section) {
|
||||
this.section = section;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,94 @@
|
|||
package ru.spcex.clearing.gatewayapi.request;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import ru.spcex.clearing.gatewayapi.request.objects.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class CompaniesRequest extends BaseRequest {
|
||||
@JsonProperty("company")
|
||||
@ApiModelProperty(value = "Список компаний")
|
||||
private List<MemberCompany> companyList;
|
||||
|
||||
@JsonProperty("company_info")
|
||||
@ApiModelProperty(value = "Список профилей участников")
|
||||
private List<MemberCompanyInfo> companyInfoList;
|
||||
|
||||
@JsonProperty("company_clearing_category")
|
||||
@ApiModelProperty(value = "Список категорий участников клиринга")
|
||||
private List<MemberCompanyClearingCategory> companyClearingCategoryList;
|
||||
|
||||
@JsonProperty("company_symbols")
|
||||
@ApiModelProperty(value = "Список реквизитов участников")
|
||||
private List<MemberCompanySymbols> memberCompanySymbolsList;
|
||||
|
||||
@JsonProperty("contact")
|
||||
@ApiModelProperty(value = "Список контактов участников")
|
||||
private List<MemberContact> contactList;
|
||||
|
||||
@JsonProperty("profile_document")
|
||||
@ApiModelProperty(value = "Список документов участников")
|
||||
private List<ProfileDocument> profileDocumentList;
|
||||
|
||||
@JsonProperty("client")
|
||||
@ApiModelProperty(value = "Список клиентов участников")
|
||||
private List<Client> clientList;
|
||||
|
||||
|
||||
public List<MemberCompany> getCompanyList() {
|
||||
return companyList;
|
||||
}
|
||||
|
||||
public void setCompanyList(List<MemberCompany> companyList) {
|
||||
this.companyList = companyList;
|
||||
}
|
||||
|
||||
public List<MemberCompanyInfo> getCompanyInfoList() {
|
||||
return companyInfoList;
|
||||
}
|
||||
|
||||
public void setCompanyInfoList(List<MemberCompanyInfo> companyInfoList) {
|
||||
this.companyInfoList = companyInfoList;
|
||||
}
|
||||
|
||||
public List<MemberCompanyClearingCategory> getCompanyClearingCategoryList() {
|
||||
return companyClearingCategoryList;
|
||||
}
|
||||
|
||||
public void setCompanyClearingCategoryList(List<MemberCompanyClearingCategory> companyClearingCategoryList) {
|
||||
this.companyClearingCategoryList = companyClearingCategoryList;
|
||||
}
|
||||
|
||||
public List<MemberCompanySymbols> getMemberCompanySymbolsList() {
|
||||
return memberCompanySymbolsList;
|
||||
}
|
||||
|
||||
public void setMemberCompanySymbolsList(List<MemberCompanySymbols> memberCompanySymbolsList) {
|
||||
this.memberCompanySymbolsList = memberCompanySymbolsList;
|
||||
}
|
||||
|
||||
public List<MemberContact> getContactList() {
|
||||
return contactList;
|
||||
}
|
||||
|
||||
public void setContactList(List<MemberContact> contactList) {
|
||||
this.contactList = contactList;
|
||||
}
|
||||
|
||||
public List<ProfileDocument> getProfileDocumentList() {
|
||||
return profileDocumentList;
|
||||
}
|
||||
|
||||
public void setProfileDocumentList(List<ProfileDocument> profileDocumentList) {
|
||||
this.profileDocumentList = profileDocumentList;
|
||||
}
|
||||
|
||||
public List<Client> getClientList() {
|
||||
return clientList;
|
||||
}
|
||||
|
||||
public void setClientList(List<Client> clientList) {
|
||||
this.clientList = clientList;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,49 +1,12 @@
|
|||
package ru.spcex.clearing.gatewayapi.request;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import ru.spcex.clearing.gatewayapi.config.deserializers.InstantDeserializer;
|
||||
import ru.spcex.clearing.gatewayapi.request.objects.*;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
public class ListingsRequest {
|
||||
@JsonProperty("id")
|
||||
@ApiModelProperty(
|
||||
value = """
|
||||
Передавать новый UUID, если процесс стартовал по расписанию, или UUID, возвращенный в Клиринговую
|
||||
систему в ответ на запрос Клиринговой системы об экспорте ценных бумаг (см. п. «Сигнальный REST API»),
|
||||
если процесс стартовал по запросу от Клиринговой системы.
|
||||
""",
|
||||
example = "ef47f76c-bcea-11ed-afa1-0242ac120002"
|
||||
)
|
||||
private UUID id;
|
||||
|
||||
@JsonProperty("type")
|
||||
@ApiModelProperty(
|
||||
value = """
|
||||
Передавать «DAY_START», если процесс стартовал по расписанию, или «ON_DEMAND»,
|
||||
если процесс стартовал по запросу от Клиринговой системы.
|
||||
""",
|
||||
example = "DAY_START"
|
||||
)
|
||||
private String type;
|
||||
|
||||
@JsonProperty("datetime")
|
||||
@JsonDeserialize(using = InstantDeserializer.class)
|
||||
@ApiModelProperty(
|
||||
value = "Передавать дату и время формирования JSON объекта в формате «ДД.ММ.ГГГГ ЧЧ:ММ:СС:ссс».",
|
||||
example = "01.01.2023 12:34:56:789"
|
||||
)
|
||||
private Instant datetime;
|
||||
|
||||
@JsonProperty("section")
|
||||
@ApiModelProperty(value = "Секция (FOND или MKR)", example = "FOND")
|
||||
private String section;
|
||||
|
||||
public class ListingsRequest extends BaseRequest {
|
||||
@JsonProperty("security")
|
||||
@ApiModelProperty(value = "Список security")
|
||||
private List<IncomeSecurity> securities;
|
||||
|
|
@ -80,39 +43,6 @@ public class ListingsRequest {
|
|||
@ApiModelProperty(value = "Список контактов компаний эмитентов")
|
||||
private List<IssuerContact> issuerContactList;
|
||||
|
||||
|
||||
public UUID getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(UUID id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setType(String type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public Instant getDatetime() {
|
||||
return datetime;
|
||||
}
|
||||
|
||||
public void setDatetime(Instant datetime) {
|
||||
this.datetime = datetime;
|
||||
}
|
||||
|
||||
public String getSection() {
|
||||
return section;
|
||||
}
|
||||
|
||||
public void setSection(String section) {
|
||||
this.section = section;
|
||||
}
|
||||
|
||||
public List<IncomeSecurity> getSecurities() {
|
||||
return securities;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue