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