CompaniesRequest (in progress)
This commit is contained in:
parent
338d8274ab
commit
4749ae9592
3 changed files with 145 additions and 0 deletions
|
|
@ -0,0 +1,24 @@
|
|||
package ru.spcex.clearing.gatewayapi.logic.companies;
|
||||
|
||||
import ru.spcex.clearing.gatewayapi.request.CompaniesRequest;
|
||||
import ru.spcex.clearing.gatewayapi.request.objects.MemberCompany;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class CompaniesRequestParam {
|
||||
private final CompaniesRequest companiesRequest;
|
||||
private final List<MemberCompany> memberCompanyList = new ArrayList<>();
|
||||
|
||||
public CompaniesRequestParam(CompaniesRequest companiesRequest) {
|
||||
this.companiesRequest = companiesRequest;
|
||||
}
|
||||
|
||||
public CompaniesRequest getCompaniesRequest() {
|
||||
return companiesRequest;
|
||||
}
|
||||
|
||||
public List<MemberCompany> getMemberCompanyList() {
|
||||
return memberCompanyList;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
package ru.spcex.clearing.gatewayapi.logic.companies;
|
||||
|
||||
import ru.spcex.clearing.gatewayapi.logic.ProcessResult;
|
||||
import ru.spcex.clearing.gatewayapi.logic.Stage;
|
||||
import ru.spcex.clearing.gatewayapi.request.CompaniesRequest;
|
||||
import ru.spcex.clearing.gatewayapi.request.objects.*;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
public class GroupingMemberCompanyParts extends Stage<CompaniesRequestParam> {
|
||||
@Override
|
||||
public ProcessResult process(CompaniesRequestParam param) {
|
||||
CompaniesRequest request = param.getCompaniesRequest();
|
||||
|
||||
List<MemberCompany> companyList = request.getCompanyList();
|
||||
List<MemberCompanyInfo> companyInfoList = request.getCompanyInfoList();
|
||||
List<MemberCompanyClearingCategory> companyClearingCategoryList = request.getCompanyClearingCategoryList();
|
||||
List<MemberCompanySymbols> memberCompanySymbolsList = request.getMemberCompanySymbolsList();
|
||||
List<MemberContact> contactList = request.getContactList();
|
||||
List<ProfileDocument> profileDocumentList = request.getProfileDocumentList();
|
||||
List<Client> clientList = request.getClientList();
|
||||
|
||||
Map<UUID, MemberCompany> companyForUUID = new HashMap<>();
|
||||
for (MemberCompany memberCompany : companyList) {
|
||||
if (companyForUUID.put(memberCompany.getId(), memberCompany) != null) {
|
||||
throw new IllegalStateException("Duplicate key");
|
||||
}
|
||||
}
|
||||
|
||||
for (MemberCompanyInfo companyInfo : companyInfoList) {
|
||||
UUID companyInfoUUID = companyInfo.getCompanyId();
|
||||
MemberCompany company = companyForUUID.get(companyInfoUUID);
|
||||
if (company == null) {
|
||||
// todo error
|
||||
continue;
|
||||
}
|
||||
company.getCompanyInfoList().add(companyInfo);
|
||||
}
|
||||
|
||||
for (MemberCompanyClearingCategory companyClearingCategory : companyClearingCategoryList) {
|
||||
// todo in progress
|
||||
// UUID companyClearingCate
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,8 +1,11 @@
|
|||
package ru.spcex.clearing.gatewayapi.request.objects;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
|
|
@ -59,6 +62,25 @@ public class MemberCompany {
|
|||
private String initiatorCode;
|
||||
|
||||
|
||||
@JsonIgnore
|
||||
private List<MemberCompanyInfo> companyInfoList = new ArrayList<>();
|
||||
|
||||
@JsonIgnore
|
||||
private List<MemberCompanyClearingCategory> companyClearingCategoryList = new ArrayList<>();
|
||||
|
||||
@JsonIgnore
|
||||
private List<MemberCompanySymbols> memberCompanySymbolsList = new ArrayList<>();
|
||||
|
||||
@JsonIgnore
|
||||
private List<MemberContact> contactList = new ArrayList<>();
|
||||
|
||||
@JsonIgnore
|
||||
private List<ProfileDocument> profileDocumentList = new ArrayList<>();
|
||||
|
||||
@JsonIgnore
|
||||
private List<Client> clientList = new ArrayList<>();
|
||||
|
||||
|
||||
public UUID getId() {
|
||||
return id;
|
||||
}
|
||||
|
|
@ -114,4 +136,52 @@ public class MemberCompany {
|
|||
public void setInitiatorCode(String initiatorCode) {
|
||||
this.initiatorCode = initiatorCode;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue