Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feature/Inhabas#234] 첨부파일 분류 기능 구현 #236

Merged
merged 1 commit into from
Feb 19, 2024

Conversation

skytin1004
Copy link
Member

@skytin1004 skytin1004 commented Feb 19, 2024

게시판 단일 조회 시 첨부파일들을 썸네일, 이미지, 기타파일로 분류하는 기능 구현

게시판 단일 조회 시 첨부파일들을 썸네일, 이미지, 기타파일로 분류할 수 있습니다. 이를 구현하기 위해 ClassifiedFiles와 ClassifyFiles 클래스를 생성했습니다. 사용법은 아래와 같습니다.

ClassifyFiles

게시판 생성 시 혹은 게시판 수정 시 files 에 있는 첨부파일을 썸네일, 이미지 목록. 이미지가 아닌 기타 파일 목록으로 분류합니다. 분류가 되면 썸네일, 이미지 리스트, 기타 파일 리스트로 분류되어 ClassifiedFiles 객체에 저장이 됩니다.

ClassifiedFiles

ClassifyFiles에 의해 분류된 썸네일, 이미지 목록, 기타 파일 목록이 저장되는 공간입니다.

사용 예시: ContestBoard의 서비스 구현부

  // 공모전 게시판 단일조회
  @Override
  @Transactional(readOnly = true)
  public ContestBoardDetailDto getContestBoard(Long boardId) {

    ContestBoard contestBoard =
        contestBoardRepository.findById(boardId).orElseThrow(NotFoundException::new);

    ClassifiedFiles classifiedFiles =
        ClassifyFiles.classifyFiles(new ArrayList<>(contestBoard.getFiles()));

    return ContestBoardDetailDto.builder()
        .id(contestBoard.getId())
        .title(contestBoard.getTitle())
        .content(contestBoard.getContent())
        .writerName(contestBoard.getWriter().getName())
        .dateCreated(contestBoard.getDateCreated())
        .dateUpdated(contestBoard.getDateUpdated())
        .thumbnail(classifiedFiles.getThumbnail())
        .images(classifiedFiles.getImages())
        .otherFiles(classifiedFiles.getOtherFiles())
        .build();
  }

@skytin1004 skytin1004 merged commit 1ab3915 into InhaBas:master Feb 19, 2024
2 checks passed
@skytin1004 skytin1004 deleted the classified branch February 20, 2024 23:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants