Skip to content
Merged
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 @@ -88,14 +88,18 @@ private void addWorkbookProblem(Workbook workbook, CreateWorkbookProblemRequest
*/
public void deleteWorkbookProblem(Long workbookId, Integer problemNumber) {
Workbook workbook = coreWorkbookService.findById(workbookId);
DetailWeekResponse currentWeek = detailWeekRepository.getCurrentWeek();
if (workbook.getStudy().getEndYN() || // 종료된 스터디 삭제 불가
!(workbook.getWeek().getId().equals(currentWeek.getWeekId()) // 현재 주차의 문제집이면서
&& !DateUtils.isWeekend(LocalDate.now()) // 주말이 아니면서
&& !workbook.getStudy().getEndYN() // 진행 중이면 삭제 가능

// 정규 스터디 문제집
if (workbook.getStudy() != null) {
DetailWeekResponse currentWeek = detailWeekRepository.getCurrentWeek();
if (workbook.getStudy().getEndYN() || // 종료된 스터디 삭제 불가
!(workbook.getWeek().getId().equals(currentWeek.getWeekId()) // 현재 주차의 문제집 &
&& !DateUtils.isWeekend(LocalDate.now()) // 평일 &
&& !workbook.getStudy().getEndYN() // 스터디 진행 중
)
)
)
throw new GeneralException(ErrorStatus.NOTICE_BAD_REQUEST, "스터디원에게 공개된 문제는 삭제할 수 없습니다.");
throw new GeneralException(ErrorStatus.NOTICE_BAD_REQUEST, "스터디원에게 공개된 문제는 삭제할 수 없습니다.");
}

workbookProblemRepository.deleteByWorkbookAndProblemNumber(workbook, problemNumber);
}
Expand Down
Loading