Pārlūkot izejas kodu

修改reviewWorker等的数据结构

MengyangDuan 5 gadi atpakaļ
vecāks
revīzija
4af5b224f0

+ 0 - 39
src/main/java/edu/nju/controller/ExtraController.java

@@ -447,43 +447,4 @@ public class ExtraController {
 		}
 	}
 
-
-//	@RequestMapping(value = "/checkJob", method = RequestMethod.POST)
-//	@ResponseBody
-//	public void checkReviewJob(String jobJson, HttpServletResponse response) {
-//		try {
-////			System.out.println(jobJson);
-//			PrintWriter out = response.getWriter();
-//			String result = extraService.checkJob(jobJson);
-//			out.print(result);
-////			out.print("success");
-//			out.flush();
-//			out.close();
-//		} catch (IOException e) {
-//			// TODO Auto-generated catch block
-//			e.printStackTrace();
-//		}
-//
-//	}
-
-//	@RequestMapping(value = "/checkJob", method = RequestMethod.POST)
-//	@ResponseBody
-//	public void checkReviewJobJson(String jobJson, HttpServletResponse response) {
-//		try {
-//			PrintWriter out = response.getWriter();
-//			JSONObject object = new JSONObject();
-//			String result = extraService.checkJob(jobJson);
-//			object.put("result", result);
-//			out.print(object);
-////			out.print("success");
-//			out.flush();
-//			out.close();
-//		} catch (IOException e) {
-//			// TODO Auto-generated catch block
-//			e.printStackTrace();
-//		}
-//
-//	}
-
-
 }

+ 33 - 39
src/main/java/edu/nju/controller/ReviewPaperController.java

@@ -3,6 +3,7 @@ package edu.nju.controller;
 import edu.nju.entities.ReviewPaper;
 import edu.nju.entities.ReviewPaperJson;
 import edu.nju.entities.ReviewReport;
+import edu.nju.entities.ReviewWorker;
 import edu.nju.model.CrowdReviewReportDTO;
 import edu.nju.model.CrowdReviewReportVO;
 import edu.nju.service.ReviewPaperService;
@@ -15,6 +16,7 @@ import org.springframework.web.bind.annotation.*;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.io.PrintWriter;
+import java.util.ArrayList;
 import java.util.List;
 
 @Controller
