Browse Source

merge from release_v4.1.2

deason 3 years ago
parent
commit
c4417ea6a9
19 changed files with 214 additions and 226 deletions
  1. 1 2
      examcloud-exchange-inner-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/controller/UpyunController.java
  2. 9 11
      examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/controller/CommonGainScoreController.java
  3. 2 5
      examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/controller/FaceController.java
  4. 3 2
      examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/controller/swufe/SwufeExamController.java
  5. 8 13
      examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/controller/sydx/SydxScoreController.java
  6. 3 1
      examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/provider/CourseGroupOuterServiceProvider.java
  7. 2 2
      examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/provider/ExamOuterServiceProvider.java
  8. 10 7
      examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/provider/ExamQuestionOuterServiceProvider.java
  9. 4 4
      examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/provider/ExamStudentOuterServiceProvider.java
  10. 4 4
      examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/provider/FaceOuterServiceProvider.java
  11. 4 5
      examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/provider/GetExamRecordAuditInfoServiceProvider.java
  12. 3 3
      examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/provider/GetScoreDataServiceProvider.java
  13. 3 4
      examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/provider/QueryCapturePhotoServiceProvider.java
  14. 3 7
      examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/provider/ScoreQueueServiceProvider.java
  15. 6 6
      examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/provider/StudentOuterServiceProvider.java
  16. 4 2
      examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/provider/cug/CugOuterServiceProvider.java
  17. 1 0
      examcloud-exchange-starter/pom.xml
  18. 143 148
      examcloud-exchange-starter/src/main/java/cn/com/qmth/examcloud/exchange/config/EnterpriseAccessInterceptor.java
  19. 1 0
      examcloud-exchange-starter/src/main/resources/log4j2.xml

+ 1 - 2
examcloud-exchange-inner-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/controller/UpyunController.java

@@ -29,7 +29,6 @@ import cn.com.qmth.examcloud.web.filestorage.FileStoragePathEnvInfo;
 import cn.com.qmth.examcloud.web.filestorage.YunPathInfo;
 import cn.com.qmth.examcloud.web.support.ControllerSupport;
 import cn.com.qmth.examcloud.web.upyun.UpyunService;
-import io.swagger.annotations.ApiOperation;
 
 /**
  * Upyun服务
@@ -48,7 +47,7 @@ public class UpyunController extends ControllerSupport {
     @Autowired
     UpyunService upyunService;
 
-    @ApiOperation(value = "保存照片")
+    // 保存照片
     @PutMapping("put/{siteId}/{fileSuffix}")
     public String putFile(@PathVariable String siteId, @PathVariable String fileSuffix,
                           @RequestParam(required = false) String md5, HttpServletRequest req) {

+ 9 - 11
examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/controller/CommonGainScoreController.java

@@ -6,8 +6,6 @@ import cn.com.qmth.examcloud.exchange.base.response.SuccessBaseResponse;
 import cn.com.qmth.examcloud.exchange.outer.service.OutletScoreService;
 import cn.com.qmth.examcloud.exchange.outer.service.bean.OutletScore;
 import cn.com.qmth.examcloud.web.support.ControllerSupport;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
@@ -35,11 +33,11 @@ public class CommonGainScoreController extends ControllerSupport {
     @Autowired
     private OutletScoreService outletScoreService;
 
-    @ApiOperation(value = "查询成绩:根据考试名称(不推荐)/考试代码(推荐)、机构ID和学生考试方式查询")
+    // 查询成绩:根据考试名称(不推荐)/考试代码(推荐)、机构ID和学生考试方式查询
     @Deprecated
     @GetMapping
     public ResponseEntity<?> query(@RequestParam(name = "examCode", required = false) String examCode,
-                                   @RequestParam(name = "examName") @Deprecated String examName,
+                                   @RequestParam(name = "examName",required = false) @Deprecated String examName,
                                    @RequestParam(name = "examStuRemark", required = false) String examStuRemark,
                                    HttpServletRequest request) {
         try {
@@ -68,7 +66,7 @@ public class CommonGainScoreController extends ControllerSupport {
 
     }
 
-    @ApiOperation(value = "查询成绩:按考试名称、考生身份证号、机构ID查询成绩")
+    // 查询成绩:按考试名称、考生身份证号、机构ID查询成绩
     @GetMapping("/examNameAndIdentityNumberList")
     public ResponseEntity<?> queryByIdentityNumber(@RequestParam(name = "examName") String examName,
                                                    @RequestParam(name = "identityNumberList") List<String> identityNumberList,
@@ -96,11 +94,11 @@ public class CommonGainScoreController extends ControllerSupport {
         }
     }
 
-    @ApiOperation(value = "查询成绩:按考试名称/考试代码、机构ID、学号、课程code查询成绩")
+    // 查询成绩:按考试名称/考试代码、机构ID、学号、课程code查询成绩
     @GetMapping("/batchNameAndCourseCodeAndStudentCodes")
     public ResponseEntity<?> queryExamScores(
-            @RequestParam(name = "examCode",required = false) @ApiParam("考试代码") String examCode,
-            @RequestParam(name = "batchName") @Deprecated @ApiParam("考试名称,已废弃,推荐使用examCode") String batchName,
+            @RequestParam(name = "examCode",required = false) String examCode,
+            @RequestParam(name = "batchName",required = false) String batchName,//考试名称,已废弃,推荐使用examCode
             @RequestParam(name = "courseCode") String courseCode,
             @RequestParam(name = "studentCodes") List<String> studentCodes,
             HttpServletRequest request) {
@@ -138,10 +136,10 @@ public class CommonGainScoreController extends ControllerSupport {
         }
     }
 
-    @ApiOperation(value = "查询成绩明细:按考试名称/考试代码、机构ID、学号、课程code查询成绩")
+    // 查询成绩明细:按考试名称/考试代码、机构ID、学号、课程code查询成绩
     @GetMapping("/batchQueryScoreDetail")
-    public ResponseEntity<?> batchQueryScoreDetail(@RequestParam(name = "examCode",required = false) @ApiParam("考试代码") String examCode,
-                                                   @RequestParam(name = "examName") @Deprecated @ApiParam("考试名称,已弃用,推荐使用examCode") String examName,
+    public ResponseEntity<?> batchQueryScoreDetail(@RequestParam(name = "examCode",required = false) String examCode,
+                                                   @RequestParam(name = "examName",required = false) String examName,//考试名称,已弃用,推荐使用examCode
                                                    @RequestParam(name = "studentCode") String studentCode,
                                                    @RequestParam(name = "courseCode") String courseCode,
                                                    HttpServletRequest request) {

+ 2 - 5
examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/controller/FaceController.java

@@ -24,7 +24,6 @@ import cn.com.qmth.examcloud.commons.util.ZipUtil;
 import cn.com.qmth.examcloud.exchange.outer.service.FaceService;
 import cn.com.qmth.examcloud.web.config.SystemProperties;
 import cn.com.qmth.examcloud.web.support.ControllerSupport;
-import io.swagger.annotations.ApiOperation;
 
 /**
  * 人脸 处理
@@ -55,12 +54,11 @@ public class FaceController extends ControllerSupport {
 	private FaceService faceService;
 
 	/**
-	 * 方法注释
+	 * 保存学生照片
 	 *
 	 * @author WANGWEI
 	 * @param file
 	 */
