uncln 4 lat temu
rodzic
commit
a3fe91f4a3

+ 0 - 0
data-analysis/.gitignore → .gitignore


+ 0 - 0
data-analysis/.mvn/wrapper/maven-wrapper.jar → .mvn/wrapper/maven-wrapper.jar


+ 1 - 1
data-analysis/.mvn/wrapper/maven-wrapper.properties → .mvn/wrapper/maven-wrapper.properties

@@ -1,2 +1,2 @@
-distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.3/apache-maven-3.8.3-bin.zip
+distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.4/apache-maven-3.8.4-bin.zip
 wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar

+ 0 - 0
data-analysis/mvnw → mvnw


+ 0 - 0
data-analysis/mvnw.cmd → mvnw.cmd


+ 1 - 1
data-analysis/pom.xml → pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-parent</artifactId>
-        <version>2.6.2</version>
+        <version>2.6.3</version>
         <relativePath/> <!-- lookup parent from repository -->
     </parent>
     <groupId>com.seecoder</groupId>

+ 0 - 0
data-analysis/src/main/java/com/seecoder/dataanalysis/DataAnalysisApplication.java → src/main/java/com/seecoder/dataanalysis/DataAnalysisApplication.java


+ 2 - 1
data-analysis/src/main/java/com/seecoder/dataanalysis/data/dao/CompetencyTreeDao.java → src/main/java/com/seecoder/dataanalysis/data/dao/CompetencyTreeDao.java

@@ -1,7 +1,8 @@
 package com.seecoder.dataanalysis.data.dao;
 
-import com.seecoder.dataanalysis.data.entity.CompetencyTree;
+import com.seecoder.dataanalysis.data.entity.competency.CompetencyTree;
 import org.springframework.data.mongodb.repository.MongoRepository;
 
 public interface CompetencyTreeDao extends MongoRepository<CompetencyTree, String> {
+    CompetencyTree findAllByCompetencyId(int i);
 }

+ 3 - 4
data-analysis/src/main/java/com/seecoder/dataanalysis/data/entity/CompetencyTree.java → src/main/java/com/seecoder/dataanalysis/data/entity/competency/CompetencyTree.java

@@ -1,4 +1,4 @@
-package com.seecoder.dataanalysis.data.entity;
+package com.seecoder.dataanalysis.data.entity.competency;
 
 
 import lombok.AllArgsConstructor;
@@ -9,9 +9,8 @@ import org.springframework.data.annotation.Id;
 import org.springframework.data.mongodb.core.mapping.Document;
 
 import java.util.List;
-import java.util.Map;
 
-@Document(collection = "student")
+@Document(collection = "competency_tree")
 @NoArgsConstructor
 @AllArgsConstructor
 @Accessors(chain = true)
@@ -32,6 +31,6 @@ public class CompetencyTree {
     /**
      * 一级子能力树
      **/
-    private Map<String, List<KSDScore>> subCompetencyTree;
+    private List<KSDScore> subCompetencyTree;
 
 }

+ 23 - 0
src/main/java/com/seecoder/dataanalysis/data/entity/competency/DScore.java

@@ -0,0 +1,23 @@
+package com.seecoder.dataanalysis.data.entity.competency;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+@NoArgsConstructor
+@AllArgsConstructor
+@Accessors(chain = true)
+@Data
+public class DScore {
+
+    /**
+     * deposition 名称
+     */
+    private String name;
+
+    /**
+     * deposition 分数
+     */
+    private Double score;
+}

+ 11 - 6
data-analysis/src/main/java/com/seecoder/dataanalysis/data/entity/KSDScore.java → src/main/java/com/seecoder/dataanalysis/data/entity/competency/KSDScore.java

@@ -1,29 +1,34 @@
-package com.seecoder.dataanalysis.data.entity;
+package com.seecoder.dataanalysis.data.entity.competency;
 
 
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.experimental.Accessors;
-import org.springframework.data.mongodb.core.mapping.Document;
 
 import java.util.List;
-import java.util.Map;
 
-@Document(collection = "student")
 @NoArgsConstructor
 @AllArgsConstructor
 @Accessors(chain = true)
 @Data
 public class KSDScore {
 
+    /**
+     * 能力名称
+     **/
+    private String competency;
+    /**
+     * 总分
+     **/
+    private Double totalScore;
     /**
      * 知识-knowledge
      **/
-    private Map<String, List<Double>> knowledgeAndSkillScore;
+    private List<KSScore> KSScore;
 
     /**
      * 性情-deposition
      **/
-    private Map<String, Double> depositionAndScore;
+    private List<DScore> DScore;
 }

+ 25 - 0
src/main/java/com/seecoder/dataanalysis/data/entity/competency/KSScore.java

@@ -0,0 +1,25 @@
+package com.seecoder.dataanalysis.data.entity.competency;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.util.List;
+
+@NoArgsConstructor
+@AllArgsConstructor
+@Accessors(chain = true)
+@Data
+public class KSScore {
+
+    /**
+     * 知识点名称
+     */
+    private String knowledge;
+
+    /**
+     * 所在技能分数
+     */
+    private List<Double> skillsAndScore;
+}

+ 55 - 0
src/main/java/com/seecoder/dataanalysis/data/entity/eval/EvalExamInfo.java

