Browse Source

Merge remote-tracking branch 'origin/dev/icssNCD' into dev/icssNCD

wangyu 6 năm trước cách đây
mục cha
commit
a55779df7b

+ 4 - 0
aipt-service/src/main/java/com/diagbot/client/AIServiceClient.java

@@ -1,5 +1,6 @@
 package com.diagbot.client;
 
+import com.diagbot.client.bean.CalculateData;
 import com.diagbot.client.bean.GdbResponse;
 import com.diagbot.client.bean.Response;
 import com.diagbot.client.bean.ResponseData;
@@ -26,4 +27,7 @@ public interface AIServiceClient {
 
     @PostMapping(value = "/push-web/graph/highRisk")
     Response<GdbResponse> highRiskPageData(@RequestBody SearchVo searchVo);
+
+    @PostMapping(value = "/push-web/graph/scaleCalc")
+    Map<String, Object> scaleCalc(@RequestBody CalculateData calculateData);
 }

+ 17 - 0
aipt-service/src/main/java/com/diagbot/client/bean/CalculateData.java

@@ -0,0 +1,17 @@
+package com.diagbot.client.bean;
+
+import com.alibaba.fastjson.JSONObject;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:计算接口入参
+ * @Author:zhaops
+ * @time: 2019/4/24 15:15
+ */
+@Getter
+@Setter
+public class CalculateData {
+    private Integer type;  //1-量表,2-计算公式
+    private JSONObject data;
+}

+ 7 - 0
aipt-service/src/main/java/com/diagbot/client/hystrix/AIServiceHystrix.java

@@ -1,6 +1,7 @@
 package com.diagbot.client.hystrix;
 
 import com.diagbot.client.AIServiceClient;
+import com.diagbot.client.bean.CalculateData;
 import com.diagbot.client.bean.GdbResponse;
 import com.diagbot.client.bean.Response;
 import com.diagbot.client.bean.ResponseData;
@@ -36,4 +37,10 @@ public class AIServiceHystrix implements AIServiceClient {
         log.error("【hystrix】调用{}异常", "highRiskPageData");
         return null;
     }
+
+    @Override
+    public Map<String, Object> scaleCalc(@RequestBody CalculateData calculateData) {
+        log.error("【hystrix】调用{}异常", "scaleCalc");
+        return null;
+    }
 }

+ 15 - 1
aipt-service/src/main/java/com/diagbot/facade/ClinicalFacade.java

@@ -1,6 +1,7 @@
 package com.diagbot.facade;
 
 import com.diagbot.client.AIServiceClient;
+import com.diagbot.client.bean.CalculateData;
 import com.diagbot.client.bean.GdbResponse;
 import com.diagbot.client.bean.Response;
 import com.diagbot.client.bean.ResponseData;
@@ -13,7 +14,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.web.bind.annotation.RequestBody;
 
-import javax.print.attribute.standard.MediaSize;
 import java.util.List;
 import java.util.Map;
 
@@ -115,4 +115,18 @@ public class ClinicalFacade {
         }
         return response.getData();
     }
+
+    /**
+     * 计算接口
+     *
+     * @param calculateData
+     * @return
+     */
+    public Map<String, Object> scaleCalc(CalculateData calculateData) {
+        Map<String, Object> response = aiServiceClient.scaleCalc(calculateData);
+        if (response == null) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "计算没有返回结构");
+        }
+        return response;
+    }
 }

+ 10 - 0
aipt-service/src/main/java/com/diagbot/web/ClinicalController.java

@@ -1,7 +1,9 @@
 package com.diagbot.web;
 
 
+import com.alibaba.fastjson.JSONObject;
 import com.diagbot.annotation.SysLogger;
+import com.diagbot.client.bean.CalculateData;
 import com.diagbot.client.bean.GdbResponse;
 import com.diagbot.client.bean.ResponseData;
 import com.diagbot.dto.RespDTO;
@@ -59,4 +61,12 @@ public class ClinicalController {
         GdbResponse data = clinicalFacade.highRiskPageData(searchVo);
         return RespDTO.onSuc(data);
     }
