Zhaops 6 vuotta sitten
vanhempi
commit
a06d940b94

+ 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;
+    }
 }

+ 14 - 7
icss-service/src/main/java/com/diagbot/facade/CalculateFacade.java

@@ -1,11 +1,17 @@
 package com.diagbot.facade;
 
 import com.diagbot.client.AiptServiceClient;
+import com.diagbot.client.bean.Response;
 import com.diagbot.dto.CalculateDTO;
+import com.diagbot.dto.RespDTO;
+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 +22,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));
     }
 }