xiaof 3 rokov pred
rodič
commit
abfa718653

+ 7 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/OpenApiServiceImpl.java

@@ -136,14 +136,18 @@ public class OpenApiServiceImpl implements OpenApiService {
     @Override
     public List<ExamStudentScore> listExamStudentScore(BasicSchool basicSchool, String thirdExamId, String gradeCourseCode, Integer pageNumber, Integer pageSize) {
         GradeBatchPaper gradeBatchPaper = gradeBatchPaperService.findByThirdExamIdAndGradeCourseCode(basicSchool.getId(), thirdExamId, gradeCourseCode);
+        List<ExamStudentScore> examStudentScoreList = new ArrayList<>();
         if (gradeBatchPaper == null) {
-            return new ArrayList<>();
+            return examStudentScoreList;
         }
 
         QueryWrapper<ExamTask> examTaskQueryWrapper = new QueryWrapper<>();
         examTaskQueryWrapper.lambda().eq(ExamTask::getSchoolId, gradeBatchPaper.getSchoolId())
                 .eq(ExamTask::getPaperNumber, gradeBatchPaper.getPaperNumber());
         ExamTask examTask = examTaskService.getOne(examTaskQueryWrapper);
+        if(examTask == null){
+            return examStudentScoreList;
+        }
 
         QueryWrapper<TSyncExamStudentScore> examStudentScoreQueryWrapper = new QueryWrapper<>();
         String subjectCode = examTask.getCourseCode() + gradeBatchPaper.getPaperType() + examTask.getSequence();
@@ -152,7 +156,7 @@ public class OpenApiServiceImpl implements OpenApiService {
 
         Page<TSyncExamStudentScore> page = new Page<>(pageNumber, pageSize);
         IPage<TSyncExamStudentScore> tSyncExamStudentScoreIPage = tSyncExamStudentScoreService.page(page, examStudentScoreQueryWrapper);
-        return tSyncExamStudentScoreIPage.getRecords().stream().map(m -> {
+        examStudentScoreList = tSyncExamStudentScoreIPage.getRecords().stream().map(m -> {
             ExamStudentScore examStudentScore = new ExamStudentScore();
             examStudentScore.setName(m.getName());
             examStudentScore.setStudentCode(m.getStudentCode());
@@ -187,5 +191,6 @@ public class OpenApiServiceImpl implements OpenApiService {
             examStudentScore.setSubjectiveScoreDetail(subjectiveTopic);
             return examStudentScore;
         }).collect(Collectors.toList());
+        return examStudentScoreList;
     }
 }

+ 11 - 5
distributed-print-business/src/main/resources/mapper/GradeBatchPaperMapper.xml

@@ -112,11 +112,17 @@
     <select id="findByThirdExamIdAndGradeCourseCode" resultMap="BaseResultMap">
         select gbp.*
         from grade_batch gb
-                 join grade_batch_paper gbp on gb.school_id = gbp.school_id
-            and gb.id = gbp.batch_id
-        where gb.school_id = #{schoolId}
-          and gb.third_exam_id = #{thirdExamId}
-          and gbp.grade_course_code = #{gradeCourseCode}
+        join grade_batch_paper gbp on gb.school_id = gbp.school_id
+        and gb.id = gbp.batch_id
+        <where>
+            gb.school_id = #{schoolId}
+            <if test="thirdExamId != null and thirdExamId != ''">
+                and gb.third_exam_id = #{thirdExamId}
+            </if>
+            <if test="gradeCourseCode != null and gradeCourseCode != ''">
+                and gbp.grade_course_code = #{gradeCourseCode}
+            </if>
+        </where>
     </select>
 
 </mapper>

+ 1 - 1
distributed-print-business/src/main/resources/mapper/GradePaperMapper.xml

@@ -14,7 +14,7 @@
                score_type  scoreType
         FROM grade_paper
         where school_id = #{schoolId}
-          and paper_number = {paperNumber}
+          and paper_number = #{paperNumber}
           and paper_type = #{paperType}
     </select>
 </mapper>

+ 5 - 3
distributed-print/src/main/java/com/qmth/distributed/print/api/OpenApiController.java

@@ -4,6 +4,7 @@ import com.qmth.boot.api.annotation.Aac;
 import com.qmth.boot.api.annotation.BOOL;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.distributed.print.business.service.OpenApiService;
+import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicSchool;
 import com.qmth.teachcloud.common.util.AuthThirdUtil;
 import com.qmth.teachcloud.common.util.Result;
@@ -21,6 +22,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
+import javax.validation.constraints.Min;
 
 /**
  * <p>
@@ -35,7 +37,7 @@ import javax.annotation.Resource;
 @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/${prefix.url.open}")
 @Validated
 public class OpenApiController {
-    private final static Logger log = LoggerFactory.getLogger(OpenApiController.class);
+    private static final Logger log = LoggerFactory.getLogger(OpenApiController.class);
 
     @Resource
     private OpenApiService openApiService;
@@ -116,8 +118,8 @@ public class OpenApiController {
     @Aac(auth = BOOL.FALSE)
     public Result examStudentScore(@RequestParam String thirdExamId,
                                    @RequestParam String gradeCourseCode,
-                                   @RequestParam Integer pageNumber,
-                                   @RequestParam Integer pageSize) {
+                                   @RequestParam(defaultValue = "1") @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
+                                   @RequestParam(defaultValue = "10") @Min(SystemConstant.PAGE_SIZE_MIN) Integer pageSize) {
         BasicSchool basicSchool = AuthThirdUtil.hasPermission();
         return ResultUtil.ok(openApiService.listExamStudentScore(basicSchool, thirdExamId, gradeCourseCode, pageNumber, pageSize));
     }