Browse Source

修改API接口/api/exam/student/count参数与实现

luoshi 4 năm trước cách đây
mục cha
commit
4a984c74cd

+ 19 - 24
stmms-web/src/main/java/cn/com/qmth/stmms/api/controller/ExamStudentController.java

@@ -63,8 +63,8 @@ public class ExamStudentController extends BaseApiController {
     @ResponseBody
     public JSONObject checkStudent(HttpServletRequest request, @RequestBody ExamStudent examStudent) {
         JSONObject obj = new JSONObject();
-        ExamStudent student = studentService.findByExamIdAndExamNumber(examStudent.getExamId(),
-                examStudent.getExamNumber());
+        ExamStudent student = studentService
+                .findByExamIdAndExamNumber(examStudent.getExamId(), examStudent.getExamNumber());
         if (student != null) {
             obj.accumulate("examId", examStudent.getExamId());
             obj.accumulate("campusCode", "0");
@@ -88,17 +88,12 @@ public class ExamStudentController extends BaseApiController {
     }
 
     @RoleRequire({ Role.SCHOOL_ADMIN })
-    @RequestMapping("/students/count/{examId}")
+    @RequestMapping("/exam/student/count")
     @ResponseBody
-    public long getStudentCount(HttpServletRequest request, @PathVariable Integer examId,
-            @RequestParam(required = false) Boolean upload, @RequestParam(required = false) Boolean absent) {
+    public long getStudentCount(HttpServletRequest request, ExamStudentSearchQuery query) {
         ApiUser user = RequestUtils.getApiUser(request);
-        Exam exam = examService.findById(examId);
+        Exam exam = query.getExamId() != null ? examService.findById(query.getExamId()) : null;
         if (exam != null && exam.getSchoolId().equals(user.getSchoolId())) {
-            ExamStudentSearchQuery query = new ExamStudentSearchQuery();
-            query.setExamId(examId);
-            query.setUpload(upload);
-            query.setAbsent(absent);
             return studentService.countByQuery(query);
         }
         return 0;
@@ -109,7 +104,8 @@ public class ExamStudentController extends BaseApiController {
     @ResponseBody
     public JSONArray getStudent(HttpServletRequest request, ExamStudentSearchQuery query,
             @RequestParam(required = false) Boolean withScoreDetail,
-            @RequestParam(required = false) Boolean withMarkTrack, @RequestParam(required = false) Boolean withSheetUrl) {
+            @RequestParam(required = false) Boolean withMarkTrack,
+            @RequestParam(required = false) Boolean withSheetUrl) {
         ApiUser user = RequestUtils.getApiUser(request);
         JSONArray array = new JSONArray();
         if (query.getExamId() == null) {
@@ -157,8 +153,9 @@ public class ExamStudentController extends BaseApiController {
                         // 构造客观题得分明细
                         JSONArray objective = new JSONArray();
                         List<ScoreItem> scoreList = student.getScoreList(true);
-                        List<ExamQuestion> questionList = questionService.findByExamAndSubjectAndObjectiveAndPaperType(
-                                student.getExamId(), student.getSubjectCode(), true, student.getPaperType());
+                        List<ExamQuestion> questionList = questionService
+                                .findByExamAndSubjectAndObjectiveAndPaperType(student.getExamId(),
+                                        student.getSubjectCode(), true, student.getPaperType());
                         int i = 0;
                         for (ScoreItem item : scoreList) {
                             i++;
@@ -181,8 +178,8 @@ public class ExamStudentController extends BaseApiController {
                         // 构造主观题得分明细
                         JSONArray subjective = new JSONArray();
                         scoreList = student.getScoreList(false);
-                        questionList = questionService.findByExamAndSubjectAndObjective(student.getExamId(),
-                                student.getSubjectCode(), false);
+                        questionList = questionService
+                                .findByExamAndSubjectAndObjective(student.getExamId(), student.getSubjectCode(), false);
                         i = 0;
                         for (ScoreItem item : scoreList) {
                             i++;
@@ -209,13 +206,10 @@ public class ExamStudentController extends BaseApiController {
                     }
                     // 返回原图下载地址
                     if (withSheetUrl != null && withSheetUrl.booleanValue()) {
-                        obj.accumulate(
-                                "sheetUrls",
-                                fileService
-                                        .getSheetUris(student.getExamId(), student.getExamNumber(), 1,
-                                                student.getSheetCount()).stream()
-                                        .map(uri -> fileService.getFileServer().concat(uri))
-                                        .collect(Collectors.toList()));
+                        obj.accumulate("sheetUrls", fileService
+                                .getSheetUris(student.getExamId(), student.getExamNumber(), 1, student.getSheetCount())
+                                .stream().map(uri -> fileService.getFileServer().concat(uri))
+                                .collect(Collectors.toList()));
                     }
                     array.add(obj);
                 } catch (Exception e) {
@@ -267,8 +261,9 @@ public class ExamStudentController extends BaseApiController {
             if (Strings.isNullOrEmpty(examSeqCode)) {
                 student = studentService.findBySchoolIdAndSubjectCodeAndStudentCode(schoolId, subjectCode, studentCode);
             } else {
-                student = studentService.findBySchoolIdAndSubjectCodeAndStudentCodeAndRemark(schoolId, subjectCode,
-                        studentCode, examSeqCode);
+                student = studentService
+                        .findBySchoolIdAndSubjectCodeAndStudentCodeAndRemark(schoolId, subjectCode, studentCode,
+                                examSeqCode);
             }
             if (student != null) {
                 DecimalFormat df = new DecimalFormat("####.###");