@@ -27,18 +29,8 @@ public class ReviewPaperController {
 
     @RequestMapping(value = "/uploadReport", method = RequestMethod.POST)
     @ResponseBody
-    public  CrowdReviewReportVO uploadReport(@RequestBody CrowdReviewReportDTO crowdReviewReportDTO, HttpServletResponse response){
-        CrowdReviewReportVO result=new CrowdReviewReportVO("fail","");
-        try {
-            PrintWriter out = response.getWriter();
-            result = reviewPaperService.uploadReport(crowdReviewReportDTO);
-//            out.print(result);
-//            out.flush();
-//            out.close();
-        }catch (IOException e) {
-            // TODO Auto-generated catch block
-            e.printStackTrace();
-        }
+    public  CrowdReviewReportVO uploadReport(@RequestBody CrowdReviewReportDTO crowdReviewReportDTO){
+        CrowdReviewReportVO result=reviewPaperService.uploadReport(crowdReviewReportDTO);
         return result;
     }
 
@@ -59,10 +51,10 @@ public class ReviewPaperController {
 
     @RequestMapping(value = "/getPaperJson")
     @ResponseBody
-    public void getPaperJson(String paper_id, HttpServletResponse response){
+    public void getPaperJson(String paperId, HttpServletResponse response){
         try {
             PrintWriter out = response.getWriter();
-            ReviewPaperJson paperJson = reviewPaperService.getReviewPaperJson(paper_id);
+            ReviewPaperJson paperJson = reviewPaperService.getReviewPaperJson(paperId);
             out.print(new JSONObject(paperJson));
             out.flush();
             out.close();
@@ -74,10 +66,10 @@ public class ReviewPaperController {
 
     @RequestMapping(value = "/getPaper")
     @ResponseBody
-    public void getPaperById(String paper_id, HttpServletResponse response){
+    public void getPaperById(String paperId, HttpServletResponse response){
         try {
             PrintWriter out = response.getWriter();
-            ReviewPaper paper = reviewPaperService.getPaper(paper_id);
+            ReviewPaper paper = reviewPaperService.getPaper(paperId);
             out.print(new JSONObject(paper));
             out.flush();
             out.close();
@@ -89,10 +81,10 @@ public class ReviewPaperController {
 
     @RequestMapping(value = "/getReportsByPaper")
     @ResponseBody
-    public void getReportsByPaper(String paper_id, HttpServletResponse response){
+    public void getReportsByPaper(String paperId, HttpServletResponse response){
         try {
             PrintWriter out = response.getWriter();
-            List<ReviewReport> reports = reviewPaperService.getReportsByPaperId(paper_id);
+            List<ReviewReport> reports = reviewPaperService.getReportsByPaperId(paperId);
             out.print(new JSONArray(reports));
             out.flush();
             out.close();
@@ -119,10 +111,10 @@ public class ReviewPaperController {
 
     @RequestMapping(value = "/delPaper")
     @ResponseBody
-    public void deletePaper(String paper_id, HttpServletResponse response){
+    public void deletePaper(String paperId, HttpServletResponse response){
         try {
             JSONObject result = new JSONObject();
-            if(reviewPaperService.delPaper(paper_id)){
+            if(reviewPaperService.delPaper(paperId)){
                 result.put("status", "200");
             } else {
                 result.put("status", "500");
@@ -139,10 +131,10 @@ public class ReviewPaperController {
 
     @RequestMapping(value = "/updatePaper")
     @ResponseBody
-    public void updatePaper(String paper_id, String paperJson,HttpServletResponse response){
+    public void updatePaper(String paperId, String paperJson,HttpServletResponse response){
         try {
             PrintWriter out = response.getWriter();
-            JSONObject result = reviewPaperService.updatePaper(paper_id,paperJson);
+            JSONObject result = reviewPaperService.updatePaper(paperId,paperJson);
             out.print(result);
             out.flush();
             out.close();
@@ -154,10 +146,10 @@ public class ReviewPaperController {
 
     @RequestMapping(value = "/addWorker")
     @ResponseBody
-    public void addWorker(String examId,String paper_id, List<String>workerList,HttpServletResponse response){
+    public void addWorker(String examId,String paperId, List<String>workerList,HttpServletResponse response){
         try {
             JSONObject result = new JSONObject();
-            if(reviewPaperService.addWorker(examId,paper_id,workerList)){
+            if(reviewPaperService.addWorker(examId,paperId,workerList)){
                 result.put("status", "200");
             } else {
                 result.put("status", "500");
@@ -172,21 +164,23 @@ public class ReviewPaperController {
         }
     }
 
-//    @RequestMapping(value = "/getPaperByWorker")
-//    @ResponseBody
-//    public void getPaperByWorker(String exam_id, String workerId, HttpServletResponse response){
-//        try {
-//            PrintWriter out = response.getWriter();
-//            JSONObject result = reviewPaperService.updatePaper(paper_id,paperJson);
-//            out.print(result);
-//            out.flush();
-//            out.close();
-//        }catch (IOException e) {
-//            // TODO Auto-generated catch block
-//            e.printStackTrace();
-//        }
-//    }
-
+    @RequestMapping(value = "/getPaperByWorker")
+    @ResponseBody
+    public String getPaperByWorker(String examId, String workerId ){
+        ReviewWorker reviewWorker=reviewPaperService.getWorker(workerId,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){
+        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;
+    }
 
 }

+ 4 - 2
src/main/java/edu/nju/dao/ReviewPaperDao.java

@@ -2,6 +2,8 @@ package edu.nju.dao;
 
 import edu.nju.entities.ReviewPaper;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.data.web.SpringDataWebProperties;
+import org.springframework.data.domain.Sort;
 import org.springframework.data.mongodb.core.MongoOperations;
 import org.springframework.data.mongodb.core.query.Criteria;
 import org.springframework.data.mongodb.core.query.Query;
@@ -29,8 +31,8 @@ public class ReviewPaperDao {
     }
 
     public List<ReviewPaper> findPapers(){
-        List<ReviewPaper> list = mongoOperations.findAll(ReviewPaper.class);
-        return list;
+        Query query = new Query().with(new Sort(Sort.Direction.DESC,"createTime"));
+        return mongoOperations.find(query,ReviewPaper.class);
     }
 
     public void remove(String id){

+ 6 - 6
src/main/java/edu/nju/entities/ReviewPaper.java

@@ -26,7 +26,7 @@ public class ReviewPaper implements java.io.Serializable{
     private String requirement_location;
 
     @PersistenceConstructor
-    public ReviewPaper(String description, String name, String create_time, String type, String application_location,String requirement_location) {
+    public ReviewPaper(String name, String create_time, String type, String description, String application_location,String requirement_location) {
         this.description = description;
         this.name = name;
         this.create_time = create_time;
@@ -46,11 +46,11 @@ public class ReviewPaper implements java.io.Serializable{
     }
 
     @PersistenceConstructor
-    public ReviewPaper() {
+    public ReviewPaper(String name, String create_time, String type) {
         this.description = "";
-        this.name = "";
-        this.create_time = "";
-        this.type = "";
+        this.name = name;
+        this.create_time =create_time;
+        this.type = type;
         this.application_location = "";
         this.requirement_location = "";
     }
@@ -111,10 +111,10 @@ public class ReviewPaper implements java.io.Serializable{
         this.requirement_location = requirement_location;
     }
 
+    //不改变id和create_time
     public void setReviewPaper(ReviewPaperVO reviewPaperVO){
         this.description = reviewPaperVO.getDescription();
         this.name = reviewPaperVO.getName();
-        this.create_time = reviewPaperVO.getCreate_time();
         this.type = reviewPaperVO.getType();
         this.application_location = reviewPaperVO.getApplication_location();
         this.requirement_location = reviewPaperVO.getRequirement_location();

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

@@ -17,9 +17,13 @@ public class ReviewWorker implements java.io.Serializable{
 
     private String exam_id;
 
-    public ReviewWorker(String original_id, String paper_id, String exam_id) {
+    private String job_id;
+
+
+    public ReviewWorker(String original_id, String paper_id, String exam_id,String job_id) {
         this.original_id = original_id;
         this.paper_id = paper_id;
+        this.job_id=job_id;
     }
 
     public String getOriginal_id() {
@@ -53,6 +57,14 @@ public class ReviewWorker implements java.io.Serializable{
     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;
+    }
 }
 
 

+ 23 - 4
src/main/java/edu/nju/model/CrowdReviewReportDTO.java

@@ -4,16 +4,35 @@ import java.util.List;
 
 public class CrowdReviewReportDTO {
 
+    private String name;
 
-    List<CrowdReviewReportItem>crowdReviewReportItems;
+    private String type;
 
-    public CrowdReviewReportDTO(List<CrowdReviewReportItem> crowdReviewReportItems) {
-        this.crowdReviewReportItems = crowdReviewReportItems;
-    }
+    private List<CrowdReviewReportItem>crowdReviewReportItems;
 
     public CrowdReviewReportDTO() {
     }
 
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public CrowdReviewReportDTO(List<CrowdReviewReportItem> crowdReviewReportItems) {
+        this.crowdReviewReportItems = crowdReviewReportItems;
+    }
+
     public List<CrowdReviewReportItem> getCrowdReviewReportItems() {
         return crowdReviewReportItems;
     }

+ 28 - 27
src/main/java/edu/nju/service/ReviewPaperService.java

@@ -9,6 +9,8 @@ import org.json.JSONArray;
 import org.json.JSONObject;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
+import java.text.SimpleDateFormat;
 import java.util.*;
 
 @Service
@@ -40,6 +42,9 @@ public class ReviewPaperService {
     @Autowired
     ReviewWorkerDao reviewWorkerDao;
 
+    @Autowired
+    ReviewGroupDao reviewGroupDao;
+
     public ReviewPaperJson getReviewPaperJson(String paper_id) {
         return reviewPaperJsonDao.findJsonByPaper(paper_id);
     }
@@ -59,33 +64,30 @@ public class ReviewPaperService {
     public CrowdReviewReportVO uploadReport(CrowdReviewReportDTO crowdReviewReportDTO){
         JSONArray reportArray= new JSONObject(crowdReviewReportDTO).getJSONArray("crowdReviewReportItems");
         try {
-            String paperId = reviewPaperDao.save(new ReviewPaper());
-            String paperJson=initPaperJson(reportArray);
+            String paperName=crowdReviewReportDTO.getName();
+            String paperType=crowdReviewReportDTO.getType();
+            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            String paperId = reviewPaperDao.save(new ReviewPaper(paperName,df.format(System.currentTimeMillis()),paperType));
+            String paperJson=initPaperJson(reportArray,paperName,Long.toString(System.currentTimeMillis()),paperType);
             reviewPaperJsonDao.save(new ReviewPaperJson(paperId,paperJson));
             for (int i = 0; i < reportArray.length(); i++) {
                 JSONObject reportObject = reportArray.getJSONObject(i);
                 saveReport(reportObject, paperId);
             }
-            String testUrl="http://47.99.140.117:9090/changeAuditTask?id=";
+            String testUrl="http://47.99.140.117:9004/changePaper?id=";
             return new CrowdReviewReportVO("success",testUrl+paperId);
-//            object.put("status","success");
-//            object.put("paperId",paperId);
-//            object.put("url",testUrl+paperId);
         } catch (Exception e) {
             return new CrowdReviewReportVO("fail",e.getMessage());
-//            object.put("status","fail");
-//            object.put("message",e.getMessage());
         }
-//        return object;
     }
 
-    private String initPaperJson(JSONArray reportArray) throws Exception{
+    private String initPaperJson(JSONArray reportArray,String name, String createTime, String type) throws Exception{
         try {
             JSONObject object=new JSONObject();
             object.put("description","");
-            object.put("name","");
-            object.put("create_time","");
-            object.put("type","");
+            object.put("name",name);
+            object.put("create_time",createTime);
+            object.put("type",type);
             object.put("application_url","");
             object.put("requirement_url","");
             object.put("report_list",reportArray);
@@ -107,6 +109,7 @@ public class ReviewPaperService {
         try {
             JSONObject jsonObject = new JSONObject(paperJson);
             ReviewPaperVO reviewPaperVO = getReviewPaperVO(jsonObject);
+            reviewPaperVO.setCreate_time(Long.toString(System.currentTimeMillis()));
             ReviewPaper reviewPaper = new ReviewPaper(reviewPaperVO);
             String paperId=reviewPaperDao.save(reviewPaper);
             reviewPaperJsonDao.save(new ReviewPaperJson(paperId,paperJson));
@@ -361,11 +364,18 @@ public class ReviewPaperService {
 
     public boolean addWorker(String examId,String paperId, List<String>workerList){
         try {
-            reviewJobDao.save(new ReviewJob(examId,paperId));
+            String jobId=reviewJobDao.save(new ReviewJob(examId,paperId));
+            List<String>workerIds=new ArrayList<>();
             for(int i=0;i<workerList.size();i++){
                 String workerId=workerList.get(i);
-                reviewWorkerDao.save(new ReviewWorker(workerId,paperId,examId));
+                workerIds.add(workerId);
+                reviewWorkerDao.save(new ReviewWorker(workerId,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 true;
         } catch (Exception e) {
             e.printStackTrace();
@@ -373,18 +383,9 @@ public class ReviewPaperService {
         }
     }
 
-//    public ReviewPaper getPaperByWorker(String examId, String workerId){
-//        ReviewWorker actualWorkerId=reviewWorkerDao.getWorkerByOriginalId(workerId,examId);
-//        String paperId=actualWorkerId.getPaper_id();
-//
-//            reviewJobDao.save(new ReviewJob(examId,paperId));
-//            for(int i=0;i<workerList.size();i++){
-//                String workerId=workerList.get(i);
-//                reviewWorkerDao.save(new ReviewWorker(workerId,paperId,examId));
-//            }
-//            return true;
-//
-//    }
+    public ReviewWorker getWorker(String workerIndex,String examId){
+        return reviewWorkerDao.getWorkerByOriginalId(workerIndex,examId);
+    }
 
 
 }