CompaniesRequest (in progress)

This commit is contained in:
akulikov 2023-05-25 19:23:35 +03:00
parent 338d8274ab
commit 4749ae9592
3 changed files with 145 additions and 0 deletions

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}