Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,6 @@ public interface UserDocumentLastOpenedService {
void deleteRecordsForWorkspaceUsers(Documentable document);

void updateRecordsForWorkspaceUsers(Documentable document, TitleHolder titleHolder);

void updateRecordsTitleAndThumbnailForWorkspaceUsers(List<User> usersInWorkspace, Documentable documentable, TitleHolder titleHolder);
}
Original file line number Diff line number Diff line change
Expand Up @@ -112,4 +112,18 @@ private List<UserDocumentLastOpened> recordsToProcess(List<User> usersInWorkspac
return recordsToProcess;
}

@Override
@Transactional
public void updateRecordsTitleAndThumbnailForWorkspaceUsers(List<User> usersInWorkspace, Documentable documentable, TitleHolder titleHolder) {
// 해당 문서 id, 문서 타입에 해당하는 last opened 튜플 검색
List<UserDocumentLastOpened> recordsToUpdate = userDocumentLastOpenedRepository.findByDocumentIdAndDocumentType(documentable.getId(), documentable.getDocumentType());

if (!recordsToUpdate.isEmpty()) {
for (UserDocumentLastOpened record : recordsToUpdate) {
record.updateTitle(titleHolder.getTitle());
record.updateThumbnailKeyName(documentable.getThumbnailKeyName());
}
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,7 @@ public void updateTitle(
moodTrackerReportService.deleteReportFileAndThumbnail(moodTracker.getId());
// S3에서 썸네일 및 다운로드 파일 업데이트
moodTrackerReportService.updateAndUploadReportFileAndThumbnail(moodTracker.getId());

}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
package com.haru.api.domain.moodTracker.service;

import com.haru.api.domain.lastOpened.service.UserDocumentLastOpenedService;
import com.haru.api.domain.moodTracker.dto.MoodTrackerRequestDTO;
import com.haru.api.domain.snsEvent.entity.enums.Format;
import com.haru.api.domain.user.entity.User;
import com.haru.api.domain.userWorkspace.repository.UserWorkspaceRepository;
import com.haru.api.global.util.file.FileConvertHelper;
import com.haru.api.infra.api.dto.SurveyReportResponse;
import com.haru.api.domain.moodTracker.entity.*;
Expand Down Expand Up @@ -42,6 +46,8 @@ public class MoodTrackerReportServiceImpl implements MoodTrackerReportService {
private final SubjectiveAnswerRepository subjectiveAnswerRepository;
private final MultipleChoiceAnswerRepository multipleChoiceAnswerRepository;
private final CheckboxChoiceAnswerRepository checkboxChoiceAnswerRepository;
private final UserWorkspaceRepository userWorkspaceRepository;
private final UserDocumentLastOpenedService userDocumentLastOpenedService;

private final AmazonS3Manager amazonS3Manager;
private final MarkdownFileUploader markdownFileUploader;
Expand Down Expand Up @@ -255,6 +261,14 @@ private void uploadReportFileAndThumbnail(Long moodTrackerId){
null
);
foundMoodTracker.updateThumbnailKey(thumbnailKey);

// Mood Tracker 제목 수정 시 워크스페이스에 속해있는 모든 유저에 대해 썸네일 이미지 키 수정
List<User> usersInWorkspace = userWorkspaceRepository.findUsersByWorkspaceId(foundMoodTracker.getWorkspace().getId());
userDocumentLastOpenedService.updateRecordsTitleAndThumbnailForWorkspaceUsers(
usersInWorkspace,
foundMoodTracker,
MoodTrackerRequestDTO.UpdateTitleRequest.builder().title(foundMoodTracker.getTitle()).build()
);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -221,9 +221,14 @@ public void updateSnsEventTitle(

// S3문서 제목, S3 문서내 제목, 썸네일 이미지의 제목 변경
deleteS3FileAndThumnailImage(savedSnsEvent);

String thumbnailKeyName = createAndUploadListFileAndThumbnail(savedSnsEvent);
// sns event 썸네일 key name 초기화
savedSnsEvent.initThumbnailKeyName(thumbnailKeyName);

// SNS Event 제목 수정 시 워크스페이스에 속해있는 모든 유저에 대해 썸네일 이미지 키 수정
List<User> usersInWorkspace = userWorkspaceRepository.findUsersByWorkspaceId(savedSnsEvent.getWorkspace().getId());
userDocumentLastOpenedService.updateRecordsTitleAndThumbnailForWorkspaceUsers(usersInWorkspace, savedSnsEvent, request);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

제목이 변하면 무조건 thumbnail key도 변하는 로직일까요?
만약 그렇다면 meeting, sns event, mood tracker 모두 그럴까요?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

맞습니다 mood tracker와 meeting에도 같은 메소드 추가시켜주어야 합니다! mood tracker는 현재 브랜치에서 수정해서 반영했고 meeting은 동재님이 해당기능 구현하실 때 추가해주시면 될 것 같습니다.

}

@Override
Expand Down