Sfoglia il codice sorgente

修改创建reviewAnswer的时间 /getAnswerByWorkerReportItem得不到answer的时候就创建一个空的

MengyangDuan 5 anni fa
parent
commit
4e60855da9

+ 2 - 2
src/main/java/edu/nju/controller/ReviewController.java

@@ -70,9 +70,9 @@ public class ReviewController {
 
     @RequestMapping(value = "/saveAnswer", method = RequestMethod.POST)
     @ResponseBody
-    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){
+    public void saveAnswer(String answerId, @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)){
+        if(iservice.saveAnswer(answerId,answers,attachmentLocation)){
             result.put("status", "200");
         } else {
             result.put("status", "500");

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

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

+ 1 - 4
src/main/java/edu/nju/entities/ReviewAnswer.java

@@ -44,7 +44,7 @@ public class ReviewAnswer implements java.io.Serializable{
         this.grade="";
     }
     @PersistenceConstructor
-    public ReviewAnswer(String item_id,String report_id,String worker_id,String job_id,String paper_id,int optionNum){
+    public ReviewAnswer(String item_id,String report_id,String worker_id,String job_id,String paper_id){
         this.item_id = item_id;
         this.report_id=report_id;
         this.worker_id = worker_id;
@@ -52,9 +52,6 @@ public class ReviewAnswer implements java.io.Serializable{
         this.job_id=job_id;
         this.paper_id=paper_id;
         this.answers=new ArrayList<>();
-        for(int i=0;i<optionNum;i++){
-            answers.add("");
-        }
     }
 
     public String getId() {

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

@@ -27,19 +27,21 @@ public class ReviewService {
     ReviewCorrectAnswerDao reviewCorrectAnswerDao;
 
     public ReviewAnswer getAnswerByWorkerReportItem(String reportId,String workerId,String itemId){
-        return answerDao.findAnswerByWorkerReportItem(reportId,workerId, itemId);
+        ReviewAnswer reviewAnswer= answerDao.findAnswerByWorkerReportItem(reportId,workerId, itemId);
+        if(reviewAnswer==null){
+            ReviewWorker reviewWorker=reviewWorkerDao.find(workerId);
+            String jobId=reviewWorker.getJob_id();
+            String paperId=reviewWorker.getPaper_id();
+            reviewAnswer=new ReviewAnswer(itemId,reportId,workerId,jobId,paperId);
+        }
+        return reviewAnswer;
     }
 
-    public boolean saveAnswer(String itemId, String reportId,String workerId,String paperId, String jobId,List<String>answers,List<String>fileUrl){
+    public boolean saveAnswer(String answerId,List<String>answers,List<String>fileUrl){
         try {
-            ReviewAnswer reviewAnswer=getAnswerByWorkerReportItem(reportId,workerId,itemId);
-            if(reviewAnswer==null){
-                reviewAnswer=new ReviewAnswer(itemId,reportId,answers,workerId,fileUrl,jobId,paperId);
-            }
-            else{
-                reviewAnswer.setAnswers(answers);
-                reviewAnswer.setFile_url(fileUrl);
-            }
+            ReviewAnswer reviewAnswer=answerDao.getAnswerById(answerId);
+            reviewAnswer.setAnswers(answers);
+            reviewAnswer.setFile_url(fileUrl);
             answerDao.save(reviewAnswer);
             return true;
         } catch(Exception e) {