This commit is contained in:
parent
c624c29adf
commit
33f9789268
1 changed files with 44 additions and 25 deletions
|
|
@ -51,6 +51,7 @@ import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||||
import ru.spcex.platform.utils.collection.Pair;
|
import ru.spcex.platform.utils.collection.Pair;
|
||||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||||
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
||||||
|
import ru.spcex.platform.utils.log.ExceptionUtils;
|
||||||
import ru.spcex.platform.utils.number.BigDecimalUtil;
|
import ru.spcex.platform.utils.number.BigDecimalUtil;
|
||||||
import static ru.spcex.platform.utils.number.BigDecimalUtil.safeBD;
|
import static ru.spcex.platform.utils.number.BigDecimalUtil.safeBD;
|
||||||
import ru.spcex.platform.utils.validation.IValidator;
|
import ru.spcex.platform.utils.validation.IValidator;
|
||||||
|
|
@ -429,6 +430,7 @@ public class OrderCurrencyListener extends QueueConsumer implements Initializing
|
||||||
private void updateByImporter(BaseRequest<OrderCurrencyStatusUpdateRequest> req) {
|
private void updateByImporter(BaseRequest<OrderCurrencyStatusUpdateRequest> req) {
|
||||||
OrderCurrencyStatusUpdateRequest payload = req.getRequestPayload();
|
OrderCurrencyStatusUpdateRequest payload = req.getRequestPayload();
|
||||||
for (Long orderId : payload.getIds()) {
|
for (Long orderId : payload.getIds()) {
|
||||||
|
try {
|
||||||
SOrders sOrder = sOrdersImdg.getSingleObjectByID(orderId);
|
SOrders sOrder = sOrdersImdg.getSingleObjectByID(orderId);
|
||||||
OrderCurrency orderCurrency = orderCurrencyImdg.getSingleObjectByID(orderId);
|
OrderCurrency orderCurrency = orderCurrencyImdg.getSingleObjectByID(orderId);
|
||||||
if (orderCurrency == null) {
|
if (orderCurrency == null) {
|
||||||
|
|
@ -440,14 +442,18 @@ public class OrderCurrencyListener extends QueueConsumer implements Initializing
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
orderCurrency.setStatus(status.getKey());
|
orderCurrency.setStatus(status.getKey());
|
||||||
orderCurrency.setExchangeOrderId(Long.valueOf(sOrder.getExchangeOrderNum()));
|
orderCurrency.setExchangeOrderId(normalize(sOrder.getExchangeOrderNum()));
|
||||||
orderCurrency.setUpdated(Instant.now());
|
orderCurrency.setUpdated(Instant.now());
|
||||||
orderCurrencyImdg.update(orderCurrency);
|
orderCurrencyImdg.update(orderCurrency);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("Error updating status by orderNum {} with error:{}", orderId, ExceptionUtils.getStackTrace(e));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void updateByFix(BaseRequest<OrderCurrencyStatusUpdateRequest> req) {
|
private void updateByFix(BaseRequest<OrderCurrencyStatusUpdateRequest> req) {
|
||||||
OrderCurrencyStatusUpdateRequest payload = req.getRequestPayload();
|
OrderCurrencyStatusUpdateRequest payload = req.getRequestPayload();
|
||||||
for (Long orderId : payload.getIds()) {
|
for (Long orderId : payload.getIds()) {
|
||||||
|
try {
|
||||||
log.debug("Process updating status by orderNum {}", orderId);
|
log.debug("Process updating status by orderNum {}", orderId);
|
||||||
SOrders sOrder = sOrdersImdg.getSingleObjectByPredicate(
|
SOrders sOrder = sOrdersImdg.getSingleObjectByPredicate(
|
||||||
sOrdersImdg.predicateBuilder().equals("orderNum", orderId)
|
sOrdersImdg.predicateBuilder().equals("orderNum", orderId)
|
||||||
|
|
@ -458,9 +464,12 @@ public class OrderCurrencyListener extends QueueConsumer implements Initializing
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
orderCurrency.setStatus(status.getKey());
|
orderCurrency.setStatus(status.getKey());
|
||||||
orderCurrency.setExchangeOrderId(Long.valueOf(sOrder.getExchangeOrderNum()));
|
orderCurrency.setExchangeOrderId(normalize(sOrder.getExchangeOrderNum()));
|
||||||
orderCurrency.setUpdated(Instant.now());
|
orderCurrency.setUpdated(Instant.now());
|
||||||
orderCurrencyImdg.update(orderCurrency);
|
orderCurrencyImdg.update(orderCurrency);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("Error updating status by orderNum {} with error:{}", orderId, ExceptionUtils.getStackTrace(e));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -486,4 +495,14 @@ public class OrderCurrencyListener extends QueueConsumer implements Initializing
|
||||||
default -> null;
|
default -> null;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Long normalize(String value) {
|
||||||
|
String[] parts = value.split("-", 3);
|
||||||
|
|
||||||
|
if (parts.length != 3) {
|
||||||
|
throw new IllegalArgumentException("Ожидается формат: digits-text-digits");
|
||||||
|
}
|
||||||
|
String digits = parts[1] + parts[2];
|
||||||
|
return Long.valueOf(digits);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue