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) {
|
throw new RuntimeException("查询支付订单信息失败:" + throwable.getMessage());
|
}
|
|
@Override
|
public R<Map<String, Object>> orderPay(PaymentOrder paymentOrder) {
|
throw new RuntimeException("调起微信支付失败:" + throwable.getMessage());
|
}
|
|
@Override
|
public R<Map<String, Object>> payNotify(HttpServletRequest request) {
|
return R.fail("微信支付回调失败:" + throwable.getMessage());
|
}
|
|
@Override
|
public void ack() {
|
|
}
|
|
@Override
|
public void close(String outTradeNo) {
|
throw new RuntimeException("关闭支付订单失败:" + throwable.getMessage());
|
}
|
|
@Override
|
public R<String> refundOrderR(WxPaymentRefundModel model) {
|
return R.fail("微信退款失败:" + throwable.getMessage());
|
|
}
|
|
@Override
|
public R<WxRefundNotifyResp> refundNotify(HttpServletRequest request) {
|
return R.fail("微信退款回调失败:" + throwable.getMessage());
|
}
|
};
|
}
|
}
|