Эх сурвалжийг харах

update /api/ecs_oe_student/examControl/saveUploadedFile

deason 7 сар өмнө
parent
commit
0e763a5d7a

+ 6 - 2
examcloud-core-oe-student-api-provider/src/main/java/cn/com/qmth/examcloud/core/oe/student/api/controller/ExamControlController.java

@@ -277,7 +277,7 @@ public class ExamControlController extends ControllerSupport {
      */
      */
     @ApiOperation(value = "保存上传的文件(微信小程序调用)")
     @ApiOperation(value = "保存上传的文件(微信小程序调用)")
     @PostMapping("/saveUploadedFile")
     @PostMapping("/saveUploadedFile")
-    public String saveUploadedFile(@ModelAttribute @Valid SaveUploadedFileReq req) {
+    public SaveUploadedFileResult saveUploadedFile(@ModelAttribute @Valid SaveUploadedFileReq req) {
         User user = getAccessUser();
         User user = getAccessUser();
         ExamFileAnswer examFileAnswer = new ExamFileAnswer();
         ExamFileAnswer examFileAnswer = new ExamFileAnswer();
         examFileAnswer.setExamRecordDataId(req.getExamRecordDataId());
         examFileAnswer.setExamRecordDataId(req.getExamRecordDataId());
@@ -289,6 +289,9 @@ public class ExamControlController extends ControllerSupport {
         String fileAnswerId = RedisKeyHelper.getBuilder().studentFileAnswerKey(req.getExamRecordDataId(), req.getOrder());
         String fileAnswerId = RedisKeyHelper.getBuilder().studentFileAnswerKey(req.getExamRecordDataId(), req.getOrder());
         examFileAnswerService.saveFileAnswer(fileAnswerId, examFileAnswer);
         examFileAnswerService.saveFileAnswer(fileAnswerId, examFileAnswer);
 
 
+        SaveUploadedFileResult result = new SaveUploadedFileResult();
+        result.setFileAnswerId(fileAnswerId);
+        result.setWsSendSuccess(false);
         try {
         try {
             String fileUrl = "";
             String fileUrl = "";
             if (req.getFilePath().indexOf(",") > -1) {
             if (req.getFilePath().indexOf(",") > -1) {
@@ -303,12 +306,13 @@ public class ExamControlController extends ControllerSupport {
             examControlService.sendFileAnswerToWebSocket(req.getExamRecordDataId(), req.getOrder(),
             examControlService.sendFileAnswerToWebSocket(req.getExamRecordDataId(), req.getOrder(),
                     fileUrl, req.getTransferFileType(), user.getUserId(), user.getRootOrgId());
                     fileUrl, req.getTransferFileType(), user.getUserId(), user.getRootOrgId());
             log.warn("小程序保存文件作答完成,WS消息通知成功!examRecordDataId:{} order:{}", req.getExamRecordDataId(), req.getOrder());
             log.warn("小程序保存文件作答完成,WS消息通知成功!examRecordDataId:{} order:{}", req.getExamRecordDataId(), req.getOrder());
+            result.setWsSendSuccess(true);
         } catch (Exception e) {
         } catch (Exception e) {
             log.warn("小程序保存文件作答完成,WS消息通知失败!examRecordDataId:{} order:{} err:{}", req.getExamRecordDataId(), req.getOrder(), e.getMessage());
             log.warn("小程序保存文件作答完成,WS消息通知失败!examRecordDataId:{} order:{} err:{}", req.getExamRecordDataId(), req.getOrder(), e.getMessage());
             // examFileAnswerService.deleteFileAnswer(fileAnswerId);
             // examFileAnswerService.deleteFileAnswer(fileAnswerId);
             // throw new StatusException("100009", "消息通知失败", e);
             // throw new StatusException("100009", "消息通知失败", e);
         }
         }
-        return fileAnswerId;
+        return result;
     }
     }
 
 
     /**
     /**

+ 32 - 0
examcloud-core-oe-student-service/src/main/java/cn/com/qmth/examcloud/core/oe/student/bean/SaveUploadedFileResult.java

@@ -0,0 +1,32 @@
+package cn.com.qmth.examcloud.core.oe.student.bean;
+
+import cn.com.qmth.examcloud.api.commons.exchange.JsonSerializable;
+import io.swagger.annotations.ApiModelProperty;
+
+public class SaveUploadedFileResult implements JsonSerializable {
+
+    private static final long serialVersionUID = -8323306595159483818L;
+
+    @ApiModelProperty(value = "文件作答ID")
+    private String fileAnswerId;
+
+    @ApiModelProperty(value = "WS消息通知是否成功")
+    private Boolean wsSendSuccess;
+
+    public String getFileAnswerId() {
+        return fileAnswerId;
+    }
+
+    public void setFileAnswerId(String fileAnswerId) {
+        this.fileAnswerId = fileAnswerId;
+    }
+
+    public Boolean getWsSendSuccess() {
+        return wsSendSuccess;
+    }
+
+    public void setWsSendSuccess(Boolean wsSendSuccess) {
+        this.wsSendSuccess = wsSendSuccess;
+    }
+
+}