From 8658e53565bfa82b1de6f23dca39c87c158bbe35 Mon Sep 17 00:00:00 2001 From: yh <1844516659@qq.com> Date: Mon, 18 Jul 2022 16:48:30 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A3=9E=E6=BB=B4=E5=87=BA=E8=A1=8C=E7=BD=91?= =?UTF-8?q?=E7=BA=A6=E8=BD=A62022-api-passenger=E4=BD=BF=E7=94=A8feign?= =?UTF-8?q?=E8=81=94=E8=B0=83service-price=E5=AE=9E=E7=8E=B0=E9=A2=84?= =?UTF-8?q?=E4=BC=B0=E4=BB=B7=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../remote/ServicePriceClient.java | 18 +++++++++++++ .../service/ForecastPriceService.java | 26 ++++++++++++++----- .../controller/ForecastPriceController.java | 3 ++- .../service/ForecastPriceService.java | 14 +++++----- 4 files changed, 46 insertions(+), 15 deletions(-) create mode 100644 api-passenger/src/main/java/com/mashibing/apipassenger/remote/ServicePriceClient.java diff --git a/api-passenger/src/main/java/com/mashibing/apipassenger/remote/ServicePriceClient.java b/api-passenger/src/main/java/com/mashibing/apipassenger/remote/ServicePriceClient.java new file mode 100644 index 0000000..edb4388 --- /dev/null +++ b/api-passenger/src/main/java/com/mashibing/apipassenger/remote/ServicePriceClient.java @@ -0,0 +1,18 @@ +package com.mashibing.apipassenger.remote; + +import com.mashibing.internalcommon.dto.ResponseResult; +import com.mashibing.internalcommon.request.ForecastPriceDTO; +import com.mashibing.internalcommon.response.ForecastPriceResponse; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.stereotype.Service; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +@Service +@FeignClient("service-price") +public interface ServicePriceClient { + + @PostMapping("/forecast-price") + public ResponseResult forecastPrice(@RequestBody ForecastPriceDTO forecastPriceDTO); + +} diff --git a/api-passenger/src/main/java/com/mashibing/apipassenger/service/ForecastPriceService.java b/api-passenger/src/main/java/com/mashibing/apipassenger/service/ForecastPriceService.java index 79cfefa..7ae3bbd 100644 --- a/api-passenger/src/main/java/com/mashibing/apipassenger/service/ForecastPriceService.java +++ b/api-passenger/src/main/java/com/mashibing/apipassenger/service/ForecastPriceService.java @@ -1,9 +1,11 @@ package com.mashibing.apipassenger.service; +import com.mashibing.apipassenger.remote.ServicePriceClient; import com.mashibing.internalcommon.dto.ResponseResult; import com.mashibing.internalcommon.request.ForecastPriceDTO; import com.mashibing.internalcommon.response.ForecastPriceResponse; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -11,6 +13,9 @@ import org.springframework.stereotype.Service; @Service public class ForecastPriceService { + @Autowired + private ServicePriceClient servicePriceClient; + /** * 根据 出发地和目地的 地经纬度 计算预估价格 * @param depLongitude @@ -21,16 +26,23 @@ public class ForecastPriceService { */ public ResponseResult forecastPrice(String depLongitude, String depLatitude, String destLongitude,String destLatitude){ - log.info("出发地经度:"+depLongitude); - log.info("出发地纬度:"+depLatitude); - log.info("目的地经度:"+destLongitude); - log.info("目的地纬度:"+destLatitude); +// log.info("出发地经度:"+depLongitude); +// log.info("出发地纬度:"+depLatitude); +// log.info("目的地经度:"+destLongitude); +// log.info("目的地纬度:"+destLatitude); // 调用 计价服务,进行价格预估 - - + ForecastPriceDTO priceDTO = new ForecastPriceDTO(); + priceDTO.setDepLatitude(depLatitude); + priceDTO.setDepLongitude(depLongitude); + priceDTO.setDestLatitude(destLatitude); + priceDTO.setDestLongitude(destLongitude); + ResponseResult forecastPriceResponseResult = servicePriceClient.forecastPrice(priceDTO); + double price = forecastPriceResponseResult.getData().getPrice(); + + // 返回 封装结果对象 ForecastPriceResponse priceResponse = new ForecastPriceResponse(); - priceResponse.setPrice(12.34); + priceResponse.setPrice(price); return ResponseResult.success(priceResponse); } diff --git a/service-price/src/main/java/com/mashibing/serviceprice/controller/ForecastPriceController.java b/service-price/src/main/java/com/mashibing/serviceprice/controller/ForecastPriceController.java index b8a5e5c..7627a10 100644 --- a/service-price/src/main/java/com/mashibing/serviceprice/controller/ForecastPriceController.java +++ b/service-price/src/main/java/com/mashibing/serviceprice/controller/ForecastPriceController.java @@ -2,6 +2,7 @@ package com.mashibing.serviceprice.controller; import com.mashibing.internalcommon.dto.ResponseResult; import com.mashibing.internalcommon.request.ForecastPriceDTO; +import com.mashibing.internalcommon.response.ForecastPriceResponse; import com.mashibing.serviceprice.service.ForecastPriceService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -15,7 +16,7 @@ public class ForecastPriceController { private ForecastPriceService priceService; @PostMapping("/forecast-price") - public ResponseResult forecastPrice(@RequestBody ForecastPriceDTO forecastPriceDTO){ + public ResponseResult forecastPrice(@RequestBody ForecastPriceDTO forecastPriceDTO){ String depLongitude = forecastPriceDTO. getDepLongitude(); String depLatitude = forecastPriceDTO.getDepLatitude(); diff --git a/service-price/src/main/java/com/mashibing/serviceprice/service/ForecastPriceService.java b/service-price/src/main/java/com/mashibing/serviceprice/service/ForecastPriceService.java index c205150..4c1550b 100644 --- a/service-price/src/main/java/com/mashibing/serviceprice/service/ForecastPriceService.java +++ b/service-price/src/main/java/com/mashibing/serviceprice/service/ForecastPriceService.java @@ -35,12 +35,12 @@ public class ForecastPriceService { * @param destLatitude * @return */ - public ResponseResult forecastPrice(String depLongitude, String depLatitude, String destLongitude, String destLatitude){ + public ResponseResult forecastPrice(String depLongitude, String depLatitude, String destLongitude, String destLatitude){ - log.info("出发地经度:"+depLongitude); - log.info("出发地纬度:"+depLatitude); - log.info("目的地经度:"+destLongitude); - log.info("目的地纬度:"+destLatitude); +// log.info("出发地经度:"+depLongitude); +// log.info("出发地纬度:"+depLatitude); +// log.info("目的地经度:"+destLongitude); +// log.info("目的地纬度:"+destLatitude); ForecastPriceDTO priceDTO = new ForecastPriceDTO(); priceDTO.setDepLatitude(depLatitude); @@ -52,8 +52,8 @@ public class ForecastPriceService { Integer distance = driving.getData().getDistance(); Integer duration = driving.getData().getDuration(); - System.out.println("distance = " + distance); - System.out.println("duration = " + duration); +// System.out.println("distance = " + distance); +// System.out.println("duration = " + duration); // 读取计价规则 Map queryMap = new HashMap<>();