临时提交

This commit is contained in:
Fuzx
2018-01-22 16:52:34 +08:00
parent 5c02c55248
commit 8b833cf591
12 changed files with 204 additions and 105 deletions

View File

@@ -1,6 +1,9 @@
package com.egzosn.pay.common.api;
import com.egzosn.pay.common.bean.AuthPageType;
import com.egzosn.pay.common.bean.PayOrder;
import java.util.Map;
/**
* 高级支付接口
@@ -19,4 +22,11 @@ public interface AdvancedPayService extends PayService{
*/
String getAuthorizationPage(String payeeId,AuthPageType authPageType);
/**
* 发起授权
* @param payeeId 收款id
* @param payOrder 订单信息
* @return 返回请求结果
*/
Map<String ,Object> charge(String payeeId,PayOrder payOrder);
}

View File

@@ -4,16 +4,11 @@ import com.egzosn.pay.common.bean.MethodType;
import com.egzosn.pay.common.util.str.StringUtils;
import org.apache.http.HttpHost;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.Credentials;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.AuthCache;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.conn.ssl.DefaultHostnameVerifier;
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import org.apache.http.impl.auth.BasicScheme;
import org.apache.http.impl.client.BasicAuthCache;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
@@ -171,9 +166,6 @@ public class HttpRequestTemplate {
public <T> T postForObject(String uri, Object request, Class<T> responseType, Map<String, Object> uriVariables) {
return doExecute(URI.create(UriVariables.getUri(uri, uriVariables)), request, responseType, MethodType.POST);
}
public <T> T postForObjectAndBasicAuth(String uri, Object request, Class<T> responseType, Object... uriVariables) {
return doExecuteAndBasicAuth(URI.create(UriVariables.getUri(uri, uriVariables)), request, responseType, MethodType.POST);
}
public <T> T postForObject(URI uri, Object request, Class<T> responseType){
return doExecute(uri, request, responseType, MethodType.POST);
@@ -243,27 +235,6 @@ public class HttpRequestTemplate {
return null;
}
/**
* http 请求执行
* @param uri 地址
* @param request 请求数据
* @param responseType 响应类型
* @param method 请求方法
* @param <T> 响应类型
* @return 类型对象
*/
public <T>T doExecuteAndBasicAuth(URI uri, Object request, Class<T> responseType, MethodType method){
ClientHttpRequest<T> httpRequest = new ClientHttpRequest(uri ,method, request);
httpRequest.setProxy(httpProxy).setResponseType(responseType);
try (CloseableHttpResponse response = httpClient.execute(httpRequest,createBasicAuthContext(uri,"Huodull6190","12BkDT8152Zj"))) {
return httpRequest.handleResponse(response);
}catch ( IOException e){
e.printStackTrace();
}finally {
httpRequest.releaseConnection();
}
return null;
}
/**
* http 请求执行
@@ -278,29 +249,4 @@ public class HttpRequestTemplate {
return doExecute(URI.create(uri), request, responseType, method);
}
/**
* 创建Basic Auth
* @param uri
* @param username
* @param password
* @return
*/
private HttpClientContext createBasicAuthContext(URI uri,String username, String password) {
CredentialsProvider credsProvider = new BasicCredentialsProvider();
Credentials defaultCreds = new UsernamePasswordCredentials(username, password);
credsProvider.setCredentials(new AuthScope(uri.getHost(), uri.getPort()), defaultCreds);
AuthCache authCache = new BasicAuthCache();
BasicScheme basicAuth = new BasicScheme();
HttpHost host = new HttpHost(uri.getHost(),uri.getPort(),"https");
authCache.put(host, basicAuth);
HttpClientContext context = HttpClientContext.create();
context.setCredentialsProvider(credsProvider);
context.setAuthCache(authCache);
return context;
}
}