diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..666b843 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,5 @@ +## 제목 + +## 작업 내용 + +## 주의 사항 \ No newline at end of file diff --git a/src/main/java/com/forkfork/cake/controller/main/PagingController.java b/src/main/java/com/forkfork/cake/controller/main/PagingController.java index a298221..8282b2b 100644 --- a/src/main/java/com/forkfork/cake/controller/main/PagingController.java +++ b/src/main/java/com/forkfork/cake/controller/main/PagingController.java @@ -11,6 +11,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Sort; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; @@ -34,38 +35,18 @@ public ResponseEntity findAllStudy(HttpServletRequest request, @RequestP String email = jwtTokenUtil.getSubject(request); User userByEmail = userService.findUserByEmail(email); - PageRequest pageRequest = PageRequest.of(page, 20); + PageRequest pageRequest = PageRequest.of(page, 20, Sort.by("id").descending()); Page studySlice = studyService.findStudyAll(pageRequest); List pagingResponseList = new LinkedList<>(); for (Study study: studySlice) { // 1. 시간지남, 2. 취소됨 3. 조기마감 - if ( !study.getUser().getUniversity().getName().equals(userByEmail.getUniversity().getName())) { + if ( study.getCancellation() || !study.getUser().getUniversity().getName().equals(userByEmail.getUniversity().getName())) { continue; } - List studyCategories = studyCategoryService.findStudyCategoryByStudy(study); - List give = new LinkedList<>(); - List take = new LinkedList<>(); - String img = null; - - for (StudyCategory studyCategory: - studyCategories) { - if (studyCategory.getType() == 1) { - //give - give.add(studyCategory.getCategory().getName()); - } else { - take.add(studyCategory.getCategory().getName()); - img = studyCategory.getCategory().getImg(); - } - } - - List studyFileByStudy = studyFileService.findStudyFileByStudy(study); - if (!studyFileByStudy.isEmpty()) { - img = s3Service.getFileUrl(studyFileByStudy.get(0).getFile()); - } - PagingResponse pagingResponse = new PagingResponse(study, img, give, take); + PagingResponse pagingResponse = studyService.makePagingResponseByStudy(study); pagingResponseList.add(pagingResponse); } @@ -81,39 +62,18 @@ public ResponseEntity findFilterStudy(HttpServletRequest request, @Reque String email = jwtTokenUtil.getSubject(request); User userByEmail = userService.findUserByEmail(email); - PageRequest pageRequest = PageRequest.of(page, 20); + PageRequest pageRequest = PageRequest.of(page, 20, Sort.by("id").descending()); Page studyCategoryByCategory = studyCategoryService.findStudyByfiltering(give, take, pageRequest); - + List pagingResponseList = new LinkedList<>(); for (StudyCategory curStudy: studyCategoryByCategory) { Study study = curStudy.getStudy(); - - if ( study.getType() != type || !study.getUser().getUniversity().getName().equals(userByEmail.getUniversity().getName())) { + if ( study.getCancellation() || study.getType() != type || !study.getUser().getUniversity().getName().equals(userByEmail.getUniversity().getName())) { continue; } - List studyCategories = studyCategoryService.findStudyCategoryByStudy(study); - List giveCategory = new LinkedList<>(); - List takeCategory = new LinkedList<>(); - String img = null; - - for (StudyCategory studyCategory: - studyCategories) { - if (studyCategory.getType() == 1) { - //give - giveCategory.add(studyCategory.getCategory().getName()); - } else { - takeCategory.add(studyCategory.getCategory().getName()); - img = studyCategory.getCategory().getImg(); - } - } - - List studyFileByStudy = studyFileService.findStudyFileByStudy(study); - if (!studyFileByStudy.isEmpty()) { - img = s3Service.getFileUrl(studyFileByStudy.get(0).getFile()); - } - PagingResponse pagingResponse = new PagingResponse(study, img, giveCategory, takeCategory); + PagingResponse pagingResponse = studyService.makePagingResponseByStudy(study); pagingResponseList.add(pagingResponse); } @@ -124,13 +84,4 @@ public ResponseEntity findFilterStudy(HttpServletRequest request, @Reque return ResFormat.response(true, 200, res); } - @PostMapping("/test") - public String test() { - for (int i = 0; i < 50; i++) { - Study build = Study.builder().title(i + "번째 테스트 글").build(); - studyService.saveStudy(build); - } - - return "good"; - } } diff --git a/src/main/java/com/forkfork/cake/controller/study/StudyController.java b/src/main/java/com/forkfork/cake/controller/study/StudyController.java index 3bad0b7..ca3a2eb 100644 --- a/src/main/java/com/forkfork/cake/controller/study/StudyController.java +++ b/src/main/java/com/forkfork/cake/controller/study/StudyController.java @@ -90,20 +90,7 @@ public ResponseEntity findStudyDetail(HttpServletRequest request, @Reque profileUrl = s3Service.getFileUrl(user.getImg()); } - Double rate = null; - List allReviewByToUser = reviewService.findAllReviewByToUser(user); - - Long cnt = 0L; - Double point = 0D; - for (Review review : - allReviewByToUser) { - cnt += 1; - point += review.getReviewPoint(); - } - - if (cnt >= 5) { - rate = point / cnt; - } + Double rate = reviewService.findUserRate(user); UserInformationDto userInformation = new UserInformationDto(user, profileUrl, rate); @@ -257,20 +244,8 @@ public ResponseEntity findOtherStudy(HttpServletRequest request) { if (ownerUser.getImg() != null) { profileUrl = s3Service.getFileUrl(ownerUser.getImg()); } - Double rate = null; - List allReviewByToUser = reviewService.findAllReviewByToUser(ownerUser); - - Long cnt = 0L; - Double point = 0D; - for (Review review : - allReviewByToUser) { - cnt += 1; - point += review.getReviewPoint(); - } - if (cnt >= 5) { - rate = point / cnt; - } + Double rate = reviewService.findUserRate(ownerUser); UserInformationDto userInformationDto = new UserInformationDto(ownerUser, profileUrl, rate); diff --git a/src/main/java/com/forkfork/cake/service/ReviewService.java b/src/main/java/com/forkfork/cake/service/ReviewService.java index e53b18e..c00b622 100644 --- a/src/main/java/com/forkfork/cake/service/ReviewService.java +++ b/src/main/java/com/forkfork/cake/service/ReviewService.java @@ -16,4 +16,22 @@ public class ReviewService { public List findAllReviewByToUser(User user) { return reviewRepository.findAllByToUser(user); } + + public Double findUserRate(User user) { + Double rate = null; + List allByToUser = reviewRepository.findAllByToUser(user); + Long cnt = 0L; + Double point = 0D; + for (Review review : + allByToUser) { + cnt += 1; + point += review.getReviewPoint(); + } + + if (cnt >= 5) { + rate = point / cnt; + } + + return rate; + } } diff --git a/src/main/java/com/forkfork/cake/service/StudyService.java b/src/main/java/com/forkfork/cake/service/StudyService.java index e85b042..e5f2b8e 100644 --- a/src/main/java/com/forkfork/cake/service/StudyService.java +++ b/src/main/java/com/forkfork/cake/service/StudyService.java @@ -1,6 +1,9 @@ package com.forkfork.cake.service; import com.forkfork.cake.domain.Study; +import com.forkfork.cake.domain.StudyCategory; +import com.forkfork.cake.domain.StudyFile; +import com.forkfork.cake.dto.paging.response.PagingResponse; import com.forkfork.cake.repository.StudyRepository; import lombok.RequiredArgsConstructor; import org.springframework.data.domain.Page; @@ -8,11 +11,17 @@ import org.springframework.data.domain.Slice; import org.springframework.stereotype.Service; +import java.util.LinkedList; +import java.util.List; + @Service @RequiredArgsConstructor public class StudyService { private final StudyRepository studyRepository; + private final StudyCategoryService studyCategoryService; + private final StudyFileService studyFileService; + private final S3Service s3Service; public Study saveStudy(Study study) { return studyRepository.save(study); @@ -25,4 +34,29 @@ public Page findStudyAll(PageRequest pageRequest) { public Study findStudyById(Long id) { return studyRepository.findById(id).orElse(null); } + + public PagingResponse makePagingResponseByStudy(Study study) { + List studyCategories = studyCategoryService.findStudyCategoryByStudy(study); + List give = new LinkedList<>(); + List take = new LinkedList<>(); + String img = null; + + for (StudyCategory studyCategory: + studyCategories) { + if (studyCategory.getType() == 1) { + //give + give.add(studyCategory.getCategory().getName()); + } else { + take.add(studyCategory.getCategory().getName()); + img = studyCategory.getCategory().getImg(); + } + } + + List studyFileByStudy = studyFileService.findStudyFileByStudy(study); + if (!studyFileByStudy.isEmpty()) { + img = s3Service.getFileUrl(studyFileByStudy.get(0).getFile()); + } + + return new PagingResponse(study, img, give, take); + } }