Browse Source

上传和学姐对接口的调整
将Task表增加name字段

MengyangDuan 5 years ago
parent
commit
30fd886f29

+ 18 - 19
src/main/java/edu/nju/controller/ReviewPaperController.java

@@ -144,30 +144,29 @@ public class ReviewPaperController {
         }
     }
 
-    @RequestMapping(value = "/addWorker")
-    @ResponseBody
-    public String addWorker(String examId,String paperId, @RequestParam("workerList")List<String>workerList,HttpServletResponse response){
-        String jobId=reviewPaperService.addWorker(examId,paperId,workerList);
-        return jobId;
-    }
+//    @RequestMapping(value = "/addWorker")
+//    @ResponseBody
+//    public String addWorker(String examId,String paperId, @RequestParam("workerList")List<String>workerList,HttpServletResponse response){
+//        String jobId=reviewPaperService.addWorker(examId,paperId,workerList);
+//        return jobId;
+//    }
 
     @RequestMapping(value = "/getPaperByWorker")
     @ResponseBody
-    public String getPaperByWorker(String examId, String workerIndex ){
-        ReviewWorker reviewWorker=reviewPaperService.getWorker(workerIndex,examId);
-        String url="http://47.99.140.117:9090//review/job/"+reviewWorker.getJob_id()+"/"+reviewWorker.getId()+"/0";
+    public String getPaperByWorker(String examId, String caseId, String workerIndex ){
+        String url=reviewPaperService.getWorkerPaperUrl(workerIndex,examId,caseId);
         return url;
     }
 
-    @RequestMapping(value = "/getPaperIds")
-    @ResponseBody
-    public List<String> getPaperIds(){
-        List<ReviewPaper> papers = reviewPaperService.getPapers();
-        List<String>result=new ArrayList<>();
-        for(int i=0;i<papers.size();i++){
-            result.add(papers.get(i).getId());
-        }
-        return result;
-    }
+//    @RequestMapping(value = "/getPaperIds")
+//    @ResponseBody
+//    public List<String> getPaperIds(){
+//        List<ReviewPaper> papers = reviewPaperService.getPapers();
+//        List<String>result=new ArrayList<>();
+//        for(int i=0;i<papers.size();i++){
+//            result.add(papers.get(i).getId());
+//        }
+//        return result;
+//    }
 
 }

+ 9 - 0
src/main/java/edu/nju/dao/ReviewGroupDao.java

@@ -36,4 +36,13 @@ public class ReviewGroupDao {
         mongoOperations.remove(query,ReviewJob.class);
     }
 
+    public ReviewGroup getReportsByReports(List<String>reportIds){
+        Query query = new Query();
+        query.addCriteria(Criteria.where("report_id").is(reportIds));
+        List<ReviewGroup>list = mongoOperations.find(query, ReviewGroup.class);
+        if(list.size() == 0 || list == null) {return null;}
+        return list.get(0);
+    }
+
+
 }

+ 8 - 0
src/main/java/edu/nju/dao/ReviewJobDao.java

@@ -24,6 +24,14 @@ public class ReviewJobDao {
         return list.get(0);
     }
 
