exchangeExecutionId одинаковые, сортировка сделок в Unit сессии

This commit is contained in:
ialbert 2025-06-27 17:00:33 +03:00
parent 83c65a4f3f
commit 824f263157
2 changed files with 5 additions and 3 deletions

View file

@ -19,8 +19,7 @@ import ru.spcex.clearing.session.stage.StageResult;
import ru.spcex.clearing.session.stage.Task; import ru.spcex.clearing.session.stage.Task;
import ru.spcex.clearing.session.stage.TaskType; import ru.spcex.clearing.session.stage.TaskType;
import ru.spcex.clearing.session.stage.task.RequirementsAndObligationCreationCompoundPayload; import ru.spcex.clearing.session.stage.task.RequirementsAndObligationCreationCompoundPayload;
import static ru.spcex.clearing.util.ComparatorUtil.execIdComparator; import static ru.spcex.clearing.util.ComparatorUtil.*;
import static ru.spcex.clearing.util.ComparatorUtil.tradeTimeComparator;
import ru.spcex.platform.classes.base.interfaces.ExecutionType; import ru.spcex.platform.classes.base.interfaces.ExecutionType;
import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.utils.collection.Pair; import ru.spcex.platform.utils.collection.Pair;
@ -65,7 +64,7 @@ public class RequirementsAndObligationCreationCompound extends RequirementsAndOb
List<ExecutionCommon> executionCurrency = data.getExecutionsCurrency(); List<ExecutionCommon> executionCurrency = data.getExecutionsCurrency();
List<ExecutionCommon> executionDeposit = data.getExecutionsFinal(); List<ExecutionCommon> executionDeposit = data.getExecutionsFinal();
Map<Long, Registry> newRgss = storageMap(executionFond, executionCurrency, executionDeposit); Map<Long, Registry> newRgss = storageMap(executionFond, executionCurrency, executionDeposit);
Stream.of(executionFond, executionCurrency, executionDeposit).forEach(c -> c.sort(tradeTimeComparator.thenComparing(execIdComparator))); Stream.of(executionFond, executionCurrency, executionDeposit).forEach(c -> c.sort(tradeTimeComparator.thenComparing(execIdComparator).thenComparing(execMarketComparator)));
int efs = executionFond.size(); int efs = executionFond.size();
int eds = executionDeposit.size(); int eds = executionDeposit.size();

View file

@ -10,4 +10,7 @@ public class ComparatorUtil {
public static final Comparator<ExecutionCommon> execIdComparator public static final Comparator<ExecutionCommon> execIdComparator
= Comparator.comparing(ExecutionCommon::getExchangeExecutionId); = Comparator.comparing(ExecutionCommon::getExchangeExecutionId);
public static final Comparator<ExecutionCommon> execMarketComparator
= Comparator.comparing(ExecutionCommon::getMarket);
} }