九州仙境 v3.0.0版本的 MD5 值为:7b5ce5daab0f4a38a386ae4309157477
以下内容为反编译后的 CashCouponsService.java 源代码,内容仅作参考
package com.wechat.pay.java.service.cashcoupons;
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.cashcoupons.model.AvailableMerchantCollection;
import com.wechat.pay.java.service.cashcoupons.model.AvailableSingleitemCollection;
import com.wechat.pay.java.service.cashcoupons.model.Callback;
import com.wechat.pay.java.service.cashcoupons.model.Coupon;
import com.wechat.pay.java.service.cashcoupons.model.CouponCollection;
import com.wechat.pay.java.service.cashcoupons.model.CreateCouponStockRequest;
import com.wechat.pay.java.service.cashcoupons.model.CreateCouponStockResponse;
import com.wechat.pay.java.service.cashcoupons.model.ListAvailableMerchantsRequest;
import com.wechat.pay.java.service.cashcoupons.model.ListAvailableSingleitemsRequest;
import com.wechat.pay.java.service.cashcoupons.model.ListCouponsByFilterRequest;
import com.wechat.pay.java.service.cashcoupons.model.ListStocksRequest;
import com.wechat.pay.java.service.cashcoupons.model.PauseStockRequest;
import com.wechat.pay.java.service.cashcoupons.model.PauseStockResponse;
import com.wechat.pay.java.service.cashcoupons.model.QueryCallbackRequest;
import com.wechat.pay.java.service.cashcoupons.model.QueryCouponRequest;
import com.wechat.pay.java.service.cashcoupons.model.QueryStockRequest;
import com.wechat.pay.java.service.cashcoupons.model.RefundFlowRequest;
import com.wechat.pay.java.service.cashcoupons.model.RefundFlowResponse;
import com.wechat.pay.java.service.cashcoupons.model.RestartStockRequest;
import com.wechat.pay.java.service.cashcoupons.model.RestartStockResponse;
import com.wechat.pay.java.service.cashcoupons.model.SendCouponRequest;
import com.wechat.pay.java.service.cashcoupons.model.SendCouponResponse;
import com.wechat.pay.java.service.cashcoupons.model.SetCallbackRequest;
import com.wechat.pay.java.service.cashcoupons.model.SetCallbackResponse;
import com.wechat.pay.java.service.cashcoupons.model.StartStockRequest;
import com.wechat.pay.java.service.cashcoupons.model.StartStockResponse;
import com.wechat.pay.java.service.cashcoupons.model.Stock;
import com.wechat.pay.java.service.cashcoupons.model.StockCollection;
import com.wechat.pay.java.service.cashcoupons.model.StopStockRequest;
import com.wechat.pay.java.service.cashcoupons.model.StopStockResponse;
import com.wechat.pay.java.service.cashcoupons.model.UseFlowRequest;
import com.wechat.pay.java.service.cashcoupons.model.UseFlowResponse;
import java.util.Objects;
public class CashCouponsService {
private final HostName hostName;
private final HttpClient httpClient;
private CashCouponsService(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 CashCouponsService build() {
return new CashCouponsService(this.httpClient, this.hostName);
}
}
public Callback queryCallback(QueryCallbackRequest queryCallbackRequest) {
QueryParameter queryParameter = new QueryParameter();
if (queryCallbackRequest.getMchid() != null) {
queryParameter.add("mchid", UrlEncoder.urlEncode(queryCallbackRequest.getMchid()));
}
String str = "https://api.mch.weixin.qq.com/v3/marketing/favor/callbacks" + 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 (Callback) this.httpClient.execute(new HttpRequest.Builder().httpMethod(HttpMethod.GET).url(str).headers(httpHeaders).build(), Callback.class).getServiceResponse();
}
public SetCallbackResponse setCallback(SetCallbackRequest setCallbackRequest) {
String replaceFirst = this.hostName != null ? "https://api.mch.weixin.qq.com/v3/marketing/favor/callbacks".replaceFirst(HostName.API.getValue(), this.hostName.getValue()) : "https://api.mch.weixin.qq.com/v3/marketing/favor/callbacks";
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.addHeader(Constant.ACCEPT, MediaType.APPLICATION_JSON.getValue());
httpHeaders.addHeader(Constant.CONTENT_TYPE, MediaType.APPLICATION_JSON.getValue());
return (SetCallbackResponse) this.httpClient.execute(new HttpRequest.Builder().httpMethod(HttpMethod.POST).url(replaceFirst).headers(httpHeaders).body(createRequestBody(setCallbackRequest)).build(), SetCallbackResponse.class).getServiceResponse();
}
public CouponCollection listCouponsByFilter(ListCouponsByFilterRequest listCouponsByFilterRequest) {
String replace = "https://api.mch.weixin.qq.com/v3/marketing/favor/users/{openid}/coupons".replace("{openid}", UrlEncoder.urlEncode(listCouponsByFilterRequest.getOpenid()));
QueryParameter queryParameter = new QueryParameter();
if (listCouponsByFilterRequest.getAppid() != null) {
queryParameter.add(c.d, UrlEncoder.urlEncode(listCouponsByFilterRequest.getAppid()));
}
if (listCouponsByFilterRequest.getStockId() != null) {
queryParameter.add("stock_id", UrlEncoder.urlEncode(listCouponsByFilterRequest.getStockId()));
}
if (listCouponsByFilterRequest.getStatus() != null) {
queryParameter.add("status", UrlEncoder.urlEncode(listCouponsByFilterRequest.getStatus()));
}
if (listCouponsByFilterRequest.getCreatorMchid() != null) {
queryParameter.add("creator_mchid", UrlEncoder.urlEncode(listCouponsByFilterRequest.getCreatorMchid()));
}
if (listCouponsByFilterRequest.getSenderMchid() != null) {
queryParameter.add("sender_mchid", UrlEncoder.urlEncode(listCouponsByFilterRequest.getSenderMchid()));
}
if (listCouponsByFilterRequest.getAvailableMchid() != null) {
queryParameter.add("available_mchid", UrlEncoder.urlEncode(listCouponsByFilterRequest.getAvailableMchid()));
}
if (listCouponsByFilterRequest.getOffset() != null) {
queryParameter.add("offset", UrlEncoder.urlEncode(listCouponsByFilterRequest.getOffset().toString()));
}
if (listCouponsByFilterRequest.getLimit() != null) {
queryParameter.add("limit", UrlEncoder.urlEncode(listCouponsByFilterRequest.getLimit().toString()));
}
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 (CouponCollection) this.httpClient.execute(new HttpRequest.Builder().httpMethod(HttpMethod.GET).url(str).headers(httpHeaders).build(), CouponCollection.class).getServiceResponse();
}
public Coupon queryCoupon(QueryCouponRequest queryCouponRequest) {
String replace = "https://api.mch.weixin.qq.com/v3/marketing/favor/users/{openid}/coupons/{coupon_id}".replace("{coupon_id}", UrlEncoder.urlEncode(queryCouponRequest.getCouponId())).replace("{openid}", UrlEncoder.urlEncode(queryCouponRequest.getOpenid()));
QueryParameter queryParameter = new QueryParameter();
if (queryCouponRequest.getAppid() != null) {
queryParameter.add(c.d, UrlEncoder.urlEncode(queryCouponRequest.getAppid()));
}
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 (Coupon) this.httpClient.execute(new HttpRequest.Builder().httpMethod(HttpMethod.GET).url(str).headers(httpHeaders).build(), Coupon.class).getServiceResponse();
}
public SendCouponResponse sendCoupon(SendCouponRequest sendCouponRequest) {
String replace = "https://api.mch.weixin.qq.com/v3/marketing/favor/users/{openid}/coupons".replace("{openid}", UrlEncoder.urlEncode(sendCouponRequest.getOpenid()));
if (this.hostName != null) {
replace = replace.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 (SendCouponResponse) this.httpClient.execute(new HttpRequest.Builder().httpMethod(HttpMethod.POST).url(replace).headers(httpHeaders).body(createRequestBody(sendCouponRequest)).build(), SendCouponResponse.class).getServiceResponse();
}
public CreateCouponStockResponse createCouponStock(CreateCouponStockRequest createCouponStockRequest) {
String replaceFirst = this.hostName != null ? "https://api.mch.weixin.qq.com/v3/marketing/favor/coupon-stocks".replaceFirst(HostName.API.getValue(), this.hostName.getValue()) : "https://api.mch.weixin.qq.com/v3/marketing/favor/coupon-stocks";
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.addHeader(Constant.ACCEPT, MediaType.APPLICATION_JSON.getValue());
httpHeaders.addHeader(Constant.CONTENT_TYPE, MediaType.APPLICATION_JSON.getValue());
return (CreateCouponStockResponse) this.httpClient.execute(new HttpRequest.Builder().httpMethod(HttpMethod.POST).url(replaceFirst).headers(httpHeaders).body(createRequestBody(createCouponStockRequest)).build(), CreateCouponStockResponse.class).getServiceResponse();
}
public AvailableMerchantCollection listAvailableMerchants(ListAvailableMerchantsRequest listAvailableMerchantsRequest) {
String replace = "https://api.mch.weixin.qq.com/v3/marketing/favor/stocks/{stock_id}/merchants".replace("{stock_id}", UrlEncoder.urlEncode(listAvailableMerchantsRequest.getStockId()));
QueryParameter queryParameter = new QueryParameter();
if (listAvailableMerchantsRequest.getOffset() != null) {
queryParameter.add("offset", UrlEncoder.urlEncode(listAvailableMerchantsRequest.getOffset().toString()));
}
if (listAvailableMerchantsRequest.getLimit() != null) {
queryParameter.add("limit", UrlEncoder.urlEncode(listAvailableMerchantsRequest.getLimit().toString()));
}
if (listAvailableMerchantsRequest.getStockCreatorMchid() != null) {
queryParameter.add("stock_creator_mchid", UrlEncoder.urlEncode(listAvailableMerchantsRequest.getStockCreatorMchid()));
}
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 (AvailableMerchantCollection) this.httpClient.execute(new HttpRequest.Builder().httpMethod(HttpMethod.GET).url(str).headers(httpHeaders).build(), AvailableMerchantCollection.class).getServiceResponse();
}
public AvailableSingleitemCollection listAvailableSingleitems(ListAvailableSingleitemsRequest listAvailableSingleitemsRequest) {
String replace = "https://api.mch.weixin.qq.com/v3/marketing/favor/stocks/{stock_id}/items".replace("{stock_id}", UrlEncoder.urlEncode(listAvailableSingleitemsRequest.getStockId()));
QueryParameter queryParameter = new QueryParameter();
if (listAvailableSingleitemsRequest.getOffset() != null) {
queryParameter.add("offset", UrlEncoder.urlEncode(listAvailableSingleitemsRequest.getOffset().toString()));
}
if (listAvailableSingleitemsRequest.getLimit() != null) {
queryParameter.add("limit", UrlEncoder.urlEncode(listAvailableSingleitemsRequest.getLimit().toString()));
}
if (listAvailableSingleitemsRequest.getStockCreatorMchid() != null) {
queryParameter.add("stock_creator_mchid", UrlEncoder.urlEncode(listAvailableSingleitemsRequest.getStockCreatorMchid()));
}
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 (AvailableSingleitemCollection) this.httpClient.execute(new HttpRequest.Builder().httpMethod(HttpMethod.GET).url(str).headers(httpHeaders).build(), AvailableSingleitemCollection.class).getServiceResponse();
}
public StockCollection listStocks(ListStocksRequest listStocksRequest) {
QueryParameter queryParameter = new QueryParameter();
if (listStocksRequest.getOffset() != null) {
queryParameter.add("offset", UrlEncoder.urlEncode(listStocksRequest.getOffset().toString()));
}
if (listStocksRequest.getLimit() != null) {
queryParameter.add("limit", UrlEncoder.urlEncode(listStocksRequest.getLimit().toString()));
}
if (listStocksRequest.getStockCreatorMchid() != null) {
queryParameter.add("stock_creator_mchid", UrlEncoder.urlEncode(listStocksRequest.getStockCreatorMchid()));
}
if (listStocksRequest.getCreateStartTime() != null) {
queryParameter.add("create_start_time", UrlEncoder.urlEncode(listStocksRequest.getCreateStartTime()));
}
if (listStocksRequest.getCreateEndTime() != null) {
queryParameter.add("create_end_time", UrlEncoder.urlEncode(listStocksRequest.getCreateEndTime()));
}
if (listStocksRequest.getStatus() != null) {
queryParameter.add("status", UrlEncoder.urlEncode(listStocksRequest.getStatus()));
}
String str = "https://api.mch.weixin.qq.com/v3/marketing/favor/stocks" + 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 (StockCollection) this.httpClient.execute(new HttpRequest.Builder().httpMethod(HttpMethod.GET).url(str).headers(httpHeaders).build(), StockCollection.class).getServiceResponse();
}
public PauseStockResponse pauseStock(PauseStockRequest pauseStockRequest) {
String replace = "https://api.mch.weixin.qq.com/v3/marketing/favor/stocks/{stock_id}/pause".replace("{stock_id}", UrlEncoder.urlEncode(pauseStockRequest.getStockId()));
if (this.hostName != null) {
replace = replace.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 (PauseStockResponse) this.httpClient.execute(new HttpRequest.Builder().httpMethod(HttpMethod.POST).url(replace).headers(httpHeaders).body(createRequestBody(pauseStockRequest)).build(), PauseStockResponse.class).getServiceResponse();
}
public Stock queryStock(QueryStockRequest queryStockRequest) {
String replace = "https://api.mch.weixin.qq.com/v3/marketing/favor/stocks/{stock_id}".replace("{stock_id}", UrlEncoder.urlEncode(queryStockRequest.getStockId()));
QueryParameter queryParameter = new QueryParameter();
if (queryStockRequest.getStockCreatorMchid() != null) {
queryParameter.add("stock_creator_mchid", UrlEncoder.urlEncode(queryStockRequest.getStockCreatorMchid()));
}
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 (Stock) this.httpClient.execute(new HttpRequest.Builder().httpMethod(HttpMethod.GET).url(str).headers(httpHeaders).build(), Stock.class).getServiceResponse();
}
public RefundFlowResponse refundFlow(RefundFlowRequest refundFlowRequest) {
String replace = "https://api.mch.weixin.qq.com/v3/marketing/favor/stocks/{stock_id}/refund-flow".replace("{stock_id}", UrlEncoder.urlEncode(refundFlowRequest.getStockId()));
if (this.hostName != null) {
replace = replace.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 (RefundFlowResponse) this.httpClient.execute(new HttpRequest.Builder().httpMethod(HttpMethod.GET).url(replace).headers(httpHeaders).build(), RefundFlowResponse.class).getServiceResponse();
}
public RestartStockResponse restartStock(RestartStockRequest restartStockRequest) {
String replace = "https://api.mch.weixin.qq.com/v3/marketing/favor/stocks/{stock_id}/restart".replace("{stock_id}", UrlEncoder.urlEncode(restartStockRequest.getStockId()));
if (this.hostName != null) {
replace = replace.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 (RestartStockResponse) this.httpClient.execute(new HttpRequest.Builder().httpMethod(HttpMethod.POST).url(replace).headers(httpHeaders).body(createRequestBody(restartStockRequest)).build(), RestartStockResponse.class).getServiceResponse();
}
public StartStockResponse startStock(StartStockRequest startStockRequest) {
String replace = "https://api.mch.weixin.qq.com/v3/marketing/favor/stocks/{stock_id}/start".replace("{stock_id}", UrlEncoder.urlEncode(startStockRequest.getStockId()));
if (this.hostName != null) {
replace = replace.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 (StartStockResponse) this.httpClient.execute(new HttpRequest.Builder().httpMethod(HttpMethod.POST).url(replace).headers(httpHeaders).body(createRequestBody(startStockRequest)).build(), StartStockResponse.class).getServiceResponse();
}
public StopStockResponse stopStock(StopStockRequest stopStockRequest) {
String replace = "https://api.mch.weixin.qq.com/v3/marketing/favor/stocks/{stock_id}/stop".replace("{stock_id}", UrlEncoder.urlEncode(stopStockRequest.getStockId()));
if (this.hostName != null) {
replace = replace.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 (StopStockResponse) this.httpClient.execute(new HttpRequest.Builder().httpMethod(HttpMethod.POST).url(replace).headers(httpHeaders).body(createRequestBody(stopStockRequest)).build(), StopStockResponse.class).getServiceResponse();
}
public UseFlowResponse useFlow(UseFlowRequest useFlowRequest) {
String replace = "https://api.mch.weixin.qq.com/v3/marketing/favor/stocks/{stock_id}/use-flow".replace("{stock_id}", UrlEncoder.urlEncode(useFlowRequest.getStockId()));
if (this.hostName != null) {
replace = replace.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 (UseFlowResponse) this.httpClient.execute(new HttpRequest.Builder().httpMethod(HttpMethod.GET).url(replace).headers(httpHeaders).build(), UseFlowResponse.class).getServiceResponse();
}
private RequestBody createRequestBody(Object obj) {
return new JsonRequestBody.Builder().body(GsonUtil.toJson(obj)).build();
}
}