- 可以定义一个接口比如支付PayUrlInterface
public inteface payUrlInterface{
string getUrl();
}
2.写一个实现类AliPayUrlEnum
public enum AliPayUrlEnum implements PayUrlInterface{
/**
* 支付宝付款码支付
*/
ALI_CODE_PAY("/api/pay/alipay/codePay"),
/**
* 支付宝扫码支付
*/
ALI_NATIVE_PAY("/api/pay/alipay/nativePay"),
/**
* 支付宝 H5 支付
*/
ALI_WAP_PAY("/api/pay/alipay/wapPay"),
/**
* 支付宝 JS 支付
*/
ALI_JS_PAY("/api/pay/alipay/jsPay"),
/**
* H5支付
*/
ALI_MOBILE_PAY("/api/pay/alipay/mobilePay"),
/**
* 支付宝 APP 支付
*/
ALI_APP_PAY("/api/pay/wxpay/appPay"),
/**
* 电脑网站支付
*/
ALI_WEB_PAY("/api/pay/alipay/webPay"),
/**
* 关闭订单
*/
ALI_CLOSE_ORDER("/api/pay/alipay/closeOrder"),
/**
* 撤销订单
*/
ALI_REVERSE_ORDER("/api/pay/alipay/reverseOrder"),
/**
* 支付宝退款
*/
ALI_PAY_REFUND_ORDER("/api/pay/alipay/refundOrder"),
/**
* 支付宝查询退款
*/
ALI_PAY_REFUND_QUERY("/api/pay/alipay/getRefundResult"),
;
/**
* 接口 url
*/
private final String url;
AliPayUrlEnum(String url) {
this.url = url;
}
@Override
public String getUrl() {
return url;
}
@Override
public String toString() {
return url;
}
}
3.还有一个实现类实现payUrlEnum
public enum WxPayUrlEnum implements PayUrlInterface{
/**
* 刷卡支付
*/
CODE_PAY("/api/pay/wxpay/codePay"),
/**
* 扫码支付
*/
NATIVE_PAY("/api/pay/wxpay/nativePay"),
/**
* 小程序支付
*/
MIN_APP_PAY("/api/pay/wxpay/minAppPay"),
/**
* 公众号支付
*/
JS_API_PAY("/api/pay/wxpay/jsapi"),
/**
* 收银台支付
*/
CASHIER_PAY("/api/pay/wxpay/cashierPay"),
/**
* 刷脸支付
*/
FACE_PAY("/api/pay/wxpay/facePay"),
/**
* 刷脸支付凭证
*/
GET_FACE_PAY_AUTH_INFO("/api/pay/wxpay/getFacePayAuthInfo"),
/**
* H5 支付
*/
WAP_PAY("/api/pay/wxpay/wapPay"),
/**
* APP 支付
*/
APP_PAY("/api/pay/wxpay/appPay"),
/**
* QQ小程序支付
*/
QQ_PAY("/api/pay/wxpay/qqPay"),
/**
* 退款
*/
REFUND_ORDER("/api/pay/wxpay/refundOrder"),
/**
* 查询退款
*/
REFUND_QUERY("/api/pay/wxpay/getRefundResult"),
/**
* 查询投诉
*/
GET_COMPLAINT("/api/pay/wxpay/getComplaint"),
/**
* 关闭订单
*/
CLOSE_ORDER("/api/pay/wxpay/closeOrder"),
/**
* 撤销订单
*/
REVERSE_ORDER("/api/pay/wxpay/reverseOrder"),
/**
* 查询微信结算信息
*/
WX_BILL_INFO("/api/pay/wxpay/getWxBillInfo"),
/**
* 下载对账单
*/
DOWNLOAD_BILL("/api/pay/wxpay/downloadBill"),
/**
* 查询刷卡支付结果
*/
GET_CODE_PAY_RESULT("/api/pay/wxpay/getCodePayResult"),
/**
* 获取微信授权链接
*/
GET_OAUTH_URL("/api/wxlogin/getOauthUrl"),
/**
* 查询微信授权信息
*/
GET_BASE_OAUTH_INFO("/api/wxlogin/getBaseOauthInfo"),
/**
* 查询订单
*/
GET_ORDER_INFO("/api/system/order/getPayOrderInfo"),
/**
* 微信扫码登录
*/
GET_WEB_LOGIN("/api/wx/getWebLogin"),
/**
* 查询授权信息
*/
GET_OAUTH_INFO("/api/wx/getOauthInfo"),
/**
* 一码付
*/
MERGE_NATIVE_PAY("/api/pay/merge/nativePay"),
;
/**
* 接口 url
*/
private final String url;
WxPayUrlEnum(String url) {
this.url = url;
}
@Override
public String getUrl() {
return url;
}
@Override
public String toString() {
return url;
}
}
3.使用的时候可以直接传入接口PayUrlInterface
public class PayApi {
public static String getReqUrl(String serverUrl, PayUrl payUrl) {
return serverUrl.concat(payUrl.getUrl());
}
}
4.调用的时候直接传入对应实现类的枚举项,可以获取固定的URL
public class test{
public static void main(main[] args) {
payApi.getReqUrl("", AliPayUrlEnum.MERGE_NATIVE_PAY);
}
}
5.到此顺利完成代码规范,做到代码不容易,扩展只需要增加对应的enum(枚举类)即可