Skip to content

[FEAT] 한 프로젝트가 여러 수상 목록을 가질 수 있도록 변경#177

Merged
snghyn28 merged 5 commits into
developfrom
feat/176-multiple-awards
May 13, 2026
Merged

[FEAT] 한 프로젝트가 여러 수상 목록을 가질 수 있도록 변경#177
snghyn28 merged 5 commits into
developfrom
feat/176-multiple-awards

Conversation

@snghyn28
Copy link
Copy Markdown
Contributor

@snghyn28 snghyn28 commented Apr 21, 2026

작성자: @snghyn28

#{176}

체크 리스트

  • 적절한 제목으로 수정했나요?
  • 상단에 이슈 번호를 기입했나요?
  • Target Branch를 올바르게 설정했나요?
  • Reviewers/Assignees/Labels을 알맞게 설정했나요?

작업 내역

  • 한 프로젝트가 여러 수상 목록을 가질 수 있도록 DB 스키마와 API 형식을 변경했습니다.

마이그레이션 스크립트

CREATE TABLE IF NOT EXISTS project_award (
    id BIGINT AUTO_INCREMENT PRIMARY KEY,
    project_id BIGINT NOT NULL,
    award ENUM('FIRST', 'SECOND', 'THIRD', 'FOURTH', 'FIFTH') NOT NULL,
    created_at DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
    updated_at DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),

    CONSTRAINT fk_project_award_project
        FOREIGN KEY (project_id)
            REFERENCES project(id)
            ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT INTO project_award (project_id, award, created_at, updated_at)
SELECT
    id AS project_id,
    award_status,
    CURRENT_TIMESTAMP(6),
    CURRENT_TIMESTAMP(6)
FROM
    project
WHERE
    award_status IS NOT NULL
    AND award_status != 'NONE';

-- 마이그레이션 완료 및 정상 작동 확인 후 실행
ALTER TABLE project DROP COLUMN award_status;

@snghyn28 snghyn28 requested a review from Copilot April 21, 2026 12:34
@snghyn28 snghyn28 added 🚀 Feature 기능 개발 🎯 API API 개발 관련 Project Domain Project 도메인 관련 labels Apr 21, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

한 프로젝트가 단일 수상 상태가 아니라 여러 수상 내역 목록을 가질 수 있도록 도메인/DTO/조회 및 관련 테스트를 변경한 PR입니다. (#176)

Changes:

  • AwardStatus 단일 값 → ProjectAwardStatus 엔티티 기반의 다중 수상 내역(awardStatuses)으로 도메인 모델 확장
  • 프로젝트 요청/응답 DTO 및 Excel 업로드 파싱 로직을 awardStatuses: List<AwardStatus>로 변경
  • 수상작 조회 쿼리 및 REST Docs 테스트의 필드 스펙을 awardStatuses로 갱신

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
src/main/java/com/scg/stop/project/domain/Project.java awardStatuses 1:N 연관 추가 및 업데이트 로직 반영
src/main/java/com/scg/stop/project/domain/ProjectAwardStatus.java 프로젝트-수상내역 조인 엔티티 신규 추가
src/main/java/com/scg/stop/project/domain/AwardStatus.java NONE 제거 및 예외 메시지 포맷 정리
src/main/java/com/scg/stop/project/dto/request/ProjectRequest.java 요청 필드 awardStatuses로 변경 및 엔티티 변환 시 수상 목록 반영
src/main/java/com/scg/stop/project/dto/response/ProjectResponse.java 응답에 awardStatuses 목록 노출
src/main/java/com/scg/stop/project/dto/response/ProjectDetailResponse.java 상세 응답에 awardStatuses 목록 노출
src/main/java/com/scg/stop/project/service/ProjectExcelService.java Excel “수상 내역”을 콤마 분리해 리스트로 파싱
src/main/java/com/scg/stop/project/repository/ProjectRepository.java 수상작 조회가 다중 수상 구조를 사용하도록 JPQL 변경
src/test/java/com/scg/stop/project/controller/ProjectControllerTest.java REST Docs 필드 awardStatuses로 변경 및 테스트 데이터 갱신
src/test/java/com/scg/stop/user/controller/UserControllerTest.java 즐겨찾기 프로젝트 응답의 awardStatuses 문서화 반영

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/main/java/com/scg/stop/project/dto/response/ProjectDetailResponse.java Outdated
Comment thread src/test/java/com/scg/stop/project/controller/ProjectControllerTest.java Outdated
Comment thread src/main/java/com/scg/stop/project/dto/request/ProjectRequest.java
Comment thread src/main/java/com/scg/stop/project/dto/response/ProjectResponse.java Outdated
@yesjuhee
Copy link
Copy Markdown
Member

PR 본문에 close #176 처럼 쓰면 PR이 머지될 때 연관된 이슈를 자동으로 Close 할 수 있습니다!
일단 제가 수동으로 이슈연결 시켜놨어용

참고: https://docs.github.com/en/issues/tracking-your-work-with-issues/using-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword

@yesjuhee yesjuhee self-requested a review April 22, 2026 01:44
@snghyn28
Copy link
Copy Markdown
Contributor Author

PR 본문에 close #176 처럼 쓰면 PR이 머지될 때 연관된 이슈를 자동으로 Close 할 수 있습니다! 일단 제가 수동으로 이슈연결 시켜놨어용

참고: https://docs.github.com/en/issues/tracking-your-work-with-issues/using-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword

오 처음 알았네요 감사합니다 👍

Copy link
Copy Markdown
Member

@yesjuhee yesjuhee left a comment

Choose a reason for hiding this comment

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

수고하셨습니다 👍

Comment thread src/main/java/com/scg/stop/project/domain/ProjectAward.java
@snghyn28
Copy link
Copy Markdown
Contributor Author

@yesjuhee
@jaychang99 님 의견에 따라 백엔드 코드도 AwardStatus -> Awards로 네이밍 바꾸고 마이그레이션 스크립트도 수정했습니다

@snghyn28 snghyn28 merged commit db0ce64 into develop May 13, 2026
1 check passed
@snghyn28 snghyn28 deleted the feat/176-multiple-awards branch May 13, 2026 06:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🎯 API API 개발 관련 🚀 Feature 기능 개발 Project Domain Project 도메인 관련

Projects

None yet

Development

Successfully merging this pull request may close these issues.

🚀 [FEAT] 한 프로젝트가 여러 수상 목록을 가질 수 있도록 변경

3 participants