22
33import io .blog .devlog .domain .comment .dto .RequestGuestCommentDto ;
44import io .blog .devlog .domain .comment .dto .RequestGuestEditCommentDto ;
5- import io .blog .devlog .domain .comment .dto .ResponseCommentDto ;
65import io .blog .devlog .domain .comment .model .Comment ;
76import io .blog .devlog .domain .comment .service .GuestCommentService ;
87import io .blog .devlog .domain .post .model .PostDetail ;
98import io .blog .devlog .domain .post .service .PostService ;
109import io .blog .devlog .global .exception .NoPermissionException ;
10+ import io .blog .devlog .global .redis .message .CommentEmailMessage ;
11+ import io .blog .devlog .global .redis .service .CommentEmailPubService ;
1112import lombok .RequiredArgsConstructor ;
1213import lombok .extern .slf4j .Slf4j ;
1314import org .springframework .web .bind .annotation .*;
1415
15- import java .io .IOException ;
16-
1716@ RequiredArgsConstructor
1817@ RestController
1918@ RequestMapping ("/comments/guest" )
2019@ Slf4j
2120public 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