наверное работает

This commit is contained in:
AidarKC
2026-04-21 01:04:05 +03:00
parent 2d48ae7a16
commit 185ba5b1d3
12 changed files with 186 additions and 34 deletions
@@ -43,8 +43,11 @@ public class Net_ReceiveIncomingMessage_Handler implements JsonMessageHandler {
return NetExceptionResponseFactory.error(req, WireCodes.Status.BAD_REQUEST, ex.getMessage(), "Некорректный payload подтверждения");
}
SignedMessagesCore.saveIfAbsent(entry);
SignedMessagesRealtime.DeliveryCounters counters = SignedMessagesRealtime.deliverToTargetSessions(entry, null);
boolean inserted = SignedMessagesCore.saveIfAbsent(entry);
SignedMessagesRealtime.DeliveryCounters counters = new SignedMessagesRealtime.DeliveryCounters();
if (inserted) {
counters = SignedMessagesRealtime.deliverToTargetSessions(entry, null);
}
Net_ReceiveIncomingMessage_Response resp = new Net_ReceiveIncomingMessage_Response();
resp.setOp(req.getOp());
@@ -53,15 +53,19 @@ public class Net_SendMessagePair_Handler implements JsonMessageHandler {
return NetExceptionResponseFactory.error(req, WireCodes.Status.BAD_REQUEST, ex.getMessage(), "Некорректный payload подтверждения");
}
SignedMessagesCore.saveIfAbsent(incomingEntry);
SignedMessagesCore.saveIfAbsent(outgoingEntry);
boolean incomingInserted = SignedMessagesCore.saveIfAbsent(incomingEntry);
boolean outgoingInserted = SignedMessagesCore.saveIfAbsent(outgoingEntry);
SignedMessagesRealtime.DeliveryCounters inCounters =
SignedMessagesRealtime.deliverToTargetSessions(incomingEntry, null);
SignedMessagesRealtime.DeliveryCounters inCounters = new SignedMessagesRealtime.DeliveryCounters();
if (incomingInserted) {
inCounters = SignedMessagesRealtime.deliverToTargetSessions(incomingEntry, null);
}
String excludeSessionId = outgoingEntry.getTargetLogin().equalsIgnoreCase(ctx.getLogin()) ? ctx.getSessionId() : null;
SignedMessagesRealtime.DeliveryCounters outCounters =
SignedMessagesRealtime.deliverToTargetSessions(outgoingEntry, excludeSessionId);
SignedMessagesRealtime.DeliveryCounters outCounters = new SignedMessagesRealtime.DeliveryCounters();
if (outgoingInserted) {
outCounters = SignedMessagesRealtime.deliverToTargetSessions(outgoingEntry, excludeSessionId);
}
Net_SendMessagePair_Response resp = new Net_SendMessagePair_Response();
resp.setOp(req.getOp());
@@ -83,7 +83,7 @@ final class SignedMessagesCore {
return entry;
}
static void saveIfAbsent(SignedMessageV2Entry entry) throws Exception {
SignedMessagesV2DAO.getInstance().insertIfAbsent(entry);
static boolean saveIfAbsent(SignedMessageV2Entry entry) throws Exception {
return SignedMessagesV2DAO.getInstance().insertIfAbsent(entry);
}
}