Преглед изворни кода

远程调用AI(大数据)接口封装

gaodm пре 6 година
родитељ
комит
0c52b40bcd

+ 16 - 4
triage-service/src/main/java/com/diagbot/facade/AIFacade.java

@@ -7,11 +7,10 @@ import com.diagbot.client.bean.SearchData;
 import com.diagbot.dto.AIDTO;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
+import com.diagbot.vo.AIVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-import javax.servlet.http.HttpServletRequest;
-
 /**
  * @Description: 调用AI服务业务实现
  * @author: gaodm
@@ -25,10 +24,23 @@ public class AIFacade {
     /**
      * 调用ai接口业务逻辑
      *
-     * @param searchData 搜索参数
+     * @param aivo 搜索参数
      * @return AI接口返回结果
      */
-    public AIDTO push(SearchData searchData) {
+    public AIDTO push(AIVO aivo, String type) {
+        SearchData searchData = new SearchData();
+        searchData.setAge(aivo.getAge());
+        searchData.setSymptom(aivo.getSymptom());
+        switch (aivo.getSex()) {
+            case 1:
+                searchData.setSex("M");
+                break;
+            case 2:
+                searchData.setSex("F");
+                break;
+        }
+        searchData.setFeatureType(type);
+        searchData.setSysCode("1");
         Response<ResponseData> res = aiServiceClient.bayesPageData(searchData);
         if (null == res || null == res.getData()) {
             throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "AI没有返回结果");

+ 3 - 3
triage-service/src/main/java/com/diagbot/vo/AIVO.java

@@ -15,9 +15,9 @@ import javax.validation.constraints.NotNull;
 @Setter
 public class AIVO {
     @NotNull(message = "请输入年龄")
-    private int age;
-    @NotBlank(message = "请输入性别")
-    private String sex;
+    private Integer age;
+    @NotNull(message = "请输入性别")
+    private Integer sex;
     @NotBlank(message = "请输入症状")
     private String symptom;
 }

+ 7 - 12
triage-service/src/main/java/com/diagbot/web/AIController.java

@@ -1,12 +1,12 @@
 package com.diagbot.web;
 
 
-import com.diagbot.client.bean.SearchData;
+import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.AIDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.AIFacade;
-import com.diagbot.util.BeanUtil;
 import com.diagbot.vo.AIVO;
+import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -23,6 +23,7 @@ import javax.validation.Valid;
  */
 @RestController
 @RequestMapping("/ai")
+@Api(value = "AIAPI", tags = { "AIAPI" })
 public class AIController {
 
     @Autowired
@@ -36,12 +37,9 @@ public class AIController {
      */
     @ApiOperation(value = "症状推理症状接口", notes = "症状推理症状接口")
     @PostMapping("/pushSymptom")
+    @SysLogger("pushSymptom")
     public RespDTO<AIDTO> pushSymptom(@RequestBody @Valid AIVO aivo) {
-        SearchData searchData = new SearchData();
-        BeanUtil.copyProperties(aivo, searchData);
-        searchData.setSysCode("1");
-        searchData.setFeatureType("1");
-        return RespDTO.onSuc(aiFacade.push(searchData));
+        return RespDTO.onSuc(aiFacade.push(aivo, "1"));
     }
 
     /**
@@ -52,12 +50,9 @@ public class AIController {
      */
     @ApiOperation(value = "症状推理疾病接口", notes = "症状推理疾病接口")
     @PostMapping("/pushDis")
+    @SysLogger("pushDis")
     public RespDTO<AIDTO> pushDis(@RequestBody @Valid AIVO aivo) {
-        SearchData searchData = new SearchData();
-        BeanUtil.copyProperties(aivo, searchData);
-        searchData.setSysCode("1");
-        searchData.setFeatureType("7");
-        return RespDTO.onSuc(aiFacade.push(searchData));
+        return RespDTO.onSuc(aiFacade.push(aivo, "7"));
     }
 
 }