Просмотр исходного кода

[车流][整理]:etcp异常结果处理

release_toaliyun_real
Stormeye Wu 7 лет назад
Родитель
Сommit
e5cb62a2e6
2 измененных файлов: 170 добавлений и 47 удалений
  1. +60
    -11
      mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java
  2. +110
    -36
      mallinkService/src/main/java/com/iformall/utils/ETCPUtil.java

+ 60
- 11
mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java Просмотреть файл

@@ -10,6 +10,7 @@ import com.iformall.domain.po.*;
import com.iformall.domain.vo.WxCouponOrderCarCVo; import com.iformall.domain.vo.WxCouponOrderCarCVo;
import com.iformall.domain.vo.WxMerchantVo; import com.iformall.domain.vo.WxMerchantVo;
import com.iformall.enums.*; import com.iformall.enums.*;
import com.iformall.exception.MallinkException;
import com.iformall.service.*; import com.iformall.service.*;
import com.iformall.utils.ETCPUtil; import com.iformall.utils.ETCPUtil;
import com.iformall.utils.TJDCarUtil; import com.iformall.utils.TJDCarUtil;
@@ -109,16 +110,26 @@ public class WxCarController extends BaseController {
String merchantKey = objParams.getString("merchantKey"); String merchantKey = objParams.getString("merchantKey");
String version = objParams.getString("version"); String version = objParams.getString("version");


String ret = etcp.userSignin(url, appId, merchantNo, merchantKey, version, phone);
String ret = "";
try {
ret = etcp.userSignin(url, appId, merchantNo, merchantKey, version, phone);
} catch (MallinkException e) {
logger.error("ETCP fail: " + e.getMessage());
return new ResultData(e.getErrorCode(), e.getMessage());
}
JSONObject retObj = JSON.parseObject(ret); JSONObject retObj = JSON.parseObject(ret);
if (retObj.getIntValue("code") == EnumETCPCode.SUCCESS.getCode()) { if (retObj.getIntValue("code") == EnumETCPCode.SUCCESS.getCode()) {
// 获取绑定的车牌 // 获取绑定的车牌
JSONObject dataObj = retObj.getJSONObject("data"); JSONObject dataObj = retObj.getJSONObject("data");
dataObj.put("vendor", EnumCarVendor.CAR_ETCP.getCode()); dataObj.put("vendor", EnumCarVendor.CAR_ETCP.getCode());
String etcpToken = dataObj.getString("token"); String etcpToken = dataObj.getString("token");
JSONObject dataObj1 = syncCarNumbers(user.getId(), user.getTenantId(), park.getVendorType(),
url, merchantNo, merchantKey, version,
etcpToken);
try {
JSONObject dataObj1 = syncCarNumbers(user.getId(), user.getTenantId(), park.getVendorType(),
url, merchantNo, merchantKey, version,
etcpToken);
} catch (MallinkException e) {
logger.error("ETCP cmd error: " + e.getMessage());
}
// c端必须保存此token // c端必须保存此token
return new ResultData(dataObj); return new ResultData(dataObj);
} else { } else {
@@ -152,8 +163,12 @@ public class WxCarController extends BaseController {
String etcpToken) { String etcpToken) {
String ret; String ret;
JSONObject retObj; JSONObject retObj;
ret = etcp.carNum(url, merchantNo, merchantKey, version, etcpToken);
/*{"code": 0,"msg": "ok","data": {"number": 3,"carList": ["晋 BMZ105","云 C12345"]}} */ /*{"code": 0,"msg": "ok","data": {"number": 3,"carList": ["晋 BMZ105","云 C12345"]}} */
try {
ret = etcp.carNum(url, merchantNo, merchantKey, version, etcpToken);
} catch (MallinkException e) {
throw new MallinkException(e.getErrorCode(), e.getMessage());
}
retObj = JSON.parseObject(ret); retObj = JSON.parseObject(ret);
JSONObject dataObj1 = retObj.getJSONObject("data"); JSONObject dataObj1 = retObj.getJSONObject("data");
dataObj1.put("vendor", iVendorType); dataObj1.put("vendor", iVendorType);
@@ -251,7 +266,13 @@ public class WxCarController extends BaseController {
String merchantKey = objParams.getString("merchantKey"); String merchantKey = objParams.getString("merchantKey");
String version = objParams.getString("version"); String version = objParams.getString("version");


String ret = etcp.bindCar(url, merchantNo, merchantKey, version, etcpToken, carNumber, null);
String ret = "";
try {
ret = etcp.bindCar(url, merchantNo, merchantKey, version, etcpToken, carNumber, null);
} catch (MallinkException e) {
logger.error("ETCP fail: " + e.getMessage());
return new ResultData(e.getErrorCode(), e.getMessage());
}
JSONObject retObj = JSON.parseObject(ret); JSONObject retObj = JSON.parseObject(ret);
if (retObj.getIntValue("code") == 0) { if (retObj.getIntValue("code") == 0) {
// 插入车牌 // 插入车牌
@@ -375,7 +396,14 @@ public class WxCarController extends BaseController {
String merchantKey = objParams.getString("merchantKey"); String merchantKey = objParams.getString("merchantKey");
String version = objParams.getString("version"); String version = objParams.getString("version");


String ret = etcp.unbindCar(url, merchantNo, merchantKey, version, etcpToken, carNumber);
String ret = "";
try {
ret = etcp.unbindCar(url, merchantNo, merchantKey, version, etcpToken, carNumber);
} catch (MallinkException e) {
logger.error("ETCP fail: " + e.getMessage());
return new ResultData(e.getErrorCode(), e.getMessage());
}

JSONObject retObj = JSON.parseObject(ret); JSONObject retObj = JSON.parseObject(ret);
if (retObj.getIntValue("code") == 0) { if (retObj.getIntValue("code") == 0) {
try { try {
@@ -497,7 +525,14 @@ public class WxCarController extends BaseController {
String merchantKey = objParams.getString("merchantKey"); String merchantKey = objParams.getString("merchantKey");
String version = objParams.getString("version"); String version = objParams.getString("version");


String ret = etcp.orderUnpay(url, appId, merchantNo, merchantKey, version, etcpToken, carNumber);
String ret = "";
try {
ret = etcp.orderUnpay(url, appId, merchantNo, merchantKey, version, etcpToken, carNumber);
} catch (MallinkException e) {
logger.error("ETCP failed: " + e.getMessage());
return new ResultData(e.getErrorCode(), e.getMessage());
}

JSONObject retObj = JSON.parseObject(ret); JSONObject retObj = JSON.parseObject(ret);
if (retObj.getIntValue("code") == 0) { if (retObj.getIntValue("code") == 0) {
JSONObject feeObj = retObj.getJSONArray("data").getJSONObject(0); JSONObject feeObj = retObj.getJSONArray("data").getJSONObject(0);
@@ -667,8 +702,14 @@ public class WxCarController extends BaseController {
businessId = objParams.getString("businessId"); businessId = objParams.getString("businessId");
} }


String ret = etcp.bCouponRecord(url, merchantNo, merchantKey, version,
etcpToken, park.getParkId(), businessId, carNumber, String.valueOf(userCar.getCouponFreeId()));
String ret = "";
try {
ret = etcp.bCouponRecord(url, merchantNo, merchantKey, version,
etcpToken, park.getParkId(), businessId, carNumber, String.valueOf(userCar.getCouponFreeId()));
} catch (MallinkException e) {
logger.error("ETCP failed: " + e.getMessage());
return new ResultData(e.getErrorCode(), e.getMessage());
}
JSONObject retObj = JSON.parseObject(ret); JSONObject retObj = JSON.parseObject(ret);
if (retObj.getIntValue("code") == EnumETCPCode.SUCCESS.getCode()) { if (retObj.getIntValue("code") == EnumETCPCode.SUCCESS.getCode()) {


@@ -732,6 +773,7 @@ public class WxCarController extends BaseController {
String version = objParams.getString("version"); String version = objParams.getString("version");
if (park.getParkingId() == null) { if (park.getParkingId() == null) {
// those code is not supported // those code is not supported
/*
String lat = objParams.getString("lat"); String lat = objParams.getString("lat");
String lon = objParams.getString("lon"); String lon = objParams.getString("lon");
String radius = objParams.getString("radius"); String radius = objParams.getString("radius");
@@ -755,10 +797,17 @@ public class WxCarController extends BaseController {
} }
} }
} }
*/
} }


if (park.getParkingId() != null) { if (park.getParkingId() != null) {
String ret = etcp.parkingStatus(url, merchantNo, merchantKey, version, park.getParkingId());
String ret = "";
try {
ret = etcp.parkingStatus(url, merchantNo, merchantKey, version, park.getParkingId());
} catch (MallinkException e) {
logger.error("ETCP failed: " + e.getMessage());
return new ResultData(e.getErrorCode(), e.getMessage());
}


JSONObject retObj = JSON.parseObject(ret); JSONObject retObj = JSON.parseObject(ret);
if (retObj.getIntValue("code") == EnumETCPCode.SUCCESS.getCode()) { if (retObj.getIntValue("code") == EnumETCPCode.SUCCESS.getCode()) {


+ 110
- 36
mallinkService/src/main/java/com/iformall/utils/ETCPUtil.java Просмотреть файл

@@ -3,6 +3,8 @@ package com.iformall.utils;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.iformall.common.ErrorCode;
import com.iformall.exception.MallinkException;
import okhttp3.*; import okhttp3.*;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
@@ -306,7 +308,7 @@ public class ETCPUtil {
* } * }
*/ */
public String userSignin(String baseUrl, String appId, String merchantNo, String merchantKey, String version, public String userSignin(String baseUrl, String appId, String merchantNo, String merchantKey, String version,
String mobilePhone) {
String mobilePhone) throws MallinkException {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("appId", appId); jsonObject.put("appId", appId);
jsonObject.put("mobilePhone", mobilePhone); jsonObject.put("mobilePhone", mobilePhone);
@@ -315,8 +317,12 @@ public class ETCPUtil {
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); String timeStamp = dateTimeFormatter.format(LocalDateTime.now());
String sign = genSign(data, merchantKey, timeStamp); 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); 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, public String bindCar(String baseUrl, String merchantNo, String merchantKey, String version,
String etcpToken, String etcpToken,
String plateNumber, String plateColor) {
String plateNumber, String plateColor) throws MallinkException {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("token", etcpToken); jsonObject.put("token", etcpToken);
jsonObject.put("plateNumber", plateNumber); jsonObject.put("plateNumber", plateNumber);
@@ -346,8 +352,12 @@ public class ETCPUtil {
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); String timeStamp = dateTimeFormatter.format(LocalDateTime.now());
String sign = genSign(data, merchantKey, timeStamp); 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); 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, public String unbindCar(String baseUrl, String merchantNo, String merchantKey, String version,
String etcpToken, String etcpToken,
String plateNumber) {
String plateNumber) throws MallinkException {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("token", etcpToken); jsonObject.put("token", etcpToken);
jsonObject.put("plateNumber", plateNumber); jsonObject.put("plateNumber", plateNumber);
@@ -372,8 +382,12 @@ public class ETCPUtil {
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); String timeStamp = dateTimeFormatter.format(LocalDateTime.now());
String sign = genSign(data, merchantKey, timeStamp); 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); 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, public String carAuth(String baseUrl, String merchantNo, String merchantKey, String version,
String etcpToken, String etcpToken,
String carFrameNum, String plateNumber, String carEngineNum String carFrameNum, String plateNumber, String carEngineNum
) {
) throws MallinkException {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("token", etcpToken); jsonObject.put("token", etcpToken);
jsonObject.put("carFrameNum", carFrameNum); jsonObject.put("carFrameNum", carFrameNum);
@@ -403,8 +417,12 @@ public class ETCPUtil {
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); String timeStamp = dateTimeFormatter.format(LocalDateTime.now());
String sign = genSign(data, merchantKey, timeStamp); 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); 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, public String carRetrieve(String baseUrl, String merchantNo, String merchantKey, String version,
String etcpToken, 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 jsonObject = new JSONObject();
jsonObject.put("token", etcpToken); jsonObject.put("token", etcpToken);
jsonObject.put("carFrameNum", carFrameNum); jsonObject.put("carFrameNum", carFrameNum);
@@ -436,8 +454,12 @@ public class ETCPUtil {
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); String timeStamp = dateTimeFormatter.format(LocalDateTime.now());
String sign = genSign(data, merchantKey, timeStamp); 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); 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, public String carNum(String baseUrl, String merchantNo, String merchantKey, String version,
String etcpToken) {
String etcpToken) throws MallinkException {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("token", etcpToken); jsonObject.put("token", etcpToken);


@@ -466,8 +488,12 @@ public class ETCPUtil {
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); String timeStamp = dateTimeFormatter.format(LocalDateTime.now());
String sign = genSign(data, merchantKey, timeStamp); 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); 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, public String orderUnpay(String baseUrl,
String appId, String merchantNo, String merchantKey, String version, String appId, String merchantNo, String merchantKey, String version,
String etcpToken, String etcpToken,
String plateNumber) {
String plateNumber) throws MallinkException {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("token", etcpToken); jsonObject.put("token", etcpToken);
jsonObject.put("plateNumber", plateNumber); jsonObject.put("plateNumber", plateNumber);
@@ -493,8 +519,12 @@ public class ETCPUtil {
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); String timeStamp = dateTimeFormatter.format(LocalDateTime.now());
String sign = genSign(data, merchantKey, timeStamp); 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); 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, public String couponList(String baseUrl,
String merchantNo, String merchantKey, String version, String merchantNo, String merchantKey, String version,
String etcpToken, String etcpToken,
String lastCode, String pageSize) {
String lastCode, String pageSize) throws MallinkException {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("token", etcpToken); jsonObject.put("token", etcpToken);
if (!StringUtils.isBlank(lastCode)) if (!StringUtils.isBlank(lastCode))
@@ -519,8 +549,12 @@ public class ETCPUtil {
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); String timeStamp = dateTimeFormatter.format(LocalDateTime.now());
String sign = genSign(data, merchantKey, timeStamp); 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); 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, public String orderHistory(String baseUrl,
String merchantNo, String merchantKey, String version, String merchantNo, String merchantKey, String version,
String etcpToken) {
String etcpToken) throws MallinkException {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("token", etcpToken); jsonObject.put("token", etcpToken);


@@ -539,8 +573,12 @@ public class ETCPUtil {
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); String timeStamp = dateTimeFormatter.format(LocalDateTime.now());
String sign = genSign(data, merchantKey, timeStamp); 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); 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, public String orderPay(String baseUrl,
String merchantNo, String merchantKey, String version, String merchantNo, String merchantKey, String version,
String etcpToken, String orderId, String etcpToken, String orderId,
String returnUrl, String couponCode) {
String returnUrl, String couponCode) throws MallinkException {
// payType 支付方式(1 微信公众号内支付 2 支付宝 H5 支付 3 微信二维码 4 支付宝二维码 5 微信 H5)(非空) // payType 支付方式(1 微信公众号内支付 2 支付宝 H5 支付 3 微信二维码 4 支付宝二维码 5 微信 H5)(非空)
int payType = 1; int payType = 1;
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
@@ -571,8 +609,12 @@ public class ETCPUtil {
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); String timeStamp = dateTimeFormatter.format(LocalDateTime.now());
String sign = genSign(data, merchantKey, timeStamp); 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); 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 appId, String merchantNo, String merchantKey, String version,
String etcpToken, String etcpToken,
String orderId, String externalOrderId, String orderId, String externalOrderId,
BigDecimal payment, String payTime, String verificationInfo) {
BigDecimal payment, String payTime, String verificationInfo) throws MallinkException {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("token", etcpToken); jsonObject.put("token", etcpToken);
jsonObject.put("orderId", orderId); jsonObject.put("orderId", orderId);
@@ -607,8 +649,12 @@ public class ETCPUtil {
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); String timeStamp = dateTimeFormatter.format(LocalDateTime.now());
String sign = genSign(data, merchantKey, timeStamp); 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); 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, public String parkingInfo(String baseUrl,
String merchantNo, String merchantKey, String version, 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 jsonObject = new JSONObject();
jsonObject.put("lat", lat); jsonObject.put("lat", lat);
jsonObject.put("lon", lon); jsonObject.put("lon", lon);
@@ -630,8 +676,12 @@ public class ETCPUtil {
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); String timeStamp = dateTimeFormatter.format(LocalDateTime.now());
String sign = genSign(data, merchantKey, timeStamp); 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); 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, public String parkingStatus(String baseUrl,
String merchantNo, String merchantKey, String version, String merchantNo, String merchantKey, String version,
String parkingId) {
String parkingId) throws MallinkException {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("parkingId", parkingId); jsonObject.put("parkingId", parkingId);


@@ -650,8 +700,12 @@ public class ETCPUtil {
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); String timeStamp = dateTimeFormatter.format(LocalDateTime.now());
String sign = genSign(data, merchantKey, timeStamp); 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); 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, public String getDebt(String baseUrl,
String appId, String merchantNo, String merchantKey, String version, String appId, String merchantNo, String merchantKey, String version,
String etcpToken, String carNumber) {
String etcpToken, String carNumber) throws MallinkException {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("token", etcpToken); jsonObject.put("token", etcpToken);
jsonObject.put("appId", appId); jsonObject.put("appId", appId);
@@ -672,8 +726,12 @@ public class ETCPUtil {
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); String timeStamp = dateTimeFormatter.format(LocalDateTime.now());
String sign = genSign(data, merchantKey, timeStamp); 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); 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, public String repayDebt(String baseUrl,
String merchantNo, String merchantKey, String version, String merchantNo, String merchantKey, String version,
String etcpToken, String returnUrl) {
String etcpToken, String returnUrl) throws MallinkException {
// payType(1:支付宝 2:微信H5) // payType(1:支付宝 2:微信H5)
int payType = 2; int payType = 2;
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
@@ -698,8 +756,12 @@ public class ETCPUtil {
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); String timeStamp = dateTimeFormatter.format(LocalDateTime.now());
String sign = genSign(data, merchantKey, timeStamp); 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); 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, public String getBCouponList(String baseUrl,
String merchantNo, String merchantKey, String version, String merchantNo, String merchantKey, String version,
String parkId, String businessId) {
String parkId, String businessId) throws MallinkException {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("parkId", parkId); jsonObject.put("parkId", parkId);
jsonObject.put("businessId", businessId); jsonObject.put("businessId", businessId);
@@ -718,8 +780,12 @@ public class ETCPUtil {
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); String timeStamp = dateTimeFormatter.format(LocalDateTime.now());
String sign = genSign(data, merchantKey, timeStamp); 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); 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, public String bCouponRecord(String baseUrl,
String merchantNo, String merchantKey, String version, String merchantNo, String merchantKey, String version,
String etcpToken, 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 jsonObject = new JSONObject();
jsonObject.put("token", etcpToken); jsonObject.put("token", etcpToken);
jsonObject.put("parkId", parkId); jsonObject.put("parkId", parkId);
@@ -743,8 +809,12 @@ public class ETCPUtil {
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); String timeStamp = dateTimeFormatter.format(LocalDateTime.now());
String sign = genSign(data, merchantKey, timeStamp); 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); 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, public String carSimulation(String baseUrl,
String appId, String merchantNo, String merchantKey, String version, String appId, String merchantNo, String merchantKey, String version,
String plateNumber) {
String plateNumber) throws MallinkException {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("appId", appId); jsonObject.put("appId", appId);
jsonObject.put("plateNumber", plateNumber); jsonObject.put("plateNumber", plateNumber);
@@ -764,8 +834,12 @@ public class ETCPUtil {
String timeStamp = dateTimeFormatter.format(LocalDateTime.now()); String timeStamp = dateTimeFormatter.format(LocalDateTime.now());
String sign = genSign(data, merchantKey, timeStamp); 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); 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) { private String doPost(String url, String data, String sign, String timeStamp, String merchantNo) {


Загрузка…
Отмена
Сохранить