|
@@ -2,6 +2,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.util.Arrays;
|
|
import java.util.Arrays;
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
@@ -9,6 +10,7 @@ import java.util.Map;
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
|
|
+import edu.nju.entities.ShortToken;
|
|
import edu.nju.model.*;
|
|
import edu.nju.model.*;
|
|
import edu.nju.util.AESUtil;
|
|
import edu.nju.util.AESUtil;
|
|
import edu.nju.util.BlockChainAspect;
|
|
import edu.nju.util.BlockChainAspect;
|
|
@@ -16,6 +18,7 @@ import org.json.JSONArray;
|
|
import org.json.JSONObject;
|
|
import org.json.JSONObject;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Controller;
|
|
import org.springframework.stereotype.Controller;
|
|
|
|
+import org.springframework.util.DigestUtils;
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import edu.nju.service.AnalyzeService;
|
|
import edu.nju.service.AnalyzeService;
|
|
@@ -527,6 +530,76 @@ public class AnalyzeController {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 根据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();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
|
|
private String [] url2decode(String str){
|
|
private String [] url2decode(String str){
|
|
String [] res = new String[2];
|
|
String [] res = new String[2];
|