AiptServiceClient.java 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. package com.diagbot.client;
  2. import com.diagbot.biz.push.entity.ResponseData;
  3. import com.diagbot.biz.push.entity.ResponseDataWithExplain;
  4. import com.diagbot.biz.push.vo.SearchVO;
  5. import com.diagbot.client.hystrix.AiptServiceHystrix;
  6. import com.diagbot.dto.ConceptBaseDTO;
  7. import com.diagbot.dto.ConceptRetrievalDTO;
  8. import com.diagbot.dto.ConceptRetrievalExtDTO;
  9. import com.diagbot.dto.FeatureConceptDTO;
  10. import com.diagbot.dto.PartSymptomDTO;
  11. import com.diagbot.dto.RespDTO;
  12. import com.diagbot.dto.UsualDTO;
  13. import com.diagbot.dto.VersionWrapperDTO;
  14. import com.diagbot.vo.ConceptUsualVO;
  15. import com.diagbot.vo.PartSymptomVO;
  16. import com.diagbot.vo.RetrievalVO;
  17. import com.diagbot.vo.VersionVO;
  18. import org.springframework.cloud.openfeign.FeignClient;
  19. import org.springframework.web.bind.annotation.PostMapping;
  20. import org.springframework.web.bind.annotation.RequestBody;
  21. import org.springframework.web.bind.annotation.RequestParam;
  22. import javax.validation.Valid;
  23. import java.util.List;
  24. /**
  25. * @Description: 调用知识库服务
  26. * @author: gaodm
  27. * @time: 2019/2/1 17:00
  28. */
  29. @FeignClient(value = "aipt-service", fallback = AiptServiceHystrix.class)
  30. public interface AiptServiceClient {
  31. @PostMapping(value = "/part/getSymptomByPartName")
  32. RespDTO<List<PartSymptomDTO>> getSymptomByPartName(@RequestBody PartSymptomVO partSymptomVO);
  33. /**
  34. * 获取常用标签
  35. *
  36. * @param conceptUsualVO
  37. * @return
  38. */
  39. @PostMapping(value = "/concept/getConceptUsual")
  40. RespDTO<List<ConceptBaseDTO>> getConceptUsual(@RequestBody @Valid ConceptUsualVO conceptUsualVO);
  41. /**
  42. * 获取常用标签附带通俗解释和详细说明
  43. *
  44. * @param conceptUsualVO
  45. * @return
  46. */
  47. @PostMapping(value = "/concept/getConceptExtUsual")
  48. RespDTO<List<UsualDTO>> getConceptExtUsual(@RequestBody @Valid ConceptUsualVO conceptUsualVO);
  49. /**
  50. * 标签检索
  51. *
  52. * @param retrievalVO
  53. * @return
  54. */
  55. @PostMapping("/concept/retrivelConceptInfo")
  56. RespDTO<List<ConceptRetrievalDTO>> retrivelConceptInfo(@RequestBody @Valid RetrievalVO retrievalVO);
  57. /**
  58. * 标签检索(附带通俗解释和详细说明, retrivelConceptInfo这个作废)
  59. *
  60. * @param retrievalVO
  61. * @return
  62. */
  63. @PostMapping("/concept/retrivelConceptInfoExt")
  64. RespDTO<List<ConceptRetrievalExtDTO>> retrivelConceptInfoExt(@RequestBody @Valid RetrievalVO retrievalVO);
  65. @PostMapping(value = "/clinicaldata/processData")
  66. RespDTO<ResponseData> aiptData(@RequestBody SearchVO searchVO);
  67. /**
  68. * 推理带名词解释
  69. *
  70. * @param searchVO
  71. * @return
  72. */
  73. @PostMapping(value = "/push/pushWithExplain")
  74. RespDTO<ResponseDataWithExplain> pushWithExplain(@Valid @RequestBody SearchVO searchVO);
  75. /**
  76. * 获取版本信息
  77. */
  78. @PostMapping("/versionInfo/getVersionInfoAlls")
  79. RespDTO<VersionWrapperDTO> getVersionInfoAlls(@RequestBody VersionVO versionVO);
  80. /**
  81. * 症状特征提取
  82. *
  83. * @param text
  84. * @return
  85. */
  86. @PostMapping(value = "/feature/symptomFeature")
  87. RespDTO<List<FeatureConceptDTO>> symptomFeature(@RequestParam("text") String text);
  88. }