gaodm 6 лет назад
Родитель
Сommit
8382ccfab5
1 измененных файлов с 12 добавлено и 12 удалено
  1. 12 12
      icss-service/src/main/java/com/diagbot/facade/RetrievalFacade.java

+ 12 - 12
icss-service/src/main/java/com/diagbot/facade/RetrievalFacade.java

@@ -10,7 +10,6 @@ import org.springframework.web.bind.annotation.RequestBody;
 
 import javax.validation.Valid;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -40,18 +39,19 @@ public class RetrievalFacade extends RetrievalServiceImpl {
         }
         //获取同义词标签信息
         List<RetrievalDTO> data = this.getSymptopInfo(retrievalVO);
-        List<RetrievalDTO> resultSubitemData = new ArrayList<RetrievalDTO>();
-        Map<String,String> subitemMap = new HashMap<String,String>();
-        //筛选包含自身的
-        for(RetrievalDTO bean: data) {
-            if("1".equals(bean.getShowType().toString())) { //本身
-                subitemMap.put(bean.getQuestionId() + "",EXIST);
+        List<Long> selfIds = new ArrayList<>();
+        for (RetrievalDTO bean : data) {
+            if ((1 == bean.getShowType())
+                    && !selfIds.contains(bean.getQuestionId())) {
+                selfIds.add(bean.getQuestionId());
             }
         }
-        //自身和同义词同时出现,删除同义词
-        for(RetrievalDTO bean: data) {
-            if(EXIST.equals(subitemMap.get(bean.getQuestionId()+ ""))) {
-                if(!"2".equals(bean.getShowType().toString())) { //当出现本体和同义词时,不显示同义词
+        List<RetrievalDTO> resultSubitemData = new ArrayList<>();
+        for (RetrievalDTO bean : data) {
+            if (1 == bean.getShowType()) {
+                resultSubitemData.add(bean);
+            } else if (2 == bean.getShowType()) {
+                if (!selfIds.contains(bean.getQuestionId())) {
                     resultSubitemData.add(bean);
                 }
             } else {
@@ -66,6 +66,6 @@ public class RetrievalFacade extends RetrievalServiceImpl {
         for (RetrievalDTO retrievalDTO : resultSubitemData) {
             retrievalDTO.setName(map.get(retrievalDTO.getQuestionId()).getTagName());
         }
-        return data;
+        return resultSubitemData;
     }
 }