From 54620ff5a0bc9718f2bca32462c3406a7c943529 Mon Sep 17 00:00:00 2001 From: pray4skylark Date: Fri, 2 Oct 2026 12:58:18 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EC=84=9C=EB=B9=84=EC=8A=A4=20=ED=81=B4?= =?UTF-8?q?=EB=9E=98=EC=8A=A4=20NotificationPublisher/NotificationEvent=20?= =?UTF-8?q?import=20=EB=88=84=EB=9D=BD=20=EC=88=98=EC=A0=95=20(=EC=BB=B4?= =?UTF-8?q?=ED=8C=8C=EC=9D=BC=20=EC=97=90=EB=9F=AC=20=ED=95=B4=EA=B2=B0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/srsystem/service/DispatchHistoryService.java | 9 ++++++--- .../main/java/com/srsystem/service/ReportService.java | 6 ++++-- .../main/java/com/srsystem/service/TicketService.java | 8 +++++--- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/backend/src/main/java/com/srsystem/service/DispatchHistoryService.java b/backend/src/main/java/com/srsystem/service/DispatchHistoryService.java index eb760f3..5646e54 100644 --- a/backend/src/main/java/com/srsystem/service/DispatchHistoryService.java +++ b/backend/src/main/java/com/srsystem/service/DispatchHistoryService.java @@ -1,11 +1,14 @@ package com.srsystem.service; import com.srsystem.dto.CreateDispatchRequest; +import com.srsystem.dto.NotificationEvent; import com.srsystem.entity.DispatchHistory; import com.srsystem.entity.Employee; import com.srsystem.entity.Project; +import com.srsystem.entity.enums.DispatchStatus; import com.srsystem.exception.BusinessException; import com.srsystem.exception.ErrorCode; +import com.srsystem.listener.NotificationPublisher; import com.srsystem.repository.DispatchHistoryRepository; import com.srsystem.repository.EmployeeRepository; import com.srsystem.repository.ProjectRepository; @@ -82,11 +85,11 @@ public class DispatchHistoryService { DispatchHistory saved = dispatchHistoryRepository.save(history); // Update employee dispatch status to DISPATCHED - employee.setDispatchStatus(com.srsystem.entity.enums.DispatchStatus.DISPATCHED); + employee.setDispatchStatus(DispatchStatus.DISPATCHED); employeeRepository.save(employee); // Send notification - notificationPublisher.publish(new com.srsystem.dto.NotificationEvent( + notificationPublisher.publish(new NotificationEvent( "DISPATCH_ASSIGNED", "신규 파견 발령: " + project.getProjectName(), String.format("'%s' 프로젝트에 %s 역할로 파견 등록되었습니다.", project.getProjectName(), request.roleTitle()), @@ -108,7 +111,7 @@ public class DispatchHistoryService { List active = dispatchHistoryRepository.findByEmployee_EmpIdAndEndDateIsNull(history.getEmployee().getEmpId()); if (active.isEmpty()) { Employee emp = history.getEmployee(); - emp.setDispatchStatus(com.srsystem.entity.enums.DispatchStatus.WAITING); + emp.setDispatchStatus(DispatchStatus.WAITING); employeeRepository.save(emp); } diff --git a/backend/src/main/java/com/srsystem/service/ReportService.java b/backend/src/main/java/com/srsystem/service/ReportService.java index 1fbc871..598508a 100644 --- a/backend/src/main/java/com/srsystem/service/ReportService.java +++ b/backend/src/main/java/com/srsystem/service/ReportService.java @@ -16,6 +16,8 @@ import com.srsystem.entity.enums.ReportType; import com.srsystem.entity.enums.TicketStatus; import com.srsystem.exception.BusinessException; import com.srsystem.exception.ErrorCode; +import com.srsystem.dto.NotificationEvent; +import com.srsystem.listener.NotificationPublisher; import com.srsystem.repository.DispatchHistoryRepository; import com.srsystem.repository.EmployeeRepository; import com.srsystem.repository.NotificationRepository; @@ -47,7 +49,7 @@ public class ReportService { private final TicketRepository ticketRepository; private final NotificationRepository notificationRepository; private final WeeklyPlanRepository weeklyPlanRepository; - private final com.srsystem.listener.NotificationPublisher notificationPublisher; + private final NotificationPublisher notificationPublisher; public Page getReports(ReportStatus status, String type, LocalDate targetDate, Long userId, Pageable pageable) { Page reports; @@ -168,7 +170,7 @@ public class ReportService { ? String.format("%s 일자 보고서가 승인되었습니다.", report.getTargetDate()) : String.format("%s 일자 보고서가 반려되었습니다. 사유: %s", report.getTargetDate(), request.reviewComment()); - notificationPublisher.publish(new com.srsystem.dto.NotificationEvent( + notificationPublisher.publish(new NotificationEvent( type, title, message, diff --git a/backend/src/main/java/com/srsystem/service/TicketService.java b/backend/src/main/java/com/srsystem/service/TicketService.java index d73b640..60d15d7 100644 --- a/backend/src/main/java/com/srsystem/service/TicketService.java +++ b/backend/src/main/java/com/srsystem/service/TicketService.java @@ -11,6 +11,8 @@ import com.srsystem.entity.TicketComment; import com.srsystem.entity.enums.TicketStatus; import com.srsystem.exception.BusinessException; import com.srsystem.exception.ErrorCode; +import com.srsystem.dto.NotificationEvent; +import com.srsystem.listener.NotificationPublisher; import com.srsystem.repository.EmployeeRepository; import com.srsystem.repository.ProjectRepository; import com.srsystem.repository.TicketCommentRepository; @@ -33,7 +35,7 @@ public class TicketService { private final TicketCommentRepository ticketCommentRepository; private final EmployeeRepository employeeRepository; private final ProjectRepository projectRepository; - private final com.srsystem.listener.NotificationPublisher notificationPublisher; + private final NotificationPublisher notificationPublisher; public Page getTickets(TicketStatus status, String category, String priority, String keyword, Pageable pageable, Long requesterId) { Page tickets; @@ -135,7 +137,7 @@ public class TicketService { Ticket updated = ticketRepository.save(ticket); // Send notification to assignee - notificationPublisher.publish(new com.srsystem.dto.NotificationEvent( + notificationPublisher.publish(new NotificationEvent( "TICKET_ASSIGNED", "SR 티켓 담당 지정: #" + updated.getTicketId(), String.format("'%s' 티켓 담당자로 지정되었습니다.", updated.getTitle()), @@ -163,7 +165,7 @@ public class TicketService { // Send notification to requester if (updated.getRequester() != null) { - notificationPublisher.publish(new com.srsystem.dto.NotificationEvent( + notificationPublisher.publish(new NotificationEvent( "TICKET_RESOLVED", "SR 티켓 처리 완료: #" + updated.getTicketId(), String.format("요청하신 '%s' 티켓이 처리 완료되었습니다.", updated.getTitle()),