Skip to content

Commit 85de4a8

Browse files
committed
feat: 댓글 작성시 욕설 필터링 추가 및 기타 코드 리펙토링
1 parent c68ddc5 commit 85de4a8

File tree

3 files changed

+13
-3
lines changed

3 files changed

+13
-3
lines changed

gd-yd-api/src/main/java/com/gdyd/gdydapi/service/board/CommentCommandService.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@
1818
import com.gdyd.gdydcore.service.member.LikeListService;
1919
import com.gdyd.gdydcore.service.member.MemberService;
2020
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;
2124
import com.gdyd.gdydsupport.exception.BusinessException;
2225
import com.gdyd.gdydsupport.exception.ErrorCode;
2326
import com.gdyd.gdydsupport.webhook.DiscordMessageGenerator;
@@ -35,12 +38,19 @@ public class CommentCommandService {
3538
private final LikeListService likeListService;
3639
private final ReportService reportService;
3740
private final DiscordMessageGenerator discordMessageGenerator;
41+
private final AIRequestGenerator aiRequestGenerator;
3842

3943
public SaveCommentResponse saveComment(SaveCommentRequest request) {
4044
Long memberId = PrincipalUtil.getMemberIdByPrincipal();
4145
Member member = memberService.getMemberById(memberId);
4246
Post post = postService.getPostById(request.postId());
4347

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+
4454
Comment comment = SaveCommentRequest.toComment(request);
4555
comment.updateMember(member);
4656
comment.updatePost(post);

gd-yd-api/src/main/java/com/gdyd/gdydapi/service/board/PostCommandService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public SavePostResponse savePost(SavePostReqeust request) {
5454

5555
ProfanityFilteringRequest aiFilteringRequest = ProfanityFilteringRequest.of(request.title(), request.content());
5656
ProfanityFilteringResponse aiFilteringResponse = aiRequestGenerator.sendAbuseFilteringRequest(aiFilteringRequest);
57-
if (aiFilteringResponse.isProfanityDetected()) {
57+
if (Boolean.TRUE.equals(aiFilteringResponse.isProfanityDetected())) {
5858
throw new BusinessException(ErrorCode.CONTAINS_PROFANITY);
5959
}
6060

gd-yd-api/src/main/java/com/gdyd/gdydapi/service/mentoring/MentoringCommandService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public CreateHighSchoolStudentQuestionResponse createHighSchoolStudentQuestion(C
6666

6767
ProfanityFilteringRequest aiFilteringRequest = ProfanityFilteringRequest.of(request.title(), request.question());
6868
ProfanityFilteringResponse aiFilteringResponse = aiRequestGenerator.sendAbuseFilteringRequest(aiFilteringRequest);
69-
if (aiFilteringResponse.isProfanityDetected()) {
69+
if (Boolean.TRUE.equals(aiFilteringResponse.isProfanityDetected())) {
7070
throw new BusinessException(ErrorCode.CONTAINS_PROFANITY);
7171
}
7272

@@ -97,7 +97,7 @@ public CreateUniversityStudentAnswerResponse createUniversityStudentAnswer(Long
9797

9898
ProfanityFilteringRequest aiFilteringRequest = ProfanityFilteringRequest.from(request.answer());
9999
ProfanityFilteringResponse aiFilteringResponse = aiRequestGenerator.sendAbuseFilteringRequest(aiFilteringRequest);
100-
if (aiFilteringResponse.isProfanityDetected()) {
100+
if (Boolean.TRUE.equals(aiFilteringResponse.isProfanityDetected())) {
101101
throw new BusinessException(ErrorCode.CONTAINS_PROFANITY);
102102
}
103103

0 commit comments

Comments
 (0)