@@ -0,0 +1,55 @@
+package com.seecoder.dataanalysis.data.entity.eval;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+import org.springframework.data.annotation.Id;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+import java.util.Map;
+
+@Document(collection = "exam_info")
+@NoArgsConstructor
+@AllArgsConstructor
+@Accessors(chain = true)
+@Data
+public class EvalExamInfo {
+
+    /**
+     * 试卷Id
+     */
+    @Id
+    private Integer examId;
+
+    /**
+     * 试卷总分
+     */
+    private double examScore;
+
+    /**
+     * 试题id及分值
+     */
+    private Map<Integer, Double> questionAndScore;
+
+    /**
+     * 试题难度
+     */
+    private Integer difficulty;
+
+    /**
+     * 试卷更新时间
+     */
+    private String updateTime;
+
+    /**
+     * 考试开始时间
+     */
+    private String startTime;
+
+    /**
+     * 考试结束时间
+     */
+    private String endTime;
+}

+ 32 - 0
src/main/java/com/seecoder/dataanalysis/data/entity/eval/EvalExamRecord.java

@@ -0,0 +1,32 @@
+package com.seecoder.dataanalysis.data.entity.eval;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+import org.springframework.data.annotation.Id;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+@Document(collection = "user")
+@NoArgsConstructor
+@AllArgsConstructor
+@Accessors(chain = true)
+@Data
+public class EvalExamRecord {
+
+    /**
+     * 试卷Id
+     */
+    @Id
+    private Integer examId;
+
+    /**
+     * 用户Id
+     */
+    private Integer userId;
+
+    /**
+     * 用户Id
+     */
+}

+ 28 - 0
src/main/java/com/seecoder/dataanalysis/data/entity/eval/User.java

@@ -0,0 +1,28 @@
+package com.seecoder.dataanalysis.data.entity.eval;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+import org.springframework.data.annotation.Id;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+@Document(collection = "user")
+@NoArgsConstructor
+@AllArgsConstructor
+@Accessors(chain = true)
+@Data
+public class User {
+
+    /**
+     * 学生ID
+     **/
+    @Id
+    private Integer userId;
+
+    /**
+     * 学生姓名
+     **/
+    private String username;
+}

+ 0 - 0
data-analysis/src/main/resources/application-dev.yml → src/main/resources/application-dev.yml


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

@@ -0,0 +1 @@
+

+ 0 - 0
data-analysis/src/main/resources/application.yml → src/main/resources/application.yml


+ 30 - 28
data-analysis/src/test/java/com/seecoder/dataanalysis/DataAnalysisApplicationTests.java → src/test/java/com/seecoder/dataanalysis/DataAnalysisApplicationTests.java

@@ -1,8 +1,10 @@
 package com.seecoder.dataanalysis;
 
 import com.seecoder.dataanalysis.data.dao.CompetencyTreeDao;
-import com.seecoder.dataanalysis.data.entity.CompetencyTree;
-import com.seecoder.dataanalysis.data.entity.KSDScore;
+import com.seecoder.dataanalysis.data.entity.competency.CompetencyTree;
+import com.seecoder.dataanalysis.data.entity.competency.DScore;
+import com.seecoder.dataanalysis.data.entity.competency.KSDScore;
+import com.seecoder.dataanalysis.data.entity.competency.KSScore;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
@@ -19,32 +21,32 @@ class DataAnalysisApplicationTests {
     @Autowired
     private CompetencyTreeDao competencyTreeDao;
 
-    @Test
-    void saveTree(){
-        Map<String, Double> depositionAndScore= new HashMap<>();
-        Map<String, List<Double>> knowledgeAndSkillScore = new HashMap<>();
-        Map<String, List<KSDScore>> tree = new HashMap<>();
-        List<KSDScore> subTrees = new ArrayList<>();
-        List<Double> score = new ArrayList<>();
-        score.add(50.0);
-        score.add(30.0);
-        score.add(20.0);
-        score.add(50.0);
-        score.add(30.0);
-        score.add(20.0);
-        knowledgeAndSkillScore.put("software testing in black box", score);
-        depositionAndScore.put("active", 50.0);
-        KSDScore ksdScore = new KSDScore()
-                .setDepositionAndScore(depositionAndScore)
-                .setKnowledgeAndSkillScore(knowledgeAndSkillScore);
-        subTrees.add(ksdScore);
-        tree.put("software testing", subTrees);
-        CompetencyTree competencyTree = new CompetencyTree()
-                .setCompetencyId(1)
-                .setStudentId(1)
-                .setSubCompetencyTree(tree);
-        competencyTreeDao.save(competencyTree);
-    }
+//    @Test
+//    void saveTree(){
+//        List<KSScore> L1 = new ArrayList<>();
+//        List<DScore> L2 = new ArrayList<>();
+//        KSScore ksScore = new KSScore()
+//                .setKnowledge("test1")
+//                .setSkills(null);
+//        DScore dScore = new DScore()
+//                .setName("active")
+//                .setScore(10.0);
+//        L1.add(ksScore);
+//        L2.add(dScore);
+//        KSDScore ksdScore = new KSDScore()
+//                .setCompetency("test")
+//                .setTotalScore(1000.0)
+//                .setDepositionAndScore(L2)
+//                .setKnowledgeAndSkillScore(L1);
+//        List<KSDScore> L3 = new ArrayList<>();
+//        L3.add(ksdScore);
+//        CompetencyTree competencyTree = new CompetencyTree()
+//                .setCompetencyId(1)
+//                .setStudentId(1)
+//                .setSubCompetencyTree(L3);
+//
+//        competencyTreeDao.save(competencyTree);
+//    }
 
 //    @Autowired
 //    private TestMongoDBStudentDao testMongoDBStudentDao;