xiatian 4 سال پیش
والد
کامیت
61465394b1

+ 13 - 0
themis-business/src/main/java/com/qmth/themis/business/bean/exam/QrUploadParamBean.java

@@ -20,6 +20,11 @@ public class QrUploadParamBean {
 	
 	@ApiModelProperty("套题子题序号")
 	private Integer subIndex;
+	
+	
+	@ApiModelProperty("题号")
+	private String questionNumber;
+	
 
 	public Long getRecordId() {
 		return recordId;
@@ -52,6 +57,14 @@ public class QrUploadParamBean {
 	public void setSubIndex(Integer subIndex) {
 		this.subIndex = subIndex;
 	}
+
+	public String getQuestionNumber() {
+		return questionNumber;
+	}
+
+	public void setQuestionNumber(String questionNumber) {
+		this.questionNumber = questionNumber;
+	}
 	
 
 	

+ 23 - 0
themis-business/src/main/java/com/qmth/themis/business/bean/mobile/MobileAuthorizationUploadBean.java

@@ -15,6 +15,13 @@ public class MobileAuthorizationUploadBean extends MobileAuthorizationBean{
 	
 	@ApiModelProperty("套题子题号")
 	private Integer subIndex;
+	
+	
+	@ApiModelProperty("题号")
+	private String questionNumber;
+	
+	@ApiModelProperty("科目名")
+	private String courseName;
 
 	public Integer getMainNumber() {
 		return mainNumber;
@@ -40,5 +47,21 @@ public class MobileAuthorizationUploadBean extends MobileAuthorizationBean{
 		this.subIndex = subIndex;
 	}
 
+	public String getQuestionNumber() {
+		return questionNumber;
+	}
+
+	public void setQuestionNumber(String questionNumber) {
+		this.questionNumber = questionNumber;
+	}
+
+	public String getCourseName() {
+		return courseName;
+	}
+
+	public void setCourseName(String courseName) {
+		this.courseName = courseName;
+	}
+
 	
 }

+ 8 - 0
themis-business/src/main/java/com/qmth/themis/business/cache/MobileAuthCacheUtil.java

@@ -118,4 +118,12 @@ public class MobileAuthCacheUtil {
     public static String getUserType(MobileModeEnum mode, String code) {
         return (String) redisUtil.get(RedisKeyHelper.mobileAuthCacheKey(mode, code), "userType");
     }
+    
+    public static void setQuestionNumber(MobileModeEnum mode, String code, String questionNumber) {
+        redisUtil.set(RedisKeyHelper.mobileAuthCacheKey(mode, code), "questionNumber", questionNumber);
+    }
+
+    public static String getQuestionNumber(MobileModeEnum mode, String code) {
+        return (String) redisUtil.get(RedisKeyHelper.mobileAuthCacheKey(mode, code), "questionNumber");
+    }
 }

+ 3 - 0
themis-business/src/main/java/com/qmth/themis/business/service/impl/TEMobileServiceImpl.java

@@ -144,6 +144,7 @@ public class TEMobileServiceImpl implements TEMobileService {
         Integer mainNumber = MobileAuthCacheUtil.getMainNumber(mode, code);
         Integer subNumber = MobileAuthCacheUtil.getSubNumber(mode, code);
         Integer subIndex = MobileAuthCacheUtil.getSubIndex(mode, code);
+        String questionNumber=MobileAuthCacheUtil.getQuestionNumber(mode, code);
         if (MobileAuthCacheUtil.getMode(mode, code) == null) {
             throw new BusinessException(ExceptionResultEnum.QR_CODE_EXPIRE);
         }
@@ -165,6 +166,8 @@ public class TEMobileServiceImpl implements TEMobileService {
         ret.setMainNumber(mainNumber);
         ret.setSubNumber(subNumber);
         ret.setSubIndex(subIndex);
+        ret.setQuestionNumber(questionNumber);
+        ret.setCourseName(es.getCourseName());
         return ret;
     }
 

+ 1 - 0
themis-business/src/main/java/com/qmth/themis/business/service/impl/TEQrcodeServiceImpl.java

@@ -85,6 +85,7 @@ public class TEQrcodeServiceImpl implements TEQrcodeService {
         MobileAuthCacheUtil.setRecordId(mode, code, param.getRecordId());
         MobileAuthCacheUtil.setMainNumber(mode, code, param.getMainNumber());
         MobileAuthCacheUtil.setSubNumber(mode, code, param.getSubNumber());
+        MobileAuthCacheUtil.setQuestionNumber(mode, code, param.getQuestionNumber());
         if (param.getSubIndex() != null) {
             MobileAuthCacheUtil.setSubIndex(mode, code, param.getSubIndex());
         }

+ 1 - 2
themis-exam/src/main/java/com/qmth/themis/exam/api/TEMobileController.java

@@ -8,7 +8,6 @@ import java.util.concurrent.ConcurrentHashMap;
 
 import javax.annotation.Resource;
 
-import com.qmth.themis.common.enums.ExceptionResultEnum;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -29,11 +28,11 @@ 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.enums.ExceptionResultEnum;
 import com.qmth.themis.common.exception.BusinessException;
 import com.qmth.themis.common.util.Result;
 import com.qmth.themis.common.util.ResultUtil;

+ 3 - 0
themis-exam/src/main/java/com/qmth/themis/exam/api/TEQrcodeController.java

@@ -63,6 +63,9 @@ public class TEQrcodeController {
 		if (param.getSubNumber() == null) {
 			throw new BusinessException("SubNumber不能为空");
 		}
+		if (param.getQuestionNumber() == null) {
+			throw new BusinessException("QuestionNumber不能为空");
+		}
 		MobileModeEnum mode=MobileModeEnum.valueOf(uploadType.toUpperCase());
 		if (!MobileModeEnum.PHOTO_UPLOAD.equals(mode)
 				&& !MobileModeEnum.AUDIO_UPLOAD.equals(mode)) {