|
@@ -1,16 +1,14 @@
|
|
|
package edu.nju.service;
|
|
|
|
|
|
import edu.nju.dao.*;
|
|
|
-import edu.nju.entities.ReviewItem;
|
|
|
-import edu.nju.entities.ReviewPaper;
|
|
|
-import edu.nju.entities.ReviewPaperJson;
|
|
|
-import edu.nju.entities.ReviewReport;
|
|
|
-import edu.nju.vo.ReviewPaperVO;
|
|
|
+import edu.nju.entities.*;
|
|
|
+import edu.nju.model.CrowdReviewReportDTO;
|
|
|
+import edu.nju.model.CrowdReviewReportVO;
|
|
|
+import edu.nju.model.ReviewPaperVO;
|
|
|
import org.json.JSONArray;
|
|
|
import org.json.JSONObject;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
-
|
|
|
import java.util.*;
|
|
|
|
|
|
@Service
|
|
@@ -36,6 +34,12 @@ public class ReviewPaperService {
|
|
|
@Autowired
|
|
|
ReviewPaperDao reviewPaperDao;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ ReviewJobDao reviewJobDao;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ ReviewWorkerDao reviewWorkerDao;
|
|
|
+
|
|
|
public ReviewPaperJson getReviewPaperJson(String paper_id) {
|
|
|
return reviewPaperJsonDao.findJsonByPaper(paper_id);
|
|
|
}
|
|
@@ -52,7 +56,47 @@ public class ReviewPaperService {
|
|
|
return reviewPaperDao.findPapers();
|
|
|
}
|
|
|
|
|
|
- public JSONObject updatePaper(String paperId,String paperJson){
|
|
|
+ public CrowdReviewReportVO uploadReport(CrowdReviewReportDTO crowdReviewReportDTO){
|
|
|
+ JSONArray reportArray= new JSONObject(crowdReviewReportDTO).getJSONArray("crowdReviewReportItems");
|
|
|
+ try {
|
|
|
+ String paperId = reviewPaperDao.save(new ReviewPaper());
|
|
|
+ String paperJson=initPaperJson(reportArray);
|
|
|
+ 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=";
|
|
|
+ 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{
|
|
|
+ try {
|
|
|
+ JSONObject object=new JSONObject();
|
|
|
+ object.put("description","");
|
|
|
+ object.put("name","");
|
|
|
+ object.put("create_time","");
|
|
|
+ object.put("type","");
|
|
|
+ object.put("application_url","");
|
|
|
+ object.put("requirement_url","");
|
|
|
+ object.put("report_list",reportArray);
|
|
|
+ object.put("item_group_list",new JSONArray());
|
|
|
+ return object.toString();
|
|
|
+ }catch (Exception e){
|
|
|
+ throw new Exception(e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public JSONObject uploadPaper(String paperJson){
|
|
|
JSONObject object = new JSONObject();
|
|
|
String result=checkPaper(paperJson);
|
|
|
if(!result.equals("success")){
|
|
@@ -63,23 +107,20 @@ public class ReviewPaperService {
|
|
|
try {
|
|
|
JSONObject jsonObject = new JSONObject(paperJson);
|
|
|
ReviewPaperVO reviewPaperVO = getReviewPaperVO(jsonObject);
|
|
|
- ReviewPaper reviewPaper = reviewPaperDao.findPaper(paperId);
|
|
|
- reviewPaper.setReviewPaper(reviewPaperVO);
|
|
|
- reviewPaperDao.save(reviewPaper); //实际是update
|
|
|
- reviewPaperJsonDao.update(paperId, paperJson);
|
|
|
- reviewReportDao.removeByPaper(paperId);
|
|
|
- itemDao.removeByPaper(paperId);
|
|
|
+ ReviewPaper reviewPaper = new ReviewPaper(reviewPaperVO);
|
|
|
+ String paperId=reviewPaperDao.save(reviewPaper);
|
|
|
+ reviewPaperJsonDao.save(new ReviewPaperJson(paperId,paperJson));
|
|
|
saveReportAndItem(paperId, jsonObject);
|
|
|
object.put("status","success");
|
|
|
object.put("paperId",paperId);
|
|
|
}catch (Exception e){
|
|
|
object.put("status","fail");
|
|
|
object.put("message",e.getMessage());
|
|
|
- }
|
|
|
+ }
|
|
|
return object;
|
|
|
}
|
|
|
|
|
|
- public JSONObject savePaper(String paperJson){
|
|
|
+ public JSONObject updatePaper(String paperId,String paperJson){
|
|
|
JSONObject object = new JSONObject();
|
|
|
String result=checkPaper(paperJson);
|
|
|
if(!result.equals("success")){
|
|
@@ -89,17 +130,20 @@ public class ReviewPaperService {
|
|
|
}
|
|
|
try {
|
|
|
JSONObject jsonObject = new JSONObject(paperJson);
|
|
|
- ReviewPaperVO reviewPaperVO=getReviewPaperVO(jsonObject);
|
|
|
- String paperId = reviewPaperDao.save(new ReviewPaper(reviewPaperVO));
|
|
|
- reviewPaperJsonDao.save(new ReviewPaperJson(paperId,paperJson));
|
|
|
- saveReportAndItem(paperId,jsonObject);
|
|
|
+ ReviewPaperVO reviewPaperVO = getReviewPaperVO(jsonObject);
|
|
|
+ ReviewPaper reviewPaper = reviewPaperDao.findPaper(paperId);
|
|
|
+ reviewPaper.setReviewPaper(reviewPaperVO);
|
|
|
+ reviewPaperDao.save(reviewPaper); //实际是update
|
|
|
+ reviewPaperJsonDao.update(paperId, paperJson);
|
|
|
+ reviewReportDao.removeByPaper(paperId);
|
|
|
+ itemDao.removeByPaper(paperId);
|
|
|
+ saveReportAndItem(paperId, jsonObject);
|
|
|
object.put("status","success");
|
|
|
object.put("paperId",paperId);
|
|
|
}catch (Exception e){
|
|
|
object.put("status","fail");
|
|
|
object.put("message",e.getMessage());
|
|
|
- //TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
- }
|
|
|
+ }
|
|
|
return object;
|
|
|
}
|
|
|
|
|
@@ -314,5 +358,34 @@ public class ReviewPaperService {
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ public boolean addWorker(String examId,String paperId, List<String>workerList){
|
|
|
+ try {
|
|
|
+ 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;
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+// 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;
|
|
|
+//
|
|
|
+// }
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
|