From 767c77c9dc4a25078f597e652973cac77a2c25eb Mon Sep 17 00:00:00 2001 From: "Cho, Yonghyun" Date: Fri, 6 Oct 2023 21:07:31 +0900 Subject: [PATCH] =?UTF-8?q?3=EC=A3=BC=EC=B0=A8=20=EA=B3=BC=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- week03/{ => yonghyun}/dbendpagination/.gitignore | 0 week03/{ => yonghyun}/dbendpagination/build.gradle | 0 .../gradle/wrapper/gradle-wrapper.jar | Bin .../gradle/wrapper/gradle-wrapper.properties | 0 week03/{ => yonghyun}/dbendpagination/gradlew | 0 week03/{ => yonghyun}/dbendpagination/gradlew.bat | 0 .../{ => yonghyun}/dbendpagination/settings.gradle | 0 .../DbendpaginationApplication.java | 0 .../dbendpagination/api/common/PageInfoDto.java | 0 .../dbendpagination/api/common/RspTemplate.java | 0 .../api/student/controller/StudentController.java | 0 .../api/student/dto/StudentListRspDto.java | 0 .../controller/StudentInLectureController.java | 0 .../api/studentinlecture/dto/PenaltyReqDto.java | 0 .../dbendpagination/domain/lecture/Lecture.java | 0 .../domain/lecture/LectureRepository.java | 0 .../domain/lecture/LectureService.java | 0 .../dbendpagination/domain/student/Student.java | 10 ++++++++++ .../domain/student/StudentRepository.java | 0 .../domain/student/StudentService.java | 0 .../domain/studentinlecture/Penalty.java | 0 .../domain/studentinlecture/StudentInLecture.java | 0 .../StudentInLectureRepository.java | 0 .../studentinlecture/StudentInLectureService.java | 13 +++++++++++-- .../dbendpagination/global/util/InitDB.java | 0 .../dbendpagination/global/util/PageableUtil.java | 0 .../src/main/resources/application.properties | 0 .../dbendpagination/src/main/resources/db.md | 0 .../DbendpaginationApplicationTests.java | 0 29 files changed, 21 insertions(+), 2 deletions(-) rename week03/{ => yonghyun}/dbendpagination/.gitignore (100%) rename week03/{ => yonghyun}/dbendpagination/build.gradle (100%) rename week03/{ => yonghyun}/dbendpagination/gradle/wrapper/gradle-wrapper.jar (100%) rename week03/{ => yonghyun}/dbendpagination/gradle/wrapper/gradle-wrapper.properties (100%) rename week03/{ => yonghyun}/dbendpagination/gradlew (100%) rename week03/{ => yonghyun}/dbendpagination/gradlew.bat (100%) rename week03/{ => yonghyun}/dbendpagination/settings.gradle (100%) rename week03/{ => yonghyun}/dbendpagination/src/main/java/com/codingbottle/dbendpagination/DbendpaginationApplication.java (100%) rename week03/{ => yonghyun}/dbendpagination/src/main/java/com/codingbottle/dbendpagination/api/common/PageInfoDto.java (100%) rename week03/{ => yonghyun}/dbendpagination/src/main/java/com/codingbottle/dbendpagination/api/common/RspTemplate.java (100%) rename week03/{ => yonghyun}/dbendpagination/src/main/java/com/codingbottle/dbendpagination/api/student/controller/StudentController.java (100%) rename week03/{ => yonghyun}/dbendpagination/src/main/java/com/codingbottle/dbendpagination/api/student/dto/StudentListRspDto.java (100%) rename week03/{ => yonghyun}/dbendpagination/src/main/java/com/codingbottle/dbendpagination/api/studentinlecture/controller/StudentInLectureController.java (100%) rename week03/{ => yonghyun}/dbendpagination/src/main/java/com/codingbottle/dbendpagination/api/studentinlecture/dto/PenaltyReqDto.java (100%) rename week03/{ => yonghyun}/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/lecture/Lecture.java (100%) rename week03/{ => yonghyun}/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/lecture/LectureRepository.java (100%) rename week03/{ => yonghyun}/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/lecture/LectureService.java (100%) rename week03/{ => yonghyun}/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/student/Student.java (63%) rename week03/{ => yonghyun}/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/student/StudentRepository.java (100%) rename week03/{ => yonghyun}/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/student/StudentService.java (100%) rename week03/{ => yonghyun}/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/studentinlecture/Penalty.java (100%) rename week03/{ => yonghyun}/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/studentinlecture/StudentInLecture.java (100%) rename week03/{ => yonghyun}/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/studentinlecture/StudentInLectureRepository.java (100%) rename week03/{ => yonghyun}/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/studentinlecture/StudentInLectureService.java (69%) rename week03/{ => yonghyun}/dbendpagination/src/main/java/com/codingbottle/dbendpagination/global/util/InitDB.java (100%) rename week03/{ => yonghyun}/dbendpagination/src/main/java/com/codingbottle/dbendpagination/global/util/PageableUtil.java (100%) rename week03/{ => yonghyun}/dbendpagination/src/main/resources/application.properties (100%) rename week03/{ => yonghyun}/dbendpagination/src/main/resources/db.md (100%) rename week03/{ => yonghyun}/dbendpagination/src/test/java/com/codingbottle/dbendpagination/DbendpaginationApplicationTests.java (100%) diff --git a/week03/dbendpagination/.gitignore b/week03/yonghyun/dbendpagination/.gitignore similarity index 100% rename from week03/dbendpagination/.gitignore rename to week03/yonghyun/dbendpagination/.gitignore diff --git a/week03/dbendpagination/build.gradle b/week03/yonghyun/dbendpagination/build.gradle similarity index 100% rename from week03/dbendpagination/build.gradle rename to week03/yonghyun/dbendpagination/build.gradle diff --git a/week03/dbendpagination/gradle/wrapper/gradle-wrapper.jar b/week03/yonghyun/dbendpagination/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from week03/dbendpagination/gradle/wrapper/gradle-wrapper.jar rename to week03/yonghyun/dbendpagination/gradle/wrapper/gradle-wrapper.jar diff --git a/week03/dbendpagination/gradle/wrapper/gradle-wrapper.properties b/week03/yonghyun/dbendpagination/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from week03/dbendpagination/gradle/wrapper/gradle-wrapper.properties rename to week03/yonghyun/dbendpagination/gradle/wrapper/gradle-wrapper.properties diff --git a/week03/dbendpagination/gradlew b/week03/yonghyun/dbendpagination/gradlew similarity index 100% rename from week03/dbendpagination/gradlew rename to week03/yonghyun/dbendpagination/gradlew diff --git a/week03/dbendpagination/gradlew.bat b/week03/yonghyun/dbendpagination/gradlew.bat similarity index 100% rename from week03/dbendpagination/gradlew.bat rename to week03/yonghyun/dbendpagination/gradlew.bat diff --git a/week03/dbendpagination/settings.gradle b/week03/yonghyun/dbendpagination/settings.gradle similarity index 100% rename from week03/dbendpagination/settings.gradle rename to week03/yonghyun/dbendpagination/settings.gradle diff --git a/week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/DbendpaginationApplication.java b/week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/DbendpaginationApplication.java similarity index 100% rename from week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/DbendpaginationApplication.java rename to week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/DbendpaginationApplication.java diff --git a/week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/api/common/PageInfoDto.java b/week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/api/common/PageInfoDto.java similarity index 100% rename from week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/api/common/PageInfoDto.java rename to week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/api/common/PageInfoDto.java diff --git a/week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/api/common/RspTemplate.java b/week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/api/common/RspTemplate.java similarity index 100% rename from week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/api/common/RspTemplate.java rename to week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/api/common/RspTemplate.java diff --git a/week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/api/student/controller/StudentController.java b/week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/api/student/controller/StudentController.java similarity index 100% rename from week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/api/student/controller/StudentController.java rename to week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/api/student/controller/StudentController.java diff --git a/week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/api/student/dto/StudentListRspDto.java b/week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/api/student/dto/StudentListRspDto.java similarity index 100% rename from week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/api/student/dto/StudentListRspDto.java rename to week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/api/student/dto/StudentListRspDto.java diff --git a/week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/api/studentinlecture/controller/StudentInLectureController.java b/week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/api/studentinlecture/controller/StudentInLectureController.java similarity index 100% rename from week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/api/studentinlecture/controller/StudentInLectureController.java rename to week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/api/studentinlecture/controller/StudentInLectureController.java diff --git a/week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/api/studentinlecture/dto/PenaltyReqDto.java b/week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/api/studentinlecture/dto/PenaltyReqDto.java similarity index 100% rename from week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/api/studentinlecture/dto/PenaltyReqDto.java rename to week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/api/studentinlecture/dto/PenaltyReqDto.java diff --git a/week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/lecture/Lecture.java b/week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/lecture/Lecture.java similarity index 100% rename from week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/lecture/Lecture.java rename to week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/lecture/Lecture.java diff --git a/week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/lecture/LectureRepository.java b/week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/lecture/LectureRepository.java similarity index 100% rename from week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/lecture/LectureRepository.java rename to week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/lecture/LectureRepository.java diff --git a/week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/lecture/LectureService.java b/week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/lecture/LectureService.java similarity index 100% rename from week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/lecture/LectureService.java rename to week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/lecture/LectureService.java diff --git a/week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/student/Student.java b/week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/student/Student.java similarity index 63% rename from week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/student/Student.java rename to week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/student/Student.java index 21d2444..e9f8a89 100644 --- a/week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/student/Student.java +++ b/week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/student/Student.java @@ -1,11 +1,13 @@ package com.codingbottle.dbendpagination.domain.student; +import com.codingbottle.dbendpagination.domain.studentinlecture.Penalty; import lombok.AccessLevel; import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import javax.persistence.*; +import javax.persistence.criteria.CriteriaBuilder; @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) @@ -18,9 +20,17 @@ public class Student { @Column(nullable = false) private String name; + @Column(nullable = false) + private Integer totalPenalty; + @Builder private Student(String name) { this.name = name; + totalPenalty = 0; + } + + public void updateTotalPenalty(Integer penalty){ + totalPenalty += penalty; } diff --git a/week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/student/StudentRepository.java b/week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/student/StudentRepository.java similarity index 100% rename from week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/student/StudentRepository.java rename to week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/student/StudentRepository.java diff --git a/week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/student/StudentService.java b/week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/student/StudentService.java similarity index 100% rename from week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/student/StudentService.java rename to week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/student/StudentService.java diff --git a/week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/studentinlecture/Penalty.java b/week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/studentinlecture/Penalty.java similarity index 100% rename from week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/studentinlecture/Penalty.java rename to week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/studentinlecture/Penalty.java diff --git a/week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/studentinlecture/StudentInLecture.java b/week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/studentinlecture/StudentInLecture.java similarity index 100% rename from week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/studentinlecture/StudentInLecture.java rename to week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/studentinlecture/StudentInLecture.java diff --git a/week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/studentinlecture/StudentInLectureRepository.java b/week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/studentinlecture/StudentInLectureRepository.java similarity index 100% rename from week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/studentinlecture/StudentInLectureRepository.java rename to week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/studentinlecture/StudentInLectureRepository.java diff --git a/week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/studentinlecture/StudentInLectureService.java b/week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/studentinlecture/StudentInLectureService.java similarity index 69% rename from week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/studentinlecture/StudentInLectureService.java rename to week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/studentinlecture/StudentInLectureService.java index 19ce376..444408b 100644 --- a/week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/studentinlecture/StudentInLectureService.java +++ b/week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/domain/studentinlecture/StudentInLectureService.java @@ -44,9 +44,18 @@ public long updatePenalty(Long studentInLectureId, Penalty penalty) { // 2. studentInLectureId 라는 경로 변수로 StudentInLecture 객체를 찾아온다. StudentInLecture studentInLecture = getById(studentInLectureId); - // 3. studentInLecture 객체의 벌점을 변경한다. - studentInLecture.setPenalty(penalty); + if(studentInLecture.getPenalty() != penalty.getValue()) {// 원래 벌점과 변경된 벌점이 들어왔을 때만 + // 3. student 객체의 벌점 총합을 업데이트한다. + // 원래 있던 벌점과 수정된 벌점을 비교한 뒤 적절하게 벌점 총합을 업데이트한다. + if(studentInLecture.getPenalty() == 10 && penalty.getValue() == 2)studentInLecture.getStudent().updateTotalPenalty(-8); + else if(studentInLecture.getPenalty() == 10 && penalty.getValue() == 0)studentInLecture.getStudent().updateTotalPenalty(-10); + else if(studentInLecture.getPenalty() == 2 && penalty.getValue() == 10)studentInLecture.getStudent().updateTotalPenalty(8); + else if(studentInLecture.getPenalty() == 2 && penalty.getValue() == 0)studentInLecture.getStudent().updateTotalPenalty(-2); + else studentInLecture.getStudent().updateTotalPenalty(penalty.getValue()); + // 4. studentInLecture 객체의 벌점을 변경한다. + studentInLecture.setPenalty(penalty); + } return studentInLecture.getId(); // 1차 저장소의 정보가 DB로 flush 되고, 트랜잭션이 commit 된다. } diff --git a/week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/global/util/InitDB.java b/week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/global/util/InitDB.java similarity index 100% rename from week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/global/util/InitDB.java rename to week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/global/util/InitDB.java diff --git a/week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/global/util/PageableUtil.java b/week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/global/util/PageableUtil.java similarity index 100% rename from week03/dbendpagination/src/main/java/com/codingbottle/dbendpagination/global/util/PageableUtil.java rename to week03/yonghyun/dbendpagination/src/main/java/com/codingbottle/dbendpagination/global/util/PageableUtil.java diff --git a/week03/dbendpagination/src/main/resources/application.properties b/week03/yonghyun/dbendpagination/src/main/resources/application.properties similarity index 100% rename from week03/dbendpagination/src/main/resources/application.properties rename to week03/yonghyun/dbendpagination/src/main/resources/application.properties diff --git a/week03/dbendpagination/src/main/resources/db.md b/week03/yonghyun/dbendpagination/src/main/resources/db.md similarity index 100% rename from week03/dbendpagination/src/main/resources/db.md rename to week03/yonghyun/dbendpagination/src/main/resources/db.md diff --git a/week03/dbendpagination/src/test/java/com/codingbottle/dbendpagination/DbendpaginationApplicationTests.java b/week03/yonghyun/dbendpagination/src/test/java/com/codingbottle/dbendpagination/DbendpaginationApplicationTests.java similarity index 100% rename from week03/dbendpagination/src/test/java/com/codingbottle/dbendpagination/DbendpaginationApplicationTests.java rename to week03/yonghyun/dbendpagination/src/test/java/com/codingbottle/dbendpagination/DbendpaginationApplicationTests.java