| 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.model.WxPaymentRefundModel; | 
| import com.ruoyi.payment.api.vo.NotifyV3PayDecodeRespBody; | 
| import com.ruoyi.payment.api.vo.PaymentOrder; | 
| import com.ruoyi.payment.api.vo.WxRefundNotifyResp; | 
| 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<WxPaymentClient> | 
| { | 
|     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<NotifyV3PayDecodeRespBody> queryOrderInfo(String orderId) { | 
|                 return R.fail("查询支付订单信息失败:" + throwable.getMessage()); | 
|             } | 
|      | 
|             @Override | 
|             public R<Map<String, Object>> orderPay(PaymentOrder paymentOrder) { | 
|                 return R.fail("调起微信支付失败:" + throwable.getMessage()); | 
|             } | 
|   | 
|             @Override | 
|             public void close(String outTradeNo) { | 
|                 R.fail("关闭支付订单失败:" + throwable.getMessage()); | 
|             } | 
|   | 
|             @Override | 
|             public R<Map<String, Object>> refundOrderR(WxPaymentRefundModel model) { | 
|                 return R.fail("微信退款失败:" + throwable.getMessage()); | 
|             } | 
|         }; | 
|     } | 
| } |