18
18
import com .gdyd .gdydcore .service .member .LikeListService ;
19
19
import com .gdyd .gdydcore .service .member .MemberService ;
20
20
import com .gdyd .gdydcore .service .member .ReportService ;
21
+ import com .gdyd .gdydsupport .ai .AIRequestGenerator ;
22
+ import com .gdyd .gdydsupport .ai .ProfanityFilteringRequest ;
23
+ import com .gdyd .gdydsupport .ai .ProfanityFilteringResponse ;
21
24
import com .gdyd .gdydsupport .exception .BusinessException ;
22
25
import com .gdyd .gdydsupport .exception .ErrorCode ;
23
26
import com .gdyd .gdydsupport .webhook .DiscordMessageGenerator ;
@@ -35,12 +38,19 @@ public class CommentCommandService {
35
38
private final LikeListService likeListService ;
36
39
private final ReportService reportService ;
37
40
private final DiscordMessageGenerator discordMessageGenerator ;
41
+ private final AIRequestGenerator aiRequestGenerator ;
38
42
39
43
public SaveCommentResponse saveComment (SaveCommentRequest request ) {
40
44
Long memberId = PrincipalUtil .getMemberIdByPrincipal ();
41
45
Member member = memberService .getMemberById (memberId );
42
46
Post post = postService .getPostById (request .postId ());
43
47
48
+ ProfanityFilteringRequest aiFilteringRequest = ProfanityFilteringRequest .from (request .content ());
49
+ ProfanityFilteringResponse aiFilteringResponse = aiRequestGenerator .sendAbuseFilteringRequest (aiFilteringRequest );
50
+ if (Boolean .TRUE .equals (aiFilteringResponse .isProfanityDetected ())) {
51
+ throw new BusinessException (ErrorCode .CONTAINS_PROFANITY );
52
+ }
53
+
44
54
Comment comment = SaveCommentRequest .toComment (request );
45
55
comment .updateMember (member );
46
56
comment .updatePost (post );
0 commit comments