-	@ApiOperation(value = "保存学生照片")
 	@PostMapping("add")
 	public void addPhoto(@RequestParam CommonsMultipartFile file,
 			@RequestParam(required = false) String operator) {
@@ -89,13 +87,12 @@ public class FaceController extends ControllerSupport {
 	}
 
 	/**
-	 * 方法注释
+	 * 导入学生照片
 	 *
 	 * @author WANGWEI
 	 * @param file
 	 * @return
 	 */
-	@ApiOperation(value = "导入学生照片")
 	@PostMapping("import")
 	public List<Map<String, String>> importPhotos(@RequestParam CommonsMultipartFile file) {
 

+ 3 - 2
examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/controller/swufe/SwufeExamController.java

@@ -10,7 +10,6 @@ import cn.com.qmth.examcloud.examwork.api.response.GetExamResp;
 import cn.com.qmth.examcloud.exchange.outer.api.controller.swufe.bean.SwufeCreateExamDomain;
 import cn.com.qmth.examcloud.web.support.ControllerSupport;
 import com.google.common.collect.Maps;
-import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -34,7 +33,9 @@ public class SwufeExamController extends ControllerSupport {
 	@Autowired
 	ExamCloudService examCloudService;
 
-	@ApiOperation(value = "创建考试")
+	/**
+	 * 创建考试
+	 */
 	@PostMapping
 	public Map<String, Object> createExam(@RequestBody SwufeCreateExamDomain examReq,
 			HttpServletRequest request) {

+ 8 - 13
examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/controller/sydx/SydxScoreController.java

@@ -1,21 +1,16 @@
 package cn.com.qmth.examcloud.exchange.outer.api.controller.sydx;
 
 import cn.com.qmth.examcloud.api.commons.security.bean.User;
-import cn.com.qmth.examcloud.commons.util.StringUtil;
 import cn.com.qmth.examcloud.exchange.base.response.FailureBaseResponse;
 import cn.com.qmth.examcloud.exchange.outer.api.controller.sydx.bean.SydxExamScoreDomain;
 import cn.com.qmth.examcloud.exchange.outer.service.OutletScoreService;
 import cn.com.qmth.examcloud.exchange.outer.service.bean.OutletScore;
 import cn.com.qmth.examcloud.web.support.ControllerSupport;
-import io.swagger.annotations.ApiModelProperty;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.web.bind.annotation.*;
-import springfox.documentation.annotations.ApiIgnore;
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.List;
@@ -35,16 +30,16 @@ public class SydxScoreController extends ControllerSupport {
     @Autowired
     private OutletScoreService outletScoreService;
 
-    @ApiOperation(value = "查询成绩:根据考试名称、机构ID和学生考试方式查询")
+    // 查询成绩:根据考试名称、机构ID和学生考试方式查询
     @GetMapping
     public ResponseEntity<?> query(
-            @RequestParam(name = "examCode", required = false) @ApiParam(value = "考试代码,推荐使用") String examCode,
-            @RequestParam(name = "examRemark") @Deprecated @ApiParam(value = "考试名称,已弃用,推荐使用examCode") String examRemark,
+            @RequestParam(name = "examCode", required = false) String examCode,//考试代码,推荐使用
+            @RequestParam(name = "examRemark",required = false) String examRemark,//考试名称,已弃用,推荐使用examCode
             @RequestParam(name = "examStuRemark", required = false) String examStuRemark,
             HttpServletRequest request) {
         try {
             if (StringUtils.isEmpty(examRemark)) {
-                return new ResponseEntity<FailureBaseResponse>(new FailureBaseResponse("examRemark不能为空"), HttpStatus.BAD_REQUEST);
+                return new ResponseEntity<>(new FailureBaseResponse("examRemark不能为空"), HttpStatus.BAD_REQUEST);
             }
             User accessUser = getAccessUser();
             Long orgId = accessUser.getRootOrgId();
@@ -57,15 +52,15 @@ public class SydxScoreController extends ControllerSupport {
             }
             List<OutletScore> outletScoreList = outletScoreService.queryExamScore(finalExamCode, examStuRemark, orgId);
 
-            return new ResponseEntity<List<OutletScore>>(outletScoreList, HttpStatus.OK);
+            return new ResponseEntity<>(outletScoreList, HttpStatus.OK);
         } catch (Exception e) {
             e.printStackTrace();
-            return new ResponseEntity<FailureBaseResponse>(new FailureBaseResponse("请求失败"), HttpStatus.INTERNAL_SERVER_ERROR);
+            return new ResponseEntity<>(new FailureBaseResponse("请求失败"), HttpStatus.INTERNAL_SERVER_ERROR);
         }
 
     }
 
-    @ApiOperation(value = "查询成绩:按考生身份证号、机构ID查询成绩")
+    // 查询成绩:按考生身份证号、机构ID查询成绩
     @GetMapping("/identityNumber")
     public ResponseEntity<?> queryByIdentityNumber(@RequestParam(name = "identityNumberList") List<String> identityNumberList, HttpServletRequest request) {
         try {
@@ -81,7 +76,7 @@ public class SydxScoreController extends ControllerSupport {
         }
     }
 
-    @ApiOperation(value = "查询成绩:按考试名称、机构ID、学号、课程code查询成绩")
+    // 查询成绩:按考试名称、机构ID、学号、课程code查询成绩
     @PostMapping("/getExamScores")
     public ResponseEntity<?> queryExamScores(@RequestBody SydxExamScoreDomain sydxExamScoreDomain) {
         try {

+ 3 - 1
examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/provider/CourseGroupOuterServiceProvider.java

@@ -24,6 +24,7 @@ import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponses;
+import springfox.documentation.annotations.ApiIgnore;
 
 /**
  * 课程组服务
@@ -32,6 +33,7 @@ import io.swagger.annotations.ApiResponses;
  * @date 2019年1月7日
  * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
  */
+@ApiIgnore
 @Api(tags = "课程相关接口")
 @RestController
 @RequestMapping("${$rmp.cloud.exchange.outer}/courseGroup")
@@ -44,7 +46,7 @@ public class CourseGroupOuterServiceProvider extends ControllerSupport
 	@Autowired
 	CourseGroupService courseGroupService;
 
-	@ApiOperation(value = "查询课程组课程集合", httpMethod = "POST")
+	@ApiOperation(value = "查询课程组课程集合",hidden = true)
 	@ApiResponses({
 			@ApiResponse(code = 200, message = "成功", response = OuterGetCourseListResp.class),
 			@ApiResponse(code = 500, message = "系统异常(异常信息见响应体)", response = StatusResponse.class)})

+ 2 - 2
examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/provider/ExamOuterServiceProvider.java

@@ -48,7 +48,7 @@ public class ExamOuterServiceProvider extends ControllerSupport implements ExamO
 	@Autowired
 	ExamCloudService examCloudService;
 
-	@ApiOperation(value = "保存考试信息", httpMethod = "POST")
+	@ApiOperation(value = "保存考试信息")
 	@ApiResponses({@ApiResponse(code = 200, message = "成功", response = OuterSaveExamResp.class),
 			@ApiResponse(code = 500, message = "系统异常(异常信息见响应体)", response = StatusResponse.class)})
 	@PostMapping("saveExam")
@@ -96,7 +96,7 @@ public class ExamOuterServiceProvider extends ControllerSupport implements ExamO
 		return resp;
 	}
 
-	@ApiOperation(value = "查询考试信息", httpMethod = "POST")
+	@ApiOperation(value = "查询考试信息")
 	@ApiResponses({@ApiResponse(code = 200, message = "成功", response = OuterGetExamResp.class),
 			@ApiResponse(code = 500, message = "系统异常(异常信息见响应体)", response = StatusResponse.class)})
 	@PostMapping("getExam")

+ 10 - 7
examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/provider/ExamQuestionOuterServiceProvider.java

@@ -50,17 +50,19 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+import springfox.documentation.annotations.ApiIgnore;
 
 import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 
 /**
- * @Description 考试作答服务
+ * 考试作答相关接口(云阅卷定制接口)
  * @Author lideyin
  * @Date 2020/3/30 14:48
  * @Version 1.0
  */
+@ApiIgnore
 @Api(tags = "考试作答相关接口")
 @RestController
 @RequestMapping("${$rmp.cloud.exchange.outer}/question")
@@ -77,9 +79,8 @@ public class ExamQuestionOuterServiceProvider extends ControllerSupport implemen
     @Autowired
     private CourseCloudService courseCloudService;
 
-
     @Override
-    @ApiOperation(value = "获取主观题试卷结构", httpMethod = "POST")
+    @ApiOperation(value = "获取主观题试卷结构", hidden = true)
     @ApiResponses({@ApiResponse(code = 200, message = "成功", response = OuterGetSubjectivePaperStructResp.class),
             @ApiResponse(code = 500, message = "系统异常(异常信息见响应体)", response = StatusResponse.class)})
     @PostMapping("/getSubjectivePaperStruct")
@@ -131,7 +132,7 @@ public class ExamQuestionOuterServiceProvider extends ControllerSupport implemen
         return resp;
     }
 
-    @ApiOperation(value = "获取主观题作答结果", httpMethod = "POST")
+    @ApiOperation(value = "获取主观题作答结果", hidden = true)
     @ApiResponses({@ApiResponse(code = 200, message = "成功", response = OuterGetSubjectiveQuestionResp.class),
             @ApiResponse(code = 500, message = "系统异常(异常信息见响应体)", response = StatusResponse.class)})
     @PostMapping("/getSubjectiveQuestion")
@@ -199,7 +200,7 @@ public class ExamQuestionOuterServiceProvider extends ControllerSupport implemen
         return resp;
     }
 
-    @ApiOperation(value = "获取主观题试卷信息", httpMethod = "POST")
+    @ApiOperation(value = "获取主观题试卷信息", hidden = true)
     @ApiResponses({@ApiResponse(code = 200, message = "成功", response = OuterGetSubjectivePaperResp.class),
             @ApiResponse(code = 500, message = "系统异常(异常信息见响应体)", response = StatusResponse.class)})
     @PostMapping("/getSubjectivePaper")
@@ -283,7 +284,7 @@ public class ExamQuestionOuterServiceProvider extends ControllerSupport implemen
     }
 
 
-    @ApiOperation(value = "获取题目答案", httpMethod = "POST")
+    @ApiOperation(value = "获取题目答案", hidden = true)
     @ApiResponses({@ApiResponse(code = 200, message = "成功", response = OuterGetQuestionAnswerResp.class),
             @ApiResponse(code = 500, message = "系统异常(异常信息见响应体)", response = StatusResponse.class)})
     @PostMapping("/getQuestionAnswer")
@@ -298,10 +299,12 @@ public class ExamQuestionOuterServiceProvider extends ControllerSupport implemen
         OuterGetQuestionAnswerResp resp = new OuterGetQuestionAnswerResp();
         resp.setAnswerList(questionAnswer.getRightAnswers());
 
+        LOGGER.warn("$$$getQuestionAnswer questionId = {}", req.getQuestionId());
+
         return resp;
     }
 
-    @ApiOperation(value = "获取试卷结构(题库中的原始试卷结构)", httpMethod = "POST")
+    @ApiOperation(value = "获取试卷结构(题库中的原始试卷结构)", hidden = true)
     @ApiResponses({@ApiResponse(code = 200, message = "成功", response = OuterGetQuestionAnswerResp.class),
             @ApiResponse(code = 500, message = "系统异常(异常信息见响应体)", response = StatusResponse.class)})
     @PostMapping("/getPaperStruct")

+ 4 - 4
examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/provider/ExamStudentOuterServiceProvider.java

@@ -68,7 +68,7 @@ public class ExamStudentOuterServiceProvider extends ControllerSupport
 	@Autowired
 	ExamCloudService examCloudService;
 
-	@ApiOperation(value = "保存考生信息", httpMethod = "POST")
+	@ApiOperation(value = "保存考生信息")
 	@ApiResponses({
 			@ApiResponse(code = 200, message = "成功", response = OuterSaveExamStudentResp.class),
 			@ApiResponse(code = 500, message = "系统异常(异常信息见响应体)", response = StatusResponse.class)})
@@ -141,7 +141,7 @@ public class ExamStudentOuterServiceProvider extends ControllerSupport
 		return resp;
 	}
 
-	@ApiOperation(value = "批量保存考生信息", httpMethod = "POST")
+	@ApiOperation(value = "批量保存考生信息")
 	@ApiResponses({
 			@ApiResponse(code = 200, message = "成功", response = OuterBatchSaveExamStudentResp.class),
 			@ApiResponse(code = 500, message = "系统异常(异常信息见响应体)", response = StatusResponse.class)})
@@ -235,7 +235,7 @@ public class ExamStudentOuterServiceProvider extends ControllerSupport
 		return resp;
 	}
 
-	@ApiOperation(value = "更新考生状态", httpMethod = "POST")
+	@ApiOperation(value = "更新考生状态", hidden = true)
 	@ApiResponses({
 			@ApiResponse(code = 200, message = "成功", response = OuterBatchSaveExamStudentResp.class),
 			@ApiResponse(code = 500, message = "系统异常(异常信息见响应体)", response = StatusResponse.class)})
@@ -279,7 +279,7 @@ public class ExamStudentOuterServiceProvider extends ControllerSupport
 		return resp;
 	}
 
