Browse Source

添加更详细的对众测bug的描述;修改统计传出去的接口

MengyangDuan 5 năm trước cách đây
mục cha
commit
a509e375d0

+ 10 - 3
src/main/java/edu/nju/controller/AnalyzeController.java

@@ -315,8 +315,15 @@ public class AnalyzeController {
 
 	@RequestMapping(value = "/analyseExam")
 	@ResponseBody
-	public AnalyseVO analyseExam(String caseId, String taskId){
-		AnalyseVO analyseVO=aservice.getReviewAnalyseVO(caseId, taskId);
-		return analyseVO;
+	public void analyseExam(String caseId, String taskId, HttpServletResponse response){
+		try {
+			PrintWriter out = response.getWriter();
+			AnalyseVO analyseVO=aservice.getReviewAnalyseVO(caseId, taskId);
+			out.print(new JSONObject(analyseVO));
+			out.flush();
+			out.close();
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
 	}
 }

+ 6 - 4
src/main/java/edu/nju/model/AnalyseVO.java

@@ -1,5 +1,7 @@
 package edu.nju.model;
 
+import org.json.JSONArray;
+
 import java.util.List;
 import java.util.Map;
 
@@ -21,9 +23,9 @@ public class AnalyseVO {
 
     private List<WorkerVO>workerRank;
 
-    private Map<String,Integer>workerDistribute;
+    private JSONArray workerDistribute;
 
-    public AnalyseVO(long startTime, long endTime, String taskName, int reportNum, int bugNum, int testCaseNum, Map<Integer, Integer> gradeDistrubute, List<WorkerVO> workerRank,Map<String,Integer>workerDistribute) {
+    public AnalyseVO(long startTime, long endTime, String taskName, int reportNum, int bugNum, int testCaseNum, Map<Integer, Integer> gradeDistrubute, List<WorkerVO> workerRank,JSONArray workerDistribute) {
         this.startTime = startTime;
         this.endTime = endTime;
         this.taskName=taskName;
@@ -100,11 +102,11 @@ public class AnalyseVO {
         this.workerRank = workerRank;
     }
 
-    public Map<String, Integer> getWorkerDistribute() {
+    public JSONArray getWorkerDistribute() {
         return workerDistribute;
     }
 
-    public void setWorkerDistribute(Map<String, Integer> workerDistribute) {
+    public void setWorkerDistribute(JSONArray workerDistribute) {
         this.workerDistribute = workerDistribute;
     }
 }

+ 1 - 1
src/main/java/edu/nju/model/BugRecurrent.java

@@ -1,7 +1,7 @@
 package edu.nju.model;
 
 public enum BugRecurrent {
-    其他(0),无规律现(1),小概率浮现(2),大概率复现(3),必现(4);
+    其他(0),无规律现(1),小概率浮现(2),大概率复现(3),必现(4);
     private int id;
 
     BugRecurrent(int id) {

+ 11 - 2
src/main/java/edu/nju/service/AnalyzeService.java

@@ -503,7 +503,7 @@ public class AnalyzeService {
 				}
 				if (json.has("province") && !json.isNull("province")) {
 					province = json.getString("province");
-					if(province.endsWith("省")){
+					if(province.endsWith("省")||province.endsWith("市")){
 						province=province.substring(0,province.length()-1);
 					}
 					if (provinceDistribute.containsKey(province)) {
@@ -516,7 +516,16 @@ public class AnalyzeService {
 			WorkerVO workerVO=new WorkerVO(workerId,name,school,grade);
 			workerVOS.add(workerVO);
 		}
-		AnalyseVO analyseVO=new AnalyseVO(startTime,endTime,taskName,participateNum,bugNum,testCaseNum,gradeDistribution,workerVOS,provinceDistribute);
+		JSONArray jsonArray=new JSONArray();
+		for(Map.Entry<String, Integer> entry : provinceDistribute.entrySet()){
+			String mapKey = entry.getKey();
+			int mapValue = entry.getValue();
+			JSONObject jsonObject=new JSONObject();
+			jsonObject.put("name",mapKey);
+			jsonObject.put("value",mapValue);
+			jsonArray.put(jsonObject);
+		}
+		AnalyseVO analyseVO=new AnalyseVO(startTime,endTime,taskName,participateNum,bugNum,testCaseNum,gradeDistribution,workerVOS,jsonArray);
 		return analyseVO;
 	}
 

+ 5 - 5
src/main/java/edu/nju/service/ExtraService.java

@@ -216,12 +216,12 @@ public class ExtraService {
 				jsonObject.put("original_id",bug.getId());
 				String description="";
 				description+=bug.getDescription()+"\n";
-				description+=bug.getBug_page()+"\n";
+				description+="三级页面:"+bug.getBug_page()+"\n";
 				description+=bug.getBug_category()+"\n";
 				BugSeverity bugSeverity=BugSeverity.getValue(bug.getSeverity());
-				description+=bugSeverity+"\n";
+				description+="严重程度:"+bugSeverity+"\n";
 				BugRecurrent bugRecurrent=BugRecurrent.getValue(bug.getRecurrent());
-				description+=bugRecurrent+"\n";
+				description+="复现程度:"+bugRecurrent+"\n";
 				SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 				String dateStr = dateformat.format(TimeUtil.StringToDate(bug.getCreate_time_millis()));
 				description+=dateStr+"\n";
@@ -230,8 +230,8 @@ public class ExtraService {
 					description+="0\n";
 				}
 				else {
-					description += "good: "+mirror.getGood().size() + "\n";
-					description += "bad: "+mirror.getBad().size();
+					description += "点赞数: "+mirror.getGood().size() + "\n";
+					description += "点踩数: "+mirror.getBad().size();
 				}
 				jsonObject.put("description",description);
 				String[]urlArray=new String[1];