Browse Source

常用标签bug修复

wangyu 6 years ago
parent
commit
7f42f4d0b1
1 changed files with 17 additions and 12 deletions
  1. 17 12
      icss-service/src/main/java/com/diagbot/facade/QuestionUsualFacade.java

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

@@ -16,6 +16,7 @@ import com.diagbot.vo.QuestionUsualVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -43,6 +44,7 @@ public class QuestionUsualFacade extends QuestionUsualServiceImpl {
     public List<QuestionUsualDTO> getQuestionUsual(QuestionUsualVO questionUsualVO) {
         ConceptUsualVO conceptUsualVO = new ConceptUsualVO();
         BeanUtil.copyProperties(questionUsualVO,conceptUsualVO);
+        List<QuestionUsualDTO> questionUsualDTOList = new ArrayList<>();
         //从知识库获取常用标签
         RespDTO<List<ConceptBaseDTO>> conceptBaseDTORespDTO = aiptServiceClient.getConceptUsual(conceptUsualVO);
         //如果该科室没有常用,返回全科常用
@@ -51,18 +53,21 @@ public class QuestionUsualFacade extends QuestionUsualServiceImpl {
             conceptBaseDTORespDTO = aiptServiceClient.getConceptUsual(conceptUsualVO);
         }
         RespDTOUtil.respNGDeal(conceptBaseDTORespDTO,"获取常用标签失败");
-        //提取标签名称
-        List<String> conceptName = conceptBaseDTORespDTO.data.stream().map(ConceptBaseDTO::getName).collect(Collectors.toList());
-        //与question标签匹配
-        QueryWrapper<QuestionInfo> questionInfoQueryWrapper = new QueryWrapper<>();
-        questionInfoQueryWrapper.eq("is_deleted",IsDeleteEnum.N.getKey())
-                .in("tag_name",conceptName)
-                .eq("type",questionUsualVO.getType());
-        List<QuestionInfo> questionInfoList = questionFacade.list(questionInfoQueryWrapper);
-        Map<String,QuestionInfo> questionInfoMap = questionInfoList.stream().collect(Collectors.toMap(QuestionInfo::getTagName,questionInfo -> questionInfo));
-        List<QuestionUsualDTO> questionUsualDTOList = BeanUtil.listCopyTo(conceptBaseDTORespDTO.data,QuestionUsualDTO.class);
-        for (QuestionUsualDTO questionUsualDTO: questionUsualDTOList) {
-            questionUsualDTO.setQuestionId(questionInfoMap.get(questionUsualDTO.getName()).getId());
+        if( conceptBaseDTORespDTO.data != null && ListUtil.isNotEmpty(conceptBaseDTORespDTO.data)){
+            //提取标签名称
+            List<String> conceptName = conceptBaseDTORespDTO.data.stream().map(ConceptBaseDTO::getName).collect(Collectors.toList());
+            //与question标签匹配
+            QueryWrapper<QuestionInfo> questionInfoQueryWrapper = new QueryWrapper<>();
+            questionInfoQueryWrapper.eq("is_deleted",IsDeleteEnum.N.getKey())
+                    .in("tag_name",conceptName)
+                    .eq("type",questionUsualVO.getType());
+            List<QuestionInfo> questionInfoList = questionFacade.list(questionInfoQueryWrapper);
+            Map<String,QuestionInfo> questionInfoMap = questionInfoList.stream().collect(Collectors.toMap(QuestionInfo::getTagName,questionInfo -> questionInfo));
+            questionUsualDTOList = BeanUtil.listCopyTo(conceptBaseDTORespDTO.data,QuestionUsualDTO.class);
+            for (QuestionUsualDTO questionUsualDTO: questionUsualDTOList) {
+                questionUsualDTO.setQuestionId(questionInfoMap.get(questionUsualDTO.getName()).getId());
+            }
+            return questionUsualDTOList;
         }
         return questionUsualDTOList;
     }