Quellcode durchsuchen

更改报告源

梅杰 vor 5 Jahren
Ursprung
Commit
d859566cbf

+ 1 - 1
deploy.sh

@@ -1,4 +1,4 @@
 #!/bin/sh
 unzip -o /Users/major/Downloads/sgns.wiki.word.zip -d /Users/major/Downloads/
 
-java -Djava.security.egd=file:/dev/./urandom -jar -Dspring.profiles.active=test /project/crowd_review.jar
+java -Djava.security.egd=file:/dev/./urandom -Xms800m -Xmx1g -jar -Dspring.profiles.active=test /project/crowd_review.jar

+ 1 - 2
src/main/java/com/mooctest/controller/HelloController.java

@@ -28,8 +28,7 @@ public class HelloController {
     @RequestMapping("/hello")
     public List<Double> hello(@RequestParam String algorithm) {
 
-        List<ReportDTO> reports = bugReportService.getReports(2613, 1489);
-        List<BugDTO> bugs = bugReportService.mergeAllBugs(reports);
+        List<BugDTO> bugs = bugReportService.getAllBugs(2613, 1489);
 
         ClusterAnalyzer<String> analyzer = new ClusterAnalyzer<String>();
         bugs.forEach(bugDTO -> analyzer.addDocument(bugDTO.getId(), bugDTO.getDescription()));

+ 1 - 2
src/main/java/com/mooctest/controller/TestController.java

@@ -30,8 +30,7 @@ public class TestController {
     @GetMapping("/test")
     public String test() {
 
-        List<ReportDTO> reports = bugReportService.getReports(2613, 1489);
-        List<BugDTO> bugs = bugReportService.mergeAllBugs(reports);
+        List<BugDTO> bugs = bugReportService.getAllBugs(2613, 1489);
 
         MyClusterAnalyzer<String> analyzer = new MyClusterAnalyzer<String>();
         bugs.forEach(bugDTO -> analyzer.addDocument(bugDTO.getId(), bugDTO.getDescription()));

+ 10 - 0
src/main/java/com/mooctest/dao/BugDao.java

@@ -0,0 +1,10 @@
+package com.mooctest.dao;
+
+import com.mooctest.model.Bug;
+import org.springframework.data.mongodb.repository.MongoRepository;
+
+import java.util.List;
+
+public interface BugDao extends MongoRepository<Bug, String> {
+    List<Bug> findByCaseTakeId(String caseTakeId);
+}

+ 0 - 2
src/main/java/com/mooctest/data/BugDTO.java

@@ -13,7 +13,6 @@ import java.util.List;
 @Data
 public class BugDTO{
     private String id;
-    private String reportId;
     private String caseTakeId;
     private String bugCategory;
     private String description;
@@ -22,7 +21,6 @@ public class BugDTO{
     private List<String> path;
     private String[] imgUrls;
     private String createTimeMillis;
-    private Short delete;
     private List<SentenceDTO> taggedSentences;
     private List<ImgDTO> taggedImgs;
     private int status = 0;

+ 47 - 0
src/main/java/com/mooctest/model/Bug.java

@@ -0,0 +1,47 @@
+package com.mooctest.model;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.data.annotation.Id;
+import org.springframework.data.mongodb.core.mapping.Document;
+import org.springframework.data.mongodb.core.mapping.Field;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@Document(collection = "bug")
+public class Bug {
+
+    @Id
+    private String id;
+
+    @Field("case_take_id")
+    private String caseTakeId;
+
+    @Field("report_id")
+    private String reportId;
+
+    private String description;
+
+    @Field("img_url")
+    private String imgUrls;
+
+    private short severity;
+
+    private short recurrent;
+
+    @Field("bug_category")
+    private String bugCategory;
+
+    @Field("create_time_millis")
+    private String createTimeMillis;
+
+    @Field("bug_page")
+    private String bugPage;
+
+    @Field("case_id")
+    private String caseId;
+}

+ 2 - 5
src/main/java/com/mooctest/service/AggregationService.java

@@ -40,9 +40,7 @@ public class AggregationService {
 
     public void aggregate(long examId, long caseId) {
         downImg(examId, caseId);
-        List<ReportDTO> reports = bugReportService.getReports(examId, caseId);
-//        List<ReportDTO> reports = bugReportService.getReports(2614, 1490);
-        List<BugDTO> bugs = bugReportService.mergeAllBugs(reports);
+        List<BugDTO> bugs = bugReportService.getAllBugs(examId, caseId);
 
         ClusterAnalyzer<String> analyzer = new ClusterAnalyzer<>();
         List<String> bugIds = bugs.stream().map(BugDTO::getId).collect(Collectors.toList());
@@ -111,8 +109,7 @@ public class AggregationService {
     private void downImg(long examId, long caseId) {
 
         String taskId = examId + "_" + caseId;
-        List<ReportDTO> reports = bugReportService.getReports(examId, caseId);
-        List<BugDTO> bugs = bugReportService.mergeAllBugs(reports);
+        List<BugDTO> bugs = bugReportService.getAllBugs(examId, caseId);
 
         bugs.forEach(bug -> {
             if (bug.getImgUrls() != null && bug.getImgUrls().length > 0) {

+ 36 - 13
src/main/java/com/mooctest/service/impl/BugReportServiceImpl.java

@@ -2,12 +2,14 @@ package com.mooctest.service.impl;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
-import com.fasterxml.jackson.annotation.JsonAlias;
+import com.mooctest.dao.BugDao;
 import com.mooctest.data.BugDTO;
 import com.mooctest.data.ReportDTO;
+import com.mooctest.model.Bug;
 import com.mooctest.service.BugReportService;
 import com.mooctest.util.HttpUtil;
 import com.mooctest.util.MongoAPIUtil;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpEntity;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpMethod;
@@ -28,6 +30,9 @@ import static java.util.stream.Collectors.toMap;
 @Service
 public class BugReportServiceImpl implements BugReportService {
 
+    @Autowired
+    BugDao bugDao;
+
     public List<ReportDTO> getReports(long examId, long caseId) {
 
         HttpHeaders headers = MongoAPIUtil.createAuthHeaderForMongo();
@@ -67,7 +72,34 @@ public class BugReportServiceImpl implements BugReportService {
     }
 
     public List<BugDTO> getAllBugs(long examId, long caseId) {
-        return mergeAllBugs(getReports(examId, caseId));
+        String caseTakeId = caseId + "-" + examId;
+        List<Bug> bugs = bugDao.findByCaseTakeId(caseTakeId);
+        return wrapList(bugs);
+    }
+
+    private List<BugDTO> wrapList(List<Bug> bugs) {
+
+        return bugs.parallelStream()
+                .map(bug -> wrap(bug))
+                .collect(Collectors.toList());
+    }
+
+    private BugDTO wrap(Bug bug) {
+        String[] imgUrls = new String[0];
+        if (bug.getImgUrls() != null && !bug.getImgUrls().equals("")) {
+
+            imgUrls = bug.getImgUrls().split(",");
+        }
+        return BugDTO.builder()
+                .id(bug.getId())
+                .bugCategory(bug.getBugCategory())
+                .caseTakeId(bug.getCaseTakeId())
+                .createTimeMillis(bug.getCreateTimeMillis())
+                .description(bug.getDescription())
+                .imgUrls(imgUrls)
+                .recurrent(bug.getRecurrent())
+                .severity(bug.getSeverity())
+                .build();
     }
 
     public Map<String, BugDTO> getAllBugsMap(long examId, long caseId) {
@@ -75,19 +107,10 @@ public class BugReportServiceImpl implements BugReportService {
         return bugs.stream().collect(toMap(BugDTO::getId, Function.identity()));
     }
 
-    public BugDTO getBugById(String bugId) {
-        RestTemplate rt = HttpUtil.getRestTemplate();
-        String url = "http://localhost:8080/api/kibug/bug/" + bugId;
-        ResponseEntity<String> resp = rt.getForEntity(url, String.class);
-        JSONObject body = JSONObject.parseObject(resp.getBody());
-        JSONObject bug = (JSONObject) body.get("data");
-        return bug.toJavaObject(BugDTO.class);
-
-    }
 
     public BugDTO getBugById(String bugId, long examId, long caseId) {
-        return getAllBugsMap(examId, caseId).get(bugId);
-
+        Bug bug = bugDao.findOne(bugId);
+        return wrap(bug);
     }
 
     public Map<String, List<BugDTO>> getMasterBugMap(Map<String, List<String>> masterBugIdsMap, Map<String, BugDTO> bugsMap) {

+ 1 - 1
src/main/resources/application.yml

@@ -20,7 +20,7 @@ spring:
         cache: false
     data:
       mongodb:
-        uri: mongodb://localhost:27017/crowd_review
+        uri: mongodb://localhost:27017/co-report
 server:
     port: 8090
 logging:

+ 0 - 1
src/main/resources/hanlp.properties

@@ -1 +0,0 @@
-root=/Users/major/Downloads