deason vor 7 Jahren
Ursprung
Commit
a62b4c65b6

+ 17 - 1
src/main/java/cn/com/qmth/examcloud/app/config/AccessInterceptor.java

@@ -17,6 +17,7 @@ import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.Date;
+import java.util.Map;
 
 public class AccessInterceptor extends HandlerInterceptorAdapter {
     private final static Logger log = LoggerFactory.getLogger(AccessInterceptor.class);
@@ -44,7 +45,8 @@ public class AccessInterceptor extends HandlerInterceptorAdapter {
         String account = request.getHeader("account");
         String key = request.getHeader("key");
         String token = request.getHeader("token");
-        String url = request.getServletPath();
+        String params = this.getParams(request);
+        String url = request.getServletPath() + params;
 
         DeviceRecord record = new DeviceRecord();
         record.setSystem(system);
@@ -64,4 +66,18 @@ public class AccessInterceptor extends HandlerInterceptorAdapter {
         return record;
     }
 
+    private String getParams(HttpServletRequest request) {
+        StringBuilder params = new StringBuilder();
+        Map<String, String[]> map = request.getParameterMap();
+        for (Map.Entry<String, String[]> entry : map.entrySet()) {
+            String name = entry.getKey();
+            String[] values = entry.getValue();
+            params.append("&").append(name).append("=");
+            if (values.length > 0) {
+                params.append(values[0]);
+            }
+        }
+        return params.toString().replaceFirst("&", "?");
+    }
+
 }

+ 47 - 3
src/main/java/cn/com/qmth/examcloud/app/controller/v1/OfflineExamController.java

@@ -7,6 +7,8 @@
 
 package cn.com.qmth.examcloud.app.controller.v1;
 
+import cn.com.qmth.examcloud.app.model.Result;
+import cn.com.qmth.examcloud.app.service.NetExamService;
 import cn.com.qmth.examcloud.app.service.QuestionPoolService;
 import cn.com.qmth.examcloud.app.service.UpYunService;
 import io.swagger.annotations.Api;
@@ -15,9 +17,11 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
-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.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+
+import javax.servlet.http.HttpServletRequest;
 
 /**
  * 离线考试相关接口
@@ -30,10 +34,50 @@ import org.springframework.web.bind.annotation.RequestParam;
 public class OfflineExamController {
     private static Logger log = LoggerFactory.getLogger(OfflineExamController.class);
     @Autowired
+    private NetExamService netExamService;
+    @Autowired
     private QuestionPoolService questionPoolService;
     @Autowired
     private UpYunService upYunService;
 
+    @ResponseBody
+    @ApiOperation(value = "获取当前用户参加的离线课程列表接口")
+    @RequestMapping(value = "/course/list", method = {RequestMethod.GET, RequestMethod.POST})
+    public Result getOfflineExamCourseList(@RequestHeader String key, @RequestHeader String token) throws Exception {
+        return netExamService.getOfflineExamCourseList(key, token);
+    }
+
+    @ResponseBody
+    @ApiOperation(value = "离线考试的抽取考题接口")
+    @RequestMapping(value = "/record/start", method = {RequestMethod.GET, RequestMethod.POST})
+    public Result startOfflineExamRecord(@RequestHeader String key, @RequestHeader String token, @RequestParam String examStudentId) throws Exception {
+        return netExamService.startOfflineExamRecord(key, token, examStudentId);
+    }
+
+    @ResponseBody
+    @ApiOperation(value = "上传作答文件接口")
+    @RequestMapping(value = "/paper/answer/upload", method = {RequestMethod.GET, RequestMethod.POST})
+    public Result uploadPaperAnswer(@RequestHeader String key, @RequestHeader String token, @RequestParam String examRecordId,
+                                    @RequestParam(required = false) String md5, HttpServletRequest request) throws Exception {
+        MultipartFile multipart = null;
+        try {
+            multipart = ((MultipartHttpServletRequest) request).getFile("file");
+        } catch (Exception e) {
+            log.error(e.getMessage());
+        }
+        if (multipart == null) {
+            return new Result().error("请选择要上传文件!");
+        }
+        return netExamService.uploadPaperAnswer(key, token, examRecordId, multipart.getBytes(), multipart.getOriginalFilename(), md5);
+    }
+
+    @ResponseBody
+    @ApiOperation(value = "获取某份试卷的详细信息接口")
+    @RequestMapping(value = "/paper/detail", method = {RequestMethod.GET, RequestMethod.POST})
+    public Result getPaperDetail(@RequestHeader String key, @RequestHeader String token, @RequestParam String paperId) throws Exception {
+        return questionPoolService.getPaperDetail(key, token, paperId);
+    }
+
     @ApiOperation(value = "下载考题接口")
     @RequestMapping(value = "/paper/download", method = {RequestMethod.GET, RequestMethod.POST})
     public String downloadPaper(@RequestParam String paperId, @RequestParam String orgName) throws Exception {

+ 0 - 73
src/main/java/cn/com/qmth/examcloud/app/controller/v1/OfflineExamRestController.java

@@ -1,73 +0,0 @@
-/*
- * *************************************************
- * Copyright (c) 2018 QMTH. All Rights Reserved.
- * Created by Deason on 2018-07-16 17:54:37.
- * *************************************************
- */
-
-package cn.com.qmth.examcloud.app.controller.v1;
-
-import cn.com.qmth.examcloud.app.model.Result;
-import cn.com.qmth.examcloud.app.service.NetExamService;
-import cn.com.qmth.examcloud.app.service.QuestionPoolService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-import org.springframework.web.multipart.MultipartHttpServletRequest;
-
-import javax.servlet.http.HttpServletRequest;
-
-/**
- * 离线考试相关接口
- *
- * @Version v1.0
- */
-@RestController
-@RequestMapping("/api/v1/exam/offline")
-@Api(tags = "离线考试相关接口")
-public class OfflineExamRestController {
-    private static Logger log = LoggerFactory.getLogger(OfflineExamRestController.class);
-    @Autowired
-    private QuestionPoolService questionPoolService;
-    @Autowired
-    private NetExamService netExamService;
-
-    @ApiOperation(value = "获取当前用户参加的离线课程列表接口")
-    @RequestMapping(value = "/course/list", method = {RequestMethod.GET, RequestMethod.POST})
-    public Result getOfflineExamCourseList(@RequestHeader String key, @RequestHeader String token) throws Exception {
-        return netExamService.getOfflineExamCourseList(key, token);
-    }
-
-    @ApiOperation(value = "离线考试的抽取考题接口")
-    @RequestMapping(value = "/record/start", method = {RequestMethod.GET, RequestMethod.POST})
-    public Result startOfflineExamRecord(@RequestHeader String key, @RequestHeader String token, @RequestParam String examStudentId) throws Exception {
-        return netExamService.startOfflineExamRecord(key, token, examStudentId);
-    }
-
-    @ApiOperation(value = "上传作答文件接口")
-    @RequestMapping(value = "/paper/answer/upload", method = {RequestMethod.GET, RequestMethod.POST})
-    public Result uploadPaperAnswer(@RequestHeader String key, @RequestHeader String token, @RequestParam String examRecordId,
-                                    @RequestParam(required = false) String md5, HttpServletRequest request) throws Exception {
-        MultipartFile multipart = null;
-        try {
-            multipart = ((MultipartHttpServletRequest) request).getFile("file");
-        } catch (Exception e) {
-            log.error(e.getMessage());
-        }
-        if (multipart == null) {
-            return new Result().error("请选择要上传文件!");
-        }
-        return netExamService.uploadPaperAnswer(key, token, examRecordId, multipart.getBytes(), multipart.getOriginalFilename(), md5);
-    }
-
-    @ApiOperation(value = "获取某份试卷的详细信息接口")
-    @RequestMapping(value = "/paper/detail", method = {RequestMethod.GET, RequestMethod.POST})
-    public Result getPaperDetail(@RequestHeader String key, @RequestHeader String token, @RequestParam String paperId) throws Exception {
-        return questionPoolService.getPaperDetail(key, token, paperId);
-    }
-
-}