소스 검색

fix:知识点树

uncln 5 년 전
부모
커밋
f7cf6c9c49
1개의 변경된 파일6개의 추가작업 그리고 5개의 파일을 삭제
  1. 6 5
      seec-data-server/src/main/java/cn/seecoder/data/server/service/Impl/KnowledgeServiceImpl.java

+ 6 - 5
seec-data-server/src/main/java/cn/seecoder/data/server/service/Impl/KnowledgeServiceImpl.java

@@ -50,7 +50,6 @@ public class KnowledgeServiceImpl implements KnowledgeService {
             if(knowledge.getIsleaf()==0)
                 continue;
             if(knowledgeOnPositionDaos.get(i).getId()==knowledgeOnPositionDaos.get(i-1).getId() && knowledge.getPosition()!=null && knowledge.getWeight()!=0){
-                System.out.println(knowledge);
                 knowledgeVO.getWeightOnPosition().put(knowledge.getPosition(),knowledge.getWeight());
             }
             else{
@@ -160,9 +159,11 @@ public class KnowledgeServiceImpl implements KnowledgeService {
         for(int i=0;i<knowledgeOnPositionList.size();i++){
             Object[] tempDaos = (Object[]) knowledgeOnPositionList.get(i);
             PositionWeightDao positionWeightDao = PositionWeightDao.builder()
-                    .knowledgeId(Integer.valueOf(tempDaos[0].toString()))
-                    .position(tempDaos[9].toString())
-                    .weight(Double.valueOf(tempDaos[10].toString())).build();
+                    .knowledgeId(Integer.valueOf(tempDaos[0].toString())).build();
+            if(tempDaos[9]!=null && tempDaos[10]!=null){
+                positionWeightDao.setPosition(tempDaos[9].toString());
+                positionWeightDao.setWeight(Double.valueOf(tempDaos[10].toString()));
+            }
             ans.add(positionWeightDao);
         }
         return ans;
@@ -243,7 +244,7 @@ public class KnowledgeServiceImpl implements KnowledgeService {
         for(int i=1;i<deep && i<nodeKnowledge.length;i++)
             now = now + "." + nodeKnowledge[i];
         root.setQuestionsNumDone(root.getQuestionsNumDone()+1);
-        if(root.getLeafWeight()==0){
+        if(root.getLeafWeight()==0 && root.getKnowledgePointVOs()!=null){
             KnowledgePointVO nextNode = root.getKnowledgePointVOs().get(getAbbOnVO(root.getKnowledgePointVOs()).indexOf(now));
             KnowledgePointVO leafNode = addScoreToNode(nextNode,score,scoreTotal,questionInfo,knowledege,deep+1);
             double weight = leafNode.getLeafWeight();