package com.xiaopeng.api.feignClient.map; import com.xiaopeng.api.dto.WeatherDTO; import com.xiaopeng.api.dto.map.OrderRouteAndFareDto; import com.xiaopeng.api.dto.map.RouteAndFareDto; import com.xiaopeng.api.factory.map.XpMapClientFallbackFactory; import com.xiaopeng.api.factory.operation.XpSystemSettingClientFallbackFactory; import com.xiaopeng.api.vo.map.XpDistanceAndDurationVo; import com.xiaopeng.api.vo.operation.RouteVo; import com.xiaopeng.common.core.domain.R; import com.xiaopeng.common.core.dto.ServiceNameConstantsEnum; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import java.util.List; @FeignClient(contextId = "XpMapClient", value = ServiceNameConstantsEnum.XP_MAP_SERVICE, fallbackFactory = XpMapClientFallbackFactory.class) public interface XpMapClient { /** * 获取距离和时长 * @param dto * @return */ @PostMapping("/base/v1/map/getDistanceAndDuration") R getDistanceAndDuration(@RequestBody RouteAndFareDto dto); /** * 获取距离和时长 * @param dto * @return */ @PostMapping("/base/v1/map/getDistanceAndDurationList") R> getDistanceAndDurationList(@RequestBody RouteAndFareDto dto); /** * 获取距离和时长 * @param dto * @return */ @PostMapping("/base/v1/map/getOrderDistanceAndDuration") R getOrderDistanceAndDuration(@RequestBody OrderRouteAndFareDto dto); /** * 根据导航ID获取车端需要的导航数据 * @param routedID * @return */ @PostMapping("/base/v1/map/queryRouted") R queryRouted(@RequestParam("routedID") String routedID); /** * 判断是否同一经营区域 * @param dto * @return */ @PostMapping("/base/v1/fence/diagnosisArea") R diagnosisArea(@RequestBody RouteAndFareDto dto); /** * 获取指定城市的天气 */ @PostMapping("/logan/inner/weatherInfo") R wether(@RequestParam("cityCode") String cityCode); }