Zhaops %!s(int64=6) %!d(string=hai) anos
pai
achega
37dd682d75

+ 22 - 15
icss-service/src/main/java/com/diagbot/facade/PushFacade.java

@@ -19,14 +19,8 @@ import com.diagbot.exception.CommonException;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.vo.PushVO;
 import com.diagbot.vo.QuestionVO;
-import com.diagbot.web.DeptInfoController;
-import com.google.common.collect.Lists;
-import com.sun.corba.se.impl.ior.OldJIDLObjectKeyTemplate;
-import com.sun.xml.internal.ws.config.metro.dev.FeatureReader;
-import org.aspectj.weaver.patterns.TypePatternQuestions;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
-import org.springframework.util.CollectionUtils;
 
 import java.util.Arrays;
 import java.util.HashMap;
@@ -59,8 +53,7 @@ public class PushFacade {
      * @param pushVO
      * @return
      */
-    public PushDTO push(PushVO pushVO) {
-        PushDTO pushDTO = new PushDTO();
+    public ResponseData pushAI(PushVO pushVO) {
         SearchData searchData = new SearchData();
         searchData.setAge(pushVO.getAge());
         searchData.setSymptom(pushVO.getSymptom());
@@ -82,19 +75,33 @@ public class PushFacade {
             default:
                 throw new CommonException(CommonErrorCode.PARAM_ERROR, "性别参数错误");
         }
-        String featureType = pushVO.getFeatureType();
-        String[] featureTypes = featureType.split(",|,");
-        Set<String> featureTypeSet = new HashSet(Arrays.asList(featureTypes));
 
         searchData.setFeatureType(pushVO.getFeatureType());
         searchData.setSysCode("1");
         searchData.setLength(10);
 
         Response<ResponseData> res = aiServiceClient.bayesPageData(searchData);
-        List<FeatureRate> symptom = res.getData().getSymptom();
-        List<FeatureRate> dis = res.getData().getDis();
-        List<FeatureRate> pacs = res.getData().getPacs();
-        List<FeatureRate> labs = res.getData().getLabs();
+        return res.getData();
+    }
+
+    /**
+     * 内部推理
+     *
+     * @param pushVO
+     * @return
+     */
+    public PushDTO pushInner(PushVO pushVO) {
+        PushDTO pushDTO = new PushDTO();
+        ResponseData data = pushAI(pushVO);
+
+        String featureType = pushVO.getFeatureType();
+        String[] featureTypes = featureType.split(",|,");
+        Set<String> featureTypeSet = new HashSet(Arrays.asList(featureTypes));
+
+        List<FeatureRate> symptom = data.getSymptom();
+        List<FeatureRate> dis = data.getDis();
+        List<FeatureRate> pacs = data.getPacs();
+        List<FeatureRate> labs = data.getLabs();
 
         Map<String, Object> symptomMap = list2Map(symptom);
         Map<String, Object> vitalMap = new HashMap<>();

+ 16 - 4
icss-service/src/main/java/com/diagbot/web/PushController.java

@@ -1,6 +1,7 @@
 package com.diagbot.web;
 
 import com.diagbot.annotation.SysLogger;
+import com.diagbot.client.bean.ResponseData;
 import com.diagbot.dto.PushDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.PushFacade;
@@ -24,14 +25,25 @@ import javax.validation.Valid;
 @RequestMapping("/push")
 @Api(value = "推理相关API", tags = { "推理相关API" })
 public class PushController {
+
     @Autowired
     PushFacade pushFacade;
+
     @ApiOperation(value = "推理接口[by:zhaops]",
             notes = "age: 年龄(必填)<br>" +
                     "sex:性别,1:男,2:女(必填)<br>")
-    @PostMapping("/push")
-    @SysLogger("push")
-    public RespDTO<PushDTO> push(@RequestBody @Valid PushVO pushVO) {
-        return RespDTO.onSuc(pushFacade.push(pushVO));
+    @PostMapping("/push_inner")
+    @SysLogger("push_inner")
+    public RespDTO<PushDTO> pushInner(@RequestBody @Valid PushVO pushVO) {
+        return RespDTO.onSuc(pushFacade.pushInner(pushVO));
+    }
+
+    @ApiOperation(value = "推理接口(直接返回大数据推理结果)[by:zhaops]",
+            notes = "age: 年龄(必填)<br>" +
+                    "sex:性别,1:男,2:女(必填)<br>")
+    @PostMapping("/push_ai")
+    @SysLogger("push_ai")
+    public RespDTO<ResponseData> pushAI(@RequestBody @Valid PushVO pushVO) {
+        return RespDTO.onSuc(pushFacade.pushAI(pushVO));
     }
 }