浏览代码

Merge branch 'dev/KLBstand' of http://192.168.2.236:10080/gaodm/diagbotcloud.git into dev/KLBstand

wangfeng 6 年之前
父节点
当前提交
d71c64840d

+ 17 - 0
triage-service/src/main/java/com/diagbot/client/AiptServiceClient.java

@@ -2,10 +2,12 @@ package com.diagbot.client;
 
 import com.diagbot.client.hystrix.AiptServiceHystrix;
 import com.diagbot.dto.ConceptBaseDTO;
+import com.diagbot.dto.ConceptRetrievalDTO;
 import com.diagbot.dto.PartSymptomDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.vo.ConceptUsualVO;
 import com.diagbot.vo.PartSymptomVO;
+import com.diagbot.vo.RetrievalVO;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -24,7 +26,22 @@ public interface AiptServiceClient {
     @PostMapping(value = "/part/getSymptomByPartName")
     RespDTO<List<PartSymptomDTO>> getSymptomByPartName(@RequestBody PartSymptomVO partSymptomVO);
 
+    /**
+     * 获取常用标签
+     *
+     * @param conceptUsualVO
+     * @return
+     */
     @PostMapping(value = "/concept/getConceptUsual")
     RespDTO<List<ConceptBaseDTO>> getConceptUsual(@RequestBody @Valid ConceptUsualVO conceptUsualVO);
 
+    /**
+     * 标签检索
+     *
+     * @param retrievalVO
+     * @return
+     */
+    @PostMapping("/concept/retrivelConceptInfo")
+    RespDTO<List<ConceptRetrievalDTO>> retrivelConceptInfo(@RequestBody @Valid RetrievalVO retrievalVO);
+
 }

+ 8 - 0
triage-service/src/main/java/com/diagbot/client/hystrix/AiptServiceHystrix.java

@@ -2,10 +2,12 @@ package com.diagbot.client.hystrix;
 
 import com.diagbot.client.AiptServiceClient;
 import com.diagbot.dto.ConceptBaseDTO;
+import com.diagbot.dto.ConceptRetrievalDTO;
 import com.diagbot.dto.PartSymptomDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.vo.ConceptUsualVO;
 import com.diagbot.vo.PartSymptomVO;
+import com.diagbot.vo.RetrievalVO;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
 
@@ -31,4 +33,10 @@ public class AiptServiceHystrix implements AiptServiceClient {
         log.error("【hystrix】调用{}异常", "getConceptUsual");
         return null;
     }
+
+    @Override
+    public RespDTO<List<ConceptRetrievalDTO>> retrivelConceptInfo(@Valid RetrievalVO retrievalVO) {
+        log.error("【hystrix】调用{}异常", "retrivelConceptInfo");
+        return null;
+    }
 }

+ 20 - 0
triage-service/src/main/java/com/diagbot/dto/ConceptRetrievalDTO.java

@@ -0,0 +1,20 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2019/5/10 10:20
+ */
+@Getter
+@Setter
+public class ConceptRetrievalDTO {
+    private Long selfId;//本身概念id
+    private String selfName;//本身名称
+    private Long parentId;//父级id
+    private String parentName;//父级名称
+    private String sameName;//同义词名称
+    private Integer showType;//显示类型(1本体,2同义词)
+}

+ 20 - 29
triage-service/src/main/java/com/diagbot/facade/SymptomFacade.java

@@ -2,22 +2,21 @@ package com.diagbot.facade;
 
 import com.diagbot.client.AiptServiceClient;
 import com.diagbot.dto.ConceptBaseDTO;
+import com.diagbot.dto.ConceptRetrievalDTO;
 import com.diagbot.dto.RespDTO;
-import com.diagbot.dto.SymptomSearchDTO;
 import com.diagbot.entity.Symptom;
 import com.diagbot.entity.SymptomWrapper;
-import com.diagbot.enums.ShowTypeEnum;
 import com.diagbot.service.impl.SymptomServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.RespDTOUtil;
 import com.diagbot.vo.ConceptUsualVO;
