package com.ruoyi.payment.api.factory; import com.ruoyi.common.core.domain.R; import com.ruoyi.payment.api.feignClient.WxPaymentClient; import com.ruoyi.payment.api.vo.NotifyV3PayDecodeRespBody; import com.ruoyi.payment.api.vo.PaymentOrder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; import javax.servlet.http.HttpServletRequest; import java.util.Map; /** * 充电订单服务降级处理 * * @author ruoyi */ @Component public class WxPaymentFallbackFactory implements FallbackFactory { private static final Logger log = LoggerFactory.getLogger(WxPaymentFallbackFactory.class); @Override public WxPaymentClient create(Throwable throwable) { log.error("微信支付调用失败:{}", throwable.getMessage()); return new WxPaymentClient() { @Override public R queryOrderInfo(String orderId) { throw new RuntimeException("查询支付订单信息失败:" + throwable.getMessage()); } @Override public R> orderPay(PaymentOrder paymentOrder) { throw new RuntimeException("调起微信支付失败:" + throwable.getMessage()); } @Override public R> payNotify(HttpServletRequest request) { return R.fail("微信支付回调失败:" + throwable.getMessage()); } @Override public void ack() { } @Override public void close(String outTradeNo) { throw new RuntimeException("关闭支付订单失败:" + throwable.getMessage()); } }; } }