Przeglądaj źródła

添加标准答案类,添加获得reviewWorker信息的接口

MengyangDuan 5 lat temu
rodzic
commit
611e7501b6

+ 19 - 3
src/main/java/edu/nju/controller/ReviewController.java

@@ -1,6 +1,7 @@
 package edu.nju.controller;
 
 import edu.nju.entities.*;
+import edu.nju.model.ReviewWorkerVO;
 import edu.nju.service.ReviewService;
 import org.json.JSONArray;
 import org.json.JSONObject;
@@ -128,12 +129,12 @@ public class ReviewController {
             e.printStackTrace();
         }
     }
-    @RequestMapping(value = "/getAnswerByWorkerReportItem")
+    @RequestMapping(value = "/getAnswerByWorkerItem")
     @ResponseBody
-    public void getAnswerByWorkerReportItem(String report_id,String item_id,String worker_id, HttpServletResponse response){
+    public void getAnswerByWorkerReportItem(String item_id,String worker_id, HttpServletResponse response){
         try {
             PrintWriter out = response.getWriter();
-            ReviewAnswer answers = iservice.getAnswerByWorkerItem(report_id,worker_id,item_id);
+            ReviewAnswer answers = iservice.getAnswerByWorkerItem(worker_id,item_id);
             out.print(new JSONObject(answers));
             out.flush();
             out.close();
@@ -200,4 +201,19 @@ public class ReviewController {
             e.printStackTrace();
         }
     }
+
+    @RequestMapping(value = "/getWorkersByJob", method = RequestMethod.POST)
+    @ResponseBody
+    public void getWorkers(String jobId, HttpServletResponse response){
+        try {
+            PrintWriter out = response.getWriter();
+            List<ReviewWorkerVO> reviewWorkerVOs = iservice.getWorkersByJob(jobId);
+            out.print(new JSONArray(reviewWorkerVOs));
+            out.flush();
+            out.close();
+        }catch (IOException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }
+    }
 }

+ 4 - 4
src/main/java/edu/nju/controller/ReviewPaperController.java

@@ -146,7 +146,7 @@ public class ReviewPaperController {
 
     @RequestMapping(value = "/addWorker")
     @ResponseBody
-    public void addWorker(String examId,String paperId, List<String>workerList,HttpServletResponse response){
+    public void addWorker(String examId,String paperId, @RequestParam("workerList")List<String>workerList,HttpServletResponse response){
         try {
             JSONObject result = new JSONObject();
             if(reviewPaperService.addWorker(examId,paperId,workerList)){
@@ -166,15 +166,15 @@ public class ReviewPaperController {
 
     @RequestMapping(value = "/getPaperByWorker")
     @ResponseBody
-    public String getPaperByWorker(String examId, String workerId ){
-        ReviewWorker reviewWorker=reviewPaperService.getWorker(workerId,examId);
+    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";
         return url;
     }
 
     @RequestMapping(value = "/getPaperIds")
     @ResponseBody
-    public List<String> getPaperIds(HttpServletResponse response){
+    public List<String> getPaperIds(){
         List<ReviewPaper> papers = reviewPaperService.getPapers();
         List<String>result=new ArrayList<>();
         for(int i=0;i<papers.size();i++){

+ 2 - 2
src/main/java/edu/nju/dao/ReviewAnswerDao.java

@@ -29,9 +29,9 @@ public class ReviewAnswerDao {
         return answers;
     }
 
-    public ReviewAnswer findAnswerByWorkerItem(String report_id,String worker_id,String item_id){
+    public ReviewAnswer findAnswerByWorkerItem(String worker_id,String item_id){
         Query query = new Query();
-        query.addCriteria(Criteria.where("report_id").is(report_id).and("worker_id").is(worker_id).and("item_id").is(item_id));
+        query.addCriteria(Criteria.where("worker_id").is(worker_id).and("item_id").is(item_id));
         List<ReviewAnswer> answers= mongoOperations.find(query, ReviewAnswer.class);
         if(answers==null||answers.size()==0){
             return null;

+ 19 - 0
src/main/java/edu/nju/dao/ReviewCorrectAnswerDao.java

@@ -0,0 +1,19 @@
+package edu.nju.dao;
+
+
+import edu.nju.entities.ReviewCorrectAnswer;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoOperations;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public class ReviewCorrectAnswerDao {
+
+    @Autowired
+    private MongoOperations mongoOperations;
+
+    public String save(ReviewCorrectAnswer reviewCorrectAnswer){
+        mongoOperations.save(reviewCorrectAnswer);
+        return reviewCorrectAnswer.getId();
+    }
+}

+ 7 - 0
src/main/java/edu/nju/dao/ReviewWorkerDao.java

@@ -27,4 +27,11 @@ public class ReviewWorkerDao {
         if(list.size() == 0 || list == null) {return null;}
         return list.get(0);
     }
+
+    public List<ReviewWorker>getWorkersByJob(String jobId){
+        Query query = new Query();
+        query.addCriteria(Criteria.where("job_id").is(jobId));
+        List<ReviewWorker> list = mongoOperations.find(query,ReviewWorker.class);
+        return list;
+    }
 }

+ 104 - 0
src/main/java/edu/nju/entities/ReviewCorrectAnswer.java

@@ -0,0 +1,104 @@
+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 ReviewCorrectAnswer implements java.io.Serializable{
+
+    private static final long serialVersionUID = 7634000384125875886L;
+
+    @Id
+    private String id;
+
+    private String item_id;
+
+    private String report_id;
+
+    private String correct_answer;
+
+    private String job_id;
+
+    private String paper_id;
+
+    private List<String> file_url;
+
+    private String grade;
+
+    public ReviewCorrectAnswer(String item_id, String report_id, String correct_answer, String job_id, String paper_id, List<String> file_url, String grade) {
+        this.item_id = item_id;
+        this.report_id = report_id;
+        this.correct_answer = correct_answer;
+        this.job_id = job_id;
+        this.paper_id = paper_id;
+        this.file_url = file_url;
+        this.grade = grade;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getItem_id() {
+        return item_id;
+    }
+
+    public void setItem_id(String item_id) {
+        this.item_id = item_id;
+    }
+
+    public String getReport_id() {
+        return report_id;
+    }
+
+    public void setReport_id(String report_id) {
+        this.report_id = report_id;
+    }
+
+    public String getCorrect_answer() {
+        return correct_answer;
+    }
+
+    public void setCorrect_answer(String correct_answer) {
+        this.correct_answer = correct_answer;
+    }
+
+    public String getJob_id() {
+        return job_id;
+    }
+
+    public void setJob_id(String job_id) {
+        this.job_id = job_id;
+    }
+
+    public String getPaper_id() {
+        return paper_id;
+    }
+
+    public void setPaper_id(String paper_id) {
+        this.paper_id = paper_id;
+    }
+
+    public List<String> getFile_url() {
+        return file_url;
+    }
+
+    public void setFile_url(List<String> file_url) {
+        this.file_url = file_url;
+    }
+
+    public String getGrade() {
+        return grade;
+    }
+
+    public void setGrade(String grade) {
+        this.grade = grade;
+    }
+}

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

@@ -21,6 +21,7 @@ public class ReviewWorker implements java.io.Serializable{
 
 
     public ReviewWorker(String original_id, String paper_id, String exam_id,String job_id) {
+        this.exam_id=exam_id;
         this.original_id = original_id;
         this.paper_id = paper_id;
         this.job_id=job_id;

+ 89 - 0
src/main/java/edu/nju/model/ReviewWorkerVO.java

@@ -0,0 +1,89 @@
+package edu.nju.model;
+
+import edu.nju.entities.ReviewWorker;
+
+public class ReviewWorkerVO {
+
+    private String id;
+
+    private String original_id;
+
+    private String paper_id;
+
+    private String exam_id;
+
+    private String job_id;
+
+    private String name;
+
+    private String school;
+
+    public ReviewWorkerVO() {
+    }
+
+    public ReviewWorkerVO(ReviewWorker reviewWorker,String name ,String school){
+        this.id=reviewWorker.getId();
+        this.original_id=reviewWorker.getOriginal_id();
+        this.paper_id=reviewWorker.getPaper_id();
+        this.exam_id=reviewWorker.getExam_id();
+        this.job_id=reviewWorker.getJob_id();
+        this.name=name;
+        this.school=school;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getOriginal_id() {
+        return original_id;
+    }
+
+    public void setOriginal_id(String original_id) {
+        this.original_id = original_id;
+    }
+
+    public String getPaper_id() {
+        return paper_id;
+    }
+
+    public void setPaper_id(String paper_id) {
+        this.paper_id = paper_id;
+    }
+
+    public String getExam_id() {
+        return exam_id;
+    }
+
+    public void setExam_id(String exam_id) {
+        this.exam_id = exam_id;
+    }
+
+    public String getJob_id() {
+        return job_id;
+    }
+
+    public void setJob_id(String job_id) {
+        this.job_id = job_id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getSchool() {
+        return school;
+    }
+
+    public void setSchool(String school) {
+        this.school = school;
+    }
+}

+ 32 - 12
src/main/java/edu/nju/service/ReviewService.java

@@ -2,6 +2,9 @@ package edu.nju.service;
 
 import edu.nju.dao.*;
 import edu.nju.entities.*;
+import edu.nju.model.ReviewWorkerVO;
+import edu.nju.util.HTTP;
+import org.json.JSONObject;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -17,15 +20,11 @@ public class ReviewService {
     @Autowired
     ReviewAnswerDao answerDao;
     @Autowired
-    UserToItemDao userToItemDao;
-    @Autowired
     ReviewGroupDao groupDao;
     @Autowired
     ReviewReportDao reportDao;
     @Autowired
-    ReviewPaperJsonDao reviewPaperJsonDao;
-    @Autowired
-    ReviewPaperDao reviewPaperDao;
+    ReviewWorkerDao reviewWorkerDao;
 
     public ReviewJob getJob(String job_id){
         return jobDao.findJob(job_id);
@@ -43,15 +42,14 @@ public class ReviewService {
         return answerDao.findAnswersByReport(report_id);
     }
 
-    public ReviewAnswer getAnswerByWorkerItem(String report_id,String worker_id,String item_id){
-        return answerDao.findAnswerByWorkerItem(report_id,worker_id, item_id);
+    public ReviewAnswer getAnswerByWorkerItem(String worker_id,String item_id){
+        return answerDao.findAnswerByWorkerItem(worker_id, item_id);
     }
 
     public boolean updateAnswer(String id, List<String>answers,List<String> file_url){
         try {
             if(id == null || id.equals("undefined")) { return false; }
             ReviewAnswer answer=answerDao.getAnswerById(id);
-//            answer.setId(id);
             answer.setAnswers(answers);
             answer.setFile_url(file_url);
             answerDao.save(answer);
@@ -62,6 +60,11 @@ public class ReviewService {
         }
     }
 
+    public boolean saveAnswer(String itemId, String workerId,String paperId, String jobId,List<String>answers,List<String>file_url){
+        ReviewAnswer reviewAnswer=getAnswerByWorkerItem(workerId,itemId);
+        return true;
+    }
+
     public List<ReviewReport>getReportsByWorkerJob(String worker_id,String job_id){
         List<String>reportIds = groupDao.getReportsByUserJob(worker_id, job_id);
         List<ReviewReport>reports=new ArrayList<>();
@@ -90,10 +93,27 @@ public class ReviewService {
         }
     }
 
-
-    public String saveGroup(String name, String description, List<String> workers_id, String job_id, List<String> report_id){
-        ReviewGroup group=new ReviewGroup(name, description, workers_id, job_id, report_id);
-        return groupDao.save(group);
+    public List<ReviewWorkerVO>getWorkersByJob(String jobId){
+        List<ReviewWorker>reviewWorkers=reviewWorkerDao.getWorkersByJob(jobId);
+        List<ReviewWorkerVO>reviewWorkerVOS=new ArrayList<>();
+        try {
+            for(int i=0;i<reviewWorkers.size();i++){
+                ReviewWorker reviewWorker=reviewWorkers.get(i);
+                String result = HTTP.sendGet("http://114.55.91.83:8191/api/user/" + reviewWorker.getOriginal_id(), "");
+                String name="";
+                String school="";
+                if(result != null && !result.equals("")) {
+                    JSONObject json = new JSONObject(result);
+                    name=json.getString("name");
+                    school=json.getString("school");
+                }
+                reviewWorkerVOS.add(new ReviewWorkerVO(reviewWorker,name,school));
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return reviewWorkerVOS;
     }
 
+
 }