ソースを参照

修改传入report的接口的参数为DTO对象

MengyangDuan 5 年 前
コミット
f11fdb701e

+ 21 - 2
src/main/java/edu/nju/controller/ReviewPaperController.java

@@ -3,6 +3,8 @@ package edu.nju.controller;
 import edu.nju.entities.ReviewPaper;
 import edu.nju.entities.ReviewPaperJson;
 import edu.nju.entities.ReviewReport;
+import edu.nju.model.CrowdReviewReportDTO;
+import edu.nju.model.CrowdReviewReportVO;
 import edu.nju.service.ReviewPaperService;
 import org.json.JSONArray;
 import org.json.JSONObject;
@@ -23,12 +25,29 @@ public class ReviewPaperController {
     @Autowired
     ReviewPaperService reviewPaperService;
 
+    @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();
+        }
+        return result;
+    }
+
     @RequestMapping(value = "/uploadPaper", method = RequestMethod.POST)
     @ResponseBody
-    public void initPaper(String reportArray, HttpServletResponse response){
+    public void uploadPaper(String paperJson, HttpServletResponse response){
         try {
             PrintWriter out = response.getWriter();
-            JSONObject result = reviewPaperService.initPaper(reportArray);
+            JSONObject result = reviewPaperService.uploadPaper(paperJson);
             out.print(result);
             out.flush();
             out.close();

+ 1 - 3
src/main/java/edu/nju/entities/ReviewPaper.java

@@ -1,12 +1,10 @@
 package edu.nju.entities;
 
-import edu.nju.vo.ReviewPaperVO;
+import edu.nju.model.ReviewPaperVO;
 import org.springframework.data.annotation.Id;
 import org.springframework.data.annotation.PersistenceConstructor;
 import org.springframework.data.mongodb.core.mapping.Document;
 
-import java.util.List;
-
 @Document
 public class ReviewPaper implements java.io.Serializable{
 

+ 24 - 0
src/main/java/edu/nju/model/CrowdReviewReportDTO.java

@@ -0,0 +1,24 @@
+package edu.nju.model;
+
+import java.util.List;
+
+public class CrowdReviewReportDTO {
+
+
+    List<CrowdReviewReportItem>crowdReviewReportItems;
+
+    public CrowdReviewReportDTO(List<CrowdReviewReportItem> crowdReviewReportItems) {
+        this.crowdReviewReportItems = crowdReviewReportItems;
+    }
+
+    public CrowdReviewReportDTO() {
+    }
+
+    public List<CrowdReviewReportItem> getCrowdReviewReportItems() {
+        return crowdReviewReportItems;
+    }
+
+    public void setCrowdReviewReportItems(List<CrowdReviewReportItem> crowdReviewReportItems) {
+        this.crowdReviewReportItems = crowdReviewReportItems;
+    }
+}

+ 71 - 0
src/main/java/edu/nju/model/CrowdReviewReportItem.java

@@ -0,0 +1,71 @@
+package edu.nju.model;
+
+import java.util.List;
+
+public class CrowdReviewReportItem {
+    private int index;
+    private String name;
+    private String original_id;
+    private String description;
+    private List<String>img_url;
+    private List<String>file_url;
+
+    public CrowdReviewReportItem(int index, String name, String original_id, String description, List<String> img_url, List<String> file_url) {
+        this.index = index;
+        this.name = name;
+        this.original_id = original_id;
+        this.description = description;
+        this.img_url = img_url;
+        this.file_url = file_url;
+    }
+    public CrowdReviewReportItem() {
+    }
+
+    public int getIndex() {
+        return index;
+    }
+
+    public void setIndex(int index) {
+        this.index = index;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getOriginal_id() {
+        return original_id;
+    }
+
+    public void setOrigin_id(String origin_id) {
+        this.original_id = origin_id;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public List<String> getImg_url() {
+        return img_url;
+    }
+
+    public void setImg_url(List<String> img_url) {
+        this.img_url = img_url;
+    }
+
+    public List<String> getFile_url() {
+        return file_url;
+    }
+
+    public void setFile_url(List<String> file_url) {
+        this.file_url = file_url;
+    }
+}

+ 31 - 0
src/main/java/edu/nju/model/CrowdReviewReportVO.java

@@ -0,0 +1,31 @@
+package edu.nju.model;
+
+public class CrowdReviewReportVO {
+
+    private String status;
+
+    private String message;
+
+    public CrowdReviewReportVO(String status, String message) {
+        this.status = status;
+        this.message = message;
+    }
+
+
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
+    public String getMessage() {
+        return message;
+    }
+
+    public void setMessage(String message) {
+        this.message = message;
+    }
+}

+ 1 - 3
src/main/java/edu/nju/vo/ReviewPaperVO.java → src/main/java/edu/nju/model/ReviewPaperVO.java

@@ -1,6 +1,4 @@
-package edu.nju.vo;
-
-import org.springframework.stereotype.Component;
+package edu.nju.model;
 
 
 public class ReviewPaperVO {

+ 37 - 11
src/main/java/edu/nju/service/ReviewPaperService.java

@@ -2,12 +2,13 @@ package edu.nju.service;
 
 import edu.nju.dao.*;
 import edu.nju.entities.*;
-import edu.nju.vo.ReviewPaperVO;
+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
@@ -55,9 +56,8 @@ public class ReviewPaperService {
         return reviewPaperDao.findPapers();
     }
 
-    public JSONObject initPaper(String reportString){
-        JSONObject object = new JSONObject();
-        JSONArray reportArray=new JSONArray(reportString);
+    public CrowdReviewReportVO uploadReport(CrowdReviewReportDTO crowdReviewReportDTO){
+        JSONArray reportArray= new JSONObject(crowdReviewReportDTO).getJSONArray("crowdReviewReportItems");
         try {
             String paperId = reviewPaperDao.save(new ReviewPaper());
             String paperJson=initPaperJson(reportArray);
@@ -67,14 +67,16 @@ public class ReviewPaperService {
                 saveReport(reportObject, paperId);
             }
             String testUrl="http://47.99.140.117:9090/changeAuditTask?id=";
-            object.put("status","success");
-            object.put("paperId",paperId);
-            object.put("url",testUrl+paperId);
+            return new CrowdReviewReportVO("success",testUrl+paperId);
+//            object.put("status","success");
+//            object.put("paperId",paperId);
+//            object.put("url",testUrl+paperId);
         } catch (Exception e) {
-            object.put("status","fail");
-            object.put("message",e.getMessage());
+            return new CrowdReviewReportVO("fail",e.getMessage());
+//            object.put("status","fail");
+//            object.put("message",e.getMessage());
         }
-        return object;
+//        return object;
     }
 
     private String initPaperJson(JSONArray reportArray) throws Exception{
@@ -94,6 +96,30 @@ public class ReviewPaperService {
         }
     }
 
+    public JSONObject uploadPaper(String paperJson){
+        JSONObject object = new JSONObject();
+        String result=checkPaper(paperJson);
+        if(!result.equals("success")){
+            object.put("status","fail");
+            object.put("message",result);
+            return object;
+        }
+        try {
+            JSONObject jsonObject = new JSONObject(paperJson);
+            ReviewPaperVO reviewPaperVO = getReviewPaperVO(jsonObject);
+            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 updatePaper(String paperId,String paperJson){
         JSONObject object = new JSONObject();
         String result=checkPaper(paperJson);