package com.ruoyi.order.api.factory; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.dto.ChargingOrderGroup; import com.ruoyi.common.core.dto.ChargingPercentProvinceDto; import com.ruoyi.order.api.dto.ChargingStatisticeDTO; import com.ruoyi.order.api.feignClient.ChargingOrderClient; import com.ruoyi.order.api.model.AddTripartitePlatformOrder; import com.ruoyi.order.api.model.ChargingListQuery; import com.ruoyi.order.api.model.TChargingOrder; import com.ruoyi.order.api.model.TSettlementConfirm; import com.ruoyi.order.api.query.TChargingCountQuery; import com.ruoyi.order.api.query.UploadRealTimeMonitoringDataQuery; import com.ruoyi.order.api.vo.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestParam; import java.math.BigDecimal; import java.util.List; /** * 充电订单服务降级处理 * * @author ruoyi */ @Component public class ChargingOrderFallbackFactory implements FallbackFactory { private static final Logger log = LoggerFactory.getLogger(ChargingOrderFallbackFactory.class); @Override public ChargingOrderClient create(Throwable throwable) { log.error("充电订单调用失败:{}", throwable.getMessage()); return new ChargingOrderClient() { @Override public R queryOrderByGunId(String id) { return R.fail("远程调用根据枪id 查询最新的订单id 用户后台结束充电" + throwable.getMessage()); } @Override public R useOrderCount(Long userId) { return R.fail("订单计数:" + throwable.getMessage()); } @Override public R chargingBillListR(ChargingListQuery dto) { return R.fail("查询充电算帐单失败" + throwable.getMessage()); } @Override public R orderDetail(Long orderId) { return R.fail("订单详情:" + throwable.getMessage()); } @Override public R> getList(Integer siteId) { return R.fail("根据站点id查询充电订单:" + throwable.getMessage()); } @Override public R> getBySiteIdAndTime(ChargingPercentProvinceDto chargingPercentProvinceDto) { return R.fail("获取数据失败:" + throwable.getMessage()); } @Override public R> getOrderBySiteIdAndTime(ChargingPercentProvinceDto chargingPercentProvinceDto) { return R.fail("根据站点id和时间区间查询订单数据失败:" + throwable.getMessage()); } @Override public R getChargingCount(TChargingCountQuery req) { return R.fail("根据会员id和有效期查询有效期内享受充电折扣次数:" + throwable.getMessage()); } @Override public R getOrderDetailByGunId(Integer chargingGunId) { return R.fail("根据充电枪获取正在充电的订单:" + throwable.getMessage()); } @Override public R getCar(@PathVariable("id")String id) { return R.fail("获取用户最近使用车辆充电的车辆id:" + throwable.getMessage()); } @Override public void chargeMonitoring(UploadRealTimeMonitoringDataQuery query) { } @Override public R getOrderByCode(String code) { return R.fail("通过流水号查询订单调用失败:" + throwable.getMessage()); } @Override public void endCharge(String code) { } @Override public void excelEndCharge(String code) { } @Override public R getChargingOrderByLicensePlate(GetChargingOrderByLicensePlate query) { return R.fail("根据车牌号和时间查询有效的充电数据失败:" + throwable.getMessage()); } @Override public R downloadSettlement(String uid) { return R.fail("通过id查询结算确认失败:" + throwable.getMessage()); } @Override public R settlementTotalR(String time,Long userId) { return R.fail("查询结算汇总表导出列表失败:" + throwable.getMessage()); } @Override public R updateChargingOrder(TChargingOrder chargingOrder) { return R.fail("修改充电订单失败:" + throwable.getMessage()); } @Override public R stopCharging(String id) { return R.fail("手动停止充电失败:" + throwable.getMessage()); } @Override public void chargingOrderWXCallback(String out_trade_no, String transaction_id, String attach) { log.error("充电支付成功回调通知失败:" + throwable.getMessage()); } @Override public void chargingOrderALICallback(String out_trade_no, String transaction_id, String attach) { log.error("充电支付成功回调通知失败:" + throwable.getMessage()); } @Override public void chargingOrderALIH5Callback(String out_trade_no, String transaction_id, String attach) { log.error("充电支付宝H5支付成功回调通知失败:" + throwable.getMessage()); } @Override public void chargingOrderStartupFailureWxRefund(String out_refund_no, String refund_id, String tradeState, String success_time) { log.error("远程启动失败后退款通知失败:" + throwable.getMessage()); } @Override public void shoppingOrderWxRefund(String out_refund_no, String refund_id, String tradeState, String success_time) { log.error("购物订单退款回调通知失败:" + throwable.getMessage()); } @Override public void securityDetection(SecurityDetectionVO securityDetection) { log.error("修改安全检测数据失败:" + throwable.getMessage()); } @Override public void startChargeSuccessfully(PlatformStartChargingReplyMessageVO message) { log.error("远程启动充电应答失败:" + throwable.getMessage()); } @Override public void terminateSuccessfulResponse(PlatformStopChargingReplyVO platformStopChargingReply) { log.error("停止充电应答处理失败:" + throwable.getMessage()); } @Override public R endChargeBillingCharge(TransactionRecordMessageVO vo) { return R.fail("停止充电返回账单后计算费用处理失败:" + throwable.getMessage()); } @Override public R> getChargingOrder(TChargingOrderVo order) { return R.fail("获取充电订单数据失败:" + throwable.getMessage()); } @Override public R> getChargingStatistics(ChargingStatisticeDTO dto) { return R.fail("获取充电订单数据失败-监管:" + throwable.getMessage()); } @Override public R> getCarChargingOrder(Long carId, String startTime, String endTime) { return R.fail("根据车辆id获取指定时间范围内的数据失败:" + throwable.getMessage()); } @Override public R> getCarChargingOrderByPlateNum(String plateNum, String startTime, String endTime) { return R.fail("根据车牌号查询指定时间范围内的数据失败:" + throwable.getMessage()); } @Override public R addTripartitePlatformOrder(AddTripartitePlatformOrder query) { return R.fail("添加三方平台充电订单数据失败:" + throwable.getMessage()); } @Override public R getChargingOrderByStartChargeSeq(String startChargeSeq) { return R.fail("根据三方平台订单id获取充电数据失败:" + throwable.getMessage()); } @Override public R> getChargingOrderByStartChargeSeqs(List startChargeSeqs) { return R.fail("根据三方平台订单ids获取充电数据失败" + throwable.getMessage()); } @Override public R tripartitePlatformStopCharge(String startChargeSeq) { return R.fail("三方平台请求停止充电失败:" + throwable.getMessage()); } @Override public R getSumDegreeBySiteIds(@RequestParam("siteIds") List SiteIds){ return R.fail("获取站点集合中总的充电量失败:" + throwable.getMessage()); } }; } }