ソースを参照

只有通过reportId,workerId,itemId才能确定唯一answer

MengyangDuan 5 年 前
コミット
6dbc8c468f

+ 13 - 61
src/main/java/edu/nju/controller/ReviewController.java

@@ -99,42 +99,12 @@ public class ReviewController {
 
     }
 
-//    @RequestMapping(value = "/getItemsByWorker")
-//    @ResponseBody
-//    public void getItemListByWorkerJob(String job_id, String worker_id, HttpServletResponse response){
-//        try {
-//            PrintWriter out = response.getWriter();
-//            List<ReviewItem> items = iservice.getItemsByWorkerJob(worker_id, job_id);
-//            out.print(new JSONArray(items));
-//            out.flush();
-//            out.close();
-//        }catch (IOException e) {
-//            // TODO Auto-generated catch block
-//            e.printStackTrace();
-//        }
-//
-//    }
-
-    @RequestMapping(value = "/getAnswersByWorkerReport")
-    @ResponseBody
-    public void getAnswersByWorkerReport(String report_id,String worker_id, HttpServletResponse response){
-        try {
-            PrintWriter out = response.getWriter();
-            List<ReviewAnswer> answers = iservice.getAnswersByReportWorker(report_id, worker_id);
-            out.print(new JSONArray(answers));
-            out.flush();
-            out.close();
-        }catch (IOException e) {
-            // TODO Auto-generated catch block
-            e.printStackTrace();
-        }
-    }
-    @RequestMapping(value = "/getAnswerByWorkerItem")
+    @RequestMapping(value = "/getAnswerByWorkerReportItem")
     @ResponseBody
-    public void getAnswerByWorkerReportItem(String item_id,String worker_id, HttpServletResponse response){
+    public void getAnswerByWorkerReportItem(String reportId,String itemId,String workerId, HttpServletResponse response){
         try {
             PrintWriter out = response.getWriter();
-            ReviewAnswer answers = iservice.getAnswerByWorkerItem(worker_id,item_id);
+            ReviewAnswer answers = iservice.getAnswerByWorkerReportItem(reportId,workerId,itemId);
             out.print(new JSONObject(answers));
             out.flush();
             out.close();
@@ -144,13 +114,18 @@ public class ReviewController {
         }
     }
 
-    @RequestMapping(value = "/getAnswersByReport")
+    @RequestMapping(value = "/saveAnswer", method = RequestMethod.POST)
     @ResponseBody
-    public void getAnswersByReport(String report_id, HttpServletResponse response){
+    public void saveAnswer(String itemId, String reportId, String workerId,String paperId,String jobId, @RequestParam("answers")List<String>answers, @RequestParam("attachmentLocation") List<String> attachmentLocation, HttpServletResponse response){
+        JSONObject result = new JSONObject();
+        if(iservice.saveAnswer(itemId,reportId,workerId,paperId,jobId,answers,attachmentLocation)){
+            result.put("status", "200");
+        } else {
+            result.put("status", "500");
+        }
         try {
             PrintWriter out = response.getWriter();
-            List<ReviewAnswer>answers=iservice.getAnswersByReport(report_id);
-            out.print(new JSONArray(answers));
+            out.print(result);
             out.flush();
             out.close();
         }catch (IOException e) {
@@ -159,29 +134,6 @@ public class ReviewController {
         }
     }
 
-//    @RequestMapping(value = "/saveAnswer", method = RequestMethod.POST)
-//    @ResponseBody
-//    public void saveAnswer(String item_id, String worker_id,String job_id, @RequestParam("answers")List<String>answers, @RequestParam("attachment_location") List<String> attachment_location, HttpServletResponse response){
-//        JSONObject result = new JSONObject();
-//        String id = iservice.saveAnswer(item_id, worker_id, job_id, answers, attachment_location);
-//        if(id.equals("")) {
-//            result.put("status", "200");
-//            result.put("id", id);
-//        }
-//        else {
-//            result.put("status", "500");
-//        }
-//        try {
-//            PrintWriter out = response.getWriter();
-//            out.print(result);
-//            out.flush();
-//            out.close();
-//        }catch (IOException e) {
-//            // TODO Auto-generated catch block
-//            e.printStackTrace();
-//        }
-//    }
-
     @RequestMapping(value = "/updateAnswer", method = RequestMethod.POST)
     @ResponseBody
     public void updateAnswer(String id, @RequestParam("answers")List<String>answers,@RequestParam("attachment_location") List<String> file_url, HttpServletResponse response){
@@ -202,7 +154,7 @@ public class ReviewController {
         }
     }
 
-    @RequestMapping(value = "/getWorkersByJob", method = RequestMethod.POST)
+    @RequestMapping(value = "/getWorkersByJob")
     @ResponseBody
     public void getWorkers(String jobId, HttpServletResponse response){
         try {

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

@@ -15,23 +15,9 @@ public class ReviewAnswerDao {
     @Autowired
     private MongoOperations mongoOperations;
 
-    public List<ReviewAnswer> findAnswersByReportWorker(String report_id, String worker_id){
+    public ReviewAnswer findAnswerByWorkerReportItem(String reportId,String workerId,String itemId){
         Query query = new Query();
-        query.addCriteria(Criteria.where("report_id").is(report_id).and("worker_id").is(worker_id));
-        List<ReviewAnswer>answers= mongoOperations.find(query, ReviewAnswer.class);
-        return answers;
-    }
-
-    public List<ReviewAnswer> findAnswersByReport(String report_id){
-        Query query = new Query();
-        query.addCriteria(Criteria.where("report_id").is(report_id));
-        List<ReviewAnswer>answers= mongoOperations.find(query, ReviewAnswer.class);
-        return answers;
-    }
-
-    public ReviewAnswer findAnswerByWorkerItem(String worker_id,String item_id){
-        Query query = new Query();
-        query.addCriteria(Criteria.where("worker_id").is(worker_id).and("item_id").is(item_id));
+        query.addCriteria(Criteria.where("report_id").is(reportId).and("worker_id").is(workerId).and("item_id").is(itemId));
         List<ReviewAnswer> answers= mongoOperations.find(query, ReviewAnswer.class);
         if(answers==null||answers.size()==0){
             return null;

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

@@ -34,16 +34,8 @@ public class ReviewService {
         return jobDao.findJobs();
     }
 
-
-    public List<ReviewAnswer> getAnswersByReportWorker(String report_id, String worker_id){
-        return answerDao.findAnswersByReportWorker(report_id, worker_id);
-    }
-    public List<ReviewAnswer> getAnswersByReport(String report_id){
-        return answerDao.findAnswersByReport(report_id);
-    }
-
-    public ReviewAnswer getAnswerByWorkerItem(String worker_id,String item_id){
-        return answerDao.findAnswerByWorkerItem(worker_id, item_id);
+    public ReviewAnswer getAnswerByWorkerReportItem(String reportId,String workerId,String itemId){
+        return answerDao.findAnswerByWorkerReportItem(reportId,workerId, itemId);
     }
 
     public boolean updateAnswer(String id, List<String>answers,List<String> file_url){
@@ -60,8 +52,9 @@ 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);
+    public boolean saveAnswer(String itemId, String reportId,String workerId,String paperId, String jobId,List<String>answers,List<String>fileUrl){
+        ReviewAnswer reviewAnswer=new ReviewAnswer(itemId,reportId,answers,workerId,fileUrl,jobId,paperId);
+        answerDao.save(reviewAnswer);
         return true;
     }