mirror of
https://gitee.com/egzosn/pay-java-parent.git
synced 2026-05-12 16:37:31 +08:00
临时提交
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user