From 0b31c4966f8fd46d27df23d42d0076ae10ad22e8 Mon Sep 17 00:00:00 2001
From: Radheshhathwar <radheshhathwar.bh@gmail.com>
Date: Fri, 3 Nov 2023 12:51:10 +0530
Subject: [PATCH] CHanged request params for result api

---
 .../controller/StudentResultController.java                  | 4 ++--
 .../examsAndAdmissions/repository/StudentRepository.java     | 4 ++++
 .../examsAndAdmissions/service/StudentResultService.java     | 5 +++--
 3 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/tarento/upsmf/examsAndAdmissions/controller/StudentResultController.java b/src/main/java/com/tarento/upsmf/examsAndAdmissions/controller/StudentResultController.java
index dafae27..3cb56b2 100644
--- a/src/main/java/com/tarento/upsmf/examsAndAdmissions/controller/StudentResultController.java
+++ b/src/main/java/com/tarento/upsmf/examsAndAdmissions/controller/StudentResultController.java
@@ -48,8 +48,8 @@ public class StudentResultController {
     }
 
     @GetMapping("/results")
-    public ResponseEntity<ResponseDto> viewResults(@RequestParam String enrolmentNumber, @RequestParam Long examCycleId) {
-        return new ResponseEntity<>(studentResultService.findByEnrollmentNumberAndDateOfBirth(enrolmentNumber, examCycleId), HttpStatus.OK);
+    public ResponseEntity<ResponseDto> viewResults(@RequestParam Long StudentId, @RequestParam Long examCycleId) {
+        return new ResponseEntity<>(studentResultService.findByStudentIdAndExamCycleId(StudentId, examCycleId), HttpStatus.OK);
     }
 
     @PostMapping("/requestRetotalling")
diff --git a/src/main/java/com/tarento/upsmf/examsAndAdmissions/repository/StudentRepository.java b/src/main/java/com/tarento/upsmf/examsAndAdmissions/repository/StudentRepository.java
index cfbc16c..fc212ce 100644
--- a/src/main/java/com/tarento/upsmf/examsAndAdmissions/repository/StudentRepository.java
+++ b/src/main/java/com/tarento/upsmf/examsAndAdmissions/repository/StudentRepository.java
@@ -3,6 +3,8 @@ package com.tarento.upsmf.examsAndAdmissions.repository;
 import com.tarento.upsmf.examsAndAdmissions.model.Student;
 import com.tarento.upsmf.examsAndAdmissions.enums.VerificationStatus;
 import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
 
 import java.time.LocalDate;
@@ -18,4 +20,6 @@ public interface StudentRepository extends JpaRepository<Student, Long> {
     Optional<Student> findByEnrollmentNumber(String enrollmentNumber);
 
     Optional<Student> findByKeycloakId(String keycloakId);
+    @Query("SELECT s.enrollmentNumber FROM Student s WHERE s.id = :studentId")
+    String getEnrollmentNumberById(@Param("studentId") Long studentId);
 }
diff --git a/src/main/java/com/tarento/upsmf/examsAndAdmissions/service/StudentResultService.java b/src/main/java/com/tarento/upsmf/examsAndAdmissions/service/StudentResultService.java
index eaa7a07..6fe2413 100644
--- a/src/main/java/com/tarento/upsmf/examsAndAdmissions/service/StudentResultService.java
+++ b/src/main/java/com/tarento/upsmf/examsAndAdmissions/service/StudentResultService.java
@@ -406,11 +406,12 @@ public class StudentResultService {
         return response;
     }
 
-    public ResponseDto findByEnrollmentNumberAndDateOfBirth(String enrollmentNumber, Long examCycleId) {
+    public ResponseDto findByStudentIdAndExamCycleId(Long studentId, Long examCycleId) {
         ResponseDto response = new ResponseDto(Constants.API_FIND_BY_ENROLLMENT_NUMBER_AND_DOB);
 //        List<StudentResult> studentResultList = studentResultRepository.findByStudent_EnrollmentNumberAndExamCycle_IdAndPublished(enrollmentNumber, examCycleId, true);
 
         String examCycleName = examCycleRepository.getExamCycleNameById(examCycleId);
+        String enrollmentNumber = studentRepository.getEnrollmentNumberById(studentId);
         List<StudentResult> studentResultList = studentResultRepository.findByStudent_EnrollmentNumberAndExamCycleNameAndPublished(enrollmentNumber, examCycleName, true);
 
         if (!studentResultList.isEmpty()) {
@@ -420,7 +421,7 @@ public class StudentResultService {
             response.put(Constants.RESPONSE, studentResultDTO);
             response.setResponseCode(HttpStatus.OK);
         } else {
-            ResponseDto.setErrorResponse(response, "RESULT_NOT_FOUND", "No result found for the given enrollment number and date of birth.", HttpStatus.NOT_FOUND);
+            ResponseDto.setErrorResponse(response, "RESULT_NOT_FOUND", "No result found for the given enrollment number and examCycle.", HttpStatus.NOT_FOUND);
         }
 
         return response;
-- 
GitLab