+    public ReviewJob findJobByExamCase(String examId,String caseId){
+        Query query = new Query();
+        query.addCriteria(Criteria.where("exam_id").is(examId).and("case_id").is(caseId));
+        List<ReviewJob> list = mongoOperations.find(query,ReviewJob.class);
+        if(list.size() == 0 || list == null) {return null;}
+        return list.get(0);
+    }
+
     public List<ReviewJob> findJobs(){
         List<ReviewJob> list = mongoOperations.findAll(ReviewJob.class);
         return list;

+ 3 - 0
src/main/java/edu/nju/entities/ReviewGroup.java

@@ -23,6 +23,7 @@ public class ReviewGroup implements java.io.Serializable{
 
     private List<String> report_id;
 
+
     public ReviewGroup(String name, String description, List<String> workers_id, String job_id, List<String> report_id) {
         this.name = name;
         this.description = description;
@@ -79,4 +80,6 @@ public class ReviewGroup implements java.io.Serializable{
         this.report_id = report_id;
     }
 
+
+
 }

+ 3 - 0
src/main/java/edu/nju/entities/ReviewWorker.java

@@ -3,6 +3,8 @@ package edu.nju.entities;
 import org.springframework.data.annotation.Id;
 import org.springframework.data.mongodb.core.mapping.Document;
 
+import java.util.List;
+
 @Document
 public class ReviewWorker implements java.io.Serializable{
 
@@ -66,6 +68,7 @@ public class ReviewWorker implements java.io.Serializable{
     public void setJob_id(String job_id) {
         this.job_id = job_id;
     }
+
 }
 
 

+ 12 - 1
src/main/java/edu/nju/entities/Task.java

@@ -14,12 +14,15 @@ public class Task implements java.io.Serializable {
 
     private long end_time;
 
+    private String name;
+
     private double total_mins;
 
     private double write_time;
 
-    public Task(String id, long start_time, long end_time, double total_mins, double write_time) {
+    public Task(String id,String name,  long start_time, long end_time, double total_mins, double write_time) {
         this.id = id;
+        this.name=name;
         this.start_time = start_time;
         this.end_time = end_time;
         this.total_mins = total_mins;
@@ -34,6 +37,14 @@ public class Task implements java.io.Serializable {
         this.id = id;
     }
 
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
     public long getStart_time() {
         return start_time;
     }

+ 2 - 1
src/main/java/edu/nju/service/ExtraService.java

@@ -141,8 +141,9 @@ public class ExtraService {
 			JSONObject json = new JSONObject(result);
 			long beginTime = json.getLong("beginTime");
 			long endTime = json.getLong("endTime");
+			String name=json.getString("name");
 			double totalMins = (endTime - beginTime) / 1000 / 60.0;
-			Task newTask = new Task(id, beginTime, endTime, totalMins, totalMins);
+			Task newTask = new Task(id, name,beginTime, endTime, totalMins, totalMins);
 			taskDao.save(newTask);
 			return newTask;
 		}

+ 29 - 15
src/main/java/edu/nju/service/ReviewPaperService.java

@@ -373,25 +373,39 @@ public class ReviewPaperService {
         }
     }
 
-    public String addWorker(String examId,String paperId, List<String>workerList){
-        String jobId=reviewJobDao.save(new ReviewJob(examId,paperId,Long.toString(System.currentTimeMillis())));
-        List<String>workerIds=new ArrayList<>();
-        for(int i=0;i<workerList.size();i++){
-            String workerIndex=workerList.get(i);
-            String workerId=reviewWorkerDao.save(new ReviewWorker(workerIndex,paperId,examId,jobId));
-            workerIds.add(workerId);
-        }
+//    public String addWorker(String examId,String paperId, List<String>workerList){
+//        String jobId=reviewJobDao.save(new ReviewJob(examId,paperId,Long.toString(System.currentTimeMillis())));
+//        List<String>workerIds=new ArrayList<>();
+//        for(int i=0;i<workerList.size();i++){
+//            String workerIndex=workerList.get(i);
+//            String workerId=reviewWorkerDao.save(new ReviewWorker(workerIndex,paperId,examId,jobId));
+//            workerIds.add(workerId);
+//        }
+//        List<ReviewReport>reviewReports=getReportsByPaperId(paperId);
+//        List<String>reportIds=new ArrayList<>();
+//        for(int i=0;i<reviewReports.size();i++)
+//            reportIds.add(reviewReports.get(i).getId());
+//        reviewGroupDao.save(new ReviewGroup("default","",workerIds,jobId,reportIds));
+//        return jobId;
+//
+//    }
+
+    public String getWorkerPaperUrl(String workerIndex,String examId,String caseId){
+        ReviewJob reviewJob=reviewJobDao.findJobByExamCase(examId,caseId);
+        String paperId=reviewJob.getPaper_id();
+        String jobId=reviewJob.getId();
+        String workerId=reviewWorkerDao.save(new ReviewWorker(workerIndex,paperId,examId,jobId));
         List<ReviewReport>reviewReports=getReportsByPaperId(paperId);
         List<String>reportIds=new ArrayList<>();
         for(int i=0;i<reviewReports.size();i++)
             reportIds.add(reviewReports.get(i).getId());
-        reviewGroupDao.save(new ReviewGroup("default","",workerIds,jobId,reportIds));
-        return jobId;
-
-    }
-
-    public ReviewWorker getWorker(String workerIndex,String examId){
-        return reviewWorkerDao.getWorkerByOriginalId(workerIndex,examId);
+        ReviewGroup reviewGroup=reviewGroupDao.getReportsByReports(reportIds);
+        List<String>workerIds=reviewGroup.getWorkers_id();
+        workerIds.add(workerId);
+        reviewGroup.setWorkers_id(workerIds);
+        reviewGroupDao.save(reviewGroup);
+        String url="http://47.99.140.117:9090//review/job/"+jobId+"/"+workerId+"/0";
+        return url;
     }