ソースを参照

shortToken相关

xujiawei 4 年 前
コミット
2ddea4103d

+ 29 - 0
src/main/java/edu/nju/controller/AnalyzeController.java

@@ -9,6 +9,7 @@ import java.util.Map;
 
 import javax.servlet.http.HttpServletResponse;
 
+import edu.nju.entities.ShortToken;
 import edu.nju.model.*;
 import edu.nju.util.AESUtil;
 import edu.nju.util.BlockChainAspect;
@@ -527,6 +528,34 @@ public class AnalyzeController {
 		}
 	}
 
+	@RequestMapping(value = "/analyse/tokenToDetail", method = RequestMethod.GET)
+	@ResponseBody
+	public void tokenToDetailUrl(@RequestParam("token") 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();
+		}
+	}
+
+
+
 
 	private String [] url2decode(String str){
 		String [] res = new String[2];

+ 44 - 0
src/main/java/edu/nju/dao/ShortTokenDao.java

@@ -0,0 +1,44 @@
+package edu.nju.dao;
+
+import edu.nju.entities.ShortToken;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoOperations;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * @Author JiaWei Xu
+ * @Date 2020-12-03 16:35
+ * @Email xjwhhh233@outlook.com
+ */
+@Repository
+public class ShortTokenDao {
+    @Autowired
+    private MongoOperations mongoOperations;
+
+    public String save(ShortToken shortToken) {
+        mongoOperations.save(shortToken);
+        return shortToken.getId();
+    }
+
+    public ShortToken findByTokenString(String token){
+        Query query = new Query();
+        query.addCriteria(Criteria.where("token").is(token));
+        List<ShortToken> list = mongoOperations.find(query,ShortToken.class);
+        if(list.size() == 0)  {return null;}
+        return list.get(0);
+    }
+
+    public ShortToken findByDetailInfo(String examId,String caseId,String userId){
+        Query query = new Query();
+        query.addCriteria(Criteria.where("examId").is(examId).and("caseId").is(caseId).and("userId").is(userId));
+        List<ShortToken> list = mongoOperations.find(query,ShortToken.class);
+        if(list.size() == 0)  {return null;}
+        return list.get(0);
+    }
+
+
+}

+ 110 - 0
src/main/java/edu/nju/entities/ShortToken.java

@@ -0,0 +1,110 @@
+package edu.nju.entities;
+
+import org.springframework.data.annotation.Id;
+import org.springframework.data.annotation.PersistenceConstructor;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+import java.io.Serializable;
+
+/**
+ * @Author JiaWei Xu
+ * @Date 2020-12-03 15:11
+ * @Email xjwhhh233@outlook.com
+ */
+@Document
+public class ShortToken implements Serializable {
+
+    private static final long serialVersionUID = 8980368107739914394L;
+
+    @Id
+    private String id;
+
+    private String token;
+
+    private String beginTime;
+
+    private String endTime;
+
+    private String caseId;
+
+    private String examId;
+
+    private String userId;
+
+    private boolean disabled;
+
+    @PersistenceConstructor
+    public ShortToken(String token, String beginTime, String endTime, String caseId, String examId, String userId,boolean disabled) {
+        this.token = token;
+        this.beginTime = beginTime;
+        this.endTime = endTime;
+        this.caseId = caseId;
+        this.examId = examId;
+        this.userId = userId;
+        this.disabled=disabled;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getToken() {
+        return token;
+    }
+
+    public void setToken(String token) {
+        this.token = token;
+    }
+
+    public String getBeginTime() {
+        return beginTime;
+    }
+
+    public void setBeginTime(String beginTime) {
+        this.beginTime = beginTime;
+    }
+
+    public String getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(String endTime) {
+        this.endTime = endTime;
+    }
+
+    public String getCaseId() {
+        return caseId;
+    }
+
+    public void setCaseId(String caseId) {
+        this.caseId = caseId;
+    }
+
+    public String getExamId() {
+        return examId;
+    }
+
+    public void setExamId(String examId) {
+        this.examId = examId;
+    }
+
+    public String getUserId() {
+        return userId;
+    }
+
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
+
+    public boolean isDisabled() {
+        return disabled;
+    }
+
+    public void setDisabled(boolean disabled) {
+        this.disabled = disabled;
+    }
+}

+ 7 - 0
src/main/java/edu/nju/service/AnalyzeService.java

@@ -79,6 +79,9 @@ public class AnalyzeService {
 	@Autowired
 	ExtraService extraService;
 
+	@Autowired
+	ShortTokenDao shortTokenDao;
+
 	@Value("${server.host}")
 	private String serverHost;
 	@Value("${report.port}")
@@ -1061,6 +1064,10 @@ public class AnalyzeService {
 		return res;
 	}
 
+	public ShortToken tokenToDetail(String token){
+		return shortTokenDao.findByTokenString(token);
+	}
+