검증게시판 기능 추가
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
package com.goldenchart.websocket;
|
||||
|
||||
import com.goldenchart.dto.VerificationIssueEventDto;
|
||||
import com.goldenchart.dto.VerificationIssueDto;
|
||||
import com.goldenchart.entity.VerificationIssueStage;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.messaging.simp.SimpMessagingTemplate;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
public class VerificationIssueEventBroker {
|
||||
|
||||
public static final String TOPIC = "/sub/verification-issues/events";
|
||||
|
||||
private final SimpMessagingTemplate messagingTemplate;
|
||||
|
||||
public void publishCreated(VerificationIssueDto issue, String sourceDeviceId) {
|
||||
publish(VerificationIssueEventDto.builder()
|
||||
.eventType(VerificationIssueEventDto.TYPE_CREATED)
|
||||
.issueId(issue.getId())
|
||||
.title(issue.getTitle())
|
||||
.stage(issue.getStage())
|
||||
.updatedAt(issue.getUpdatedAt())
|
||||
.sourceDeviceId(sourceDeviceId)
|
||||
.build());
|
||||
}
|
||||
|
||||
public void publishStageChanged(
|
||||
VerificationIssueDto issue,
|
||||
VerificationIssueStage previousStage,
|
||||
String sourceDeviceId) {
|
||||
publish(VerificationIssueEventDto.builder()
|
||||
.eventType(VerificationIssueEventDto.TYPE_STAGE_CHANGED)
|
||||
.issueId(issue.getId())
|
||||
.title(issue.getTitle())
|
||||
.stage(issue.getStage())
|
||||
.previousStage(previousStage)
|
||||
.updatedAt(issue.getUpdatedAt())
|
||||
.sourceDeviceId(sourceDeviceId)
|
||||
.build());
|
||||
}
|
||||
|
||||
private void publish(VerificationIssueEventDto event) {
|
||||
try {
|
||||
messagingTemplate.convertAndSend(TOPIC, event);
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("[VerificationIssueEvent] {} issueId={}", event.getEventType(), event.getIssueId());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.warn("[VerificationIssueEvent] publish failed: {}", e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user