Skip to content

Commit 36f960d

Browse files
committed
refactor: 에러 수정
1 parent a45eb53 commit 36f960d

File tree

1 file changed

+23
-17
lines changed

1 file changed

+23
-17
lines changed

backend/src/main/java/aimo/backend/domains/privatePost/service/PrivatePostService.java

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import org.springframework.data.domain.Page;
1010
import org.springframework.scheduling.annotation.Async;
1111
import org.springframework.stereotype.Service;
12-
import org.springframework.transaction.annotation.Propagation;
1312
import org.springframework.transaction.annotation.Transactional;
1413

1514
import aimo.backend.common.dto.PageResponse;
@@ -18,14 +17,16 @@
1817
import aimo.backend.common.messageQueue.MessageQueueService;
1918
import aimo.backend.common.properties.AiServerProperties;
2019
import aimo.backend.domains.member.entity.Member;
20+
import aimo.backend.domains.member.model.DecreasePoint;
2121
import aimo.backend.domains.member.repository.MemberRepository;
22+
import aimo.backend.domains.member.service.MemberPointService;
2223
import aimo.backend.domains.privatePost.dto.parameter.DeletePrivatePostParameter;
2324
import aimo.backend.domains.privatePost.dto.parameter.FindPrivatePostParameter;
2425
import aimo.backend.domains.privatePost.dto.parameter.FindPrivatePostPreviewParameter;
2526
import aimo.backend.domains.privatePost.dto.parameter.JudgementToAiParameter;
27+
import aimo.backend.domains.privatePost.dto.parameter.UpdateContentToPrivatePostParameter;
2628
import aimo.backend.domains.privatePost.dto.parameter.UpdatePostContentParameter;
2729
import aimo.backend.domains.privatePost.dto.request.SummaryAndJudgementRequest;
28-
import aimo.backend.domains.privatePost.dto.request.UpdateContentToPrivatePostRequest;
2930
import aimo.backend.domains.privatePost.dto.response.PrivatePostPreviewResponse;
3031
import aimo.backend.domains.privatePost.dto.response.PrivatePostResponse;
3132
import aimo.backend.domains.privatePost.entity.PrivatePost;
@@ -45,6 +46,7 @@ public class PrivatePostService {
4546
private final MemberRepository memberRepository;
4647
private final MessageQueueService messageQueueService;
4748
private final AiServerProperties aiServerProperties;
49+
private final MemberPointService memberPointService;
4850

4951
// mq에 판단 요청
5052
@Async
@@ -68,36 +70,39 @@ public void uploadTextRecordAndRequestJudgement(JudgementToAiParameter parameter
6870

6971
// AI로부터 받은 콜백 응답을 기존에 저장했던 PrivatePost에 업데이트
7072
@Transactional
71-
public void updateContentToPrivatePost(UpdateContentToPrivatePostRequest request) {
73+
public void updateContentToPrivatePost(UpdateContentToPrivatePostParameter parameter) {
7274
// 키 확인
73-
validateKey(request.accessKey());
75+
validateKey(parameter.accessKey());
7476

75-
Long privatePostId = request.id();
77+
Long privatePostId = parameter.id();
7678
PrivatePost privatePost = privatePostRepository.findById(privatePostId)
7779
.orElseThrow(() -> ApiException.from(ErrorCode.PRIVATE_POST_NOT_FOUND));
7880

7981
// 실패시
80-
if (!request.status()) {
82+
if (!parameter.status()) {
8183
privatePost.updateStatus(PrivatePostStatus.FAIL);
8284
return;
8385
}
8486

8587
// 성공시
86-
Integer faultRatePlaintiff = request.faultRate().intValue();
87-
Integer faultRateDefendant = calculateFaultRateDefendant(request.faultRate());
88-
89-
UpdatePostContentParameter parameter = new UpdatePostContentParameter(
90-
request.stancePlaintiff(),
91-
request.stanceDefendant(),
92-
request.title(),
93-
request.summaryAi(),
94-
request.judgement(),
88+
Integer faultRatePlaintiff = parameter.faultRate().intValue();
89+
Integer faultRateDefendant = calculateFaultRateDefendant(parameter.faultRate());
90+
91+
UpdatePostContentParameter updatePostContentParameter = new UpdatePostContentParameter(
92+
parameter.stancePlaintiff(),
93+
parameter.stanceDefendant(),
94+
parameter.title(),
95+
parameter.summaryAi(),
96+
parameter.judgement(),
9597
faultRatePlaintiff,
9698
faultRateDefendant
9799
);
98100

99-
privatePost.updateContent(parameter);
101+
privatePost.updateContent(updatePostContentParameter);
100102
privatePost.updateStatus(PrivatePostStatus.SUCCESS);
103+
104+
// 포인트 감소
105+
memberPointService.decreaseMemberPoint(privatePost.getMember().getId(), DecreasePoint.AI_REQUEST);
101106
}
102107

103108
// 키 확인
@@ -152,7 +157,7 @@ public void validatePrivatePostStatus(PrivatePost privatePost) {
152157
LocalDateTime createdAt = privatePost.getCreatedAt();
153158
LocalDateTime now = LocalDateTime.now();
154159
Duration duration = Duration.between(createdAt, now);
155-
if (duration.toMinutes() > 10 && privatePost.getPrivatePostStatus() == PrivatePostStatus.PROGRESS) {
160+
if (duration.toMinutes() > 10 && privatePost.getPrivatePostStatus() == PrivatePostStatus.PROGRESS) {
156161
privatePostRepository.delete(privatePost);
157162
throw ApiException.from(PRIVATE_POST_FAIL);
158163
}
@@ -207,4 +212,5 @@ private boolean validationPrivatePost(Long memberId, PrivatePost privatePost) {
207212
return privatePost.getMember().getId().equals(memberId);
208213
}
209214

215+
210216
}

0 commit comments

Comments
 (0)