Sfoglia il codice sorgente

fix: 修改并统一变量名

181250114@smail.nju.edu.cn 4 anni fa
parent
commit
7f3b2891f1

+ 32 - 33
src/main/java/com/seecoder/dataanalysis/analysis/impl/EvalDataAnalysisServiceImpl.java

@@ -2,7 +2,6 @@ package com.seecoder.dataanalysis.analysis.impl;
 
 import cn.seecoder.bok.common.vo.QuestionVO;
 import com.seecoder.dataanalysis.analysis.EvalDataAnalysisService;
-import com.seecoder.dataanalysis.controller.EvalController;
 import com.seecoder.dataanalysis.data.dao.competency.CompetencyTreeDao;
 import com.seecoder.dataanalysis.data.dao.eval.EvalExamInfoDao;
 import com.seecoder.dataanalysis.data.dao.eval.EvalExamRecordDao;
@@ -63,34 +62,34 @@ public class EvalDataAnalysisServiceImpl implements EvalDataAnalysisService {
         modelTree.setUserId(userId);
         modelTree.setTreeScore(competencyTree.getTreeScore());
 
-        List<KSDScore> modelKSD = modelTree.getSubCompetencyTree();
-        List<KSDScore> tarKSD = competencyTree.getSubCompetencyTree();
+        List<KSDScore> modelKSD = modelTree.getTableData();
+        List<KSDScore> tarKSD = competencyTree.getTableData();
 
         dfsInit(tarKSD,modelKSD);
 
-        modelTree.setSubCompetencyTree(modelKSD);
+        modelTree.setTableData(modelKSD);
 
         return modelTree;
     }
 
     void dfsInit(List<KSDScore> tarKSD,List<KSDScore> modelKSD){
         for(KSDScore ksdScore :tarKSD){
-            String tarCom1 = ksdScore.getCompetency();
+            String tarCom1 = ksdScore.getName();
             //寻找在modelTree中对应的部分
             for(KSDScore ksdModel : modelKSD){
-                if(ksdModel.getCompetency().equals(tarCom1)){
+                if(ksdModel.getName().equals(tarCom1)){
                     //修改总分数
-                    ksdModel.setTotalScore(ksdScore.getTotalScore());
+                    ksdModel.setScore(ksdScore.getScore());
                     //修改skills分数
-                    List<Double> after = ksdModel.getSkillsAndScores();
-                    for(int i=0;i<ksdScore.getSkillsAndScores().size();i++){
-                        after.set(i,ksdScore.getSkillsAndScores().get(i));
+                    List<Double> after = ksdModel.getSkills();
+                    for(int i = 0; i<ksdScore.getSkills().size(); i++){
+                        after.set(i,ksdScore.getSkills().get(i));
                     }
-                    ksdModel.setSkillsAndScores(after);
+                    ksdModel.setSkills(after);
                     //修改Disposition分数
-                    if(ksdModel.getDScore()!=null && ksdModel.getDScore().size()>0){
-                        for(DScore dScore :ksdScore.getDScore()){
-                            for(DScore dModel : ksdModel.getDScore()){
+                    if(ksdModel.getDisposition()!=null && ksdModel.getDisposition().size()>0){
+                        for(DScore dScore :ksdScore.getDisposition()){
+                            for(DScore dModel : ksdModel.getDisposition()){
                                 if(dScore.getName().equals(dModel.getName())){
                                     dModel.setScore(dScore.getScore());
                                     break;
@@ -136,7 +135,7 @@ public class EvalDataAnalysisServiceImpl implements EvalDataAnalysisService {
         }
 
         //数据取完,开始进行KSD分析和入库
-        List<KSDScore> subTree = competencyTree.getSubCompetencyTree();
+        List<KSDScore> subTree = competencyTree.getTableData();
         //难度由1-5,分别对应1.0, 1.25, 1.5, 1.75, 2.0的得分系数
         Integer difficulty = evalExamInfo.getDifficulty();
         String disposition = evalExamInfo.getDisposition();
@@ -165,7 +164,7 @@ public class EvalDataAnalysisServiceImpl implements EvalDataAnalysisService {
                 if(coms.length > 1){
                     String com2 = coms[1];
                     for(;index1<subTree.size();index1++){
-                        if(subTree.get(index1).getCompetency().equals(com1)){
+                        if(subTree.get(index1).getName().equals(com1)){
                             break;
                         }
                     }
@@ -178,7 +177,7 @@ public class EvalDataAnalysisServiceImpl implements EvalDataAnalysisService {
                     int index2 = 0;
                     for(;index2<subTree.get(index1).getChildren().size();index2++){
 //                        System.out.println(subTree.get(index1).getChildren().get(index2).getCompetency());
-                        if(subTree.get(index1).getChildren().get(index2).getCompetency().split("\\.")[1].equals(com2)){
+                        if(subTree.get(index1).getChildren().get(index2).getName().split("\\.")[1].equals(com2)){
                             break;
                         }
                     }
@@ -190,7 +189,7 @@ public class EvalDataAnalysisServiceImpl implements EvalDataAnalysisService {
 
         //处理完考试中的每个问题后,更新能力树
         competencyTree.setTreeScore(tree_Score);
-        competencyTree.setSubCompetencyTree(subTree);
+        competencyTree.setTableData(subTree);
         competencyTreeDao.save(competencyTree);
 
         return competencyTree;
@@ -223,7 +222,7 @@ public class EvalDataAnalysisServiceImpl implements EvalDataAnalysisService {
         }
 
         //数据取完,开始进行KSD分析和入库
-        List<KSDScore> subTree = competencyTree.getSubCompetencyTree();
+        List<KSDScore> subTree = competencyTree.getTableData();
         //难度由1-5,分别对应1.0, 1.25, 1.5, 1.75, 2.0的得分系数
         Integer difficulty = evalExamInfo.getDifficulty();
         String disposition = evalExamInfo.getDisposition();
@@ -258,7 +257,7 @@ public class EvalDataAnalysisServiceImpl implements EvalDataAnalysisService {
                 if(coms.length > 1){
                     String com2 = coms[1];
                     for(;index1<subTree.size();index1++){
-                        if(subTree.get(index1).getCompetency().equals(com1)){
+                        if(subTree.get(index1).getName().equals(com1)){
                             break;
                         }
                     }
@@ -269,7 +268,7 @@ public class EvalDataAnalysisServiceImpl implements EvalDataAnalysisService {
                     String com3 = coms[2];
                     int index2 = 0;
                     for(;index2<subTree.get(index1).getChildren().size();index2++){
-                        if(subTree.get(index1).getChildren().get(index2).getCompetency().split("\\.")[1].equals(com2)){
+                        if(subTree.get(index1).getChildren().get(index2).getName().split("\\.")[1].equals(com2)){
                             break;
                         }
                     }
@@ -281,7 +280,7 @@ public class EvalDataAnalysisServiceImpl implements EvalDataAnalysisService {
 
         //处理完考试中的每个问题后,更新能力树
         competencyTree.setTreeScore(tree_Score);
-        competencyTree.setSubCompetencyTree(subTree);
+        competencyTree.setTableData(subTree);
         competencyTreeDao.save(competencyTree);
 
         return competencyTree;
@@ -293,7 +292,7 @@ public class EvalDataAnalysisServiceImpl implements EvalDataAnalysisService {
         KSDScore changeKSD = new KSDScore();
         for (KSDScore ksdScore : sub) {
 //            System.out.println(ksdScore.getCompetency());
-            if (ksdScore.getCompetency().equals(pre+com)) {
+            if (ksdScore.getName().equals(pre+com)) {
                 existCom = true;
                 changeKSD = ksdScore;
                 break;
@@ -305,25 +304,25 @@ public class EvalDataAnalysisServiceImpl implements EvalDataAnalysisService {
             List<Double> addS = Arrays.asList(ds);
             List<KSDScore> addChild = new ArrayList<>();
 
-            changeKSD.setCompetency(pre+com);
-            changeKSD.setTotalScore(0.0);
-            changeKSD.setSkillsAndScores(addS);
-            changeKSD.setDScore(addD);
+            changeKSD.setName(pre+com);
+            changeKSD.setScore(0.0);
+            changeKSD.setSkills(addS);
+            changeKSD.setDisposition(addD);
             changeKSD.setChildren(addChild);
         }
-        Double totalScore = changeKSD.getTotalScore();
+        Double totalScore = changeKSD.getScore();
         totalScore += addScore;
-        changeKSD.setTotalScore(totalScore);
+        changeKSD.setScore(totalScore);
         //增加Skills
-        List<Double> skillsAndScore = changeKSD.getSkillsAndScores();
+        List<Double> skillsAndScore = changeKSD.getSkills();
         Double skillScore = skillsAndScore.get(weight-1);
         skillScore += addScore;
         skillsAndScore.set(weight-1,skillScore);
-        changeKSD.setSkillsAndScores(skillsAndScore);
+        changeKSD.setSkills(skillsAndScore);
         //增加Disposition
         if(disposition != null){
             boolean existD = false;
-            List<DScore> subD = changeKSD.getDScore();
+            List<DScore> subD = changeKSD.getDisposition();
             DScore changeD = new DScore();
             for (DScore dScore : subD) {
                 if (dScore.getName().equals(disposition)) {
@@ -342,7 +341,7 @@ public class EvalDataAnalysisServiceImpl implements EvalDataAnalysisService {
             if (!existD) {
                 subD.add(changeD);
             }
-            changeKSD.setDScore(subD);
+            changeKSD.setDisposition(subD);
         }else {
             System.out.println("disposition信息不存在");
         }

+ 7 - 7
src/main/java/com/seecoder/dataanalysis/analysis/impl/RecommendServiceImpl.java

@@ -64,12 +64,12 @@ public class RecommendServiceImpl implements RecommendService {
         Map<String,Double> knowlegdeAndScores = new HashMap<>();
         for(String tarKnow :tarKnows){
             String[] tars = tarKnow.split("\\.");
-            List<KSDScore> ksdScoreList = competencyTree.getSubCompetencyTree();
+            List<KSDScore> ksdScoreList = competencyTree.getTableData();
             for(KSDScore ksdScore : ksdScoreList){
                 //先匹配最外层
-                if(ksdScore.getCompetency().equals(tars[0])){
+                if(ksdScore.getName().equals(tars[0])){
                     if(!knowlegdeAndScores.containsKey(tars[0])){
-                        knowlegdeAndScores.put(tars[0],ksdScore.getTotalScore());
+                        knowlegdeAndScores.put(tars[0],ksdScore.getScore());
                     }
                     //再匹配第二层
                     //TODO 完善匹配机制
@@ -77,13 +77,13 @@ public class RecommendServiceImpl implements RecommendService {
                     //将分支下所有子分支都添加
                     if(ksdScore.getChildren()!=null&&ksdScore.getChildren().size()>0){
                         for(KSDScore subKSD1 : ksdScore.getChildren()){
-                            if(!knowlegdeAndScores.containsKey(subKSD1.getCompetency())){
-                                knowlegdeAndScores.put(subKSD1.getCompetency(),subKSD1.getTotalScore());
+                            if(!knowlegdeAndScores.containsKey(subKSD1.getName())){
+                                knowlegdeAndScores.put(subKSD1.getName(),subKSD1.getScore());
                             }
                             if(subKSD1.getChildren()!=null&&subKSD1.getChildren().size()>0){
                                 for(KSDScore subKSD2 : subKSD1.getChildren()){
-                                    if(!knowlegdeAndScores.containsKey(subKSD2.getCompetency())){
-                                        knowlegdeAndScores.put(subKSD2.getCompetency(),subKSD2.getTotalScore());
+                                    if(!knowlegdeAndScores.containsKey(subKSD2.getName())){
+                                        knowlegdeAndScores.put(subKSD2.getName(),subKSD2.getScore());
                                     }
                                 }
                             }

+ 23 - 24
src/main/java/com/seecoder/dataanalysis/data/entity/competency/CompetencyTree.java

@@ -3,7 +3,6 @@ package com.seecoder.dataanalysis.data.entity.competency;
 
 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;
@@ -35,17 +34,17 @@ public class CompetencyTree {
     /**
      * 一级子能力树
      **/
-    @Field("sub_competency_tree")
-    private List<KSDScore> subCompetencyTree;
+    @Field("tableData")
+    private List<KSDScore> tableData;
 
 
     public CompetencyTree(){
-        this.subCompetencyTree = new ArrayList<>();
+        this.tableData = new ArrayList<>();
     }
 
     public CompetencyTree(Integer userId){
         this.userId = userId;
-        this.subCompetencyTree = new ArrayList<>();
+        this.tableData = new ArrayList<>();
         this.treeScore = 0.0;
     }
 
@@ -108,32 +107,32 @@ public class CompetencyTree {
         List<String> dispositions = competencies.getDispositions();
         this.userId = -1;
         this.treeScore = 0.0;
-        this.subCompetencyTree = new ArrayList<>();
+        this.tableData = new ArrayList<>();
 
         for(int i=0;i<knowledges.size();i++){
             String[] coms = knowledges.get(i).split("\\.");
             String com1 = coms[0];
-            dfs(this.subCompetencyTree,dispositions,"",com1);
+            dfs(this.tableData,dispositions,"",com1);
             int index1 = 0;
             if(coms.length > 1){
                 String com2 = coms[1];
-                for(;index1<this.subCompetencyTree.size();index1++){
-                    if(this.subCompetencyTree.get(index1).getCompetency().equals(com1)){
+                for(;index1<this.tableData.size();index1++){
+                    if(this.tableData.get(index1).getName().equals(com1)){
                         break;
                     }
                 }
-                dfs(this.subCompetencyTree.get(index1).getChildren(),dispositions,com1+".",com2);
+                dfs(this.tableData.get(index1).getChildren(),dispositions,com1+".",com2);
             }
             if(coms.length > 2){
                 String com2 = coms[1];
                 String com3 = coms[2];
                 int index2 = 0;
-                for(;index2<this.subCompetencyTree.get(index1).getChildren().size();index2++){
-                    if(this.subCompetencyTree.get(index1).getChildren().get(index2).getCompetency().split("\\.")[1].equals(com2)){
+                for(;index2<this.tableData.get(index1).getChildren().size();index2++){
+                    if(this.tableData.get(index1).getChildren().get(index2).getName().split("\\.")[1].equals(com2)){
                         break;
                     }
                 }
-                dfs(this.subCompetencyTree.get(index1).getChildren().get(index2).getChildren(),dispositions,com1+"."+com2+".",com3);
+                dfs(this.tableData.get(index1).getChildren().get(index2).getChildren(),dispositions,com1+"."+com2+".",com3);
             }
         }
 
@@ -154,7 +153,7 @@ public class CompetencyTree {
         boolean existCom = false;
         KSDScore changeKSD = new KSDScore();
         for (KSDScore ksdScore : sub) {
-            if (ksdScore.getCompetency().equals(pre+com)) {
+            if (ksdScore.getName().equals(pre+com)) {
                 existCom = true;
                 changeKSD = ksdScore;
                 break;
@@ -167,17 +166,17 @@ public class CompetencyTree {
             List<KSDScore> addChild = new ArrayList<>();
 
 //            String total = pre+"";
-            changeKSD.setCompetency(pre+com);
-            changeKSD.setTotalScore(0.0);
-            changeKSD.setSkillsAndScores(addS);
-            changeKSD.setDScore(addD);
+            changeKSD.setName(pre+com);
+            changeKSD.setScore(0.0);
+            changeKSD.setSkills(addS);
+            changeKSD.setDisposition(addD);
             changeKSD.setChildren(addChild);
         }
 
         if(dis!=null&&dis.size()>0){
             for(String disposition : dis){
                 boolean existD = false;
-                List<DScore> subD = changeKSD.getDScore();
+                List<DScore> subD = changeKSD.getDisposition();
                 DScore changeD = new DScore();
                 for (DScore dScore : subD) {
                     if (dScore.getName().equals(disposition)) {
@@ -194,7 +193,7 @@ public class CompetencyTree {
                 if (!existD) {
                     subD.add(changeD);
                 }
-                changeKSD.setDScore(subD);
+                changeKSD.setDisposition(subD);
             }
         }else {
             System.out.println("disposition信息不存在");
@@ -210,14 +209,14 @@ public class CompetencyTree {
     public void display(){
         System.out.println(this.userId);
         System.out.println(this.treeScore);
-        for(KSDScore ksdScore : this.subCompetencyTree){
-            System.out.println(ksdScore.getCompetency());
-            System.out.println(ksdScore.getTotalScore());
+        for(KSDScore ksdScore : this.tableData){
+            System.out.println(ksdScore.getName());
+            System.out.println(ksdScore.getScore());
 //            for(KSScore ksScore : ksdScore.getKSScore()){
 //                System.out.print(ksScore.getKnowledge()+" "+ksScore.getSkillsAndScore()+" ");
 //            }
             System.out.println();
-            for(DScore dScore : ksdScore.getDScore()){
+            for(DScore dScore : ksdScore.getDisposition()){
                 System.out.print(dScore.getName()+" ");
                 System.out.println(dScore.getScore());
             }

+ 10 - 9
src/main/java/com/seecoder/dataanalysis/data/entity/competency/KSDScore.java

@@ -18,13 +18,14 @@ public class KSDScore {
     /**
      * 能力名称-knowledge
      **/
-    @Field("competency")
-    private String competency;
+    @Field("name")
+    private String name;
+
     /**
      * 总分
      **/
-    @Field("total_score")
-    private Double totalScore;
+    @Field("score")
+    private Double score;
 
 //    /**
 //     * 知识-knowledge
@@ -35,18 +36,18 @@ public class KSDScore {
     /**
      * 性情-deposition
      **/
-    @Field("d_score")
-    private List<DScore> DScore;
+    @Field("disposition")
+    private List<DScore> disposition;
 
     /**
      * 技能(掌握程度)-skills
      */
-    @Field("s_score")
-    private List<Double> SkillsAndScores;
+    @Field("skills")
+    private List<Double> skills;
 
     /**
      * 能力子分支
      */
-    @Field("sub_com")
+    @Field("children")
     private List<KSDScore> children;
 }