etreschenkov 2026-05-06 19:45:22 +03:00
parent 6567c3b02e
commit 7b0c48f785
2 changed files with 13 additions and 10 deletions

View file

@ -100,14 +100,6 @@ public class TaskListener extends QueueConsumer implements InitializingBean {
private void createOrder(BaseRequest<LauncherCommandRequest> newReq) {
log.info("CROR createOrder started, request={}", newReq);
Collection<Long> cretOrderIds = imdgQueryService.getCretOrderCurrency();
for (Long cretOrderId : cretOrderIds) {
OrderCurrency orderCurrency = orderCurrencyImdg.getSingleObjectByID(cretOrderId);
orderCurrency.setStatus(OrderStatus.REJECTED.getKey());
orderCurrency.setUpdated(Instant.now());
orderCurrencyImdg.update(orderCurrency);
}
Collection<Long> registryIds = imdgQueryService.getCurrencyRegistry();
//todo очередность создания
if (registryIds == null || registryIds.isEmpty()) {
@ -117,6 +109,7 @@ public class TaskListener extends QueueConsumer implements InitializingBean {
for (Long registryId : registryIds) {
try {
rejectByRegistryId(registryId);
Registry registry = registryImdg.getSingleObjectByID(registryId);
if (registry == null) {
log.warn("Registry not found by id={}", registryId);
@ -213,4 +206,14 @@ public class TaskListener extends QueueConsumer implements InitializingBean {
.map(settings -> IEnumKey.getEnumByKey(OvernightType.class, settings.getOvernightType()))
.orElse(OvernightType.SWAP);
}
private void rejectByRegistryId(Long registryId) {
Collection<Long> cretOrderIds = imdgQueryService.getCretOrderCurrencyByRegistryId(registryId);
for (Long cretOrderId : cretOrderIds) {
OrderCurrency orderCurrency = orderCurrencyImdg.getSingleObjectByID(cretOrderId);
orderCurrency.setStatus(OrderStatus.REJECTED.getKey());
orderCurrency.setUpdated(Instant.now());
orderCurrencyImdg.update(orderCurrency);
}
}
}

View file

@ -77,10 +77,10 @@ public class ImdgQueryService {
return registryImdg.getCollectionIdsByPredicate(registryPredicate);
}
public Collection<Long> getCretOrderCurrency() {
public Collection<Long> getCretOrderCurrencyByRegistryId(Long registryId) {
ImdgPredicateBuilder builder = orderCurrencyImdg.predicateBuilder();
return orderCurrencyImdg.getCollectionIdsByPredicate(
builder.equals("status", OrderStatus.CREATED.getKey())
builder.equals("registryId", registryId)
);
}