uncln 5 лет назад
Родитель
Сommit
76aa55be5c

+ 24 - 15
seec-data-server/src/main/java/cn/seecoder/data/server/service/Impl/KnowledgeServiceImpl.java

@@ -43,15 +43,16 @@ public class KnowledgeServiceImpl implements KnowledgeService {
             KnowledgeOnPositionDao knowledge = knowledgeOnPositionDaos.get(i);
             if(knowledge.getIsleaf()==0)
                 continue;
-            if(knowledgeOnPositionDaos.get(i).getId()==knowledgeOnPositionDaos.get(i-1).getId()){
+            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{
                 knowledgeVOS.add(knowledgeVO);
                 knowledgeVO = new KnowledgeVO(knowledgeOnPositionDaos.get(i));
+
             }
         }
-        System.out.println();
         return knowledgeVOS;
     }
 
@@ -59,19 +60,21 @@ public class KnowledgeServiceImpl implements KnowledgeService {
         ArrayList<KnowledgeOnPositionDao> ans = new ArrayList<>();
         for(int i=0;i<knowledgeOnPositionList.size();i++){
             Object[] tempDaos = (Object[]) knowledgeOnPositionList.get(i);
-            if(tempDaos.length>10)
-                ans.add(KnowledgeOnPositionDao.builder()
-                    .id(Integer.valueOf(tempDaos[0].toString()))
-                    .name(tempDaos[1].toString())
-                    .nameEng(tempDaos[2].toString())
-                    .abbreviation(tempDaos[3].toString())
-                    .parentId(Integer.valueOf(tempDaos[4].toString()))
-                    .parentName(tempDaos[5].toString())
-                    .pid(Integer.valueOf(tempDaos[6].toString()))
-                    .uid(Integer.valueOf(tempDaos[7].toString()))
-                    .isleaf(Integer.valueOf(tempDaos[8].toString()))
-                    .position(tempDaos[9]==null?"":tempDaos[9].toString())
-                    .weight(tempDaos[10]==null?0:Double.valueOf(tempDaos[10].toString())).build());
+            KnowledgeOnPositionDao knowledgeOnPositionDao = (KnowledgeOnPositionDao.builder()
+                .id(Integer.valueOf(tempDaos[0].toString()))
+                .name(tempDaos[1].toString())
+                .nameEng(tempDaos[2].toString())
+                .abbreviation(tempDaos[3].toString())
+                .parentId(Integer.valueOf(tempDaos[4].toString()))
+                .parentName(tempDaos[5].toString())
+                .pid(Integer.valueOf(tempDaos[6].toString()))
+                .uid(Integer.valueOf(tempDaos[7].toString()))
+                .isleaf(Integer.valueOf(tempDaos[8].toString())).build());
+            if(tempDaos[9]!=null && tempDaos[10]!=null){
+                knowledgeOnPositionDao.setPosition(tempDaos[9].toString());
+                knowledgeOnPositionDao.setWeight(Double.valueOf(tempDaos[10].toString()));
+            }
+            ans.add(knowledgeOnPositionDao);
         }
         return ans;
     }
@@ -168,6 +171,12 @@ public class KnowledgeServiceImpl implements KnowledgeService {
         return root;
     }
 
+    @Override
+    public Map<String, Integer> getKnowledgeWeekCount(int userId) {
+
+        return null;
+    }
+
     private KnowledgePointVO addScoreToNode(KnowledgePointVO root, Double score, Double scoreTotal, QuestionVO questionInfo,String knowledege,int deep) {
         String[] nodeKnowledge = knowledege.split("\\.");
         double[] questionWeight = {1,1,1,1,05,1.1};

+ 8 - 0
seec-data-server/src/main/java/cn/seecoder/data/server/service/KnowledgeService.java

@@ -2,8 +2,10 @@ package cn.seecoder.data.server.service;
 
 import cn.seecoder.data.server.vo.knowledge.KnowledgePointVO;
 import cn.seecoder.data.server.vo.knowledge.KnowledgeVO;
+import cn.seecoder.data.server.vo.knowledge.KnowledgeWeekVO;
 
 import java.util.List;
+import java.util.Map;
 
 public interface KnowledgeService {
 
@@ -27,4 +29,10 @@ public interface KnowledgeService {
      */
 
     public KnowledgePointVO getTreeByPositionAndUser(String position, int userId);
+
+    /**
+     * 获取用户周报相关数据
+     */
+    public Map<String,Integer> getKnowledgeWeekCount(int userId);
+
 }

+ 2 - 1
seec-data-server/src/main/java/cn/seecoder/data/server/vo/knowledge/KnowledgeVO.java

@@ -31,6 +31,7 @@ public class KnowledgeVO{
         this.uid = knowledgeOnPositionDao.getUid();
         this.pid = knowledgeOnPositionDao.getPid();
         this.weightOnPosition = new HashMap<>();
-        weightOnPosition.put(knowledgeOnPositionDao.getPosition(),knowledgeOnPositionDao.getWeight());
+        if(knowledgeOnPositionDao.getPosition()!=null && knowledgeOnPositionDao.getWeight()!=0)
+            weightOnPosition.put(knowledgeOnPositionDao.getPosition(),knowledgeOnPositionDao.getWeight());
     }
 }