+
+    @ApiOperation(value = "计算接口", notes = "")
+    @PostMapping("/scaleCalc")
+    @SysLogger("scaleCalc")
+    public RespDTO<Map<String, Object>> scaleCalc(@RequestBody CalculateData calculateData) {
+        Map<String, Object> data = clinicalFacade.scaleCalc(calculateData);
+        return RespDTO.onSuc(data);
+    }
 }

+ 4 - 0
icss-service/src/main/java/com/diagbot/client/AiptServiceClient.java

@@ -1,5 +1,6 @@
 package com.diagbot.client;
 
+import com.diagbot.client.bean.CalculateData;
 import com.diagbot.client.bean.GdbResponse;
 import com.diagbot.client.bean.Response;
 import com.diagbot.client.bean.ResponseData;
@@ -32,4 +33,7 @@ public interface AiptServiceClient {
 
     @PostMapping("/clinicaldata/highRish")
     Response<GdbResponse> highRisk(@RequestBody SearchData searchData);
+
+    @PostMapping(value = "/clinicaldata/scaleCalc")
+    Response<Map<String, Object>> scaleCalc(@RequestBody CalculateData calculateData);
 }

+ 7 - 0
icss-service/src/main/java/com/diagbot/client/hystrix/AiptServiceHystrix.java

@@ -1,6 +1,7 @@
 package com.diagbot.client.hystrix;
 
 import com.diagbot.client.AiptServiceClient;
+import com.diagbot.client.bean.CalculateData;
 import com.diagbot.client.bean.GdbResponse;
 import com.diagbot.client.bean.Response;
 import com.diagbot.client.bean.ResponseData;
@@ -44,4 +45,10 @@ public class AiptServiceHystrix implements AiptServiceClient {
         log.error("【hystrix】调用{}异常", "highRisk");
         return null;
     }
+
+    @Override
+    public Response<Map<String, Object>> scaleCalc(@RequestBody CalculateData calculateData) {
+        log.error("【hystrix】调用{}异常", "scaleCalc");
+        return null;
+    }
 }

+ 13 - 8
icss-service/src/main/java/com/diagbot/facade/CalculateFacade.java

@@ -1,11 +1,15 @@
 package com.diagbot.facade;
 
 import com.diagbot.client.AiptServiceClient;
-import com.diagbot.dto.CalculateDTO;
+import com.diagbot.client.bean.Response;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
 import com.diagbot.vo.CalculateVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.Map;
+
 /**
  * @Description:
  * @Author:zhaops
@@ -16,11 +20,12 @@ public class CalculateFacade {
     @Autowired
     AiptServiceClient aiptServiceClient;
 
-    public CalculateDTO calculate(CalculateVO calculateVO) {
-        CalculateDTO calculateDTO = new CalculateDTO();
-        calculateDTO.setValue(10D);
-        calculateDTO.setUnit("ml/min•1.73m2");
-        calculateDTO.setText("肾功能衰竭");
-        return calculateDTO;
+    public Map<String, Object> calculate(CalculateVO calculateVO) {
+        Response<Map<String, Object>> res = aiptServiceClient.scaleCalc(calculateVO);
+        if (res == null || res.getData() == null) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "计算没有结果返回");
+        }
+        Map<String, Object> map = res.getData();
+        return map;
     }
-}
+}

+ 2 - 1
icss-service/src/main/java/com/diagbot/web/CalculateController.java

@@ -14,6 +14,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
+import java.util.Map;
 
 /**
  * @Description:计算相关
@@ -32,7 +33,7 @@ public class CalculateController {
                     "data:计算参数(量表或计算公式结构),String<br>")
     @PostMapping("/calculate")
     @SysLogger("calculate")
-    public RespDTO<CalculateDTO> calculate(@RequestBody @Valid CalculateVO calculateVO) {
+    public RespDTO<Map<String, Object>> calculate(@RequestBody @Valid CalculateVO calculateVO) {
         return RespDTO.onSuc(calculateFacade.calculate(calculateVO));
     }
 }