-	@ApiOperation(value = "重置考生", httpMethod = "POST")
+	@ApiOperation(value = "重置考生", hidden = true)
 	@ApiResponses({
 			@ApiResponse(code = 200, message = "成功", response = OuterResetExamStudentResp.class),
 			@ApiResponse(code = 500, message = "系统异常(异常信息见响应体)", response = StatusResponse.class)})

+ 4 - 4
examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/provider/FaceOuterServiceProvider.java

@@ -44,7 +44,7 @@ public class FaceOuterServiceProvider extends ControllerSupport implements FaceO
 	private static final long serialVersionUID = -6268268043341270752L;
 
 	@Autowired
-	SystemProperties systemConfig;
+	private SystemProperties systemConfig;
 
 	/**
 	 * ZIP最大50M
@@ -59,7 +59,7 @@ public class FaceOuterServiceProvider extends ControllerSupport implements FaceO
 	@Autowired
 	private FaceService faceService;
 
-	@ApiOperation(value = "保存学生照片", httpMethod = "POST")
+	@ApiOperation(value = "保存学生照片(图片URL)")
 	@PostMapping("addPhotoByUrl")
 	@Override
 	public void addPhotoByUrl(
@@ -97,7 +97,7 @@ public class FaceOuterServiceProvider extends ControllerSupport implements FaceO
 
 	}
 
-	@ApiOperation(value = "保存学生照片", httpMethod = "POST")
+	@ApiOperation(value = "保存学生照片(图片文件)")
 	@PostMapping("addPhoto")
 	@Override
 	public void addPhoto(
@@ -126,7 +126,7 @@ public class FaceOuterServiceProvider extends ControllerSupport implements FaceO
 		faceService.processFace(rootOrgId, identityNumber, fileSuffix, storeLocation, operator);
 	}
 
-	@ApiOperation(value = "导入学生照片", httpMethod = "POST")
+	@ApiOperation(value = "保存学生照片(批量图片文件)")
 	@PostMapping("importPhotos")
 	@Override
 	public List<Map<String, String>> importPhotos(

+ 4 - 5
examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/provider/GetExamRecordAuditInfoServiceProvider.java

@@ -20,21 +20,20 @@ import cn.com.qmth.examcloud.exchange.outer.api.request.OuterGetExamRecordAuditI
 import cn.com.qmth.examcloud.exchange.outer.api.response.OuterGetExamRecordAuditInfoResp;
 import cn.com.qmth.examcloud.web.support.ControllerSupport;
 import cn.com.qmth.examcloud.web.support.StatusResponse;
+import springfox.documentation.annotations.ApiIgnore;
 
+@ApiIgnore
 @Api(tags = "考试记录审核相关接口")
 @RestController
 @RequestMapping("${$rmp.cloud.exchange.outer}/examRecordAuditInfo")
 public class GetExamRecordAuditInfoServiceProvider  extends ControllerSupport implements GetExamRecordAuditInfoService{
-	
-	/**
-	 * 
-	 */
+
 	private static final long serialVersionUID = -4020820717853946467L;
 	
 	@Autowired
 	private ExamScoreDataCloudService examScoreDataCloudService;
 	
