wangwei 5 سال پیش
والد
کامیت
9122c71f32

+ 11 - 1
examcloud-core-oe-admin-api-provider/src/main/java/cn/com/qmth/examcloud/core/oe/admin/api/controller/ExamControlController.java

@@ -5,6 +5,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
+import cn.com.qmth.examcloud.commons.exception.StatusException;
+import cn.com.qmth.examcloud.support.cache.CacheHelper;
+import cn.com.qmth.examcloud.support.cache.bean.ExamStudentCacheBean;
 import cn.com.qmth.examcloud.web.support.ControllerSupport;
 import cn.com.qmth.examcloud.web.support.ControllerSupport;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
@@ -16,7 +19,14 @@ public class ExamControlController extends ControllerSupport {
 
 
 	@ApiOperation(value = "准备考试")
 	@ApiOperation(value = "准备考试")
 	@GetMapping("/prepare4Exam")
 	@GetMapping("/prepare4Exam")
-	public void startExam(@RequestParam Long examStudentId) {
+	public void startExam(@RequestParam Long studentId, @RequestParam Long examId,
+			@RequestParam Long courseId) {
+
+		ExamStudentCacheBean examStudent = CacheHelper.getExamStudent(studentId, examId, courseId);
+
+		if (null == examStudent) {
+			throw new StatusException("008001", "考生不存在");
+		}
 
 
 	}
 	}
 
 

+ 4 - 9
examcloud-core-oe-admin-service/src/main/java/cn/com/qmth/examcloud/core/oe/admin/service/cache/ExamStudentCache.java

@@ -3,11 +3,11 @@ package cn.com.qmth.examcloud.core.oe.admin.service.cache;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 
 
-import cn.com.qmth.examcloud.commons.exception.StatusException;
 import cn.com.qmth.examcloud.core.oe.admin.dao.ExamStudentRepo;
 import cn.com.qmth.examcloud.core.oe.admin.dao.ExamStudentRepo;
 import cn.com.qmth.examcloud.core.oe.admin.dao.entity.ExamStudentEntity;
 import cn.com.qmth.examcloud.core.oe.admin.dao.entity.ExamStudentEntity;
 import cn.com.qmth.examcloud.support.cache.bean.ExamStudentCacheBean;
 import cn.com.qmth.examcloud.support.cache.bean.ExamStudentCacheBean;
 import cn.com.qmth.examcloud.web.cache.RandomObjectRedisCache;
 import cn.com.qmth.examcloud.web.cache.RandomObjectRedisCache;
+import cn.com.qmth.examcloud.web.helpers.GlobalHelper;
 
 
 @Component
 @Component
 public class ExamStudentCache extends RandomObjectRedisCache<ExamStudentCacheBean> {
 public class ExamStudentCache extends RandomObjectRedisCache<ExamStudentCacheBean> {
@@ -18,15 +18,10 @@ public class ExamStudentCache extends RandomObjectRedisCache<ExamStudentCacheBea
 	@Override
 	@Override
 	public ExamStudentCacheBean loadFromResource(Object... keys) {
 	public ExamStudentCacheBean loadFromResource(Object... keys) {
 
 
-		Long studentId = (Long) keys[0];
-		Long examId = (Long) keys[1];
-		Long courseId = (Long) keys[2];
+		Long examStudentId = (Long) keys[0];
 
 
-		ExamStudentEntity e = examStudentRepo.findByStudentIdAndExamIdAndCourseId(studentId, examId,
-				courseId);
-		if (null == e) {
-			throw new StatusException("700001", "no data");
-		}
+		ExamStudentEntity e = GlobalHelper.getPresentEntity(examStudentRepo, examStudentId,
+				ExamStudentEntity.class);
 
 
 		ExamStudentCacheBean b = new ExamStudentCacheBean();
 		ExamStudentCacheBean b = new ExamStudentCacheBean();
 		b.setCourseId(e.getCourseId());
 		b.setCourseId(e.getCourseId());