|
@@ -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;
|
|
|
}
|
|
|
}
|