From 1b2996e56e34344b93b934df0a9984752e5ef5ec Mon Sep 17 00:00:00 2001 From: l-wanderer01 Date: Mon, 19 May 2025 21:38:08 +0900 Subject: [PATCH] =?UTF-8?q?[fix]=20=EA=B3=BC=EC=A0=9C=20=EC=83=9D=EC=84=B1?= =?UTF-8?q?=20=EC=8B=9C=20=EC=9E=90=EB=8F=99=EC=9C=BC=EB=A1=9C=20=EC=9C=A0?= =?UTF-8?q?=EC=A0=80=EC=97=90=EA=B2=8C=20=ED=95=A0=EB=8B=B9=EB=90=98?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=EB=A1=9C=EC=A7=81=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pirocheck/Assignment/entity/Assignment.java | 1 + .../Assignment/service/AssignmentService.java | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/backend/pirocheck/src/main/java/backend/pirocheck/Assignment/entity/Assignment.java b/backend/pirocheck/src/main/java/backend/pirocheck/Assignment/entity/Assignment.java index 410c522..eede8f9 100644 --- a/backend/pirocheck/src/main/java/backend/pirocheck/Assignment/entity/Assignment.java +++ b/backend/pirocheck/src/main/java/backend/pirocheck/Assignment/entity/Assignment.java @@ -37,6 +37,7 @@ public class Assignment { // AssignmentItem 입장에서 "assignment" 필드의 외래 키를 가진 주인 // assignment를 참조하는 assignmentitem 컬랙션을 가짐 @OneToMany(mappedBy = "assignment", cascade = CascadeType.ALL, orphanRemoval = true) + @Builder.Default private List assignments = new ArrayList<>(); // 연관관계 편의 메서드 (양방향 시 자주 사용) diff --git a/backend/pirocheck/src/main/java/backend/pirocheck/Assignment/service/AssignmentService.java b/backend/pirocheck/src/main/java/backend/pirocheck/Assignment/service/AssignmentService.java index c4c25cd..f1ef8ef 100644 --- a/backend/pirocheck/src/main/java/backend/pirocheck/Assignment/service/AssignmentService.java +++ b/backend/pirocheck/src/main/java/backend/pirocheck/Assignment/service/AssignmentService.java @@ -83,6 +83,20 @@ public String createAssignment(AssignmentCreateReq assignmentCreateReq) { assignment = assignmentRepository.save(assignment); + // 전체 유저에게 과제 자동 할당 + List users = userRepository.findAll(); + + for (User user : users) { + + AssignmentItem item = AssignmentItem.create(user, assignment, AssignmentStatus.INSUFFICIENT); + + assignment.addAssignmentItem(item); + user.addAssignmentItem(item); + +// assignmentItemRepository.save(item); +// Cascade 설정이 되어있으므로 assignment = assignmentRepository.save(assignment); 이 코드를 실행할 때 연관된 AssignmentItem도 함께 저장 됨 + } + return assignment.getAssignmentName(); }