|
@@ -3,10 +3,7 @@ package edu.nju.controller;
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
import java.io.PrintWriter;
|
|
import java.io.PrintWriter;
|
|
import java.net.URLDecoder;
|
|
import java.net.URLDecoder;
|
|
-import java.util.Arrays;
|
|
|
|
-import java.util.HashMap;
|
|
|
|
-import java.util.List;
|
|
|
|
-import java.util.Map;
|
|
|
|
|
|
+import java.util.*;
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
@@ -353,7 +350,7 @@ public class AnalyzeController {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- @RequestMapping(value = "/anabootstrap.ymllyseExam")
|
|
|
|
|
|
+ @RequestMapping(value = "/analyseExam")
|
|
@ResponseBody
|
|
@ResponseBody
|
|
public void analyseExam(String caseId, String taskId, HttpServletResponse response){
|
|
public void analyseExam(String caseId, String taskId, HttpServletResponse response){
|
|
try {
|
|
try {
|
|
@@ -568,14 +565,25 @@ public class AnalyzeController {
|
|
ShortToken shortToken=aservice.tokenToDetail(token);
|
|
ShortToken shortToken=aservice.tokenToDetail(token);
|
|
if(shortToken==null){
|
|
if(shortToken==null){
|
|
result.put("result","fail");
|
|
result.put("result","fail");
|
|
- result.put("cause","no such token");
|
|
|
|
|
|
+ result.put("cause","身份验证失败,请重新点击按钮进入答题页面");
|
|
}else {
|
|
}else {
|
|
- result.put("result", "success");
|
|
|
|
- result.put("examId",shortToken.getExamId());
|
|
|
|
- result.put("caseId",shortToken.getCaseId());
|
|
|
|
- result.put("userId",shortToken.getUserId());
|
|
|
|
- result.put("beginTime",shortToken.getBeginTime());
|
|
|
|
- result.put("endTime",shortToken.getEndTime());
|
|
|
|
|
|
+ //有效
|
|
|
|
+ if(shortToken.isDisabled()){
|
|
|
|
+ shortToken.setDisabled(false);
|
|
|
|
+ aservice.saveShortToken(shortToken);
|
|
|
|
+ result.put("result", "success");
|
|
|
|
+ result.put("examId",shortToken.getExamId());
|
|
|
|
+ result.put("caseId",shortToken.getCaseId());
|
|
|
|
+ result.put("userId",shortToken.getUserId());
|
|
|
|
+ result.put("beginTime",shortToken.getBeginTime());
|
|
|
|
+ result.put("endTime",shortToken.getEndTime());
|
|
|
|
+ }
|
|
|
|
+ //无效
|
|
|
|
+ else{
|
|
|
|
+ result.put("result","fail");
|
|
|
|
+ result.put("cause","身份验证失败,请重新点击按钮进入答题页面");
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|
|
PrintWriter out = response.getWriter();
|
|
PrintWriter out = response.getWriter();
|
|
out.print(result);
|
|
out.print(result);
|
|
@@ -603,14 +611,17 @@ public class AnalyzeController {
|
|
ShortToken shortToken=aservice.findTokenByDetail(examId,caseId,userId);
|
|
ShortToken shortToken=aservice.findTokenByDetail(examId,caseId,userId);
|
|
if(shortToken==null){
|
|
if(shortToken==null){
|
|
// String token=AESUtil.encrypt(examId+"/"+caseId+"/"+userId);
|
|
// String token=AESUtil.encrypt(examId+"/"+caseId+"/"+userId);
|
|
- String token= DigestUtils.md5DigestAsHex((examId+"/"+caseId+"/"+userId).getBytes());
|
|
|
|
|
|
+ String token= DigestUtils.md5DigestAsHex((UUID.randomUUID().toString()).getBytes());
|
|
ShortToken newShortToken=new ShortToken(token,beginTime,endTime,caseId,examId,userId,true);
|
|
ShortToken newShortToken=new ShortToken(token,beginTime,endTime,caseId,examId,userId,true);
|
|
aservice.saveShortToken(newShortToken);
|
|
aservice.saveShortToken(newShortToken);
|
|
result.put("result","success");
|
|
result.put("result","success");
|
|
result.put("token",token);
|
|
result.put("token",token);
|
|
}else{
|
|
}else{
|
|
|
|
+ String token= DigestUtils.md5DigestAsHex((UUID.randomUUID().toString()).getBytes());
|
|
|
|
+ shortToken.setToken(token);
|
|
shortToken.setBeginTime(beginTime);
|
|
shortToken.setBeginTime(beginTime);
|
|
shortToken.setEndTime(endTime);
|
|
shortToken.setEndTime(endTime);
|
|
|
|
+ shortToken.setDisabled(true);
|
|
aservice.saveShortToken(shortToken);
|
|
aservice.saveShortToken(shortToken);
|
|
result.put("result","success");
|
|
result.put("result","success");
|
|
result.put("token",shortToken.getToken());
|
|
result.put("token",shortToken.getToken());
|
|
@@ -623,6 +634,75 @@ public class AnalyzeController {
|
|
return result.toString();
|
|
return result.toString();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+// // 修改前版本
|
|
|
|
+// /**
|
|
|
|
+// * 根据token获取众测任务具体信息
|
|
|
|
+// * @param token
|
|
|
|
+// * @param response
|
|
|
|
+// */
|
|
|
|
+// @RequestMapping(value = "/tokenToDetail")
|
|
|
|
+// @ResponseBody
|
|
|
|
+// public void tokenToDetailUrl(String token ,HttpServletResponse response){
|
|
|
|
+// try {
|
|
|
|
+// JSONObject result = new JSONObject();
|
|
|
|
+// ShortToken shortToken=aservice.tokenToDetail(token);
|
|
|
|
+// if(shortToken==null){
|
|
|
|
+// result.put("result","fail");
|
|
|
|
+// result.put("cause","no such token");
|
|
|
|
+// }else {
|
|
|
|
+// result.put("result", "success");
|
|
|
|
+// result.put("examId",shortToken.getExamId());
|
|
|
|
+// result.put("caseId",shortToken.getCaseId());
|
|
|
|
+// result.put("userId",shortToken.getUserId());
|
|
|
|
+// result.put("beginTime",shortToken.getBeginTime());
|
|
|
|
+// result.put("endTime",shortToken.getEndTime());
|
|
|
|
+// }
|
|
|
|
+// PrintWriter out = response.getWriter();
|
|
|
|
+// out.print(result);
|
|
|
|
+// out.flush();
|
|
|
|
+// out.close();
|
|
|
|
+// } catch (Exception e) {
|
|
|
|
+// e.printStackTrace();
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// /**
|
|
|
|
+// * 根据众测信息获取对应token
|
|
|
|
+// * @param examId
|
|
|
|
+// * @param caseId
|
|
|
|
+// * @param userId
|
|
|
|
+// * @param beginTime
|
|
|
|
+// * @param endTime
|
|
|
|
+// * @return
|
|
|
|
+// */
|
|
|
|
+// @RequestMapping(value = "/detailToToken")
|
|
|
|
+// @ResponseBody
|
|
|
|
+// public String detailToToken(String examId,String caseId,String userId,String beginTime,String endTime){
|
|
|
|
+// JSONObject result = new JSONObject();
|
|
|
|
+// try {
|
|
|
|
+// ShortToken shortToken=aservice.findTokenByDetail(examId,caseId,userId);
|
|
|
|
+// if(shortToken==null){
|
|
|
|
+//// String token=AESUtil.encrypt(examId+"/"+caseId+"/"+userId);
|
|
|
|
+// String token= DigestUtils.md5DigestAsHex((examId+"/"+caseId+"/"+userId).getBytes());
|
|
|
|
+// ShortToken newShortToken=new ShortToken(token,beginTime,endTime,caseId,examId,userId,true);
|
|
|
|
+// aservice.saveShortToken(newShortToken);
|
|
|
|
+// result.put("result","success");
|
|
|
|
+// result.put("token",token);
|
|
|
|
+// }else{
|
|
|
|
+// shortToken.setBeginTime(beginTime);
|
|
|
|
+// shortToken.setEndTime(endTime);
|
|
|
|
+// aservice.saveShortToken(shortToken);
|
|
|
|
+// result.put("result","success");
|
|
|
|
+// result.put("token",shortToken.getToken());
|
|
|
|
+// }
|
|
|
|
+// return result.toString();
|
|
|
|
+// } catch (Exception e) {
|
|
|
|
+// e.printStackTrace();
|
|
|
|
+// }
|
|
|
|
+// result.put("result","fail");
|
|
|
|
+// return result.toString();
|
|
|
|
+// }
|
|
|
|
+
|
|
|
|
|
|
|
|
|
|
@RequestMapping(value = "/progress", method = RequestMethod.GET)
|
|
@RequestMapping(value = "/progress", method = RequestMethod.GET)
|