Skip to content

Commit 22ad3d7

Browse files
authored
Merge pull request #328 from HaRu-Developers/fix/#327-meeting-pdf-download-error
fix/#327: Meeting proceeding 수정시 파일 갱신 오류 해결
2 parents 4efad60 + 46f3a45 commit 22ad3d7

1 file changed

Lines changed: 18 additions & 4 deletions

File tree

src/main/java/com/haru/api/domain/meeting/service/MeetingCommandServiceImpl.java

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -174,16 +174,30 @@ public void deleteMeeting(User user, Meeting meeting) {
174174
@Override
175175
@Transactional
176176
public void adjustProceeding(User user, Meeting meeting, MeetingRequestDTO.meetingProceedingRequest newProceeding){
177+
Meeting foundMeeting = meetingRepository.findById(meeting.getId())
178+
.orElseThrow(() -> new MeetingHandler(ErrorStatus.MEETING_NOT_FOUND));
177179

178-
UserWorkspace foundUserWorkspace = userWorkspaceRepository.findByUserIdAndWorkspaceId(user.getId(), meeting.getWorkspace().getId())
180+
UserWorkspace foundUserWorkspace = userWorkspaceRepository.findByUserIdAndWorkspaceId(user.getId(), foundMeeting.getWorkspace().getId())
179181
.orElseThrow(() -> new UserWorkspaceHandler(ErrorStatus.USER_WORKSPACE_NOT_FOUND));
180182

181-
if (!meeting.getCreator().getId().equals(user.getId()) && !foundUserWorkspace.getAuth().equals(Auth.ADMIN)) {
183+
if (!foundMeeting.getCreator().getId().equals(user.getId()) && !foundUserWorkspace.getAuth().equals(Auth.ADMIN)) {
182184
throw new MemberHandler(ErrorStatus.MEMBER_NO_AUTHORITY);
183185
}
186+
String editedProceeding = newProceeding.getProceeding();
187+
foundMeeting.updateProceeding(editedProceeding);
188+
try {
189+
// 생성된 PDF를 S3에 업로드
190+
String pdfKey = markdownFileUploader.createOrUpdatePdf(editedProceeding, "meeting/pdf", meeting.getProceedingPdfKeyName(), meeting.getTitle());
191+
String wordKey = markdownFileUploader.createOrUpdateWord(editedProceeding, "meeting/word", meeting.getProceedingWordKeyName(), meeting.getTitle());
184192

185-
meeting.updateProceeding(newProceeding.getProceeding());
186-
meetingRepository.save(meeting);
193+
// 썸네일 생성 및 업데이트
194+
String newThumbnailKey = markdownFileUploader.createOrUpdateThumbnail(pdfKey, "meeting" + meeting.getId(), meeting.getThumbnailKeyName());
195+
log.info("회의록 썸네일 생성/업데이트 완료. Key: {}", newThumbnailKey);
196+
197+
} catch (Exception e) {
198+
log.error("meetingId: {}의 PDF 또는 썸네일 생성/업로드 중 에러 발생", meeting.getId(), e);
199+
throw new RuntimeException("파일 갱신 중 오류가 발생했습니다.", e);
200+
}
187201

188202
}
189203

0 commit comments

Comments
 (0)