Explorar o código

添加reviewPaper数据结构,关于paper,item,job,report的部分都差不多了~

MengyangDuan %!s(int64=5) %!d(string=hai) anos
pai
achega
5c5c864278

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

@@ -449,11 +449,11 @@ public class ExtraController {
 
 	@RequestMapping(value = "/uploadJob", method = RequestMethod.POST)
 	@ResponseBody
-	public void uploadReviewJob(String jobJson, HttpServletResponse response) {
+	public void uploadReviewJob(String paperJson, HttpServletResponse response) {
 		try {
 //			System.out.println(jobJson);
 			PrintWriter out = response.getWriter();
-			JSONObject result = extraService.saveJob(jobJson);
+			JSONObject result = extraService.savePaper(paperJson);
 			out.print(result);
 //			out.print("success");
 			out.flush();

+ 79 - 4
src/main/java/edu/nju/controller/ReviewController.java

@@ -36,13 +36,13 @@ public class ReviewController {
         }
     }
 
-    @RequestMapping(value = "/getJobJson")
+    @RequestMapping(value = "/getJobs")
     @ResponseBody
-    public void getJobJson(String job_id, HttpServletResponse response){
+    public void getJobs(HttpServletResponse response){
         try {
             PrintWriter out = response.getWriter();
-            ReviewJobJson jobJson = iservice.getReviewJobJson(job_id);
-            out.print(new JSONObject(jobJson));
+            List<ReviewJob> jobs = iservice.getJobs();
+            out.print(new JSONArray(jobs));
             out.flush();
             out.close();
         }catch (IOException e) {
@@ -51,6 +51,36 @@ public class ReviewController {
         }
     }
 
+    @RequestMapping(value = "/getPaperJson")
+    @ResponseBody
+    public void getPaperJson(String paper_id, HttpServletResponse response){
+        try {
+            PrintWriter out = response.getWriter();
+            ReviewPaperJson paperJson = iservice.getReviewPaperJson(paper_id);
+            out.print(new JSONObject(paperJson));
+            out.flush();
+            out.close();
+        }catch (IOException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }
+    }
+
+//    @RequestMapping(value = "/delJob")
+//    @ResponseBody
+//    public void deleteJob(String job_id, HttpServletResponse response){
+//        try {
+//            PrintWriter out = response.getWriter();
+//            ReviewJobJson jobJson = iservice.getReviewJobJson(job_id);
+//            out.print(new JSONObject(jobJson));
+//            out.flush();
+//            out.close();
+//        }catch (IOException e) {
+//            // TODO Auto-generated catch block
+//            e.printStackTrace();
+//        }
+//    }
+
 //    @RequestMapping(value = "/getItemsByJob")
 //    @ResponseBody
 //    public void getItemListByJobId(String job_id, HttpServletResponse response){
@@ -200,4 +230,49 @@ public class ReviewController {
             e.printStackTrace();
         }
     }
+
+    @RequestMapping(value = "/getPaper")
+    @ResponseBody
+    public void getPaperById(String paper_id, HttpServletResponse response){
+        try {
+            PrintWriter out = response.getWriter();
+            ReviewPaper paper = iservice.getPaper(paper_id);
+            out.print(new JSONObject(paper));
+            out.flush();
+            out.close();
+        }catch (IOException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }
+    }
+
+    @RequestMapping(value = "/getReportsByPaper")
+    @ResponseBody
+    public void getReportsByPaper(String paper_id, HttpServletResponse response){
+        try {
+            PrintWriter out = response.getWriter();
+            List<ReviewReport> reports = iservice.getReportsByPaperId(paper_id);
+            out.print(new JSONArray(reports));
+            out.flush();
+            out.close();
+        }catch (IOException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }
+    }
+
+    @RequestMapping(value = "/getPapers")
+    @ResponseBody
+    public void getPapers(HttpServletResponse response){
+        try {
+            PrintWriter out = response.getWriter();
+            List<ReviewPaper> papers = iservice.getPapers();
+            out.print(new JSONArray(papers));
+            out.flush();
+            out.close();
+        }catch (IOException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }
+    }
 }

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

@@ -24,6 +24,11 @@ public class ReviewJobDao {
         return list.get(0);
     }
 
+    public List<ReviewJob> findJobs(){
+        List<ReviewJob> list = mongoOperations.findAll(ReviewJob.class);
+        return list;
+    }
+
     public String save(ReviewJob job) {
         mongoOperations.save(job);
         return job.getId();

+ 36 - 0
src/main/java/edu/nju/dao/ReviewPaperDao.java

@@ -0,0 +1,36 @@
+package edu.nju.dao;
+
+import edu.nju.entities.ReviewPaper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoOperations;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public class ReviewPaperDao {
+
+    @Autowired
+    private MongoOperations mongoOperations;
+
+    public ReviewPaper findPaper(String id){
+        Query query = new Query();
+        query.addCriteria(Criteria.where("_id").is(id));
+        List<ReviewPaper> list = mongoOperations.find(query,ReviewPaper.class);
+        if(list.size() == 0 || list == null) {return null;}
+        return list.get(0);
+    }
+
+    public String save(ReviewPaper paper) {
+        mongoOperations.save(paper);
+        return paper.getId();
+    }
+
+    public List<ReviewPaper> findPapers(){
+        List<ReviewPaper> list = mongoOperations.findAll(ReviewPaper.class);
+        return list;
+    }
+
+}

+ 8 - 8
src/main/java/edu/nju/dao/ReviewJobJsonDao.java → src/main/java/edu/nju/dao/ReviewPaperJsonDao.java

@@ -1,6 +1,6 @@
 package edu.nju.dao;
 
-import edu.nju.entities.ReviewJobJson;
+import edu.nju.entities.ReviewPaperJson;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoOperations;
 import org.springframework.data.mongodb.core.query.Criteria;
@@ -10,22 +10,22 @@ import org.springframework.stereotype.Repository;
 import java.util.List;
 
 @Repository
-public class ReviewJobJsonDao {
+public class ReviewPaperJsonDao {
 
     @Autowired
     private MongoOperations mongoOperations;
 
     //id查询,find查询所有
-    public ReviewJobJson findJsonByJob(String jobId){
+    public ReviewPaperJson findJsonByPaper(String paperId){
         Query query = new Query();
-        query.addCriteria(Criteria.where("job_id").is(jobId));
-        List<ReviewJobJson> list = mongoOperations.find(query,ReviewJobJson.class);
+        query.addCriteria(Criteria.where("paper_id").is(paperId));
+        List<ReviewPaperJson> list = mongoOperations.find(query,ReviewPaperJson.class);
         if(list.size() == 0 || list == null) {return null;}
         return list.get(0);
     }
 
-    public String save(ReviewJobJson reviewJobJson) {
-        mongoOperations.save(reviewJobJson);
-        return reviewJobJson.getId();
+    public String save(ReviewPaperJson reviewPaperJson) {
+        mongoOperations.save(reviewPaperJson);
+        return reviewPaperJson.getId();
     }
 }

+ 6 - 0
src/main/java/edu/nju/dao/ReviewReportDao.java

@@ -29,5 +29,11 @@ public class ReviewReportDao {
         return report.getId();
     }
 
+    public List<ReviewReport>getReportsByPaperId(String paperId){
+        Query query = new Query();
+        query.addCriteria(Criteria.where("paper_id").is(paperId));
+        List<ReviewReport> list = mongoOperations.find(query,ReviewReport.class);
+        return list;
+    }
 }
 

+ 12 - 3
src/main/java/edu/nju/entities/ReviewAnswer.java

@@ -26,24 +26,28 @@ public class ReviewAnswer implements java.io.Serializable{
 
     private String job_id;
 
+    private String paper_id;
+
     private List<String> file_url;
 
     @PersistenceConstructor
-    public ReviewAnswer(String item_id,String report_id, List<String> answers, String worker_id, List<String> file_url,String job_id) {
+    public ReviewAnswer(String item_id,String report_id, List<String> answers, String worker_id, List<String> file_url,String job_id,String paper_id) {
         this.item_id = item_id;
         this.report_id=report_id;
         this.answers = answers;
         this.worker_id = worker_id;
         this.file_url=file_url;
         this.job_id=job_id;
+        this.paper_id=paper_id;
     }
     @PersistenceConstructor
-    public ReviewAnswer(String item_id,String report_id,String worker_id,String job_id,int optionNum){
+    public ReviewAnswer(String item_id,String report_id,String worker_id,String job_id,String paper_id,int optionNum){
         this.item_id = item_id;
         this.report_id=report_id;
         this.worker_id = worker_id;
         this.file_url = new ArrayList<>();
         this.job_id=job_id;
+        this.paper_id=paper_id;
         this.answers=new ArrayList<>();
         for(int i=0;i<optionNum;i++){
             answers.add("");
@@ -106,6 +110,11 @@ public class ReviewAnswer implements java.io.Serializable{
         this.job_id = job_id;
     }
 
+    public String getPaper_id() {
+        return paper_id;
+    }
 
-
+    public void setPaper_id(String paper_id) {
+        this.paper_id = paper_id;
+    }
 }

+ 7 - 7
src/main/java/edu/nju/entities/ReviewItem.java

@@ -14,7 +14,7 @@ public class ReviewItem implements java.io.Serializable {
     @Id
     private String id;
 
-    private String job_id;
+    private String paper_id;
 
     private Boolean isRequired;
 
@@ -28,8 +28,8 @@ public class ReviewItem implements java.io.Serializable {
 
 
     @PersistenceConstructor
-    public ReviewItem(String job_id, Boolean isRequired,List<String> options, String description, List<String> report_id, String type) {
-        this.job_id = job_id;
+    public ReviewItem(String paper_id, Boolean isRequired, List<String> options, String description, List<String> report_id, String type) {
+        this.paper_id = paper_id;
         this.isRequired = isRequired;
         this.options = options;
         this.description = description;
@@ -46,12 +46,12 @@ public class ReviewItem implements java.io.Serializable {
         this.id = id;
     }
 
-    public String getJob_id() {
-        return job_id;
+    public String getPaper_id() {
+        return paper_id;
     }
 
-    public void setJob_id(String job_id) {
-        this.job_id = job_id;
+    public void setPaper_id(String paper_id) {
+        this.paper_id = paper_id;
     }
 
     public Boolean getIsRequired() {

+ 32 - 47
src/main/java/edu/nju/entities/ReviewJob.java

@@ -1,13 +1,10 @@
 package edu.nju.entities;
 
 import org.springframework.data.annotation.Id;
-import org.springframework.data.annotation.PersistenceConstructor;
-import org.springframework.data.mongodb.core.mapping.Document;
 
-@Document
 public class ReviewJob implements java.io.Serializable{
 
-    private static final long serialVersionUID = 3417624501014997684L;
+    private static final long serialVersionUID = -4445308752903947027L;
 
     @Id
     private String id;
@@ -16,28 +13,24 @@ public class ReviewJob implements java.io.Serializable{
 
     private String name;
 
-    private String time;
+    private String paper_id;
 
-    private String type;
+    private String create_time;
 
-    private String application_location;
+    private String start_time;
 
-    private String requirement_location;
+    private String end_time;
 
-    private int report_num;
+    private String group;
 
-    private int worker_num;
-
-    @PersistenceConstructor
-    public ReviewJob(String description, String name, String time, String type, String application_location, String requirement_location, int report_num, int worker_num) {
+    public ReviewJob(String description, String name, String create_time, String paper_id, String start_time, String end_time, String group) {
         this.description = description;
         this.name = name;
-        this.time = time;
-        this.type = type;
-        this.application_location = application_location;
-        this.requirement_location = requirement_location;
-        this.report_num = report_num;
-        this.worker_num = worker_num;
+        this.paper_id = paper_id;
+        this.create_time = create_time;
+        this.start_time = start_time;
+        this.end_time = end_time;
+        this.group = group;
     }
 
     public String getId() {
@@ -64,51 +57,43 @@ public class ReviewJob implements java.io.Serializable{
         this.name = name;
     }
 
-    public String getTime() {
-        return time;
-    }
-
-    public void setTime(String time) {
-        this.time = time;
-    }
-
-    public String getType() {
-        return type;
+    public String getPaper_id() {
+        return paper_id;
     }
 
-    public void setType(String type) {
-        this.type = type;
+    public void setPaper_id(String paper_id) {
+        this.paper_id = paper_id;
     }
 
-    public String getApplication_location() {
-        return application_location;
+    public String getCreate_time() {
+        return create_time;
     }
 
-    public void setApplication_location(String application_location) {
-        this.application_location = application_location;
+    public void setCreate_time(String create_time) {
+        this.create_time = create_time;
     }
 
-    public String getRequirement_location() {
-        return requirement_location;
+    public String getStart_time() {
+        return start_time;
     }
 
-    public void setRequirement_location(String requirement_location) {
-        this.requirement_location = requirement_location;
+    public void setStart_time(String start_time) {
+        this.start_time = start_time;
     }
 
-    public int getReport_num() {
-        return report_num;
+    public String getEnd_time() {
+        return end_time;
     }
 
-    public void setReport_num(int report_num) {
-        this.report_num = report_num;
+    public void setEnd_time(String end_time) {
+        this.end_time = end_time;
     }
 
-    public int getWorker_num() {
-        return worker_num;
+    public String getGroup() {
+        return group;
     }
 
-    public void setWorker_num(int worker_num) {
-        this.worker_num = worker_num;
+    public void setGroup(String group) {
+        this.group = group;
     }
 }

+ 92 - 0
src/main/java/edu/nju/entities/ReviewPaper.java

@@ -0,0 +1,92 @@
+package edu.nju.entities;
+
+import org.springframework.data.annotation.Id;
+import org.springframework.data.annotation.PersistenceConstructor;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+@Document
+public class ReviewPaper implements java.io.Serializable{
+
+    private static final long serialVersionUID = 3417624501014997684L;
+
+    @Id
+    private String id;
+
+    private String description;
+
+    private String name;
+
+    private String create_time;
+
+    private String type;
+
+    private String application_location;
+
+    private String requirement_location;
+
+    @PersistenceConstructor
+    public ReviewPaper(String description, String name, String create_time, String type, String application_location,String requirement_location) {
+        this.description = description;
+        this.name = name;
+        this.create_time = create_time;
+        this.type = type;
+        this.application_location = application_location;
+        this.requirement_location = requirement_location;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getCreate_time() {
+        return create_time;
+    }
+
+    public void setCreate_time(String create_time) {
+        this.create_time = create_time;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getApplication_location() {
+        return application_location;
+    }
+
+    public void setApplication_location(String application_location) {
+        this.application_location = application_location;
+    }
+
+    public String getRequirement_location() {
+        return requirement_location;
+    }
+
+    public void setRequirement_location(String requirement_location) {
+        this.requirement_location = requirement_location;
+    }
+}

+ 8 - 8
src/main/java/edu/nju/entities/ReviewJobJson.java → src/main/java/edu/nju/entities/ReviewPaperJson.java

@@ -4,19 +4,19 @@ import org.springframework.data.annotation.Id;
 import org.springframework.data.mongodb.core.mapping.Document;
 
 @Document
-public class ReviewJobJson implements java.io.Serializable{
+public class ReviewPaperJson implements java.io.Serializable{
 
     private static final long serialVersionUID = 8207574733829202771L;
 
     @Id
     private String id;
 
-    private String job_id;
+    private String paper_id;
 
     private String json;
 
-    public ReviewJobJson(String job_id, String json) {
-        this.job_id = job_id;
+    public ReviewPaperJson(String paper_id, String json) {
+        this.paper_id = paper_id;
         this.json = json;
     }
 
@@ -29,12 +29,12 @@ public class ReviewJobJson implements java.io.Serializable{
         this.id = id;
     }
 
-    public String getJob_id() {
-        return job_id;
+    public String getPaper_id() {
+        return paper_id;
     }
 
-    public void setJob_id(String job_id) {
-        this.job_id = job_id;
+    public void setPaper_id(String paper_id) {
+        this.paper_id = paper_id;
     }
 
     public String getJson() {

+ 7 - 8
src/main/java/edu/nju/entities/ReviewReport.java

@@ -5,7 +5,6 @@ import org.springframework.data.annotation.PersistenceConstructor;
 import org.springframework.data.mongodb.core.mapping.Document;
 
 import java.util.List;
-import java.util.Set;
 
 @Document
 public class ReviewReport implements java.io.Serializable {
@@ -20,7 +19,7 @@ public class ReviewReport implements java.io.Serializable {
 
     private List<String> item_id;
 
-    private String job_id;
+    private String paper_id;
 
     private String name;
 
@@ -32,8 +31,8 @@ public class ReviewReport implements java.io.Serializable {
 
 
     @PersistenceConstructor
-    public ReviewReport(String job_id, String name, String description, List<String> img_url, List<String> file_url) {
-        this.job_id = job_id;
+    public ReviewReport(String paper_id, String name, String description, List<String> img_url, List<String> file_url) {
+        this.paper_id = paper_id;
         this.name = name;
         this.description = description;
         this.img_url = img_url;
@@ -56,12 +55,12 @@ public class ReviewReport implements java.io.Serializable {
         this.item_id = item_id;
     }
 
-    public String getJob_id() {
-        return job_id;
+    public String getPaper_id() {
+        return paper_id;
     }
 
-    public void setJob_id(String job_id) {
-        this.job_id = job_id;
+    public void setPaper_id(String paper_id) {
+        this.paper_id = paper_id;
     }
 
     public String getName() {

+ 58 - 68
src/main/java/edu/nju/service/ExtraService.java

@@ -7,12 +7,10 @@ import edu.nju.entities.*;
 import org.json.JSONArray;
 import org.json.JSONObject;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.mongodb.core.aggregation.ArrayOperators;
 import org.springframework.stereotype.Service;
 
 import edu.nju.util.ExcelToJson;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
 @Service
 public class ExtraService {
@@ -45,7 +43,10 @@ public class ExtraService {
 	ReviewReportDao reviewReportDao;
 
 	@Autowired
-	ReviewJobJsonDao reviewJobJsonDao;
+	ReviewPaperJsonDao reviewPaperJsonDao;
+
+	@Autowired
+	ReviewPaperDao reviewPaperDao;
 	
 	//测试用例相关
 	public String saveTestCase(String report_id, String name, String front, String behind, String description) {
@@ -150,35 +151,31 @@ public class ExtraService {
 	}
 
 	@Transactional(rollbackFor = Exception.class)
-	public  JSONObject saveJob(String jobJson){
+	public  JSONObject savePaper(String paperJson){
 		JSONObject object = new JSONObject();
-		String result=checkJob(jobJson);
+		String result=checkJob(paperJson);
 		if(!result.equals("success")){
 			object.put("status","fail");
 			object.put("message",result);
 			return object;
 		}
-
 		try {
-			JSONObject jsonObject = new JSONObject(jobJson);
+			JSONObject jsonObject = new JSONObject(paperJson);
 			String description = jsonObject.getString("description");
 			String name = jsonObject.getString("name");
-			String time = jsonObject.getString("time");
+			String time = jsonObject.getString("create_time");
 			String type = jsonObject.getString("type");
 			String applicationLocation = jsonObject.getString("application_url");
 			String requirementLocation = jsonObject.getString("requirement_url");
-			int reportNum = jsonObject.getInt("report_num");
-			int workerNum = jsonObject.getInt("worker_num");
-			String jobId = jobDao.save(new ReviewJob(description, name, time, type, applicationLocation, requirementLocation, reportNum, workerNum));
-			reviewJobJsonDao.save(new ReviewJobJson(jobId,jobJson));
-
+			String paperId = reviewPaperDao.save(new ReviewPaper(description, name, time, type, applicationLocation, requirementLocation));
+			reviewPaperJsonDao.save(new ReviewPaperJson(paperId,paperJson));
 
 			JSONArray reportArray = jsonObject.getJSONArray("report_list");
 			HashMap<Integer, String> reportIndexToId = new HashMap<>();
 			for (int i = 0; i < reportArray.length(); i++) {
 				JSONObject reportObject = reportArray.getJSONObject(i);
 				int reportIndex = reportObject.getInt("index");
-				String id = saveReport(reportObject, jobId);
+				String id = saveReport(reportObject, paperId);
 				reportIndexToId.put(reportIndex, id);
 			}
 
@@ -189,24 +186,17 @@ public class ExtraService {
 			HashMap<Integer, String> itemIndexToId = new HashMap<>();
 			for (int i = 0; i < itemGroupArray.length(); i++) {
 				JSONObject itemGroupObject = itemGroupArray.getJSONObject(i);
-				saveItem(itemGroupObject, jobId, itemIdToOptionNum, reportIndexToId, itemIndexToId);
+				saveItem(itemGroupObject, paperId, itemIdToOptionNum, reportIndexToId, itemIndexToId);
 			}
-
-			//worker_id-item_id_list
-			JSONArray groupArray = jsonObject.getJSONArray("group_list");
-			createWorkerToItem(groupArray, jobId, reportIndexToId, itemIdToOptionNum);
-			object.put("status","sucess");
-			object.put("id",jobId);
 		}catch (Exception e){
 			object.put("status","fail");
 			object.put("message",e.getMessage());
 			//TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-
 		}
 		return object;
 	}
 
-	private String saveReport(JSONObject reportObject,String job_id)throws Exception{
+	private String saveReport(JSONObject reportObject,String paper_id)throws Exception{
 		try {
 			JSONArray imgArray=reportObject.getJSONArray("img_url");
 			List<String> img_urls=new ArrayList<>();
@@ -220,14 +210,14 @@ public class ExtraService {
 			}
 			String name=reportObject.getString("name");
 			String description=reportObject.getString("description");
-			ReviewReport reviewReport=new ReviewReport(job_id,name,description,img_urls,file_urls);
+			ReviewReport reviewReport=new ReviewReport(paper_id,name,description,img_urls,file_urls);
 			return reviewReportDao.save(reviewReport);
 		}catch (Exception e){
 			throw new Exception("report 创建失败: "+e.getMessage());
 		}
 	}
 
-	private void saveItem(JSONObject itemGroupObject,String job_id,HashMap<String,Integer>item_id_to_option_num,HashMap<Integer,String>report_index_to_id,HashMap<Integer,String>item_index_to_id)throws Exception{
+	private void saveItem(JSONObject itemGroupObject,String paper_id,HashMap<String,Integer>item_id_to_option_num,HashMap<Integer,String>report_index_to_id,HashMap<Integer,String>item_index_to_id)throws Exception{
 		List<String>itemIds=new ArrayList<>();
 		List<String> reportIds=new ArrayList<>();
 		try {
@@ -249,10 +239,10 @@ public class ExtraService {
 				for(int k=0;k<optionArray.length();k++){
 					options.add(String.valueOf(optionArray.get(k)));
 				}
-				ReviewItem item=new ReviewItem(job_id,isRequired,options,description,reportIds,type);
+				ReviewItem item=new ReviewItem(paper_id,isRequired,options,description,reportIds,type);
 				String item_id = itemDao.saveItem(item);
 				itemIds.add(item_id);
-				item_id_to_option_num.put(item_id,options.size());
+//				item_id_to_option_num.put(item_id,options.size());
 				item_index_to_id.put(index,item_id);
 			}
 		}catch (Exception e){
@@ -269,47 +259,47 @@ public class ExtraService {
 		}
 	}
 
-	private void createWorkerToItem(JSONArray groupArray,String job_id,HashMap<Integer,String>report_index_to_id,HashMap<String,Integer>item_id_to_option_num)throws Exception{
-		for(int i=0;i<groupArray.length();i++){
-			List<String> reportIdList=new ArrayList<>();
-			List<String> workerList=new ArrayList<>();
-			try {
-				JSONObject groupObject=groupArray.getJSONObject(i);
-				String description=groupObject.getString("description");
-				String name=groupObject.getString("name");
-				JSONArray workerArray=groupObject.getJSONArray("worker_list");
-				for (int j=0;j<workerArray.length();j++){
-					workerList.add(String.valueOf(workerArray.get(j)));
-				}
-				JSONArray reportIndexArray=groupObject.getJSONArray("report_list");
-				for (int j=0;j<reportIndexArray.length();j++){
-					int reportIndex=Integer.parseInt(String.valueOf(reportIndexArray.get(j)));
-					reportIdList.add(report_index_to_id.get(reportIndex));
-				}
-				reviewService.saveGroup(name,description,workerList,job_id,reportIdList);
-			}catch (Exception e){
-				throw new Exception("group 创建失败: "+e.getMessage());
-			}
-			try {
-				for(int j=0;j<workerList.size();j++){
-					String worker_id=workerList.get(j);
-//				reviewService.saveUserToItem(worker_id,itemIdList,job_id,"","","","");
-					for(int k=0;k<reportIdList.size();k++){
-						String report_id=reportIdList.get(k);
-						List<ReviewItem>items= reviewService.getItemsByReport(report_id);
-						for(int l=0;l<items.size();l++) {
-							String item_id=items.get(l).getId();
-							int optionNum=item_id_to_option_num.get(item_id);
-							ReviewAnswer answer=new ReviewAnswer(item_id,report_id,worker_id,job_id,optionNum);
-							answerDao.save(answer);
-						}
-					}
-				}
-			}catch (Exception e){
-				throw new Exception("group创建失败,请检查配置的report_index是否存在! ");
-			}
-		}
-	}
+//	private void createWorkerToItem(JSONArray groupArray,String job_id,HashMap<Integer,String>report_index_to_id,HashMap<String,Integer>item_id_to_option_num)throws Exception{
+//		for(int i=0;i<groupArray.length();i++){
+//			List<String> reportIdList=new ArrayList<>();
+//			List<String> workerList=new ArrayList<>();
+//			try {
+//				JSONObject groupObject=groupArray.getJSONObject(i);
+//				String description=groupObject.getString("description");
+//				String name=groupObject.getString("name");
+//				JSONArray workerArray=groupObject.getJSONArray("worker_list");
+//				for (int j=0;j<workerArray.length();j++){
+//					workerList.add(String.valueOf(workerArray.get(j)));
+//				}
+//				JSONArray reportIndexArray=groupObject.getJSONArray("report_list");
+//				for (int j=0;j<reportIndexArray.length();j++){
+//					int reportIndex=Integer.parseInt(String.valueOf(reportIndexArray.get(j)));
+//					reportIdList.add(report_index_to_id.get(reportIndex));
+//				}
+//				reviewService.saveGroup(name,description,workerList,job_id,reportIdList);
+//			}catch (Exception e){
+//				throw new Exception("group 创建失败: "+e.getMessage());
+//			}
+//			try {
+//				for(int j=0;j<workerList.size();j++){
+//					String worker_id=workerList.get(j);
+////				reviewService.saveUserToItem(worker_id,itemIdList,job_id,"","","","");
+//					for(int k=0;k<reportIdList.size();k++){
+//						String report_id=reportIdList.get(k);
+//						List<ReviewItem>items= reviewService.getItemsByReport(report_id);
+//						for(int l=0;l<items.size();l++) {
+//							String item_id=items.get(l).getId();
+//							int optionNum=item_id_to_option_num.get(item_id);
+//							ReviewAnswer answer=new ReviewAnswer(item_id,report_id,worker_id,job_id,optionNum);
+//							answerDao.save(answer);
+//						}
+//					}
+//				}
+//			}catch (Exception e){
+//				throw new Exception("group创建失败,请检查配置的report_index是否存在! ");
+//			}
+//		}
+//	}
 
 	public String checkJob(String jobJson){
 		String result="success";

+ 1 - 1
src/main/java/edu/nju/service/GraphService.java

@@ -264,7 +264,7 @@ public class GraphService {
 //		try {
 //			Set<String> set = new HashSet<String>();
 //			SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-//			long deadLine = dateformat.parse(end).getTime();
+//			long deadLine = dateformat.parse(end).getCreate_time();
 //			List<Bug> bugs = bdao.findByCaseid(case_take_id);
 //			for(Bug bug : bugs) {
 //				if(Long.parseLong(bug.getCreate_time_millis()) <= deadLine) {

+ 24 - 16
src/main/java/edu/nju/service/ReviewService.java

@@ -23,20 +23,26 @@ public class ReviewService {
     @Autowired
     ReviewReportDao reportDao;
     @Autowired
-    ReviewJobJsonDao reviewJobJsonDao;
-
-//    public List<ReviewItem>getJobItems(String job_id){
-//        return itemDao.findItemsByJob(job_id);
-//    }
+    ReviewPaperJsonDao reviewPaperJsonDao;
+    @Autowired
+    ReviewPaperDao reviewPaperDao;
 
     public ReviewJob getJob(String job_id){
         return jobDao.findJob(job_id);
     }
 
-    public ReviewJobJson getReviewJobJson(String job_id) {
-        return reviewJobJsonDao.findJsonByJob(job_id);
+    public List<ReviewJob> getJobs(){
+        return jobDao.findJobs();
+    }
+
+    public ReviewPaperJson getReviewPaperJson(String paper_id) {
+        return reviewPaperJsonDao.findJsonByPaper(paper_id);
     }
 
+//    public String delJob(String job_id){
+//
+//    }
+
     public List<ReviewAnswer> getAnswersByReportWorker(String report_id, String worker_id){
         return answerDao.findAnswersByReportWorker(report_id, worker_id);
     }
@@ -48,10 +54,6 @@ public class ReviewService {
         return answerDao.findAnswerByWorkerItem(report_id,worker_id, item_id);
     }
 
-//    public String saveAnswer(String item_id, String worker_id,String job_id, List<String>answers,List<String> attachment_location){
-//        Answer answer=new Answer(item_id,answers,worker_id,attachment_location,job_id);
-//        return answerDao.save(answer);
-//    }
 
 
     public boolean updateAnswer(String id, List<String>answers,List<String> file_url){
@@ -98,15 +100,21 @@ public class ReviewService {
     }
 
 
-//    public String saveUserToItem(String worker_id, List<String> item_id, String job_id, String create_time_millis, String device_model, String device_brand, String device_os){
-//        UserToItem userToItem=new UserToItem(worker_id, item_id, job_id,create_time_millis,device_model,device_brand,device_os);
-//        return userToItemDao.save(userToItem);
-//    }
-
     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 ReviewPaper getPaper(String paper_id){
+        return reviewPaperDao.findPaper(paper_id);
+    }
+
+    public List<ReviewReport> getReportsByPaperId(String paper_id){
+        return reportDao.getReportsByPaperId(paper_id);
+    }
+
+    public List<ReviewPaper> getPapers(){
+        return reviewPaperDao.findPapers();
+    }
 
 }

+ 3 - 3
src/main/java/edu/nju/service/SaveService.java

@@ -175,9 +175,9 @@ public class SaveService {
 	public boolean repairTime(String case_take_id) {
 		try {
 			SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-//			long start = dateformat.parse("2018-11-16 08:05:17").getTime();
-//			long middle = dateformat.parse("2018-11-16 09:15:17").getTime();
-//			long end = dateformat.parse("2018-11-16 11:55:17").getTime();
+//			long start = dateformat.parse("2018-11-16 08:05:17").getCreate_time();
+//			long middle = dateformat.parse("2018-11-16 09:15:17").getCreate_time();
+//			long end = dateformat.parse("2018-11-16 11:55:17").getCreate_time();
 			long start = dateformat.parse("2018-11-16 17:05:17").getTime();
 			long middle = dateformat.parse("2018-11-16 18:15:17").getTime();
 			long end = dateformat.parse("2018-11-16 19:55:17").getTime();

+ 4 - 14
src/main/java/jobjson → src/main/java/paperjson

@@ -1,12 +1,10 @@
 {
 	"description": "job描述",
 	"name": "jobname",
-	"time":"2019/10/02~2019/10/22",
+	"create_time":"2019/10/02",
 	"type":"漏洞扫描分析",
 	"application_url":"url1",
 	"requirement_url":"url2",
-	"report_num":50,
-	"worker_num":50,
 	"item_group_list": [{
 		"report_list": [0,1],
 		"item_list": [{
@@ -35,32 +33,24 @@
             "options":[]
         }],
 	}],
-	"group_list": [{
-		"name":"group1",
-		"description":"new group",
-		"worker_list": ["1","2"],
-		"report_list": [0,1]
-    }, {
-        "name":"group2",
-        "description":"another group",
-        "worker_list": ["3","4"],
-        "report_list": [0,2]
-    }],
     "report_list":[{
         "index":0,
         "name":"name1",
+        "original_id":"id1",
         "description":"des1",
         "img_url":["url1","url2"],
         "file_url":["url1","url2"],
     },{
         "index":1,
         "name":"name2",
+        "original_id":"id2",
         "description":"des2",
         "img_url":["url1","url2"],
         "file_url":["url1","url2"],
     },{
         "index":2,
         "name":"name3",
+        "original_id":"id3",
         "description":"des3",
         "img_url":["url1","url2"],
         "file_url":["url1","url2"],

+ 5 - 5
src/main/resources/application.properties

@@ -1,11 +1,11 @@
-server.port = 8090
+server.port = 8091
 server.servlet.context-path = /Bug/api/
 
-spring.data.mongodb.host = ${MONGO_HOST:10.81.65.118}
-spring.data.mongodb.port = ${MONGO_PORT:29019}
-spring.data.mongodb.database = ${MONGO_DBNAME:co-report-test}
+#spring.data.mongodb.host = ${MONGO_HOST:10.81.65.118}
+#spring.data.mongodb.port = ${MONGO_PORT:29019}
+#spring.data.mongodb.database = ${MONGO_DBNAME:co-report-test}
 
-#spring.data.mongodb.uri= mongodb://localhost:27017/test
+spring.data.mongodb.uri= mongodb://localhost:27017/test
 
 spring.http.encoding.force = true
 spring.http.encoding.charset = UTF-8

+ 11 - 11
src/main/resources/bootstrap.yml

@@ -1,13 +1,13 @@
 spring.profiles.active: test
 spring:
-  application:
-    name: mooctest-crowdsource-backend
-  cloud:
-    zookeeper:
-      enabled: true  # true:开启zookeeper外部化配置, false:读取本地配置;
-      connect-string: 101.37.175.111:2181
-      config:
-        root: /config
-        enabled: true
-        watcher:
-          enabled: true
+                          application:
+                            name: mooctest-crowdsource-backend
+                          cloud:
+                            zookeeper:
+                              enabled: true  # true:开启zookeeper外部化配置, false:读取本地配置;
+                              connect-string: 101.37.175.111:2181
+                              config:
+                                root: /config
+                                enabled: true
+                                watcher:
+                                  enabled: true

+ 4 - 4
src/main/resources/logback.xml

@@ -4,8 +4,8 @@
 
     <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>/back_end/logs/crowdsource-backend.log.%d{yyyy-MM-dd}.log</fileNamePattern>
-<!--            <fileNamePattern>./logs/crowdsource-backend.log.%d{yyyy-MM-dd}.log</fileNamePattern>-->
+            <!--<fileNamePattern>/back_end/logs/crowdsource-backend.log.%d{yyyy-MM-dd}.log</fileNamePattern>-->
+            <fileNamePattern>./logs/crowdsource-backend.log.%d{yyyy-MM-dd}.log</fileNamePattern>
             <maxHistory>30</maxHistory>
         </rollingPolicy>
         <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
@@ -19,8 +19,8 @@
 
     <appender name="recommendAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>/back_end/logs/recommend.log.%d{yyyy-MM-dd}.log</fileNamePattern>
-<!--            <fileNamePattern>./logs/recommend.log.%d{yyyy-MM-dd}.log</fileNamePattern>-->
+            <!--<fileNamePattern>/back_end/logs/recommend.log.%d{yyyy-MM-dd}.log</fileNamePattern>-->
+            <fileNamePattern>./logs/recommend.log.%d{yyyy-MM-dd}.log</fileNamePattern>
         </rollingPolicy>
         <encoder>
             <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern>