Bläddra i källkod

标准词检索接口

wangfeng 4 år sedan
förälder
incheckning
65b9b035c3

+ 7 - 20
src/main/java/com/diagbot/client/CdssCoreClient.java

@@ -3,6 +3,7 @@ package com.diagbot.client;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.diagbot.client.hystrix.CdssCoreHystrix;
 import com.diagbot.dto.DictionaryInfoDTO;
+import com.diagbot.dto.GetAllForRelationDTO;
 import com.diagbot.dto.IndicationDTO;
 import com.diagbot.dto.KlConceptStaticDTO;
 import com.diagbot.dto.KlRuleByIdParDTO;
@@ -14,25 +15,7 @@ import com.diagbot.dto.RetrievalDTO;
 import com.diagbot.dto.StaticKnowledgeDTO;
 import com.diagbot.dto.StaticKnowledgeIndexDTO;
 import com.diagbot.entity.KlRuleMenuWrapper;
-import com.diagbot.vo.ChangeStatusVO;
-import com.diagbot.vo.ConceptVO;
-import com.diagbot.vo.HasStaticKnowledgeVO;
-import com.diagbot.vo.IdVO;
-import com.diagbot.vo.IndicationPushVO;
-import com.diagbot.vo.KlConceptStaticPageVO;
-import com.diagbot.vo.KlConceptStaticVO;
-import com.diagbot.vo.KlRuleByIdVO;
-import com.diagbot.vo.KlRuleInfoClearVO;
-import com.diagbot.vo.KlRuleInfoSaveVO;
-import com.diagbot.vo.KlRuleInfoVO;
-import com.diagbot.vo.KlRuleMenuVO;
-import com.diagbot.vo.KlRuleSatartOrdisaVO;
-import com.diagbot.vo.PushPlanVO;
-import com.diagbot.vo.PushVO;
-import com.diagbot.vo.RetrievalVO;
-import com.diagbot.vo.StaticKnowledgeIndexVO;
-import com.diagbot.vo.StaticKnowledgeNameVO;
-import com.diagbot.vo.StaticKnowledgeVO;
+import com.diagbot.vo.*;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -170,7 +153,8 @@ public interface CdssCoreClient {
     RespDTO<Boolean> isExist(@Valid @RequestBody KlConceptStaticVO klConceptStaticVO);
 
     /**
-     *获取规则下拉菜单信息
+     * 获取规则下拉菜单信息
+     *
      * @param klRuleMenuVO
      * @return
      */
@@ -204,4 +188,7 @@ public interface CdssCoreClient {
 
     @PostMapping("/kl/dictionary/getDictionaryInfo")
     RespDTO<Map<Long, List<DictionaryInfoDTO>>> getDictionaryAll();
+
+    @PostMapping("/klDisease/searchConcept")
+    RespDTO<List<GetAllForRelationDTO>> searchConcept(@Valid @RequestBody SearchConceptVO searchConceptVO);
 }

+ 8 - 19
src/main/java/com/diagbot/client/hystrix/CdssCoreHystrix.java

@@ -3,6 +3,7 @@ package com.diagbot.client.hystrix;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.diagbot.client.CdssCoreClient;
 import com.diagbot.dto.DictionaryInfoDTO;
+import com.diagbot.dto.GetAllForRelationDTO;
 import com.diagbot.dto.IndicationDTO;
 import com.diagbot.dto.KlConceptStaticDTO;
 import com.diagbot.dto.KlRuleByIdParDTO;
@@ -14,25 +15,7 @@ import com.diagbot.dto.RetrievalDTO;
 import com.diagbot.dto.StaticKnowledgeDTO;
 import com.diagbot.dto.StaticKnowledgeIndexDTO;
 import com.diagbot.entity.KlRuleMenuWrapper;
-import com.diagbot.vo.ChangeStatusVO;
-import com.diagbot.vo.ConceptVO;
-import com.diagbot.vo.HasStaticKnowledgeVO;
-import com.diagbot.vo.IdVO;
-import com.diagbot.vo.IndicationPushVO;
-import com.diagbot.vo.KlConceptStaticPageVO;
-import com.diagbot.vo.KlConceptStaticVO;
-import com.diagbot.vo.KlRuleByIdVO;
-import com.diagbot.vo.KlRuleInfoClearVO;
-import com.diagbot.vo.KlRuleInfoSaveVO;
-import com.diagbot.vo.KlRuleInfoVO;
-import com.diagbot.vo.KlRuleMenuVO;
-import com.diagbot.vo.KlRuleSatartOrdisaVO;
-import com.diagbot.vo.PushPlanVO;
-import com.diagbot.vo.PushVO;
-import com.diagbot.vo.RetrievalVO;
-import com.diagbot.vo.StaticKnowledgeIndexVO;
-import com.diagbot.vo.StaticKnowledgeNameVO;
-import com.diagbot.vo.StaticKnowledgeVO;
+import com.diagbot.vo.*;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -262,4 +245,10 @@ public class CdssCoreHystrix implements CdssCoreClient {
         log.error("【hystrix】调用{}异常", "getDictionaryAll");
         return null;
     }
+
+    @Override
+    public RespDTO<List<GetAllForRelationDTO>> searchConcept(@Valid SearchConceptVO searchConceptVO) {
+        log.error("【hystrix】调用{}异常", "searchConcept");
+        return null;
+    }
 }

+ 1 - 0
src/main/java/com/diagbot/config/ResourceServerConfigurer.java

