九州仙境 v3.0.0版本的 MD5 值为:7b5ce5daab0f4a38a386ae4309157477
以下内容为反编译后的 WeixinPayScanAndRideService.java 源代码,内容仅作参考
package com.wechat.pay.java.service.weixinpayscanandride;
import com.alipay.sdk.m.p0.c;
import com.wechat.pay.java.core.Config;
import com.wechat.pay.java.core.http.Constant;
import com.wechat.pay.java.core.http.DefaultHttpClientBuilder;
import com.wechat.pay.java.core.http.HostName;
import com.wechat.pay.java.core.http.HttpClient;
import com.wechat.pay.java.core.http.HttpHeaders;
import com.wechat.pay.java.core.http.HttpMethod;
import com.wechat.pay.java.core.http.HttpRequest;
import com.wechat.pay.java.core.http.JsonRequestBody;
import com.wechat.pay.java.core.http.MediaType;
import com.wechat.pay.java.core.http.QueryParameter;
import com.wechat.pay.java.core.http.RequestBody;
import com.wechat.pay.java.core.http.UrlEncoder;
import com.wechat.pay.java.core.util.GsonUtil;
import com.wechat.pay.java.service.weixinpayscanandride.model.CreateTransactionRequest;
import com.wechat.pay.java.service.weixinpayscanandride.model.QueryTransactionRequest;
import com.wechat.pay.java.service.weixinpayscanandride.model.QueryUserServiceRequest;
import com.wechat.pay.java.service.weixinpayscanandride.model.TransactionsEntity;
import com.wechat.pay.java.service.weixinpayscanandride.model.UserServiceEntity;
import java.util.Objects;
public class WeixinPayScanAndRideService {
private final HostName hostName;
private final HttpClient httpClient;
private WeixinPayScanAndRideService(HttpClient httpClient, HostName hostName) {
this.httpClient = (HttpClient) Objects.requireNonNull(httpClient);
this.hostName = hostName;
}
public static class Builder {
private HostName hostName;
private HttpClient httpClient;
public Builder config(Config config) {
this.httpClient = new DefaultHttpClientBuilder().config(config).build();
return this;
}
public Builder hostName(HostName hostName) {
this.hostName = hostName;
return this;
}
public Builder httpClient(HttpClient httpClient) {
this.httpClient = httpClient;
return this;
}
public WeixinPayScanAndRideService build() {
return new WeixinPayScanAndRideService(this.httpClient, this.hostName);
}
}
public TransactionsEntity createTransaction(CreateTransactionRequest createTransactionRequest) {
String replaceFirst = this.hostName != null ? "https://api.mch.weixin.qq.com/v3/qrcode/transactions".replaceFirst(HostName.API.getValue(), this.hostName.getValue()) : "https://api.mch.weixin.qq.com/v3/qrcode/transactions";
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.addHeader(Constant.ACCEPT, MediaType.APPLICATION_JSON.getValue());
httpHeaders.addHeader(Constant.CONTENT_TYPE, MediaType.APPLICATION_JSON.getValue());
return (TransactionsEntity) this.httpClient.execute(new HttpRequest.Builder().httpMethod(HttpMethod.POST).url(replaceFirst).headers(httpHeaders).body(createRequestBody(createTransactionRequest)).build(), TransactionsEntity.class).getServiceResponse();
}
public TransactionsEntity queryTransaction(QueryTransactionRequest queryTransactionRequest) {
String replace = "https://api.mch.weixin.qq.com/v3/qrcode/transactions/out-trade-no/{out_trade_no}".replace("{out_trade_no}", UrlEncoder.urlEncode(queryTransactionRequest.getOutTradeNo()));
QueryParameter queryParameter = new QueryParameter();
if (queryTransactionRequest.getSubMchid() != null) {
queryParameter.add("sub_mchid", UrlEncoder.urlEncode(queryTransactionRequest.getSubMchid()));
}
String str = replace + queryParameter.getQueryStr();
if (this.hostName != null) {
str = str.replaceFirst(HostName.API.getValue(), this.hostName.getValue());
}
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.addHeader(Constant.ACCEPT, MediaType.APPLICATION_JSON.getValue());
httpHeaders.addHeader(Constant.CONTENT_TYPE, MediaType.APPLICATION_JSON.getValue());
return (TransactionsEntity) this.httpClient.execute(new HttpRequest.Builder().httpMethod(HttpMethod.GET).url(str).headers(httpHeaders).build(), TransactionsEntity.class).getServiceResponse();
}
public UserServiceEntity queryUserService(QueryUserServiceRequest queryUserServiceRequest) {
String replace = "https://api.mch.weixin.qq.com/v3/qrcode/user-services/contract-id/{contract_id}".replace("{contract_id}", UrlEncoder.urlEncode(queryUserServiceRequest.getContractId()));
QueryParameter queryParameter = new QueryParameter();
if (queryUserServiceRequest.getAppid() != null) {
queryParameter.add(c.d, UrlEncoder.urlEncode(queryUserServiceRequest.getAppid()));
}
if (queryUserServiceRequest.getSubAppid() != null) {
queryParameter.add("sub_appid", UrlEncoder.urlEncode(queryUserServiceRequest.getSubAppid()));
}
if (queryUserServiceRequest.getSubMchid() != null) {
queryParameter.add("sub_mchid", UrlEncoder.urlEncode(queryUserServiceRequest.getSubMchid()));
}
String str = replace + queryParameter.getQueryStr();
if (this.hostName != null) {
str = str.replaceFirst(HostName.API.getValue(), this.hostName.getValue());
}
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.addHeader(Constant.ACCEPT, MediaType.APPLICATION_JSON.getValue());
httpHeaders.addHeader(Constant.CONTENT_TYPE, MediaType.APPLICATION_JSON.getValue());
return (UserServiceEntity) this.httpClient.execute(new HttpRequest.Builder().httpMethod(HttpMethod.GET).url(str).headers(httpHeaders).build(), UserServiceEntity.class).getServiceResponse();
}
private RequestBody createRequestBody(Object obj) {
return new JsonRequestBody.Builder().body(GsonUtil.toJson(obj)).build();
}
}