Pārlūkot izejas kodu

解决知识点掌握率jpa session托管的bug

4228306 5 gadi atpakaļ
vecāks
revīzija
d37f5b8e1b

+ 14 - 8
src/main/java/com/yaoxiang/diagnosis/controller/TestController.java

@@ -299,21 +299,27 @@ public class TestController {
     }
 
     public byte[] calc3(List<PaperCommit> list, Paper p) {
-        List<SpecialResult> list1 = new ArrayList<>();
+        List<List<SpecialKnowledgeVo>> lists = new ArrayList<>();
 //        Table<String, String, Double> table = HashBasedTable.create();
 
         for (PaperCommit commit : list) {
+            List<SpecialKnowledgeVo> vos = new ArrayList<>();
             SpecialResult result = specialReportService.generate(commit.getPid(), commit.getUid(), false);
-            result.setKnowledges(result.getKnowledges().stream().filter(k -> k.getLevel() == 1 || k.getLevel() == 2).collect(Collectors.toList()));
-            logger.info("result knowledges size is {}", result.getKnowledges().size());
-            list1.add(result);
+            List<SpecialKnowledge> knowledges = result.getKnowledges();
+            knowledges.stream().filter(k -> k.getLevel() == 1 || k.getLevel() == 2).forEach(k->{
+                        SpecialKnowledgeVo vo = new SpecialKnowledgeVo();
+                        vo.setContent(k.getContent());
+                        vo.setLevel(k.getLevel());
+                        vo.setMaster(k.getMaster());
+                        vos.add(vo);
+            });
+            lists.add(vos);
         }
 //        List<TagMasterVo>vos = new ArrayList<>();
 
         Map<String, TagMasterVo> voMap = new LinkedHashMap<>();
-        for (SpecialResult result : list1) {
-            List<SpecialKnowledge> knowledges = result.getKnowledges();
-            for (SpecialKnowledge k : knowledges) {
+        for (List<SpecialKnowledgeVo> knowledges : lists) {
+            for (SpecialKnowledgeVo k : knowledges) {
                 TagMasterVo vo = voMap.getOrDefault(k.getContent(), new TagMasterVo());
                 vo.setContent(k.getContent());
                 vo.setLevel(k.getLevel());
@@ -324,7 +330,7 @@ public class TestController {
             }
         }
         logger.info(voMap.toString());
-        return ExportUtil.export3(list.size(),voMap.values());
+        return ExportUtil.export3(list.size(), voMap.values());
     }
 
 

+ 27 - 3
src/main/java/com/yaoxiang/diagnosis/model/SpecialKnowledgeVo.java

@@ -2,7 +2,31 @@ package com.yaoxiang.diagnosis.model;
 
 public class SpecialKnowledgeVo {
 
-    private Long id;
-    private Integer collectNum;
-    private Integer questionNum;
+    private String content;
+    private Integer level;
+    private Double master;
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+
+    public Integer getLevel() {
+        return level;
+    }
+
+    public void setLevel(Integer level) {
+        this.level = level;
+    }
+
+    public Double getMaster() {
+        return master;
+    }
+
+    public void setMaster(Double master) {
+        this.master = master;
+    }
 }