|
|
|
@@ -3,6 +3,8 @@ package com.iformall.utils; |
|
|
|
import com.alibaba.fastjson.JSON; |
|
|
|
import com.alibaba.fastjson.JSONArray; |
|
|
|
import com.alibaba.fastjson.JSONObject; |
|
|
|
import com.iformall.common.ErrorCode; |
|
|
|
import com.iformall.exception.MallinkException; |
|
|
|
import okhttp3.*; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.slf4j.Logger; |
|
|
|
@@ -306,7 +308,7 @@ public class ETCPUtil { |
|
|
|
* } |
|
|
|
*/ |
|
|
|
public String userSignin(String baseUrl, String appId, String merchantNo, String merchantKey, String version, |
|
|
|
String mobilePhone) { |
|
|
|
String mobilePhone) throws MallinkException { |
|
|
|
JSONObject jsonObject = new JSONObject(); |
|
|
|
jsonObject.put("appId", appId); |
|
|
|
jsonObject.put("mobilePhone", mobilePhone); |
|
|
|
@@ -315,8 +317,12 @@ public class ETCPUtil { |
|
|
|
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); |
|
|
|
String sign = genSign(data, merchantKey, timeStamp); |
|
|
|
|
|
|
|
return doPost(baseUrl + userSigninUrl.replaceAll("\\{version}", version), data, sign, |
|
|
|
String respStr = doPost(baseUrl + userSigninUrl.replaceAll("\\{version}", version), data, sign, |
|
|
|
timeStamp, merchantNo); |
|
|
|
if(respStr.startsWith("<html>")) { |
|
|
|
throw new MallinkException(ErrorCode.ETCP_CMD_FAIL); |
|
|
|
} |
|
|
|
return respStr; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
@@ -333,7 +339,7 @@ public class ETCPUtil { |
|
|
|
*/ |
|
|
|
public String bindCar(String baseUrl, String merchantNo, String merchantKey, String version, |
|
|
|
String etcpToken, |
|
|
|
String plateNumber, String plateColor) { |
|
|
|
String plateNumber, String plateColor) throws MallinkException { |
|
|
|
JSONObject jsonObject = new JSONObject(); |
|
|
|
jsonObject.put("token", etcpToken); |
|
|
|
jsonObject.put("plateNumber", plateNumber); |
|
|
|
@@ -346,8 +352,12 @@ public class ETCPUtil { |
|
|
|
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); |
|
|
|
String sign = genSign(data, merchantKey, timeStamp); |
|
|
|
|
|
|
|
return doPost(baseUrl + bindCarUrl.replaceAll("\\{version}", version), |
|
|
|
String respStr = doPost(baseUrl + bindCarUrl.replaceAll("\\{version}", version), |
|
|
|
data, sign, timeStamp, merchantNo); |
|
|
|
if(respStr.startsWith("<html>")) { |
|
|
|
throw new MallinkException(ErrorCode.ETCP_CMD_FAIL); |
|
|
|
} |
|
|
|
return respStr; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
@@ -363,7 +373,7 @@ public class ETCPUtil { |
|
|
|
*/ |
|
|
|
public String unbindCar(String baseUrl, String merchantNo, String merchantKey, String version, |
|
|
|
String etcpToken, |
|
|
|
String plateNumber) { |
|
|
|
String plateNumber) throws MallinkException { |
|
|
|
JSONObject jsonObject = new JSONObject(); |
|
|
|
jsonObject.put("token", etcpToken); |
|
|
|
jsonObject.put("plateNumber", plateNumber); |
|
|
|
@@ -372,8 +382,12 @@ public class ETCPUtil { |
|
|
|
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); |
|
|
|
String sign = genSign(data, merchantKey, timeStamp); |
|
|
|
|
|
|
|
return doPost(baseUrl + unbindCarUrl.replaceAll("\\{version}", version), |
|
|
|
String respStr = doPost(baseUrl + unbindCarUrl.replaceAll("\\{version}", version), |
|
|
|
data, sign, timeStamp, merchantNo); |
|
|
|
if(respStr.startsWith("<html>")) { |
|
|
|
throw new MallinkException(ErrorCode.ETCP_CMD_FAIL); |
|
|
|
} |
|
|
|
return respStr; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
@@ -392,7 +406,7 @@ public class ETCPUtil { |
|
|
|
public String carAuth(String baseUrl, String merchantNo, String merchantKey, String version, |
|
|
|
String etcpToken, |
|
|
|
String carFrameNum, String plateNumber, String carEngineNum |
|
|
|
) { |
|
|
|
) throws MallinkException { |
|
|
|
JSONObject jsonObject = new JSONObject(); |
|
|
|
jsonObject.put("token", etcpToken); |
|
|
|
jsonObject.put("carFrameNum", carFrameNum); |
|
|
|
@@ -403,8 +417,12 @@ public class ETCPUtil { |
|
|
|
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); |
|
|
|
String sign = genSign(data, merchantKey, timeStamp); |
|
|
|
|
|
|
|
return doPost(baseUrl + carAuthUrl.replaceAll("\\{version}", version), |
|
|
|
String respStr = doPost(baseUrl + carAuthUrl.replaceAll("\\{version}", version), |
|
|
|
data, sign, timeStamp, merchantNo); |
|
|
|
if(respStr.startsWith("<html>")) { |
|
|
|
throw new MallinkException(ErrorCode.ETCP_CMD_FAIL); |
|
|
|
} |
|
|
|
return respStr; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
@@ -423,7 +441,7 @@ public class ETCPUtil { |
|
|
|
*/ |
|
|
|
public String carRetrieve(String baseUrl, String merchantNo, String merchantKey, String version, |
|
|
|
String etcpToken, |
|
|
|
String carFrameNum, String plateNumber, String carEngineNum, String plateColor ) { |
|
|
|
String carFrameNum, String plateNumber, String carEngineNum, String plateColor ) throws MallinkException { |
|
|
|
JSONObject jsonObject = new JSONObject(); |
|
|
|
jsonObject.put("token", etcpToken); |
|
|
|
jsonObject.put("carFrameNum", carFrameNum); |
|
|
|
@@ -436,8 +454,12 @@ public class ETCPUtil { |
|
|
|
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); |
|
|
|
String sign = genSign(data, merchantKey, timeStamp); |
|
|
|
|
|
|
|
return doPost(baseUrl + carRetrieveUrl.replaceAll("\\{version}", version), |
|
|
|
String respStr = doPost(baseUrl + carRetrieveUrl.replaceAll("\\{version}", version), |
|
|
|
data, sign, timeStamp, merchantNo); |
|
|
|
if(respStr.startsWith("<html>")) { |
|
|
|
throw new MallinkException(ErrorCode.ETCP_CMD_FAIL); |
|
|
|
} |
|
|
|
return respStr; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
@@ -458,7 +480,7 @@ public class ETCPUtil { |
|
|
|
* } |
|
|
|
*/ |
|
|
|
public String carNum(String baseUrl, String merchantNo, String merchantKey, String version, |
|
|
|
String etcpToken) { |
|
|
|
String etcpToken) throws MallinkException { |
|
|
|
JSONObject jsonObject = new JSONObject(); |
|
|
|
jsonObject.put("token", etcpToken); |
|
|
|
|
|
|
|
@@ -466,8 +488,12 @@ public class ETCPUtil { |
|
|
|
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); |
|
|
|
String sign = genSign(data, merchantKey, timeStamp); |
|
|
|
|
|
|
|
return doGet(baseUrl + carNumUrl.replaceAll("\\{version}", version), |
|
|
|
String respStr = doGet(baseUrl + carNumUrl.replaceAll("\\{version}", version), |
|
|
|
data, sign, timeStamp, merchantNo); |
|
|
|
if(respStr.startsWith("<html>")) { |
|
|
|
throw new MallinkException(ErrorCode.ETCP_CMD_FAIL); |
|
|
|
} |
|
|
|
return respStr; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
@@ -481,7 +507,7 @@ public class ETCPUtil { |
|
|
|
public String orderUnpay(String baseUrl, |
|
|
|
String appId, String merchantNo, String merchantKey, String version, |
|
|
|
String etcpToken, |
|
|
|
String plateNumber) { |
|
|
|
String plateNumber) throws MallinkException { |
|
|
|
JSONObject jsonObject = new JSONObject(); |
|
|
|
jsonObject.put("token", etcpToken); |
|
|
|
jsonObject.put("plateNumber", plateNumber); |
|
|
|
@@ -493,8 +519,12 @@ public class ETCPUtil { |
|
|
|
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); |
|
|
|
String sign = genSign(data, merchantKey, timeStamp); |
|
|
|
|
|
|
|
return doGet(baseUrl + orderUnpayUrl.replaceAll("\\{version}", version), |
|
|
|
String respStr = doGet(baseUrl + orderUnpayUrl.replaceAll("\\{version}", version), |
|
|
|
data, sign, timeStamp, merchantNo); |
|
|
|
if(respStr.startsWith("<html>")) { |
|
|
|
throw new MallinkException(ErrorCode.ETCP_CMD_FAIL); |
|
|
|
} |
|
|
|
return respStr; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
@@ -508,7 +538,7 @@ public class ETCPUtil { |
|
|
|
public String couponList(String baseUrl, |
|
|
|
String merchantNo, String merchantKey, String version, |
|
|
|
String etcpToken, |
|
|
|
String lastCode, String pageSize) { |
|
|
|
String lastCode, String pageSize) throws MallinkException { |
|
|
|
JSONObject jsonObject = new JSONObject(); |
|
|
|
jsonObject.put("token", etcpToken); |
|
|
|
if (!StringUtils.isBlank(lastCode)) |
|
|
|
@@ -519,8 +549,12 @@ public class ETCPUtil { |
|
|
|
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); |
|
|
|
String sign = genSign(data, merchantKey, timeStamp); |
|
|
|
|
|
|
|
return doGet(baseUrl + couponListUrl.replaceAll("\\{version}", version), |
|
|
|
String respStr = doGet(baseUrl + couponListUrl.replaceAll("\\{version}", version), |
|
|
|
data, sign, timeStamp, merchantNo); |
|
|
|
if(respStr.startsWith("<html>")) { |
|
|
|
throw new MallinkException(ErrorCode.ETCP_CMD_FAIL); |
|
|
|
} |
|
|
|
return respStr; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
@@ -531,7 +565,7 @@ public class ETCPUtil { |
|
|
|
*/ |
|
|
|
public String orderHistory(String baseUrl, |
|
|
|
String merchantNo, String merchantKey, String version, |
|
|
|
String etcpToken) { |
|
|
|
String etcpToken) throws MallinkException { |
|
|
|
JSONObject jsonObject = new JSONObject(); |
|
|
|
jsonObject.put("token", etcpToken); |
|
|
|
|
|
|
|
@@ -539,8 +573,12 @@ public class ETCPUtil { |
|
|
|
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); |
|
|
|
String sign = genSign(data, merchantKey, timeStamp); |
|
|
|
|
|
|
|
return doGet(baseUrl + orderHistoryUrl.replaceAll("\\{version}", version), |
|
|
|
String respStr = doGet(baseUrl + orderHistoryUrl.replaceAll("\\{version}", version), |
|
|
|
data, sign, timeStamp, merchantNo); |
|
|
|
if(respStr.startsWith("<html>")) { |
|
|
|
throw new MallinkException(ErrorCode.ETCP_CMD_FAIL); |
|
|
|
} |
|
|
|
return respStr; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
@@ -555,7 +593,7 @@ public class ETCPUtil { |
|
|
|
public String orderPay(String baseUrl, |
|
|
|
String merchantNo, String merchantKey, String version, |
|
|
|
String etcpToken, String orderId, |
|
|
|
String returnUrl, String couponCode) { |
|
|
|
String returnUrl, String couponCode) throws MallinkException { |
|
|
|
// payType 支付方式(1 微信公众号内支付 2 支付宝 H5 支付 3 微信二维码 4 支付宝二维码 5 微信 H5)(非空) |
|
|
|
int payType = 1; |
|
|
|
JSONObject jsonObject = new JSONObject(); |
|
|
|
@@ -571,8 +609,12 @@ public class ETCPUtil { |
|
|
|
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); |
|
|
|
String sign = genSign(data, merchantKey, timeStamp); |
|
|
|
|
|
|
|
return doPost(baseUrl + orderpayUrl.replaceAll("\\{version}", version), |
|
|
|
String respStr = doPost(baseUrl + orderpayUrl.replaceAll("\\{version}", version), |
|
|
|
data, sign, timeStamp, merchantNo); |
|
|
|
if(respStr.startsWith("<html>")) { |
|
|
|
throw new MallinkException(ErrorCode.ETCP_CMD_FAIL); |
|
|
|
} |
|
|
|
return respStr; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
@@ -591,7 +633,7 @@ public class ETCPUtil { |
|
|
|
String appId, String merchantNo, String merchantKey, String version, |
|
|
|
String etcpToken, |
|
|
|
String orderId, String externalOrderId, |
|
|
|
BigDecimal payment, String payTime, String verificationInfo) { |
|
|
|
BigDecimal payment, String payTime, String verificationInfo) throws MallinkException { |
|
|
|
JSONObject jsonObject = new JSONObject(); |
|
|
|
jsonObject.put("token", etcpToken); |
|
|
|
jsonObject.put("orderId", orderId); |
|
|
|
@@ -607,8 +649,12 @@ public class ETCPUtil { |
|
|
|
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); |
|
|
|
String sign = genSign(data, merchantKey, timeStamp); |
|
|
|
|
|
|
|
return doPost(baseUrl + orderPaidUrl.replaceAll("\\{version}", version), |
|
|
|
String respStr = doPost(baseUrl + orderPaidUrl.replaceAll("\\{version}", version), |
|
|
|
data, sign, timeStamp, merchantNo); |
|
|
|
if(respStr.startsWith("<html>")) { |
|
|
|
throw new MallinkException(ErrorCode.ETCP_CMD_FAIL); |
|
|
|
} |
|
|
|
return respStr; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
@@ -619,7 +665,7 @@ public class ETCPUtil { |
|
|
|
*/ |
|
|
|
public String parkingInfo(String baseUrl, |
|
|
|
String merchantNo, String merchantKey, String version, |
|
|
|
String lat, String lon, String radius) { |
|
|
|
String lat, String lon, String radius) throws MallinkException { |
|
|
|
JSONObject jsonObject = new JSONObject(); |
|
|
|
jsonObject.put("lat", lat); |
|
|
|
jsonObject.put("lon", lon); |
|
|
|
@@ -630,8 +676,12 @@ public class ETCPUtil { |
|
|
|
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); |
|
|
|
String sign = genSign(data, merchantKey, timeStamp); |
|
|
|
|
|
|
|
return doPost(baseUrl + parkingInfoUrl.replaceAll("\\{version}", version), |
|
|
|
String respStr = doPost(baseUrl + parkingInfoUrl.replaceAll("\\{version}", version), |
|
|
|
data, sign, timeStamp, merchantNo); |
|
|
|
if(respStr.startsWith("<html>")) { |
|
|
|
throw new MallinkException(ErrorCode.ETCP_CMD_FAIL); |
|
|
|
} |
|
|
|
return respStr; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
@@ -642,7 +692,7 @@ public class ETCPUtil { |
|
|
|
*/ |
|
|
|
public String parkingStatus(String baseUrl, |
|
|
|
String merchantNo, String merchantKey, String version, |
|
|
|
String parkingId) { |
|
|
|
String parkingId) throws MallinkException { |
|
|
|
JSONObject jsonObject = new JSONObject(); |
|
|
|
jsonObject.put("parkingId", parkingId); |
|
|
|
|
|
|
|
@@ -650,8 +700,12 @@ public class ETCPUtil { |
|
|
|
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); |
|
|
|
String sign = genSign(data, merchantKey, timeStamp); |
|
|
|
|
|
|
|
return doPost(baseUrl + parkingStatusUrl.replaceAll("\\{version}", version), |
|
|
|
String respStr = doPost(baseUrl + parkingStatusUrl.replaceAll("\\{version}", version), |
|
|
|
data, sign, timeStamp, merchantNo); |
|
|
|
if(respStr.startsWith("<html>")) { |
|
|
|
throw new MallinkException(ErrorCode.ETCP_CMD_FAIL); |
|
|
|
} |
|
|
|
return respStr; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
@@ -662,7 +716,7 @@ public class ETCPUtil { |
|
|
|
*/ |
|
|
|
public String getDebt(String baseUrl, |
|
|
|
String appId, String merchantNo, String merchantKey, String version, |
|
|
|
String etcpToken, String carNumber) { |
|
|
|
String etcpToken, String carNumber) throws MallinkException { |
|
|
|
JSONObject jsonObject = new JSONObject(); |
|
|
|
jsonObject.put("token", etcpToken); |
|
|
|
jsonObject.put("appId", appId); |
|
|
|
@@ -672,8 +726,12 @@ public class ETCPUtil { |
|
|
|
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); |
|
|
|
String sign = genSign(data, merchantKey, timeStamp); |
|
|
|
|
|
|
|
return doPost(baseUrl + parkingStatusUrl.replaceAll("\\{version}", version), |
|
|
|
String respStr = doPost(baseUrl + parkingStatusUrl.replaceAll("\\{version}", version), |
|
|
|
data, sign, timeStamp, merchantNo); |
|
|
|
if(respStr.startsWith("<html>")) { |
|
|
|
throw new MallinkException(ErrorCode.ETCP_CMD_FAIL); |
|
|
|
} |
|
|
|
return respStr; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
@@ -686,7 +744,7 @@ public class ETCPUtil { |
|
|
|
*/ |
|
|
|
public String repayDebt(String baseUrl, |
|
|
|
String merchantNo, String merchantKey, String version, |
|
|
|
String etcpToken, String returnUrl) { |
|
|
|
String etcpToken, String returnUrl) throws MallinkException { |
|
|
|
// payType(1:支付宝 2:微信H5) |
|
|
|
int payType = 2; |
|
|
|
JSONObject jsonObject = new JSONObject(); |
|
|
|
@@ -698,8 +756,12 @@ public class ETCPUtil { |
|
|
|
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); |
|
|
|
String sign = genSign(data, merchantKey, timeStamp); |
|
|
|
|
|
|
|
return doPost(baseUrl + parkingStatusUrl.replaceAll("\\{version}", version), |
|
|
|
String respStr = doPost(baseUrl + parkingStatusUrl.replaceAll("\\{version}", version), |
|
|
|
data, sign, timeStamp, merchantNo); |
|
|
|
if(respStr.startsWith("<html>")) { |
|
|
|
throw new MallinkException(ErrorCode.ETCP_CMD_FAIL); |
|
|
|
} |
|
|
|
return respStr; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
@@ -709,7 +771,7 @@ public class ETCPUtil { |
|
|
|
*/ |
|
|
|
public String getBCouponList(String baseUrl, |
|
|
|
String merchantNo, String merchantKey, String version, |
|
|
|
String parkId, String businessId) { |
|
|
|
String parkId, String businessId) throws MallinkException { |
|
|
|
JSONObject jsonObject = new JSONObject(); |
|
|
|
jsonObject.put("parkId", parkId); |
|
|
|
jsonObject.put("businessId", businessId); |
|
|
|
@@ -718,8 +780,12 @@ public class ETCPUtil { |
|
|
|
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); |
|
|
|
String sign = genSign(data, merchantKey, timeStamp); |
|
|
|
|
|
|
|
return doPost(baseUrl + bCouponListUrl.replaceAll("\\{version}", version), |
|
|
|
String respStr = doPost(baseUrl + bCouponListUrl.replaceAll("\\{version}", version), |
|
|
|
data, sign, timeStamp, merchantNo); |
|
|
|
if(respStr.startsWith("<html>")) { |
|
|
|
throw new MallinkException(ErrorCode.ETCP_CMD_FAIL); |
|
|
|
} |
|
|
|
return respStr; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
@@ -731,7 +797,7 @@ public class ETCPUtil { |
|
|
|
public String bCouponRecord(String baseUrl, |
|
|
|
String merchantNo, String merchantKey, String version, |
|
|
|
String etcpToken, |
|
|
|
String parkId, String businessId, String carNumber, String couponFreeId) { |
|
|
|
String parkId, String businessId, String carNumber, String couponFreeId) throws MallinkException { |
|
|
|
JSONObject jsonObject = new JSONObject(); |
|
|
|
jsonObject.put("token", etcpToken); |
|
|
|
jsonObject.put("parkId", parkId); |
|
|
|
@@ -743,8 +809,12 @@ public class ETCPUtil { |
|
|
|
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); |
|
|
|
String sign = genSign(data, merchantKey, timeStamp); |
|
|
|
|
|
|
|
return doPost(baseUrl + bCouponRecordUrl.replaceAll("\\{version}", version), |
|
|
|
String respStr = doPost(baseUrl + bCouponRecordUrl.replaceAll("\\{version}", version), |
|
|
|
data, sign, timeStamp, merchantNo); |
|
|
|
if(respStr.startsWith("<html>")) { |
|
|
|
throw new MallinkException(ErrorCode.ETCP_CMD_FAIL); |
|
|
|
} |
|
|
|
return respStr; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
@@ -755,7 +825,7 @@ public class ETCPUtil { |
|
|
|
*/ |
|
|
|
public String carSimulation(String baseUrl, |
|
|
|
String appId, String merchantNo, String merchantKey, String version, |
|
|
|
String plateNumber) { |
|
|
|
String plateNumber) throws MallinkException { |
|
|
|
JSONObject jsonObject = new JSONObject(); |
|
|
|
jsonObject.put("appId", appId); |
|
|
|
jsonObject.put("plateNumber", plateNumber); |
|
|
|
@@ -764,8 +834,12 @@ public class ETCPUtil { |
|
|
|
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); |
|
|
|
String sign = genSign(data, merchantKey, timeStamp); |
|
|
|
|
|
|
|
return doPost(baseUrl + bCarSimulationUrl.replaceAll("\\{version}", version), |
|
|
|
String respStr = doPost(baseUrl + bCarSimulationUrl.replaceAll("\\{version}", version), |
|
|
|
data, sign, timeStamp, merchantNo); |
|
|
|
if(respStr.startsWith("<html>")) { |
|
|
|
throw new MallinkException(ErrorCode.ETCP_CMD_FAIL); |
|
|
|
} |
|
|
|
return respStr; |
|
|
|
} |
|
|
|
|
|
|
|
private String doPost(String url, String data, String sign, String timeStamp, String merchantNo) { |
|
|
|
|