http://jira.mfd.msk:8088/browse/CLS-883 [ClearingMemberCategory delete + cancel relation] bugfix
This commit is contained in:
parent
8b2640ecd5
commit
33e0bb5047
1 changed files with 25 additions and 14 deletions
|
|
@ -1,5 +1,12 @@
|
|||
package ru.spcex.clearing.company.service;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.kafka.clients.consumer.Consumer;
|
||||
import org.apache.kafka.clients.producer.Producer;
|
||||
|
|
@ -25,30 +32,21 @@ import ru.spcex.clearing.util.security.UserRoleVerification;
|
|||
import ru.spcex.clearing.util.services.RequestHelper;
|
||||
import ru.spcex.clearing.validation.common.ValidationHelper;
|
||||
import ru.spcex.platform.enumeration.ClearingCategory;
|
||||
import static ru.spcex.platform.enumeration.Service.FOND;
|
||||
import static ru.spcex.platform.enumeration.Service.MKR;
|
||||
import ru.spcex.platform.enumeration.ServiceProduct;
|
||||
import ru.spcex.platform.enumeration.ServiceStatus;
|
||||
import static ru.spcex.platform.enumeration.ServiceStatus.Closed;
|
||||
import ru.spcex.platform.enumeration.WorkflowStatus;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgId;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
import ru.spcex.platform.imdg.api.ImdgTransaction;
|
||||
import ru.spcex.platform.utils.enumeration.IEnumKey;
|
||||
import static ru.spcex.platform.utils.enumeration.IEnumKey.getEnumByKey;
|
||||
import ru.spcex.platform.utils.error.ValidationException;
|
||||
import ru.spcex.platform.utils.validation.IValidator;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static ru.spcex.platform.enumeration.Service.FOND;
|
||||
import static ru.spcex.platform.enumeration.Service.MKR;
|
||||
import static ru.spcex.platform.enumeration.ServiceStatus.Closed;
|
||||
import static ru.spcex.platform.utils.enumeration.IEnumKey.getEnumByKey;
|
||||
|
||||
@Service
|
||||
public class RelationService extends QueueConsumer implements InitializingBean {
|
||||
protected static final Long SPVB_ID = 1L; // СПВБ
|
||||
|
|
@ -287,6 +285,19 @@ public class RelationService extends QueueConsumer implements InitializingBean {
|
|||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
Collection<String> selectCompanyClearingMemberCategory(ImdgTransaction tx, Long companyId, Long deletedCmcId) {
|
||||
Imdg<ClearingMemberCategory> cmcMap = tx == null ? clearingMemberCategoryImdg : tx.getImdg(IMDGDistributedNames.Map_ClearingMemberCategory, ClearingMemberCategory.class);
|
||||
Collection<ClearingMemberCategory> companyCategory = cmcMap.getCollectionObjectsByFieldValues(
|
||||
Map.of("companyId", companyId)
|
||||
);
|
||||
return companyCategory.stream()
|
||||
.filter(cmc -> !cmc.getId().equals(deletedCmcId))
|
||||
.map(ClearingMemberCategory::getClearingMemberCategory)
|
||||
.filter(StringUtils::isNotEmpty)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
/**
|
||||
* @param companyId
|
||||
* @param service
|
||||
|
|
@ -611,7 +622,7 @@ public class RelationService extends QueueConsumer implements InitializingBean {
|
|||
// serviceStatus = serviceForCMC(clearingCategory).getKey();
|
||||
// }
|
||||
|
||||
Collection<String> companyCMC = selectCompanyClearingMemberCategory(null, companyId);
|
||||
Collection<String> companyCMC = selectCompanyClearingMemberCategory(null, companyId, clearingMemberCategory.getId());
|
||||
if (companyCMC.contains(clearingMemberCategory.getClearingMemberCategory())) {
|
||||
// never
|
||||
log.warn("ClearingMemberCategory \"{}\" already exist in set for company {}.", clearingMemberCategory.getClearingMemberCategory(), companyId);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue