|
@@ -1,14 +1,21 @@
|
|
package com.diagbot.facade;
|
|
package com.diagbot.facade;
|
|
|
|
|
|
import com.diagbot.dto.FeatureConceptDTO;
|
|
import com.diagbot.dto.FeatureConceptDTO;
|
|
|
|
+import com.diagbot.entity.Concept;
|
|
import com.diagbot.exception.CommonErrorCode;
|
|
import com.diagbot.exception.CommonErrorCode;
|
|
import com.diagbot.exception.CommonException;
|
|
import com.diagbot.exception.CommonException;
|
|
|
|
+import com.diagbot.util.EntityUtil;
|
|
import com.diagbot.util.ListUtil;
|
|
import com.diagbot.util.ListUtil;
|
|
import com.diagbot.util.ParamConvertUtil;
|
|
import com.diagbot.util.ParamConvertUtil;
|
|
|
|
+import com.diagbot.vo.ConceptBaseVO;
|
|
|
|
+import io.swagger.models.auth.In;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
|
|
+import java.util.LinkedHashMap;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.Map;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
* @Description:
|
|
* @Description:
|
|
@@ -19,6 +26,8 @@ import java.util.List;
|
|
public class FeatureFacade {
|
|
public class FeatureFacade {
|
|
@Autowired
|
|
@Autowired
|
|
private NLPFacade nlpFacade;
|
|
private NLPFacade nlpFacade;
|
|
|
|
+ @Autowired
|
|
|
|
+ private ConceptFacade conceptFacade;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 症状关键词提取
|
|
* 症状关键词提取
|
|
@@ -32,9 +41,18 @@ public class FeatureFacade {
|
|
throw new CommonException(CommonErrorCode.NOT_EXISTS, "未提取到特征词");
|
|
throw new CommonException(CommonErrorCode.NOT_EXISTS, "未提取到特征词");
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ Map<Integer, List<FeatureConceptDTO>> symptomMap = EntityUtil.makeEntityListMap(symptomFeatureList, "libType");
|
|
|
|
+ Map<Integer, Map<String, Long>> map = new LinkedHashMap<>();
|
|
|
|
+ for (Map.Entry<Integer, List<FeatureConceptDTO>> entry : symptomMap.entrySet()) {
|
|
|
|
+ List<Concept> concepts = conceptFacade.getListByNamesAndType(entry.getValue().stream().map(i -> i.getName()).collect(Collectors.toList()), entry.getKey());
|
|
|
|
+ Map<String, Long> conceptMap = EntityUtil.makeMapWithKeyValue(concepts, "libName", "id");
|
|
|
|
+ map.put(entry.getKey(), conceptMap);
|
|
|
|
+ }
|
|
|
|
+
|
|
for (FeatureConceptDTO featureConceptDTO : symptomFeatureList) {
|
|
for (FeatureConceptDTO featureConceptDTO : symptomFeatureList) {
|
|
if (null != featureConceptDTO.getLibType()) {
|
|
if (null != featureConceptDTO.getLibType()) {
|
|
featureConceptDTO.setType(ParamConvertUtil.libConvert2Concept(featureConceptDTO.getLibType()));
|
|
featureConceptDTO.setType(ParamConvertUtil.libConvert2Concept(featureConceptDTO.getLibType()));
|
|
|
|
+ featureConceptDTO.setConceptId(map.get(featureConceptDTO.getLibType()).get(featureConceptDTO.getName()));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return symptomFeatureList;
|
|
return symptomFeatureList;
|