package com.ruoyi.order.util.tencent.common;
|
|
/**
|
* 域名管理,实现主备域名自动切换
|
*/
|
public abstract interface IWXPayDomain {
|
/**
|
* 上报域名网络状况
|
* @param domain 域名。 比如:api.mch.weixin.qq.com
|
* @param elapsedTimeMillis 耗时
|
* @param ex 网络请求中出现的异常。
|
* null表示没有异常
|
* ConnectTimeoutException,表示建立网络连接异常
|
* UnknownHostException, 表示dns解析异常
|
*/
|
abstract void report(final String domain, long elapsedTimeMillis, final Exception ex);
|
|
/**
|
* 获取域名
|
* @param config 配置
|
* @return 域名
|
*/
|
abstract DomainInfo getDomain(final WXPayConfig config);
|
|
static class DomainInfo{
|
public String domain; //域名
|
public boolean primaryDomain; //该域名是否为主域名。例如:api.mch.weixin.qq.com为主域名
|
public DomainInfo(String domain, boolean primaryDomain) {
|
this.domain = domain;
|
this.primaryDomain = primaryDomain;
|
}
|
|
@Override
|
public String toString() {
|
return "DomainInfo{" +
|
"domain='" + domain + '\'' +
|
", primaryDomain=" + primaryDomain +
|
'}';
|
}
|
}
|
|
}
|