feat: Registration 미승인 수강신청 조회, 중복신청 확인 추가

This commit is contained in:
kgc91747 2024-08-02 15:41:42 +09:00
parent e0f5168638
commit 75a4baf782
4 changed files with 15 additions and 10 deletions

View File

@ -29,7 +29,7 @@ public class RegistrationController {
Long lectureId = map.get("lectureId");
if (!registrationService.createRegistration(userId, lectureId)) {
return new ResponseEntity<>(HttpStatus.CONFLICT);
return new ResponseEntity<>(HttpStatus.NOT_FOUND);
}
return new ResponseEntity<>(HttpStatus.CREATED);

View File

@ -12,6 +12,7 @@ import java.util.List;
public interface RegistrationRepository extends JpaRepository<Registration, Long> {
List<Registration> findAllByUserId(@Param("userId") Long userId);
@Query("SELECT r FROM Registration r WHERE r.lecture.id = :lectureId AND r.status = 'WAITING'")
List<Registration> findAllNotAcceptedByLectureId(@Param("lectureId") Long lectureId);
Registration findByUserIdAndLectureId(Long userId, Long lectureId);

View File

@ -18,5 +18,5 @@ public interface RegistrationService {
List<RegistrationSearchResponse> searchRegistrations(Long LectureId);
//RegistrationStatus getStatus(Long userId, Long lectureId);
RegistrationStatus getStatus(Long userId, Long lectureId);
}

View File

@ -34,7 +34,11 @@ public class RegistrationServiceImpl implements RegistrationService {
return false;
}
Registration registration = new Registration().builder()
if (registrationRepository.findByUserIdAndLectureId(userId, lectureId) != null) {
return false;
}
Registration registration = Registration.builder()
.user(userRepository.findById(userId).get())
.lecture(lectureRepository.findById(lectureId).get())
.status(RegistrationStatus.WAITING)
@ -76,7 +80,7 @@ public class RegistrationServiceImpl implements RegistrationService {
List<RegistrationSearchResponse> responses = new ArrayList<>();
for (Registration registration : registrations) {
RegistrationSearchResponse response = new RegistrationSearchResponse().builder()
RegistrationSearchResponse response = RegistrationSearchResponse.builder()
.id(registration.getId())
.userName(registration.getUser().getName())
.build();
@ -87,11 +91,11 @@ public class RegistrationServiceImpl implements RegistrationService {
return responses;
}
// @Override
// public RegistrationStatus getStatus(Long userId, Long lectureId) {
//
// Registration registration = registrationRepository.findByUserIdAndLectureId(userId, lectureId);
// return registration.getStatus();
// }
@Override
public RegistrationStatus getStatus(Long userId, Long lectureId) {
Registration registration = registrationRepository.findByUserIdAndLectureId(userId, lectureId);
return registration.getStatus();
}
}