-	@ApiOperation(value = "获取考试记录审核信息", httpMethod = "POST")
+	@ApiOperation(value = "获取考试记录审核信息", hidden = true)
 	@ApiResponses({@ApiResponse(code = 200, message = "成功", response = OuterGetExamRecordAuditInfoResp.class),
 			@ApiResponse(code = 500, message = "系统异常(异常信息见响应体)", response = StatusResponse.class)})
 	@PostMapping("/getExamRecordAuditInfo")

+ 3 - 3
examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/provider/GetScoreDataServiceProvider.java

@@ -43,7 +43,7 @@ public class GetScoreDataServiceProvider extends ControllerSupport implements Ge
     @Autowired
     private ExamScoreDataCloudService examScoreDataCloudService;
 
-    @ApiOperation(value = "获取成绩数据", httpMethod = "POST")
+    @ApiOperation(value = "获取成绩数据(考试记录ID)")
     @ApiResponses({@ApiResponse(code = 200, message = "成功", response = OuterGetScoreDataResp.class),
             @ApiResponse(code = 500, message = "系统异常(异常信息见响应体)", response = StatusResponse.class)})
     @PostMapping("/getScoreData")
@@ -80,7 +80,7 @@ public class GetScoreDataServiceProvider extends ControllerSupport implements Ge
         return outerGetScoreDataResp;
     }
 
