Skip to content

Commit 3178e19

Browse files
authored
Merge pull request #361 from TaskFlow-CLAP/CLAP-300
CLAP-300 Redirection 주소 연결 작업
2 parents 00a3902 + b94dd73 commit 3178e19

15 files changed

+48
-26
lines changed

src/main/java/clap/server/adapter/outbound/api/EmailClient.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@ public class EmailClient implements SendEmailPort, SendWebhookEmailPort {
2020
private final JavaMailSender mailSender;
2121

2222
@Override
23-
public void sendWebhookEmail(PushNotificationTemplate request) {
23+
public void sendWebhookEmail(PushNotificationTemplate request, String taskDetailUrl) {
2424
try {
2525
MimeMessage mimeMessage = mailSender.createMimeMessage();
2626
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true, "UTF-8");
2727

28-
EmailTemplate template = emailTemplateBuilder.createWebhookTemplate(request);
28+
EmailTemplate template = emailTemplateBuilder.createWebhookTemplate(request, taskDetailUrl);
2929
helper.setTo(template.email());
3030
helper.setSubject(template.subject());
3131
helper.setText(template.body(), true);

src/main/java/clap/server/adapter/outbound/api/EmailTemplateBuilder.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,10 @@ public class EmailTemplateBuilder {
1313

1414
private final SpringTemplateEngine templateEngine;
1515

16-
public EmailTemplate createWebhookTemplate(PushNotificationTemplate request) {
16+
public EmailTemplate createWebhookTemplate(PushNotificationTemplate request, String taskDetailUrl) {
1717
Context context = new Context();
1818
String templateName = "";
1919
String subject = "";
20-
String taskDetailUrl = "https://www.naver.com"; //ToDo task 상세 조회페이지 url 추가
2120
switch (request.notificationType()) {
2221
case TASK_REQUESTED:
2322
templateName = "task-request";
@@ -49,6 +48,7 @@ public EmailTemplate createWebhookTemplate(PushNotificationTemplate request) {
4948
context.setVariable("title", request.taskName());
5049
break;
5150
case COMMENT:
51+
templateName = "comment";
5252
subject = "[TaskFlow 알림] 댓글이 작성되었습니다.";
5353
context.setVariable("taskDetailUrl", taskDetailUrl);
5454
context.setVariable("comment", request.message());

src/main/java/clap/server/adapter/outbound/api/KakaoWorkBlockBuilder.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,7 @@ public class KakaoWorkBlockBuilder {
1414

1515
private final ObjectMapper objectMapper;
1616

17-
public String makeObjectBlock(PushNotificationTemplate request){
18-
String taskDetailUrl = "https://www.naver.com";
17+
public String makeObjectBlock(PushNotificationTemplate request, String taskDetailUrl){
1918
return switch (request.notificationType()) {
2019
case TASK_REQUESTED -> makeTaskRequestBlock(request, taskDetailUrl);
2120
case STATUS_SWITCHED -> makeTaskStatusBlock(request, taskDetailUrl);

src/main/java/clap/server/adapter/outbound/api/KakaoWorkClient.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@ public class KakaoWorkClient implements SendKaKaoWorkPort {
2525
private final KakaoWorkBlockBuilder kakaoWorkBlockBuilder;
2626

2727
@Override
28-
public void sendKakaoWork(PushNotificationTemplate request) {
28+
public void sendKakaoWork(PushNotificationTemplate request, String taskDetailUrl) {
2929
RestTemplate restTemplate = new RestTemplate();
3030

3131
// Payload 생성
32-
String payload = kakaoWorkBlockBuilder.makeObjectBlock(request);
32+
String payload = kakaoWorkBlockBuilder.makeObjectBlock(request, taskDetailUrl);
3333

3434
// HTTP 요청 헤더 설정
3535
HttpHeaders headers = new HttpHeaders();

src/main/java/clap/server/application/port/outbound/webhook/SendKaKaoWorkPort.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@
44

55
public interface SendKaKaoWorkPort {
66

7-
void sendKakaoWork(PushNotificationTemplate request);
7+
void sendKakaoWork(PushNotificationTemplate request, String taskDetailUrl);
88
}

src/main/java/clap/server/application/port/outbound/webhook/SendWebhookEmailPort.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@
44

55
public interface SendWebhookEmailPort {
66

7-
void sendWebhookEmail(PushNotificationTemplate request);
7+
void sendWebhookEmail(PushNotificationTemplate request, String taskDetailUrl);
88
}

src/main/java/clap/server/application/service/history/PostCommentService.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ private String saveAttachment(MultipartFile file, Task task, Comment comment) {
9292
}
9393

9494
private void publishNotification(Member receiver, Task task, String message, String commenterName) {
95-
sendNotificationService.sendPushNotification(receiver, NotificationType.COMMENT, task, message, commenterName);
95+
boolean isManager = receiver.getMemberInfo().getRole() == MemberRole.ROLE_MANAGER;
96+
sendNotificationService.sendPushNotification(receiver, NotificationType.COMMENT, task, message, commenterName, isManager);
9697
}
9798
}

src/main/java/clap/server/application/service/task/ApprovalTaskService.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import clap.server.adapter.inbound.web.dto.task.request.ApprovalTaskRequest;
44
import clap.server.adapter.inbound.web.dto.task.response.ApprovalTaskResponse;
55
import clap.server.adapter.inbound.web.dto.task.response.FindApprovalFormResponse;
6+
import clap.server.adapter.outbound.persistense.entity.member.constant.MemberRole;
67
import clap.server.adapter.outbound.persistense.entity.notification.constant.NotificationType;
78
import clap.server.adapter.outbound.persistense.entity.task.constant.TaskHistoryType;
89
import clap.server.application.mapper.TaskResponseMapper;
@@ -73,10 +74,11 @@ public FindApprovalFormResponse findApprovalForm(Long managerId, Long taskId) {
7374

7475
private void publishNotification(List<Member> receivers, Task task, String processorName){
7576
receivers.forEach(receiver -> {
77+
boolean isManager = receiver.getMemberInfo().getRole() == MemberRole.ROLE_MANAGER;
7678
sendNotificationService.sendPushNotification(receiver, NotificationType.PROCESSOR_ASSIGNED,
77-
task, processorName, null);
79+
task, processorName, null, isManager);
7880
});
79-
sendNotificationService.sendAgitNotification(NotificationType.PROCESSOR_CHANGED,
81+
sendNotificationService.sendAgitNotification(NotificationType.PROCESSOR_ASSIGNED,
8082
task, processorName, null);
8183
}
8284

src/main/java/clap/server/application/service/task/CreateTaskService.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import clap.server.adapter.inbound.web.dto.task.request.CreateTaskRequest;
44
import clap.server.adapter.inbound.web.dto.task.response.CreateTaskResponse;
55

6+
import clap.server.adapter.outbound.persistense.entity.member.constant.MemberRole;
67
import clap.server.adapter.outbound.persistense.entity.notification.constant.NotificationType;
78
import clap.server.application.mapper.AttachmentMapper;
89
import clap.server.application.mapper.TaskResponseMapper;
@@ -61,8 +62,10 @@ private void saveAttachments(List<MultipartFile> files, Task task) {
6162

6263
private void publishNotification(Task task) {
6364
List<Member> reviewers = memberService.findReviewers();
64-
reviewers.forEach(reviewer -> {sendNotificationService.sendPushNotification(reviewer, NotificationType.TASK_REQUESTED,
65-
task, null, null);});
65+
reviewers.forEach(reviewer -> {
66+
boolean isManager = reviewer.getMemberInfo().getRole() == MemberRole.ROLE_MANAGER;
67+
sendNotificationService.sendPushNotification(reviewer, NotificationType.TASK_REQUESTED,
68+
task, null, null, isManager);});
6669

6770
sendNotificationService.sendAgitNotification(NotificationType.TASK_REQUESTED,
6871
task, null, null);

src/main/java/clap/server/application/service/task/UpdateTaskBoardService.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package clap.server.application.service.task;
22

33
import clap.server.adapter.inbound.web.dto.task.request.UpdateTaskOrderRequest;
4+
import clap.server.adapter.outbound.persistense.entity.member.constant.MemberRole;
45
import clap.server.adapter.outbound.persistense.entity.notification.constant.NotificationType;
56
import clap.server.adapter.outbound.persistense.entity.task.constant.TaskHistoryType;
67
import clap.server.adapter.outbound.persistense.entity.task.constant.TaskStatus;
@@ -184,7 +185,8 @@ public void validateRequest(UpdateTaskOrderRequest request, TaskStatus targetSta
184185
private void publishNotification(Task task, NotificationType notificationType, String message, String taskTitle) {
185186
List<Member> receivers = List.of(task.getRequester(), task.getProcessor());
186187
receivers.forEach(receiver -> {
187-
sendNotificationService.sendPushNotification(receiver, notificationType, task, message, null);
188+
boolean isManager = receiver.getMemberInfo().getRole() == MemberRole.ROLE_MANAGER;
189+
sendNotificationService.sendPushNotification(receiver, notificationType, task, message, null, isManager);
188190
});
189191
sendNotificationService.sendAgitNotification(notificationType,
190192
task, message, null);

0 commit comments

Comments
 (0)