Procházet zdrojové kódy

修复更新上传结果service方法的bug,API接口统一异常处理方法内部增加异常捕获

luoshi před 6 roky
rodič
revize
43412fd09c

+ 3 - 2
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/impl/ExamStudentServiceImpl.java

@@ -383,9 +383,10 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
     @Override
     @Transactional
     public boolean updateScanInfo(ExamStudent student) {
+        student.setUploadTime(new Date());
         return studentDao.updateScanInfo(student.getId(), student.getSheetCount(), student.getSliceCount(),
-                student.getAnswers(), student.getBatchCode(), student.isAbsent(), new Date(),
-                student.getObjectiveScore(), student.getObjectiveScoreList()) > 1;
+                student.getAnswers(), student.getBatchCode(), student.isAbsent(), student.getUploadTime(),
+                student.getObjectiveScore(), student.getObjectiveScoreList()) > 0;
     }
 
     @Override

+ 10 - 8
stmms-web/src/main/java/cn/com/qmth/stmms/api/controller/BaseApiController.java

@@ -1,7 +1,5 @@
 package cn.com.qmth.stmms.api.controller;
 
-import java.io.IOException;
-
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.commons.lang.StringUtils;
@@ -19,14 +17,18 @@ public class BaseApiController extends BaseController {
     protected static final Logger log = LoggerFactory.getLogger(BaseApiController.class);
 
     @ExceptionHandler
-    public void exception(HttpServletResponse response, Exception ex) throws IOException {
+    public void exception(HttpServletResponse response, Exception ex) {
         log.error("api execute error", ex);
         response.addHeader(AuthInfoUtils.ERROR_MESSAGE_HEADER_KEY, StringUtils.trimToEmpty(ex.getMessage()));
-        if (ex instanceof ApiException) {
-            ApiException e = (ApiException) ex;
-            response.sendError(e.getCode());
-        } else {
-            response.sendError(HttpStatus.INTERNAL_SERVER_ERROR.value());
+        try {
+            if (ex instanceof ApiException) {
+                ApiException e = (ApiException) ex;
+                response.sendError(e.getCode());
+            } else {
+                response.sendError(HttpStatus.INTERNAL_SERVER_ERROR.value());
+            }
+        } catch (Exception e) {
+            log.error("api response senderror", e);
         }
     }
 }