Skip to content

Commit 305b13e

Browse files
committed
feat: Add notifications for anonymous comments
1 parent 4d6c6fa commit 305b13e

File tree

2 files changed

+17
-5
lines changed

2 files changed

+17
-5
lines changed

backend/main-service/src/main/java/io/blog/devlog/domain/comment/controller/CommentController.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,13 @@ public void uploadComment(@RequestBody RequestCommentDto requestCommentDto) {
4848
}
4949
commentService.saveComment(user, requestCommentDto, postDetail.getPost());
5050

51+
String contentTextOnly = requestCommentDto.getContent().replaceAll("<[^>]*>", "");
5152
CommentEmailMessage emailMessage = new CommentEmailMessage(
5253
postDetail.getPost().getUser().getEmail(),
53-
String.format("[devLog] {%s} 게시글에 댓글이 달렸습니다.", postDetail.getPost().getTitle()),
54+
String.format("[devLog] %s 게시글에 댓글이 달렸습니다.", postDetail.getPost().getTitle()),
5455
postDetail.getPost().getTitle(),
5556
postDetail.getPost().getUrl(),
56-
requestCommentDto.getContent(),
57+
contentTextOnly,
5758
user.getUsername()
5859
);
5960
commentEmailPubService.sendEmail(emailMessage);

backend/main-service/src/main/java/io/blog/devlog/domain/comment/controller/GuestCommentController.java

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,25 @@
22

33
import io.blog.devlog.domain.comment.dto.RequestGuestCommentDto;
44
import io.blog.devlog.domain.comment.dto.RequestGuestEditCommentDto;
5-
import io.blog.devlog.domain.comment.dto.ResponseCommentDto;
65
import io.blog.devlog.domain.comment.model.Comment;
76
import io.blog.devlog.domain.comment.service.GuestCommentService;
87
import io.blog.devlog.domain.post.model.PostDetail;
98
import io.blog.devlog.domain.post.service.PostService;
109
import io.blog.devlog.global.exception.NoPermissionException;
10+
import io.blog.devlog.global.redis.message.CommentEmailMessage;
11+
import io.blog.devlog.global.redis.service.CommentEmailPubService;
1112
import lombok.RequiredArgsConstructor;
1213
import lombok.extern.slf4j.Slf4j;
1314
import org.springframework.web.bind.annotation.*;
1415

15-
import java.io.IOException;
16-
1716
@RequiredArgsConstructor
1817
@RestController
1918
@RequestMapping("/comments/guest")
2019
@Slf4j
2120
public class GuestCommentController {
2221
private final PostService postService;
2322
private final GuestCommentService guestCommentService;
23+
private final CommentEmailPubService commentEmailPubService;
2424

2525
@PostMapping
2626
public void uploadGuestComment(@RequestBody RequestGuestCommentDto requestCommentDto) {
@@ -29,6 +29,17 @@ public void uploadGuestComment(@RequestBody RequestGuestCommentDto requestCommen
2929
throw new NoPermissionException("댓글을 작성할 권한이 없습니다.");
3030
}
3131
guestCommentService.saveComment(requestCommentDto, postDetail.getPost());
32+
33+
String contentTextOnly = requestCommentDto.getContent().replaceAll("<[^>]*>", "");
34+
CommentEmailMessage emailMessage = new CommentEmailMessage(
35+
postDetail.getPost().getUser().getEmail(),
36+
String.format("[devLog] %s 게시글에 익명댓글이 달렸습니다.", postDetail.getPost().getTitle()),
37+
postDetail.getPost().getTitle(),
38+
postDetail.getPost().getUrl(),
39+
contentTextOnly,
40+
requestCommentDto.getUsername()
41+
);
42+
commentEmailPubService.sendEmail(emailMessage);
3243
}
3344

3445
@PostMapping("/{commentId}")

0 commit comments

Comments
 (0)