Răsfoiți Sursa

移动端文件上传

xiatian 4 ani în urmă
părinte
comite
2b6d5115ea

+ 19 - 0
themis-exam/src/main/java/com/qmth/themis/exam/api/TEMobileController.java

@@ -10,7 +10,9 @@ import javax.annotation.Resource;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
 
 import com.qmth.themis.business.bean.exam.AnswerReadyParamBean;
 import com.qmth.themis.business.bean.exam.AnswerReadyResponseBean;
@@ -18,12 +20,14 @@ import com.qmth.themis.business.bean.mobile.MobileAuthorizationParamBean;
 import com.qmth.themis.business.cache.ExamRecordCacheUtil;
 import com.qmth.themis.business.cache.bean.ExamStudentCacheBean;
 import com.qmth.themis.business.dto.WebsocketDto;
+import com.qmth.themis.business.dto.cache.TEStudentCacheDto;
 import com.qmth.themis.business.enums.ExamRecordStatusEnum;
 import com.qmth.themis.business.enums.WebsocketTypeEnum;
 import com.qmth.themis.business.service.MqDtoService;
 import com.qmth.themis.business.service.TEExamService;
 import com.qmth.themis.business.service.TEExamStudentService;
 import com.qmth.themis.business.service.TEMobileService;
+import com.qmth.themis.business.util.ServletUtil;
 import com.qmth.themis.common.exception.BusinessException;
 import com.qmth.themis.common.util.Result;
 import com.qmth.themis.common.util.ResultUtil;
@@ -31,6 +35,9 @@ import com.qmth.themis.exam.websocket.WebSocketOeServer;
 
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
 
 @Api(tags = "移动端接口")
 @RestController
@@ -48,6 +55,7 @@ public class TEMobileController {
 
 	@Resource
 	TEExamStudentService examStudentService;
+	
 
 	@ApiOperation(value = "获取登录详细信息")
 	@RequestMapping(value = "/authorization", method = RequestMethod.POST)
@@ -104,5 +112,16 @@ public class TEMobileController {
         ret.setExamName(examService.getExamCacheBean(es.getExamId()).getName());
 		return ResultUtil.ok(ret);
 	}
+	
+    @ApiOperation(value = "文件上传")
+    @RequestMapping(value = "/file/upload", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "试卷信息")})
+    public Result fileUpload(@ApiParam(value = "考试记录ID", required = true) @RequestParam Long recordId,
+                             @ApiParam(value = "上传文件", required = true) @RequestParam MultipartFile file,
+                             @ApiParam(value = "后缀名", required = true) @RequestParam String suffix,
+                             @ApiParam(value = "md5", required = true) @RequestParam String md5) {
+        TEStudentCacheDto teStudent = (TEStudentCacheDto) ServletUtil.getRequestStudentAccount();
+        return ResultUtil.ok(examService.fileUpload(teStudent.getId(), recordId, file, suffix, md5));
+    }
 
 }