-    @ApiOperation(value = "按考试名称,rootOrgId,courseCode,身份证号或学号获取成绩数据", httpMethod = "POST")
+    @ApiOperation(value = "获取成绩数据(考试名称、rootOrgId、courseCode、身份证号或学号)")
     @ApiResponses({@ApiResponse(code = 200, message = "成功", response = OuterQueryScoreDataResp.class),
             @ApiResponse(code = 500, message = "系统异常(异常信息见响应体)", response = StatusResponse.class)})
     @PostMapping("/queryScoreData")
@@ -140,7 +140,7 @@ public class GetScoreDataServiceProvider extends ControllerSupport implements Ge
         return outerQueryScoreDataResp;
     }
 
-    @ApiOperation(value = "获取成绩数据列表(分页)", httpMethod = "POST")
+    @ApiOperation(value = "获取成绩数据列表(分页)")
     @ApiResponses({@ApiResponse(code = 200, message = "成功", response = OuterQueryScoreListResp.class),
             @ApiResponse(code = 500, message = "系统异常(异常信息见响应体)", response = StatusResponse.class)})
     @PostMapping("/queryScoreList")

+ 3 - 4
examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/provider/QueryCapturePhotoServiceProvider.java

@@ -25,21 +25,20 @@ import cn.com.qmth.examcloud.exchange.outer.api.request.OuterQueryCapturePhotoRe
 import cn.com.qmth.examcloud.exchange.outer.api.response.OuterQueryCapturePhotoResp;
 import cn.com.qmth.examcloud.web.support.ControllerSupport;
 import cn.com.qmth.examcloud.web.support.StatusResponse;
+import springfox.documentation.annotations.ApiIgnore;
 
+@ApiIgnore
 @Api(tags = "考生抓拍照片相关接口")
 @RestController
 @RequestMapping("${$rmp.cloud.exchange.outer}/capturePhoto")
 public class QueryCapturePhotoServiceProvider extends ControllerSupport implements QueryCapturePhotoService {
 
-	/**
-	 * 
-	 */
 	private static final long serialVersionUID = 3051021630006959568L;
 	
 	@Autowired
 	private ExamScoreDataCloudService examScoreDataCloudService;
 
-	@ApiOperation(value = "获取抓拍照片信息数据", httpMethod = "POST")
+	@ApiOperation(value = "获取抓拍照片信息数据", hidden = true)
 	@ApiResponses({@ApiResponse(code = 200, message = "成功", response = OuterQueryCapturePhotoResp.class),
 			@ApiResponse(code = 500, message = "系统异常(异常信息见响应体)", response = StatusResponse.class)})
 	@PostMapping("/queryCapturePhoto")

+ 3 - 7
examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/provider/ScoreQueueServiceProvider.java

@@ -33,19 +33,15 @@ import cn.com.qmth.examcloud.web.support.StatusResponse;
 @RequestMapping("${$rmp.cloud.exchange.outer}/scoreQueue")
 public class ScoreQueueServiceProvider extends ControllerSupport implements ScoreQueueService {
 
-	/**
-	 *
-	 */
 	private static final long serialVersionUID = -7975687672489564748L;
 
 	@Autowired
 	private ExamScoreObtainQueueCloudService examScoreObtainQueueCloudService;
+
 	@Autowired
 	private ExamCloudService examCloudService;
 
-
-
-	@ApiOperation(value = "取队列最顶层记录", httpMethod = "POST")
+	@ApiOperation(value = "取队列最顶层记录")
 	@ApiResponses({@ApiResponse(code = 200, message = "成功", response = OuterGetScoreQueueTopResp.class),
 			@ApiResponse(code = 500, message = "系统异常(异常信息见响应体)", response = StatusResponse.class)})
 	@PostMapping("/getScoreQueueTop")
@@ -84,7 +80,7 @@ public class ScoreQueueServiceProvider extends ControllerSupport implements Scor
 		return resp;
 	}
 
-	@ApiOperation(value = "删除队列最顶层记录", httpMethod = "POST")
+	@ApiOperation(value = "删除队列最顶层记录")
 	@ApiResponses({@ApiResponse(code = 200, message = "成功", response = OuterDeleteScoreQueueTopResp.class),
 			@ApiResponse(code = 500, message = "系统异常(异常信息见响应体)", response = StatusResponse.class)})
 	@PostMapping("/deleteScoreQueueTop")

+ 6 - 6
examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/provider/StudentOuterServiceProvider.java

@@ -65,7 +65,7 @@ public class StudentOuterServiceProvider extends ControllerSupport implements St
 	@Autowired
 	SystemProperties systemConfig;
 
-	@ApiOperation(value = "保存学生信息", httpMethod = "POST")
+	@ApiOperation(value = "保存学生信息")
 	@ApiResponses({@ApiResponse(code = 200, message = "成功", response = OuterSaveStudentResp.class),
 			@ApiResponse(code = 500, message = "系统异常(异常信息见响应体)", response = StatusResponse.class)})
 	@PostMapping("saveStudent")
@@ -155,7 +155,7 @@ public class StudentOuterServiceProvider extends ControllerSupport implements St
 		}
 	}
 