@@ -169,6 +169,7 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .antMatchers("/klRule/clearRuleInfo").permitAll()
                 .antMatchers("/klRule/disableRuleInfo").permitAll()
                 .antMatchers("/klRule/startRuleInfo").permitAll()
+                .antMatchers("/klDisease/searchConcept").permitAll()
                 .antMatchers("/**").authenticated();
         //                .antMatchers("/**").permitAll();
     }

+ 1 - 0
src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -211,6 +211,7 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/klRule/clearRuleInfo", request)
                 || matchers("/klRule/disableRuleInfo", request)
                 || matchers("/klRule/startRuleInfo", request)
+                || matchers("/klDisease/searchConcept", request)
                 || matchers("/", request)) {
             return true;
         }

+ 42 - 0
src/main/java/com/diagbot/dto/GetAllForRelationDTO.java

@@ -0,0 +1,42 @@
+package com.diagbot.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2021-03-17 15:23
+ */
+@Setter
+@Getter
+public class GetAllForRelationDTO {
+    /**
+     * 概念id
+     */
+    @ApiModelProperty(value="概念id")
+    private Long conceptId;
+
+    /**
+     * 概念名称
+     */
+    @ApiModelProperty(value="概念名称")
+    private String conceptName;
+
+    /**
+     * 概念id
+     */
+    @ApiModelProperty(value="概念id")
+    private Integer libType;
+
+    /**
+     * 概念名称(类型)
+     */
+    @ApiModelProperty(value="概念名称(类型)")
+    private String conceptNameType;
+
+
+
+}
+

+ 8 - 0
src/main/java/com/diagbot/facade/ConceptInfoFacade.java

@@ -7,6 +7,7 @@ import com.diagbot.client.CdssCoreClient;
 import com.diagbot.dto.ConceptDetailDTO;
 import com.diagbot.dto.ConceptInfoDTO;
 import com.diagbot.dto.DictionaryInfoDTO;
+import com.diagbot.dto.GetAllForRelationDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.StaticKnowledgeDTO;
 import com.diagbot.dto.StaticKnowledgeDetailDTO;
@@ -33,6 +34,7 @@ import com.diagbot.vo.ConceptInfoPageVO;
 import com.diagbot.vo.ConceptInfoVO;
 import com.diagbot.vo.HasStaticKnowledgeVO;
 import com.diagbot.vo.IdVO;
+import com.diagbot.vo.SearchConceptVO;
 import com.diagbot.vo.StaticKnowledgeHISVO;
 import com.diagbot.vo.StaticKnowledgeIndexVO;
 import com.diagbot.vo.StaticKnowledgeNameVO;
@@ -990,4 +992,10 @@ public class ConceptInfoFacade extends ConceptInfoServiceImpl {
         }
         return true;
     }
+
+    public List<GetAllForRelationDTO> searchConceptByNameAndLibType(SearchConceptVO searchConceptVO) {
+        RespDTO<List<GetAllForRelationDTO>> relationDTORespDTO = cdssCoreClient.searchConcept(searchConceptVO);
+        RespDTOUtil.respNGDeal(relationDTORespDTO, "停用规则失败");
+        return relationDTORespDTO.data;
+    }
 }

+ 33 - 0
src/main/java/com/diagbot/vo/SearchConceptVO.java

@@ -0,0 +1,33 @@
+package com.diagbot.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @author kwz
+ * @date 2021/3/10
+ * @time 12:57
+ */
+@Setter
+@Getter
+public class SearchConceptVO {
+    @ApiModelProperty(value="名称")
+    @NotBlank(message = "请输入搜索名称")
+    private String name;
+    /**
+     * 词性id
+     */
+    @ApiModelProperty(value="词性id")
+    @NotNull(message ="请输入搜索词的词性" )
+    private Integer libType;
+    /**
+     * 需要排除的概念id集合
+     */
+    @ApiModelProperty(value="需要排除的概念id集合")
+    private List<Long> excludedConceptIds;
+}

+ 48 - 0
src/main/java/com/diagbot/web/KlDiseaseController.java

@@ -0,0 +1,48 @@
+package com.diagbot.web;
+
+
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.GetAllForRelationDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.facade.ConceptInfoFacade;
+import com.diagbot.vo.SearchConceptVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * <p>
+ * 疾病表 前端控制器
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2021-03-01
+ */
+@RestController
+@RequestMapping("/klDisease")
+@SuppressWarnings("unchecked")
+@Api(value = "诊断依据相关的类型术语相关API", tags = { "诊断依据相关的类型术语相关API" })
+public class KlDiseaseController {
+
+    @Autowired
+    ConceptInfoFacade klConceptFacade;
+
+    @ApiOperation(value = "查询诊断依据相关的类型术语[by:kongwz]",
+            notes = "name: 查询术语的名称<br>" +
+                    "libType: 查询术语的词性<br>" +
+                    "excludedConceptIds: 需要排除的概念id集合")
+    @PostMapping("/searchConcept")
+    @SysLogger("searchConcept")
+    public RespDTO<List<GetAllForRelationDTO>> searchConcept(@Valid @RequestBody SearchConceptVO searchConceptVO) {
+        List<GetAllForRelationDTO> getAllForRelationDTOS = klConceptFacade.searchConceptByNameAndLibType(searchConceptVO);
+        return RespDTO.onSuc(getAllForRelationDTOS);
+    }
+
+}