+import com.diagbot.vo.RetrievalVO;
 import com.diagbot.vo.SymptomSearchVO;
 import com.diagbot.vo.SymptomUsualVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -66,33 +65,25 @@ public class SymptomFacade extends SymptomServiceImpl{
      * @param symptomSearchVO
      * @return 检索的症状
      */
-    public List<SymptomSearchDTO> searchFac(SymptomSearchVO symptomSearchVO) {
-        List<SymptomSearchDTO> res = new ArrayList<>();
-        Map paramMap = new HashMap();
-        paramMap.put("name", symptomSearchVO.getName());
-        paramMap.put("sexType", symptomSearchVO.getSexType());
-        paramMap.put("age", symptomSearchVO.getAge());
-        List<SymptomSearchDTO> symptomSearchDTOList = this.search(paramMap);
-        List<Long> ids = new ArrayList<>();
-        //获取所有的本体,添加返回结果,因为sql语句返回时同义词有可能排前面,而本体排后面
-        for(SymptomSearchDTO bean : symptomSearchDTOList) {
-            if(ShowTypeEnum.ITSELF.getKey() == bean.getShowType()) { //本体
-                ids.add(bean.getId());
-            }
+    public List<Symptom> searchFac(SymptomSearchVO symptomSearchVO) {
+        //调用aipt-service服务
+        RetrievalVO retrievalVO = new RetrievalVO();
+        retrievalVO.setType(1);
+        retrievalVO.setInputStr(symptomSearchVO.getName());
+        retrievalVO.setAge(symptomSearchVO.getAge());
+        retrievalVO.setSexType(symptomSearchVO.getSexType());
+        RespDTO<List<ConceptRetrievalDTO>> condeptRerievalS =  aiptServiceClient.retrivelConceptInfo(retrievalVO);
+        RespDTOUtil.respNGDeal(condeptRerievalS,"获取标签失败");
+        List<Symptom> symptomList = new ArrayList<>();
+        Symptom symptom = new Symptom();
+        //封装
+        for (ConceptRetrievalDTO conceptRetrievalDTO : condeptRerievalS.data) {
+            symptom = new Symptom();
+            symptom.setConceptId(conceptRetrievalDTO.getSelfId());
+            symptom.setName(conceptRetrievalDTO.getSelfName());
+            symptomList.add(symptom);
         }
-        for(SymptomSearchDTO bean : symptomSearchDTOList) {
-            //如果是本体,直接返回
-            if(ShowTypeEnum.ITSELF.getKey() == bean.getShowType()) {
-                res.add(bean);
-            } else {
-                //如果是同义词,判断是否已添加,有多个同义词任意取一个
-                if(!ids.contains(bean.getId())) {
-                    ids.add(bean.getId());
-                    res.add(bean);
-                }
-            }
-        }
-        return res;
+        return symptomList;
     }
 
 }

+ 28 - 0
triage-service/src/main/java/com/diagbot/vo/RetrievalVO.java

@@ -0,0 +1,28 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2018/11/27 14:58
+ */
+@Getter
+@Setter
+public class RetrievalVO {
+
+    @NotNull(message = "请输入标签类型")
+    private Integer type;
+    @NotNull(message = "请输入病人年龄")
+    private Integer age;
+    @NotNull(message = "请输入症状")
+    private String InputStr;
+    @NotNull(message = "请输入病人性别")
+    private Integer sexType;
+    //需要去重的id
+    private List<Long> inputIds;
+}

+ 1 - 2
triage-service/src/main/java/com/diagbot/web/SymptomController.java

@@ -2,7 +2,6 @@ package com.diagbot.web;
 
 
 import com.diagbot.dto.RespDTO;
-import com.diagbot.dto.SymptomSearchDTO;
 import com.diagbot.entity.Symptom;
 import com.diagbot.facade.SymptomFacade;
 import com.diagbot.vo.SymptomSearchVO;
@@ -47,7 +46,7 @@ public class SymptomController {
                     "sexType:性别,1:男,2:女<br>" +
                     "age:年龄")
     @PostMapping("/search")
-    public RespDTO<List<SymptomSearchDTO>> search(@RequestBody @Valid SymptomSearchVO symptomSearchVO) {
+    public RespDTO<List<Symptom>> search(@RequestBody @Valid SymptomSearchVO symptomSearchVO) {
         return RespDTO.onSuc(symptomFacade.searchFac(symptomSearchVO));
     }