package com.xiaopeng.api.factory.payFront;
|
|
import com.xiaopeng.api.dto.payFront.CreditOrderCancelDto;
|
import com.xiaopeng.api.dto.payFront.CreditOrderCreateDto;
|
import com.xiaopeng.api.dto.payFront.CreditOrderQueryDto;
|
import com.xiaopeng.api.dto.payFront.CreditOrderWxPayDto;
|
import com.xiaopeng.api.dto.payFront.CreditPaySignDto;
|
import com.xiaopeng.api.dto.payFront.CreditPaySignQueryDto;
|
import com.xiaopeng.api.dto.payFront.CreditPrecreateDto;
|
import com.xiaopeng.api.dto.payFront.RefundRequestDto;
|
import com.xiaopeng.api.dto.payFront.UnsignCreditPayDto;
|
import com.xiaopeng.api.feignClient.payFront.XpPayFrontClient;
|
import com.xiaopeng.api.vo.payFront.CreditOrderCancelVo;
|
import com.xiaopeng.api.vo.payFront.CreditOrderCreateVo;
|
import com.xiaopeng.api.vo.payFront.CreditOrderQueryVo;
|
import com.xiaopeng.api.vo.payFront.CreditOrderWxPayVo;
|
import com.xiaopeng.api.vo.payFront.CreditPaySignQueryVo;
|
import com.xiaopeng.api.vo.payFront.CreditPaySignVo;
|
import com.xiaopeng.api.vo.payFront.CreditPrecreateVo;
|
import com.xiaopeng.api.vo.payFront.RefundVo;
|
import com.xiaopeng.api.vo.payFront.UnsignCreditPayVo;
|
import com.xiaopeng.common.core.domain.R;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.cloud.openfeign.FallbackFactory;
|
import org.springframework.stereotype.Component;
|
|
/**
|
* Pay front Feign fallback factory.
|
*
|
* @author mitao
|
*/
|
@Slf4j
|
@Component
|
public class XpPayFrontClientFallbackFactory implements FallbackFactory<XpPayFrontClient> {
|
|
@Override
|
public XpPayFrontClient create(Throwable cause) {
|
log.error("pay front service call failed: {}", cause.getMessage());
|
return new XpPayFrontClient() {
|
@Override
|
public R<CreditPaySignVo> creditPaySign(CreditPaySignDto dto) {
|
return fail("credit pay sign failed");
|
}
|
|
@Override
|
public R<CreditPaySignQueryVo> queryCreditPaySign(CreditPaySignQueryDto dto) {
|
return fail("credit pay sign query failed");
|
}
|
|
@Override
|
public R<CreditOrderCreateVo> createCreditOrder(CreditOrderCreateDto dto) {
|
return fail("credit order create failed");
|
}
|
|
@Override
|
public R<CreditOrderWxPayVo> creditOrderWxPay(CreditOrderWxPayDto dto) {
|
return fail("credit order wxPay failed");
|
}
|
|
@Override
|
public R<CreditOrderCancelVo> cancelCreditOrder(CreditOrderCancelDto dto) {
|
return fail("credit order cancel failed");
|
}
|
|
@Override
|
public R<CreditOrderQueryVo> queryCreditOrder(CreditOrderQueryDto dto) {
|
return fail("credit order query failed");
|
}
|
|
@Override
|
public R<RefundVo> refund(RefundRequestDto dto) {
|
return fail("refund failed");
|
}
|
|
@Override
|
public R<CreditPrecreateVo> precreate(CreditPrecreateDto dto) {
|
return fail("precreate failed");
|
}
|
|
@Override
|
public R<UnsignCreditPayVo> unsign(UnsignCreditPayDto dto) {
|
return fail("credit pay unsign failed");
|
}
|
|
private <T> R<T> fail(String message) {
|
log.error("{}: {}", message, cause.getMessage());
|
return R.fail(message);
|
}
|
};
|
}
|
}
|