From 5e4670d275fda0c6194c963b9f18661b4d08799f Mon Sep 17 00:00:00 2001 From: l-wanderer01 Date: Wed, 21 May 2025 22:44:26 +0900 Subject: [PATCH 1/2] =?UTF-8?q?[fix]=20MEMBER=20=EC=97=AD=ED=95=A0?= =?UTF-8?q?=EC=9D=B8=20=EC=82=AC=EB=9E=8C=EB=A7=8C=20=EA=B3=BC=EC=A0=9C?= =?UTF-8?q?=EA=B0=80=20=ED=95=A0=EB=8B=B9=EB=90=98=EB=8F=84=EB=A1=9D=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pirocheck/Assignment/service/AssignmentService.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) 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 e589e2c..dd27bad 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 @@ -12,10 +12,10 @@ import backend.pirocheck.Assignment.entity.AssignmentStatus; import backend.pirocheck.Assignment.repository.AssignmentItemRepository; import backend.pirocheck.Assignment.repository.AssignmentRepository; +import backend.pirocheck.User.entity.Role; import backend.pirocheck.User.entity.User; import backend.pirocheck.User.repository.UserRepository; import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -24,7 +24,6 @@ import java.util.Map; import java.util.stream.Collectors; -@Slf4j // 로그를 찍기위해 사용 @Service @Transactional @RequiredArgsConstructor @@ -87,7 +86,7 @@ public String createAssignment(AssignmentCreateReq assignmentCreateReq) { assignment = assignmentRepository.save(assignment); // 전체 유저에게 과제 자동 할당 - List users = userRepository.findAll(); + List users = userRepository.findByRole(Role.MEMBER); for (User user : users) { @@ -122,7 +121,6 @@ public String updateAssignment(Long assignmentId, AssignmentUpdateReq req) { // 과제 채점 결과 저장 public AssignmentStatus createAssignmentItem(Long userId, Long assignmentId, AssignmentItemCreateReq req) { - log.info("userId 요청 값: {}", userId); User user = userRepository.findById(userId) .orElseThrow(() -> new IllegalArgumentException("조회된 사용자가 없습니다.")); From 9dae3ea03ef70a140769041d0b354eaf15e0af2b Mon Sep 17 00:00:00 2001 From: l-wanderer01 Date: Sat, 24 May 2025 20:29:30 +0900 Subject: [PATCH 2/2] =?UTF-8?q?[fix]=20subject=20=EC=BB=AC=EB=9F=BC?= =?UTF-8?q?=EC=9D=84=20title=EB=A1=9C=20=EC=88=98=EC=A0=95=20=EB=B0=8F=20s?= =?UTF-8?q?ubtitle=20=EC=BB=AC=EB=9F=BC=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/request/AssignmentCreateReq.java | 10 +++++++--- .../dto/request/AssignmentUpdateReq.java | 10 +++++++--- .../Assignment/dto/response/AssignmentDayRes.java | 1 + .../dto/response/AssignmentWeekRes.java | 2 +- .../pirocheck/Assignment/entity/Assignment.java | 15 ++++++++++----- .../Assignment/service/AssignmentService.java | 12 +++++++----- 6 files changed, 33 insertions(+), 17 deletions(-) diff --git a/backend/pirocheck/src/main/java/backend/pirocheck/Assignment/dto/request/AssignmentCreateReq.java b/backend/pirocheck/src/main/java/backend/pirocheck/Assignment/dto/request/AssignmentCreateReq.java index 65cbe2f..15d2ad1 100644 --- a/backend/pirocheck/src/main/java/backend/pirocheck/Assignment/dto/request/AssignmentCreateReq.java +++ b/backend/pirocheck/src/main/java/backend/pirocheck/Assignment/dto/request/AssignmentCreateReq.java @@ -11,9 +11,13 @@ @AllArgsConstructor public class AssignmentCreateReq { - @Schema(description = "과제 주제", example = "Git/HTML/CSS") - @NotNull(message = "과제 주제는 필수입니다.") - private String subject; + @Schema(description = "전체 주제", example = "Git/HTML/CSS") + @NotNull(message = "전체 주제는 필수입니다.") + private String title; + + @Schema(description = "소주제", example = "CSS 반응형, CSS 심화") + @NotNull(message = "소주제는 필수입니다.") + private String subtitle; @Schema(description = "과제명", example = "제로초 인강") @NotNull(message = "과제명은 필수입니다.") diff --git a/backend/pirocheck/src/main/java/backend/pirocheck/Assignment/dto/request/AssignmentUpdateReq.java b/backend/pirocheck/src/main/java/backend/pirocheck/Assignment/dto/request/AssignmentUpdateReq.java index 5caa73a..13b415d 100644 --- a/backend/pirocheck/src/main/java/backend/pirocheck/Assignment/dto/request/AssignmentUpdateReq.java +++ b/backend/pirocheck/src/main/java/backend/pirocheck/Assignment/dto/request/AssignmentUpdateReq.java @@ -11,9 +11,13 @@ @AllArgsConstructor public class AssignmentUpdateReq { - @Schema(description = "과제 주제", example = "Git/HTML/CSS") - @NotNull(message = "과제 주제는 필수입니다.") - private String subject; + @Schema(description = "전체 주제", example = "Git/HTML/CSS") + @NotNull(message = "전체 주제는 필수입니다.") + private String title; + + @Schema(description = "소주제", example = "Git/HTML/CSS") + @NotNull(message = "소주제는 필수입니다.") + private String subtitle; @Schema(description = "과제명", example = "제로초 인강") @NotNull(message = "과제명은 필수입니다.") diff --git a/backend/pirocheck/src/main/java/backend/pirocheck/Assignment/dto/response/AssignmentDayRes.java b/backend/pirocheck/src/main/java/backend/pirocheck/Assignment/dto/response/AssignmentDayRes.java index 2f46e6a..0a25492 100644 --- a/backend/pirocheck/src/main/java/backend/pirocheck/Assignment/dto/response/AssignmentDayRes.java +++ b/backend/pirocheck/src/main/java/backend/pirocheck/Assignment/dto/response/AssignmentDayRes.java @@ -9,5 +9,6 @@ @AllArgsConstructor public class AssignmentDayRes { private String day; // 화, 목, 토 + private String subtitle; private List details; } diff --git a/backend/pirocheck/src/main/java/backend/pirocheck/Assignment/dto/response/AssignmentWeekRes.java b/backend/pirocheck/src/main/java/backend/pirocheck/Assignment/dto/response/AssignmentWeekRes.java index b0d7721..d3d3a6a 100644 --- a/backend/pirocheck/src/main/java/backend/pirocheck/Assignment/dto/response/AssignmentWeekRes.java +++ b/backend/pirocheck/src/main/java/backend/pirocheck/Assignment/dto/response/AssignmentWeekRes.java @@ -9,6 +9,6 @@ @AllArgsConstructor public class AssignmentWeekRes { private Long week; - private String subject; // 각 주차 주제 (e.g, Git / HTML / CSS) + private String title; // 각 주차 주제 (e.g, Git / HTML / CSS) private List days; } 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 eede8f9..323c8fc 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 @@ -20,7 +20,10 @@ public class Assignment { private Long id; // 전체 주제 - private String subject; + private String title; + + // 소주제 + private String subtitle; // 과제명 private String assignmentName; @@ -47,9 +50,10 @@ public void addAssignmentItem(AssignmentItem assignmentItem) { } // 관리자가 생성 - public static Assignment create(String subject, String assignmentName, Long week, String day, Long orderNumber) { + public static Assignment create(String title, String subtitle, String assignmentName, Long week, String day, Long orderNumber) { return Assignment.builder() - .subject(subject) + .title(title) + .subtitle(subtitle) .assignmentName(assignmentName) .week(week) .day(day) @@ -58,8 +62,9 @@ public static Assignment create(String subject, String assignmentName, Long week } // 과제 내용 업데이트 - public void update(String subject, String assignmentName, Long week, String day, Long orderNumber) { - this.subject = subject; + public void update(String title, String subtitle, String assignmentName, Long week, String day, Long orderNumber) { + this.title = title; + this.subtitle = subtitle; this.assignmentName = assignmentName; this.week = week; this.day = day; 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 dd27bad..e81d4e8 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 @@ -46,7 +46,7 @@ public List search(Long userId) { Long week = entry.getKey(); // 주차 정보 List assignmentList = entry.getValue(); // 주차에 해당하는 days의 list - String subject = assignmentList.get(0).getAssignment().getSubject(); + String title = assignmentList.get(0).getAssignment().getTitle(); // day를 기준으로 그룹핑 Map> dayGroup = assignmentList.stream() @@ -57,6 +57,7 @@ public List search(Long userId) { for (Map.Entry> dayEntry : dayGroup.entrySet()) { String day = dayEntry.getKey(); List dayAssignmentList = dayEntry.getValue(); + String subtitle = dayAssignmentList.get(0).getAssignment().getSubtitle(); // 세부 과제명과 과제 결과를 리스트 형태로 List assignmentDetailResList = dayAssignmentList.stream() @@ -65,10 +66,10 @@ public List search(Long userId) { assignmentItem.getSubmitted() )) .toList(); - assignmentDayResList.add(new AssignmentDayRes(day, assignmentDetailResList)); + assignmentDayResList.add(new AssignmentDayRes(day, subtitle, assignmentDetailResList)); } - assignmentResponses.add(new AssignmentWeekRes(week, subject, assignmentDayResList)); + assignmentResponses.add(new AssignmentWeekRes(week, title, assignmentDayResList)); } return assignmentResponses; @@ -77,7 +78,8 @@ public List search(Long userId) { public String createAssignment(AssignmentCreateReq assignmentCreateReq) { Assignment assignment = Assignment.create( - assignmentCreateReq.getSubject(), + assignmentCreateReq.getTitle(), + assignmentCreateReq.getSubtitle(), assignmentCreateReq.getAssignmentName(), assignmentCreateReq.getWeek(), assignmentCreateReq.getDay(), @@ -113,7 +115,7 @@ public String updateAssignment(Long assignmentId, AssignmentUpdateReq req) { Assignment assignment = assignmentRepository.findById(assignmentId) .orElseThrow(() -> new IllegalArgumentException("조회된 과제가 없습니다.")); - assignment.update(req.getSubject(), req.getAssignmentName(), req.getWeek(), req.getDay(), req.getOrderNumber()); + assignment.update(req.getTitle(), req.getSubtitle(), req.getAssignmentName(), req.getWeek(), req.getDay(), req.getOrderNumber()); assignmentRepository.save(assignment); return assignment.getAssignmentName();