---
CoveredLiabilitiesRegisterService refactored
This commit is contained in:
aalehin 2023-05-23 11:09:16 +03:00
parent ee8ef5c24c
commit df4cecf59e

View file

@ -21,7 +21,7 @@ import ru.spcex.platform.imdg.api.ImdgProvider;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Optional;
import java.util.Map;
import static ru.spcex.platform.enumeration.Task.createRegistry_GRRT;
@ -55,11 +55,11 @@ public class CoveredLiabilitiesRegisterService extends QueueConsumer implements
public void coveredLiabilitiesRegisterNew(BaseRequest<LauncherCommandRequest> userRequest) {
log.debug("LauncherCommandRequest received from {}", createRegistry_GRRT.topic()); //TODO FIX UP WHAT KIND OF TOPIC
HashMap<Long, Long> sessionIdByCompanyId = new HashMap<>();
String sqlConditionForRegistry = getSqlForRegistries();
List<Registry> registries = registryMap.getCollectionObjectsBySQL(sqlConditionForRegistry).stream().toList();
//checking for duplicates
Collection<CoveredLiabilitiesRegister> collection = coveredLiabilitiesRegisterMap.getAllValues();
collection.forEach(x -> sessionIdByCompanyId.put(x.getCompanyId(), x.getSessionId()));
registries.forEach(x -> {
@ -72,14 +72,16 @@ public class CoveredLiabilitiesRegisterService extends QueueConsumer implements
}
private void insertCoveredLiabilitiesRegister(Registry registry) {
log.trace("insert CoveredLiabilitiesRegister in map...");
CoveredLiabilitiesRegister coveredLiabilitiesRegister = new CoveredLiabilitiesRegister();
Optional<Company> company = companyMap.getAllValues().stream().filter((x) -> x.getId() == 1L).findFirst();
Optional<Security> security = securityMap.getAllValues().stream().filter((x) -> x.getId().equals(registry.getSecurityId())).findFirst();
String securitySymbol = security.map(Security::getSecuritySymbol).orElse(null);
String securityFullName = security.map(Security::getShortName).orElse(null);
String companyFullName = company.map(Company::getFullName).orElse(null);
Company company = companyMap.getSingleObjectByFieldValues(Map.of("id", 1L));
Security security = securityMap.getSingleObjectByFieldValues(Map.of("id", registry.getSecurityId()));
String securitySymbol = security != null ? security.getSecuritySymbol() : null;
String securityFullName = security != null ? security.getShortName() : null;
String companyFullName = security != null ? company.getFullName() : null;
coveredLiabilitiesRegister.setCompanyFullName(companyFullName);
coveredLiabilitiesRegister.setSessionId(registry.getSessionId());
coveredLiabilitiesRegister.setSecuritySymbol(securitySymbol);
coveredLiabilitiesRegister.setSecurityFullName(securityFullName);
coveredLiabilitiesRegister.setCompanyId(registry.getCompanyId());
coveredLiabilitiesRegister.setClearingCode(registry.getClearingCode());
@ -87,9 +89,11 @@ public class CoveredLiabilitiesRegisterService extends QueueConsumer implements
coveredLiabilitiesRegister.setAmount(registry.getBalance());
coveredLiabilitiesRegister.setClearingDate(registry.getClearingDate());
coveredLiabilitiesRegisterMap.insert(coveredLiabilitiesRegister);
log.debug("CoveredLiabilitiesRegister inserted successfully with id: {}", coveredLiabilitiesRegister.getId());
}
private String getSqlForRegistries(){
return String.format("registryDesignation = '%s' and " +
private String getSqlForRegistries() {
return String.format("registryDesignation = '%s' and " +
"registryInstrumentType in ('%s','%s') and " +
"registryCapacity = '%s' and " +
"registryCode = '%s' and" +