-	@ApiOperation(value = "批量保存学生信息", httpMethod = "POST")
+	@ApiOperation(value = "批量保存学生信息")
 	@ApiResponses({
 			@ApiResponse(code = 200, message = "成功", response = OuterBatchSaveStudentResp.class),
 			@ApiResponse(code = 500, message = "系统异常(异常信息见响应体)", response = StatusResponse.class)})
@@ -218,14 +218,14 @@ public class StudentOuterServiceProvider extends ControllerSupport implements St
 		return resq;
 	}
 
-	@ApiOperation(value = "更新密码", httpMethod = "POST")
+	@ApiOperation(value = "更新学生密码")
 	@ApiResponses({
 			@ApiResponse(code = 200, message = "成功", response = OuterUpdatePasswordResp.class),
 			@ApiResponse(code = 500, message = "系统异常(异常信息见响应体)", response = StatusResponse.class)})
 	@PostMapping("updatePassword")
 	@Override
 	public OuterUpdatePasswordResp updatePassword(
-			@RequestBody @ApiParam(required = true) OuterUpdatePasswordReq req) {
+			@RequestBody OuterUpdatePasswordReq req) {
 
 		if (!getEnterpriseRootOrgId().equals(req.getRootOrgId())) {
 			throw new StatusException("1000001", "rootOrgId is wrong");
@@ -242,14 +242,14 @@ public class StudentOuterServiceProvider extends ControllerSupport implements St
 		return resp;
 	}
 
-	@ApiOperation(value = "更新学生状态", httpMethod = "POST")
+	@ApiOperation(value = "更新学生状态")
 	@ApiResponses({
 			@ApiResponse(code = 200, message = "成功", response = OuterUpdateStudentStatusResp.class),
 			@ApiResponse(code = 500, message = "系统异常(异常信息见响应体)", response = StatusResponse.class)})
 	@PostMapping("updateStudentStatus")
 	@Override
 	public OuterUpdateStudentStatusResp updateStudentStatus(
-			@RequestBody @ApiParam(required = true) OuterUpdateStudentStatusReq req) {
+			@RequestBody OuterUpdateStudentStatusReq req) {
 
 		if (!getEnterpriseRootOrgId().equals(req.getRootOrgId())) {
 			throw new StatusException("1000001", "rootOrgId is wrong");

+ 4 - 2
examcloud-exchange-outer-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/outer/api/provider/cug/CugOuterServiceProvider.java

@@ -40,6 +40,7 @@ import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponses;
+import springfox.documentation.annotations.ApiIgnore;
 
 /**
  * 中国地质大学(武汉)
@@ -48,7 +49,8 @@ import io.swagger.annotations.ApiResponses;
  * @date 2018年9月4日
  * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
  */
-@Api(tags = "考生相关接口")
+@ApiIgnore
+@Api(tags = "cug-考生相关接口")
 @RestController
 @RequestMapping("/api/ecs_outlet/cug")
 public class CugOuterServiceProvider extends ControllerSupport implements CugOuterService {
@@ -73,7 +75,7 @@ public class CugOuterServiceProvider extends ControllerSupport implements CugOut
 	@Autowired
 	SystemProperties systemConfig;
 
-	@ApiOperation(value = "考生接入(已废弃)", httpMethod = "POST")
+	@ApiOperation(value = "考生接入(已废弃)", hidden = true)
 	@ApiResponses({
 			@ApiResponse(code = 200, message = "成功", response = SaveCugStudentAndExamStudentResp.class),
 			@ApiResponse(code = 500, message = "系统异常(异常信息见响应体)", response = StatusResponse.class)})

+ 1 - 0
examcloud-exchange-starter/pom.xml

@@ -61,6 +61,7 @@
                 <artifactId>maven-assembly-plugin</artifactId>
                 <configuration>
                     <finalName>examcloud-exchange</finalName>
+                    <skipAssembly>${skipAssembly}</skipAssembly>
                     <descriptors>
                         <descriptor>assembly.xml</descriptor>
                     </descriptors>

+ 143 - 148
examcloud-exchange-starter/src/main/java/cn/com/qmth/examcloud/exchange/config/EnterpriseAccessInterceptor.java

@@ -1,16 +1,5 @@
 package cn.com.qmth.examcloud.exchange.config;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.commons.lang3.StringUtils;
-import org.apache.logging.log4j.ThreadContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.http.HttpStatus;
-import org.springframework.web.servlet.HandlerInterceptor;
-import org.springframework.web.servlet.ModelAndView;
-
 import cn.com.qmth.examcloud.api.commons.EnterpriseService;
 import cn.com.qmth.examcloud.commons.util.ByteUtil;
 import cn.com.qmth.examcloud.commons.util.SHA256;
@@ -21,6 +10,16 @@ import cn.com.qmth.examcloud.web.enums.HttpServletRequestAttribute;
 import cn.com.qmth.examcloud.web.support.ApiInfo;
 import cn.com.qmth.examcloud.web.support.ServletUtil;
 import cn.com.qmth.examcloud.web.support.StatusResponse;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.logging.log4j.ThreadContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.http.HttpStatus;
+import org.springframework.web.servlet.HandlerInterceptor;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 
 /**
  * 第三方企业接入
@@ -31,142 +30,138 @@ import cn.com.qmth.examcloud.web.support.StatusResponse;
  */
 public final class EnterpriseAccessInterceptor implements HandlerInterceptor {
 
-	private static final Logger LOG = LoggerFactory.getLogger(EnterpriseAccessInterceptor.class);
-
-	@Override
-	public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
-			Object handler) throws Exception {
-		LOG.debug("preHandle... ...");
-
-		ApiInfo apiInfo = (ApiInfo) request
-				.getAttribute(HttpServletRequestAttribute.$_API_INFO.name());
-
-		if (null != apiInfo) {
-			Class<?> ctrClass = apiInfo.getBeanType();
-			if (!EnterpriseService.class.isAssignableFrom(ctrClass)) {
-				return true;
-			}
-		} else {
-			return true;
-		}
-
-		String appId = request.getHeader("App-Id");
-		if (null == appId) {
-			appId = request.getHeader("appId");
-		}
-		if (StringUtils.isBlank(appId)) {
-			// 403
-			response.setStatus(HttpStatus.FORBIDDEN.value());
-			ServletUtil.returnJson(new StatusResponse("403", "'App-Id'('appId') is blank"),
-					response);
-			return false;
-		}
-
-		String rootOrgId = request.getHeader("Root-Org-Id");
-		if (null == rootOrgId) {
-			rootOrgId = request.getHeader("rootOrgId");
-		}
-		if (StringUtils.isBlank(rootOrgId)) {
-			// 403
-			response.setStatus(HttpStatus.FORBIDDEN.value());
-			ServletUtil.returnJson(new StatusResponse("403", "'Root-Org-Id'('rootOrgId') is blank"),
-					response);
-			return false;
-		}
-		Long rootOrgIdLong = null;
-		try {
-			rootOrgIdLong = Long.parseLong(rootOrgId);
-		} catch (Exception e) {
-			// 403
-			response.setStatus(HttpStatus.FORBIDDEN.value());
-			ServletUtil.returnJson(
-					new StatusResponse("403", "'Root-Org-Id'('rootOrgId') must be a long"),
-					response);
-			return false;
-		}
-
-		String accessToken = request.getHeader("Access-Token");
-		if (null == accessToken) {
-			accessToken = request.getHeader("access_token");
-		}
-		if (StringUtils.isBlank(accessToken)) {
-			// 403
-			response.setStatus(HttpStatus.FORBIDDEN.value());
-			ServletUtil.returnJson(
-					new StatusResponse("403", "'Access-Token'('access_token') is blank"), response);
-			return false;
-		}
-
-		String timestamp = request.getHeader("timestamp");
-		if (StringUtils.isBlank(timestamp)) {
-			// 403
-			response.setStatus(HttpStatus.FORBIDDEN.value());
-			ServletUtil.returnJson(new StatusResponse("403", "'timestamp' is blank"), response);
-			return false;
-		}
-		Long timestampLong = null;
-		try {
-			timestampLong = Long.parseLong(timestamp);
-		} catch (Exception e) {
-			// 403
-			response.setStatus(HttpStatus.FORBIDDEN.value());
-			ServletUtil.returnJson(new StatusResponse("403", "'timestamp' must be a long"),
-					response);
-			return false;
-		}
-
-		request.setAttribute(HttpServletRequestAttribute.$_ENTERPRISE_ROOT_ORG_ID.name(),
-				rootOrgIdLong);
-
-		ThirdPartyAccessCacheBean thirdPartyAccessCacheBean = CacheHelper
-				.getThirdPartyAccess(rootOrgIdLong, appId);
-
-		if (!thirdPartyAccessCacheBean.getHasValue()) {
-			response.setStatus(HttpStatus.FORBIDDEN.value());
-			ServletUtil.returnJson(new StatusResponse("403", "rootOrgId & appId are not supported"),
-					response);
-			return false;
-		}
-
-		if (null != thirdPartyAccessCacheBean.getTimeRange()) {
-			long currentTimeMillis = System.currentTimeMillis();
-			if (Math.abs(currentTimeMillis - timestampLong) > thirdPartyAccessCacheBean
-					.getTimeRange()) {
-				// 403
-				response.setStatus(HttpStatus.FORBIDDEN.value());
-				ServletUtil.returnJson(new StatusResponse("403", "timestamp is out"), response);
-				return false;
-			}
-		}
-
-		String secretKey = thirdPartyAccessCacheBean.getSecretKey();
-		String joinStr = StringUtil.join(rootOrgId, appId, timestamp, secretKey);
-		byte[] bytes = SHA256.encode(joinStr);
-		String hexAscii = ByteUtil.toHexAscii(bytes);
-
-		if (!hexAscii.equalsIgnoreCase(accessToken)) {
-			// 403
-			response.setStatus(HttpStatus.FORBIDDEN.value());
-			ServletUtil.returnJson(
-					new StatusResponse("403", "'Access-Token'('access_token') is wrong"), response);
-			return false;
-		}
-
-		ThreadContext.put("CALLER", "ACCESS:" + rootOrgIdLong);
-
-		return true;
-	}
-
-	@Override
-	public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
-			ModelAndView modelAndView) throws Exception {
-		LOG.debug("postHandle... ...");
-	}
-
-	@Override
-	public void afterCompletion(HttpServletRequest request, HttpServletResponse response,
-			Object handler, Exception ex) throws Exception {
-		LOG.debug("afterCompletion... ...");
-	}
+    private static final Logger LOG = LoggerFactory.getLogger(EnterpriseAccessInterceptor.class);
+
+    @Override
+    public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
+                             Object handler) throws Exception {
+
+        ApiInfo apiInfo = (ApiInfo) request
+                .getAttribute(HttpServletRequestAttribute.$_API_INFO.name());
+
+        if (null != apiInfo) {
+            Class<?> ctrClass = apiInfo.getBeanType();
+            if (!EnterpriseService.class.isAssignableFrom(ctrClass)) {
+                return true;
+            }
+        } else {
+            return true;
+        }
+
+        String appId = request.getHeader("App-Id");
+        if (null == appId) {
+            appId = request.getHeader("appId");
+        }
+        if (StringUtils.isBlank(appId)) {
+            // 403
+            response.setStatus(HttpStatus.FORBIDDEN.value());
+            ServletUtil.returnJson(new StatusResponse("403", "App-Id is blank"),
+                    response);
+            return false;
+        }
+
+        String rootOrgId = request.getHeader("Root-Org-Id");
+        if (null == rootOrgId) {
+            rootOrgId = request.getHeader("rootOrgId");
+        }
+        if (StringUtils.isBlank(rootOrgId)) {
+            // 403
+            response.setStatus(HttpStatus.FORBIDDEN.value());
+            ServletUtil.returnJson(new StatusResponse("403", "Root-Org-Id is blank"),
+                    response);
+            return false;
+        }
+        Long rootOrgIdLong = null;
+        try {
+            rootOrgIdLong = Long.parseLong(rootOrgId);
+        } catch (Exception e) {
+            // 403
+            response.setStatus(HttpStatus.FORBIDDEN.value());
+            ServletUtil.returnJson(
+                    new StatusResponse("403", "Root-Org-Id must be a number"),
+                    response);
+            return false;
+        }
+
+        String accessToken = request.getHeader("Access-Token");
+        if (null == accessToken) {
+            accessToken = request.getHeader("access_token");
+        }
+        if (StringUtils.isBlank(accessToken)) {
+            // 403
+            response.setStatus(HttpStatus.FORBIDDEN.value());
+            ServletUtil.returnJson(
+                    new StatusResponse("403", "Access-Token is blank"), response);
+            return false;
+        }
+
+        String timestamp = request.getHeader("timestamp");
+        if (StringUtils.isBlank(timestamp)) {
+            // 403
+            response.setStatus(HttpStatus.FORBIDDEN.value());
+            ServletUtil.returnJson(new StatusResponse("403", "timestamp is blank"), response);
+            return false;
+        }
+        Long timestampLong = null;
+        try {
+            timestampLong = Long.parseLong(timestamp);
+        } catch (Exception e) {
+            // 403
+            response.setStatus(HttpStatus.FORBIDDEN.value());
+            ServletUtil.returnJson(new StatusResponse("403", "timestamp must be a number"),
+                    response);
+            return false;
+        }
+
+        request.setAttribute(HttpServletRequestAttribute.$_ENTERPRISE_ROOT_ORG_ID.name(),
+                rootOrgIdLong);
+
+        ThirdPartyAccessCacheBean thirdPartyAccessCacheBean = CacheHelper
+                .getThirdPartyAccess(rootOrgIdLong, appId);
+
+        if (!thirdPartyAccessCacheBean.getHasValue()) {
+            response.setStatus(HttpStatus.FORBIDDEN.value());
+            ServletUtil.returnJson(new StatusResponse("403", "appId not activation"),
+                    response);
+            return false;
+        }
+
+        if (null != thirdPartyAccessCacheBean.getTimeRange()) {
+            long currentTimeMillis = System.currentTimeMillis();
+            if (Math.abs(currentTimeMillis - timestampLong) > thirdPartyAccessCacheBean
+                    .getTimeRange()) {
+                // 403
+                response.setStatus(HttpStatus.FORBIDDEN.value());
+                ServletUtil.returnJson(new StatusResponse("403", "timestamp invalid"), response);
+                return false;
+            }
+        }
+
+        String secretKey = thirdPartyAccessCacheBean.getSecretKey();
+        String joinStr = StringUtil.join(rootOrgId, appId, timestamp, secretKey);
+        byte[] bytes = SHA256.encode(joinStr);
+        String hexAscii = ByteUtil.toHexAscii(bytes);
+
+        if (!hexAscii.equalsIgnoreCase(accessToken)) {
+            // 403
+            response.setStatus(HttpStatus.FORBIDDEN.value());
+            ServletUtil.returnJson(
+                    new StatusResponse("403", "Access-Token is wrong"), response);
+            return false;
+        }
+
+        ThreadContext.put("CALLER", "ACCESS:" + rootOrgIdLong);
+        return true;
+    }
+
+    @Override
+    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
+                           ModelAndView modelAndView) throws Exception {
+    }
+
+    @Override
+    public void afterCompletion(HttpServletRequest request, HttpServletResponse response,
+                                Object handler, Exception ex) throws Exception {
+    }
 
 }

+ 1 - 0
examcloud-exchange-starter/src/main/resources/log4j2.xml

@@ -36,6 +36,7 @@
 
     <Loggers>
         <logger name="springfox.documentation" level="WARN"/>
+        <logger name="org.mongodb.driver" level="WARN"/>
         <logger name="org.springframework" level="WARN"/>
         <logger name="org.hibernate" level="WARN"/>
         <logger name="org.apache" level="WARN"/>