package com.xiaopeng.api.factory.operation; import com.xiaopeng.api.dto.operation.PointAddDto; import com.xiaopeng.api.dto.operation.PointMapQuery; import com.xiaopeng.api.dto.operation.PointUpdateDto; import com.xiaopeng.api.dto.operation.XpPointEnableDisableDto; import com.xiaopeng.api.dto.order.HistoryEndPointsDto; import com.xiaopeng.api.dto.order.HistoryStartPointsDto; import com.xiaopeng.api.feignClient.operation.XpPointClient; import com.xiaopeng.api.model.operation.XpElectronicFenceArea; import com.xiaopeng.api.model.operation.XpPoint; import com.xiaopeng.api.query.operation.PointListQuery; import com.xiaopeng.api.query.operation.PointPageListListQuery; import com.xiaopeng.api.vo.order.XpHistoryEndPointsVo; import com.xiaopeng.api.vo.order.XpHistoryStartPointsVo; import com.xiaopeng.common.core.domain.R; import com.xiaopeng.common.core.web.page.PageInfo; import lombok.extern.slf4j.Slf4j; import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.Collections; import java.util.List; @Slf4j @Component public class XpPointClientFallbackFactory implements FallbackFactory { @Override public XpPointClient create(Throwable cause) { return new XpPointClient() { @Override public R> getHistoryStartPoints(HistoryStartPointsDto historyStartPointsDto) { log.error("获取历史起点失败:{}", cause.getMessage()); return R.ok(Collections.emptyList()); } @Override public R> getHistoryEndPoints(HistoryEndPointsDto historyEndPointsDto) { log.error("获取历史终点失败:{}", cause.getMessage()); return R.ok(Collections.emptyList()); } @Override public R> listElectronicFenceArea() { log.error("获取所有运营中的区域:{}", cause.getMessage()); return R.fail(Collections.emptyList()); } @Override public R> list(PointListQuery query) { log.error("获取点位列表失败:{}", cause.getMessage()); return R.fail(Collections.emptyList()); } @Override public R> pageList(PointPageListListQuery query) { log.error("获取点位分页列表失败:{}", cause.getMessage()); return R.fail(new PageInfo<>()); } @Override public R add(PointAddDto pointAddDto) { log.error("新增点位失败:{}", cause.getMessage()); return R.fail("新增点位失败"); } @Override public R edit(PointUpdateDto pointAddDto) { log.error("编辑点位失败:{}", cause.getMessage()); return R.fail("编辑点位失败"); } @Override public R queryById(Long id) { log.error("获取点位详情失败:{}", cause.getMessage()); return R.fail("获取点位详情失败"); } @Override public R deletePoint(String ids) { log.error("删除点位失败:{}", cause.getMessage()); return R.fail("删除点位失败"); } @Override public R enableDisable(XpPointEnableDisableDto dto) { log.error("修改点位运营状态失败:{}", cause.getMessage()); return R.fail("修改点位运营状态失败"); } @Override public R> pointMap(PointMapQuery query) { log.error("获取地图点位失败:{}", cause.getMessage()); return R.ok(new ArrayList<>()); } }; } }