package com.ard.gb28181.api.factory; import com.ard.common.core.domain.R; import com.ard.common.core.domain.RtpServerParam; import com.ard.gb28181.api.RemoteGb28181Service; import com.ard.gb28181.api.domain.Device; import com.ard.gb28181.api.domain.DeviceChannel; import com.ard.gb28181.api.domain.GbChannelDTO; import com.ard.gb28181.api.domain.GbDeviceDTO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; import java.util.List; /** * gb28181服务降级处理 * * @FileName RemoteGb28181FallbackFactory * @Description * @Author fengcheng * @date 2026-03-30 **/ @Component public class RemoteGb28181FallbackFactory implements FallbackFactory { private static final Logger log = LoggerFactory.getLogger(RemoteGb28181FallbackFactory.class); @Override public RemoteGb28181Service create(Throwable throwable) { log.error("gb28181服务调用失败:{}", throwable.getMessage()); return new RemoteGb28181Service() { @Override public R getDeviceByDeviceId(String gbDeviceId, String inner) { return R.fail("gb28181 根据设备id获取设备失败:" + throwable.getMessage()); } @Override public R playStreamCmd(RtpServerParam rtpServer, String inner) { return R.fail("gb28181 请求预览视频流失败:" + throwable.getMessage()); } @Override public R getDeviceChannelByChannelId(String gbDeviceId, String gbChannelId, String inner) { return R.fail("gb28181 根据设备id和通道获取设备通道:" + throwable.getMessage()); } @Override public R streamByeCmd(RtpServerParam rtpServer, String inner) { return R.fail("gb28181 请求停止预览视频流失败:" + throwable.getMessage()); } @Override public R> getAllDevices(String inner) { return R.fail("gb28181 获取全部设备失败:" + throwable.getMessage()); } @Override public R getGbDevice(String gbDeviceId, String inner) { return R.fail("gb28181 获取GbDevice失败:" + throwable.getMessage()); } @Override public R> getAllGbDevices(String inner) { return R.fail("gb28181 获取所有GbDevice失败:" + throwable.getMessage()); } @Override public R getGbChannel(String gbDeviceId, String gbChannelId, String inner) { return R.fail("gb28181 获取GbChannel失败:" + throwable.getMessage()); } @Override public R> getGbChannelsByDeviceId(String gbDeviceId, String inner) { return R.fail("gb28181 获取设备通道列表失败:" + throwable.getMessage()); } @Override public R updateGbChannelStream(GbChannelDTO gbChannel, String inner) { return R.fail("gb28181 更新GbChannel流状态失败:" + throwable.getMessage()); } @Override public R frontEndCommand(String deviceId, String channelId, Integer cmdCode, Integer parameter1, Integer parameter2, Integer combindCode2, String inner) { return R.fail("gb28181 通用前端控制命令失败:" + throwable.getMessage()); } @Override public R ptz(String deviceId, String channelId, String command, Integer horizonSpeed, Integer verticalSpeed, Integer zoomSpeed, String inner) { return R.fail("gb28181 云台控制失败:" + throwable.getMessage()); } @Override public R iris(String deviceId, String channelId, String command, Integer speed, String inner) { return R.fail("gb28181 光圈控制失败:" + throwable.getMessage()); } @Override public R focus(String deviceId, String channelId, String command, Integer speed, String inner) { return R.fail("gb28181 聚焦控制失败:" + throwable.getMessage()); } @Override public R queryPreset(String deviceId, String channelId, String inner) { return R.fail("gb28181 查询预置位失败:" + throwable.getMessage()); } @Override public R addPreset(String deviceId, String channelId, Integer presetId, String inner) { return R.fail("gb28181 设置预置位失败:" + throwable.getMessage()); } @Override public R callPreset(String deviceId, String channelId, Integer presetId, String inner) { return R.fail("gb28181 调用预置位失败:" + throwable.getMessage()); } @Override public R deletePreset(String deviceId, String channelId, Integer presetId, String inner) { return R.fail("gb28181 删除预置位失败:" + throwable.getMessage()); } @Override public R addCruisePoint(String deviceId, String channelId, Integer cruiseId, Integer presetId, String inner) { return R.fail("gb28181 加入巡航点失败:" + throwable.getMessage()); } @Override public R deleteCruisePoint(String deviceId, String channelId, Integer cruiseId, Integer presetId, String inner) { return R.fail("gb28181 删除巡航点失败:" + throwable.getMessage()); } @Override public R setCruiseSpeed(String deviceId, String channelId, Integer cruiseId, Integer speed, String inner) { return R.fail("gb28181 设置巡航速度失败:" + throwable.getMessage()); } @Override public R setCruiseTime(String deviceId, String channelId, Integer cruiseId, Integer time, String inner) { return R.fail("gb28181 设置巡航停留时间失败:" + throwable.getMessage()); } @Override public R startCruise(String deviceId, String channelId, Integer cruiseId, String inner) { return R.fail("gb28181 开始巡航失败:" + throwable.getMessage()); } @Override public R stopCruise(String deviceId, String channelId, Integer cruiseId, String inner) { return R.fail("gb28181 停止巡航失败:" + throwable.getMessage()); } @Override public R startScan(String deviceId, String channelId, Integer scanId, String inner) { return R.fail("gb28181 开始自动扫描失败:" + throwable.getMessage()); } @Override public R stopScan(String deviceId, String channelId, Integer scanId, String inner) { return R.fail("gb28181 停止自动扫描失败:" + throwable.getMessage()); } @Override public R setScanLeft(String deviceId, String channelId, Integer scanId, String inner) { return R.fail("gb28181 设置自动扫描左边界失败:" + throwable.getMessage()); } @Override public R setScanRight(String deviceId, String channelId, Integer scanId, String inner) { return R.fail("gb28181 设置自动扫描右边界失败:" + throwable.getMessage()); } @Override public R setScanSpeed(String deviceId, String channelId, Integer scanId, Integer speed, String inner) { return R.fail("gb28181 设置自动扫描速度失败:" + throwable.getMessage()); } @Override public R wiper(String deviceId, String channelId, String command, String inner) { return R.fail("gb28181 雨刷控制失败:" + throwable.getMessage()); } @Override public R auxiliarySwitch(String deviceId, String channelId, String command, Integer switchId, String inner) { return R.fail("gb28181 辅助开关控制失败:" + throwable.getMessage()); } }; } }