session not launched notification
This commit is contained in:
parent
08271d7e36
commit
21ec74df69
3 changed files with 45 additions and 6 deletions
|
|
@ -0,0 +1,32 @@
|
|||
package ru.spcex.clearing.notification;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.utilities.NotificationNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
|
||||
import ru.spcex.platform.enumeration.ObjectType;
|
||||
import ru.spcex.platform.enumeration.Priority;
|
||||
|
||||
@Component
|
||||
public class NotificationSender {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
private final KafkaSender kafkaSender;
|
||||
|
||||
@Autowired
|
||||
public NotificationSender(KafkaSender kafkaSender) {
|
||||
this.kafkaSender = kafkaSender;
|
||||
}
|
||||
|
||||
public void sendNotification(ObjectType objType, String comment, Priority priority) {
|
||||
NotificationNewRequest reviseNotification = new NotificationNewRequest();
|
||||
reviseNotification.setObjectType(ObjectType.rgst.getKey());
|
||||
reviseNotification.setComment(comment);
|
||||
reviseNotification.setPriority(priority.getKey());
|
||||
kafkaSender.sendRequestToQueue(Consts.NOTIFICATION_NEW, reviseNotification);
|
||||
log.info("notification {} sent {}", objType, comment);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -6,14 +6,15 @@ import org.springframework.stereotype.Service;
|
|||
import ru.clearing.classes.statics.data.misc.Session;
|
||||
import ru.spcex.clearing.error.ClearingError;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.notification.NotificationSender;
|
||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest;
|
||||
import ru.spcex.platform.enumeration.Section;
|
||||
import ru.spcex.platform.enumeration.SessionStatus;
|
||||
import ru.spcex.platform.enumeration.SessionType;
|
||||
import ru.spcex.platform.enumeration.*;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||
import ru.spcex.platform.utils.enumeration.IEnumKey;
|
||||
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
||||
import ru.spcex.platform.utils.error.ValidationException;
|
||||
|
||||
import java.util.Map;
|
||||
|
|
@ -22,6 +23,8 @@ import java.util.Map;
|
|||
public class SessionManager {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
private final Imdg<Session> sessionImdg;
|
||||
private final NotificationSender notification;
|
||||
private final IMessageResolver msgs;
|
||||
|
||||
private final PrimaryAuctionT0Session primaryAuctionT0Session;
|
||||
private final PrimaryAuctionBnSession primaryAuctionBnSession;
|
||||
|
|
@ -32,11 +35,13 @@ public class SessionManager {
|
|||
private final ReturnDepositSession returnDepositSession;
|
||||
|
||||
public SessionManager(ImdgProvider imdgProvider,
|
||||
PrimaryAuctionT0Session primaryAuctionT0Session,
|
||||
NotificationSender notification, IMessageResolver msgs, PrimaryAuctionT0Session primaryAuctionT0Session,
|
||||
PrimaryAuctionBnSession primaryAuctionBnSession,
|
||||
PrimaryAuctionB0Session primaryAuctionB0Session,
|
||||
SecondaryAuctionT0Session secondaryAuctionT0Session,
|
||||
IntermediateMkrSession intermediateMkrSession, FinalMkrSession finalMkrSession, ReturnDepositSession returnDepositSession) {
|
||||
this.notification = notification;
|
||||
this.msgs = msgs;
|
||||
this.primaryAuctionT0Session = primaryAuctionT0Session;
|
||||
this.primaryAuctionBnSession = primaryAuctionBnSession;
|
||||
this.primaryAuctionB0Session = primaryAuctionB0Session;
|
||||
|
|
@ -83,7 +88,9 @@ public class SessionManager {
|
|||
));
|
||||
if (existActiveSession != null) {
|
||||
log.warn("Can not start new session, cause exist active session.id={}", existActiveSession.getId());
|
||||
throw new ValidationException(ClearingError.ActiveSessionIsPresent, String.valueOf(existActiveSession.getId()));
|
||||
EnumMessage err = new EnumMessage(ClearingError.ActiveSessionIsPresent, String.valueOf(existActiveSession.getId()));
|
||||
notification.sendNotification(ObjectType.session, msgs.resolve(err), Priority.HIGH);
|
||||
throw new ValidationException(err);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ package ru.spcex.platform.enumeration;
|
|||
import ru.spcex.platform.utils.enumeration.IEnumKey;
|
||||
|
||||
public enum ObjectType implements IEnumKey {
|
||||
statement("STMT"), vfrs("VFRS"), rgst("RGST"), gateway("GTWY");
|
||||
statement("STMT"), vfrs("VFRS"), rgst("RGST"), gateway("GTWY"), session("SESN");
|
||||
|
||||
private final String key;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue