package com.xiaopeng.api.factory.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.feignClient.map.XpMapClient;
|
import com.xiaopeng.api.feignClient.operation.XpSystemSettingClient;
|
import com.xiaopeng.api.vo.map.XpDistanceAndDurationVo;
|
import com.xiaopeng.api.vo.operation.RouteVo;
|
import com.xiaopeng.common.core.domain.R;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.cloud.openfeign.FallbackFactory;
|
import org.springframework.stereotype.Component;
|
|
@Slf4j
|
@Component
|
public class XpMapClientFallbackFactory implements FallbackFactory<XpMapClient> {
|
@Override
|
public XpMapClient create(Throwable cause) {
|
return new XpMapClient(){
|
@Override
|
public R<RouteVo> getDistanceAndDuration(RouteAndFareDto dto) {
|
log.error("获取距离和时长失败:{}", cause.getMessage());
|
return R.fail("获取距离和时长失败");
|
}
|
|
@Override
|
public R<RouteVo> getOrderDistanceAndDuration(OrderRouteAndFareDto dto) {
|
log.error("获取订单距离和时长失败:{}", cause.getMessage());
|
return R.fail("获取订单距离和时长失败,"+cause.getMessage());
|
}
|
|
|
@Override
|
public R<String> queryRouted(String routedID) {
|
log.error("根据导航ID获取车端需要的导航数据失败:{}", cause.getMessage());
|
return R.fail("根据导航ID获取车端需要的导航数据失败:" + cause.getMessage());
|
}
|
|
@Override
|
public R<Boolean> diagnosisArea(RouteAndFareDto dto) {
|
log.error("判断是否同一经营区域失败:{}", cause.getMessage());
|
return R.fail("判断是否同一经营区域失败");
|
}
|
|
@Override
|
public R<WeatherDTO> wether(String cityCode) {
|
log.error("获取天气失败:{}", cause.getMessage());
|
return R.fail("获取天气失败");
|
}
|
};
|
}
|
}
|