Bläddra i källkod

[停车][修改]:停简单绑车牌,停车费

release_toaliyun_real
Stormeye Wu 6 år sedan
förälder
incheckning
67fe92d801
2 ändrade filer med 98 tillägg och 66 borttagningar
  1. +53
    -37
      mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java
  2. +45
    -29
      mallinkService/src/main/java/com/iformall/utils/car/TJDUtil.java

+ 53
- 37
mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java Visa fil

@@ -241,16 +241,7 @@ public class WxCarController extends BaseController {
* @param paramMap * @param paramMap
* @return * @return
*/ */
@ApiOperation(value = "绑车牌", notes = "ETCP:={\"etcpToken\":\"string\",\"carNumber\":\"string\"}\n" +
"TJD:={\"carNumber\":\"string\",\"carNumColor\":\"string\",\"outCarId\":\"string\"}\n返回\n" +
"{\n" +
" \"timestamp\": \"1464235239561\",\n" +
" \"returnCode\": \"T\",\n" +
" \"errorMsg\": \"\",\n" +
" \"returnMsg\": \"OK\",\n" +
" \"isSuccess\": \"0\",\n" +
" \"carId\": \"5836b8b52ada463ebc6199579f029561\"\n" +
"}\n")
@ApiOperation(value = "绑车牌", notes = "ETCP:={\"etcpToken\":\"string\",\"carNumber\":\"string\"}, TJD:={\"carNumber\":\"string\"}")
@PostMapping("/bindCar") @PostMapping("/bindCar")
public ResultData bindCar(@RequestBody Map<String, String > paramMap) { public ResultData bindCar(@RequestBody Map<String, String > paramMap) {
// 1, get mall's park // 1, get mall's park
@@ -258,11 +249,10 @@ public class WxCarController extends BaseController {
// 2. get vendor params // 2. get vendor params
if (park.getVendorType() == EnumCarVendor.CAR_ETCP.getCode()) { if (park.getVendorType() == EnumCarVendor.CAR_ETCP.getCode()) {
return etcpBindCar(paramMap, park); return etcpBindCar(paramMap, park);
} else {
// 内部操作
return bindCar(paramMap, park);
} }
else if (park.getVendorType() == EnumCarVendor.CAR_TJD.getCode()) {
return tjdBindCar(paramMap, park);
}
return new ResultData(ErrorCode.CAR_VENDOR_NOT_SUPPORT.getCode(), "绑车牌失败");
} }


private ResultData etcpBindCar(Map<String, String> paramMap, WxPark park) { private ResultData etcpBindCar(Map<String, String> paramMap, WxPark park) {
@@ -292,7 +282,7 @@ public class WxCarController extends BaseController {
} }
JSONObject retObj = JSON.parseObject(ret); JSONObject retObj = JSON.parseObject(ret);
if (retObj.getIntValue("code") == 0) { if (retObj.getIntValue("code") == 0) {
addCarInfoToDB(carNumber);
addCarInfoToDB(carNumber, EnumCarVendor.CAR_ETCP);
JSONObject dataObj = retObj.getJSONObject("data"); JSONObject dataObj = retObj.getJSONObject("data");
return new ResultData(dataObj); return new ResultData(dataObj);
} else { } else {
@@ -302,14 +292,30 @@ public class WxCarController extends BaseController {
} }
} }


private void addCarInfoToDB(String carNumber) {
private ResultData bindCar(Map<String, String> paramMap, WxPark park) {
String carNumber = paramMap.get("carNumber");
if (StringUtils.isBlank(carNumber)) {
logger.error("carNumber为空");
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "carNumber为空");
}
try {
addCarInfoToDB(carNumber, EnumCarVendor.getEnum(park.getVendorType()));
} catch (MallinkException e) {
return new ResultData(e.getErrorCode(), e.getMessage());
} catch (Exception e) {
return new ResultData(500, e.getMessage());
}
return new ResultData();
}

private void addCarInfoToDB(String carNumber, EnumCarVendor carVendor) {
// 插入车牌 // 插入车牌
Date curr = new Date(); Date curr = new Date();
WxCUserCar userCar = new WxCUserCar(); WxCUserCar userCar = new WxCUserCar();
userCar.setCUserId(getUserId()); userCar.setCUserId(getUserId());
userCar.setTenantId(getTenantId()); userCar.setTenantId(getTenantId());
userCar.setCarNumber(carNumber); userCar.setCarNumber(carNumber);
userCar.setVendorType(EnumCarVendor.CAR_ETCP.getCode());
userCar.setVendorType(carVendor.getCode());
userCar.setCreateDate(curr); userCar.setCreateDate(curr);
userCar.setUpdateDate(curr); userCar.setUpdateDate(curr);
wxCUserCarService.saveOrUpdate(userCar); wxCUserCarService.saveOrUpdate(userCar);
@@ -409,26 +415,16 @@ public class WxCarController extends BaseController {
" \"code\": 0,\n" + " \"code\": 0,\n" +
" \"message\": \"ok\"" + " \"message\": \"ok\"" +
"}" + "}" +
"TJD:={\"carNumber\":\"string\",\"carNumColor\":\"string\",\"outCarId\":\"string\"}\n返回:\n" +
"{\n" +
" \"timestamp\": \"1464235239561\",\n" +
" \"returnCode\": \"T\",\n" +
" \"errorMsg\": \"\",\n" +
" \"returnMsg\": \"OK\",\n" +
" \"isSuccess\": \"0\",\n" +
"}\n")
"TJD:={\"carNumber\":\"string\"}")
@PostMapping("/unbindCar") @PostMapping("/unbindCar")
public ResultData unbindCar(@RequestBody Map<String, String > paramMap) { public ResultData unbindCar(@RequestBody Map<String, String > paramMap) {
// 1, get mall's park // 1, get mall's park
WxPark park = getCurrentPark(getTenantId()); WxPark park = getCurrentPark(getTenantId());
if (park.getVendorType() == EnumCarVendor.CAR_ETCP.getCode()) {
if (park.getVendorType().equals(EnumCarVendor.CAR_ETCP.getCode())) {
return etcpUnbindCar(paramMap, park); return etcpUnbindCar(paramMap, park);
} else {
return unbindCar(paramMap, park);
} }
else if (park.getVendorType() == EnumCarVendor.CAR_TJD.getCode()) {
ResultData e = tjdUnbindCar(paramMap, park);
if (e != null) return e;
}
return new ResultData(ErrorCode.CAR_VENDOR_NOT_SUPPORT.getCode(), "解绑车牌失败");
} }


private ResultData etcpUnbindCar(Map<String, String> paramMap, WxPark park) { private ResultData etcpUnbindCar(Map<String, String> paramMap, WxPark park) {
@@ -478,6 +474,26 @@ public class WxCarController extends BaseController {
} }
} }


private ResultData unbindCar(Map<String, String> paramMap, WxPark park) {
String carNumber = paramMap.get("carNumber");
if (StringUtils.isBlank(carNumber)) {
logger.error("carNumber为空");
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "carNumber为空");
}
try {
WxCUserCar userCar = new WxCUserCar();
userCar.setTenantId(getTenantId());
userCar.setCUserId(getUserId());
userCar.setCarNumber(carNumber);
wxCUserCarService.deleteByObj(userCar);
} catch (Exception e) {
logger.error(e.getMessage());
return new ResultData(ErrorCode.DB_FAIL.getCode(), "解绑车牌数据库错误, e:" + e.getMessage());
}

return new ResultData();
}

private ResultData tjdUnbindCar(@RequestBody Map<String, String> paramMap, WxPark park) { private ResultData tjdUnbindCar(@RequestBody Map<String, String> paramMap, WxPark park) {
String carNumber = paramMap.get("carNumber"); String carNumber = paramMap.get("carNumber");
if (StringUtils.isBlank(carNumber)) { if (StringUtils.isBlank(carNumber)) {
@@ -536,7 +552,7 @@ public class WxCarController extends BaseController {
" \"paidFee\": 0,\n" + " \"paidFee\": 0,\n" +
" \"verificationInfo\": \"FSED9JvxgAU6XJUd8YRF5YH/LpfQYzCAfcPbAOKPV3BjKSatbgIsh7EBH2JBiRoGBe3btr gzKRMTfIoFuCn1XX7HUsJYlb7JSCBArnNmEVU4JuDLLjzoqB7qhQ8KnP16\"\n" + " \"verificationInfo\": \"FSED9JvxgAU6XJUd8YRF5YH/LpfQYzCAfcPbAOKPV3BjKSatbgIsh7EBH2JBiRoGBe3btr gzKRMTfIoFuCn1XX7HUsJYlb7JSCBArnNmEVU4JuDLLjzoqB7qhQ8KnP16\"\n" +
" }" + " }" +
"TJD:={\"carNumber\":\"string\",\"carNumColor\":\"string\",\"outCarId\":\"string\"}\n输出\n{\n" +
"TJD:={\"carNumber\":\"string\"}\n输出\n{\n" +
" \"inDt\": \"20160526112000\",\n" + " \"inDt\": \"20160526112000\",\n" +
" \"timestamp\": \"1464235239561\",\n" + " \"timestamp\": \"1464235239561\",\n" +
" \"returnCode\": \"T\",\n" + " \"returnCode\": \"T\",\n" +
@@ -628,13 +644,13 @@ public class WxCarController extends BaseController {
} }
String params = park.getVendorParams(); String params = park.getVendorParams();
JSONObject objParams = JSON.parseObject(params); JSONObject objParams = JSON.parseObject(params);
String url = objParams.getString("url");
String partner = objParams.getString("partner");
String key = objParams.getString("key");
String version = objParams.getString("version");
String url = objParams.getString(TJDUtil.TJD_URL);
String partner = objParams.getString(TJDUtil.TJD_ACCOUNT);
String key = objParams.getString(TJDUtil.TJD_ACCOUNT_KEY);
String version = objParams.getString(TJDUtil.TJD_VERSION);
String ret = tjd.infoForFreeMins(url, partner, key, version, carNumber); String ret = tjd.infoForFreeMins(url, partner, key, version, carNumber);
JSONObject retObj = JSON.parseObject(ret); JSONObject retObj = JSON.parseObject(ret);
if (retObj.getString("returnCode").equalsIgnoreCase(EnumTJDCode.SUCCESS.getMessage())) {
if (retObj.getString(TJDUtil.TJD_RETURN_CODE).equalsIgnoreCase(EnumTJDCode.SUCCESS.getMessage())) {
return new ResultData(retObj); return new ResultData(retObj);
} else { } else {
return new ResultData(ErrorCode.TJD_STOP_FEE_FAIL.getCode(), "停车费获取失败"); return new ResultData(ErrorCode.TJD_STOP_FEE_FAIL.getCode(), "停车费获取失败");


+ 45
- 29
mallinkService/src/main/java/com/iformall/utils/car/TJDUtil.java Visa fil

@@ -30,6 +30,17 @@ import java.util.Map;
@Component @Component
public class TJDUtil { public class TJDUtil {


public static final String TJD_URL = "url";
public static final String TJD_ACCOUNT = "partner";
public static final String TJD_ACCOUNT_KEY = "key";
public static final String TJD_VERSION = "version";

public static final String TJD_CHARSET = "charset";

public static final String TJD_RETURN_CODE = "returnCode";
public static final String TJD_RETURN_SUCC = "T";
public static final String TJD_RETURN_FAIL = "F";

public static final String TJD_IS_SUC = "isSuccess"; public static final String TJD_IS_SUC = "isSuccess";
public static final String TJD_ERR_MSG = "errorMSG"; public static final String TJD_ERR_MSG = "errorMSG";
public static final String TJD_SUC = "0"; public static final String TJD_SUC = "0";
@@ -44,6 +55,7 @@ public class TJDUtil {
public static final String TJD_PARK_AMT = "parkAmount"; public static final String TJD_PARK_AMT = "parkAmount";
public static final String TJD_PAY_AMT = "payAmount"; public static final String TJD_PAY_AMT = "payAmount";
public static final String TJD_PAY_DT = "payDt"; public static final String TJD_PAY_DT = "payDt";
public static final String TJD_FREE_MINS = "freeMins";




private final static Logger logger = LoggerFactory.getLogger(TJDUtil.class); private final static Logger logger = LoggerFactory.getLogger(TJDUtil.class);
@@ -54,6 +66,10 @@ public class TJDUtil {
private static String key = "bc2f09be8f5b4227898346cf6fe451c2"; private static String key = "bc2f09be8f5b4227898346cf6fe451c2";
private static String version = "1.0"; private static String version = "1.0";


//
// {"url":"http://prep.tingjiandan.com/openapi/gateway","partnerId":"fb21a5b2f7064ff5afb8288d5bb48ca8","key":"bc2f09be8f5b4227898346cf6fe451c2","parkId":"7715622dff834b34a44448b801c27607", "version":"1.0.0"}
//

public static void main(String[] args) throws Exception { public static void main(String[] args) throws Exception {
String carNumber = "京XAZMF1"; String carNumber = "京XAZMF1";


@@ -67,9 +83,9 @@ public class TJDUtil {
paramMap1.put("deductionAmount", obj.getString("totalAmount")); paramMap1.put("deductionAmount", obj.getString("totalAmount"));
paramMap1.put("outTradeNo", "utf-8"); paramMap1.put("outTradeNo", "utf-8");
paramMap1.put("accountId", obj.getString("accountId")); paramMap1.put("accountId", obj.getString("accountId"));
paramMap1.put("charset", "utf-8");
paramMap1.put("partner", partner);
paramMap1.put("version", version);
paramMap1.put(TJD_CHARSET, "utf-8");
paramMap1.put(TJD_ACCOUNT, partner);
paramMap1.put(TJD_VERSION, version);


deductionNotSettle(baseurl, key, paramMap1); deductionNotSettle(baseurl, key, paramMap1);
*/ */
@@ -159,9 +175,9 @@ public class TJDUtil {
if (outCarId != null) { if (outCarId != null) {
paramMap.put("outCardId", outCarId); paramMap.put("outCardId", outCarId);
} }
paramMap.put("charset", "utf-8");
paramMap.put("partner", partner);
paramMap.put("version", version);
paramMap.put(TJD_CHARSET, "utf-8");
paramMap.put(TJD_ACCOUNT, partner);
paramMap.put(TJD_VERSION, version);


String result = Proc(url, key, service, paramMap); String result = Proc(url, key, service, paramMap);


@@ -202,9 +218,9 @@ public class TJDUtil {


Map<String, String> paramMap = MapUtil.getOrderMap(); Map<String, String> paramMap = MapUtil.getOrderMap();
paramMap.put("carId", carId); paramMap.put("carId", carId);
paramMap.put("charset", "utf-8");
paramMap.put("partner", partner);
paramMap.put("version", version);
paramMap.put(TJD_CHARSET, "utf-8");
paramMap.put(TJD_ACCOUNT, partner);
paramMap.put(TJD_VERSION, version);


String result = Proc(url, key, service, paramMap); String result = Proc(url, key, service, paramMap);


@@ -244,14 +260,14 @@ public class TJDUtil {
String freeMins = "0"; String freeMins = "0";


Map<String, String> paramMap = MapUtil.getOrderMap(); Map<String, String> paramMap = MapUtil.getOrderMap();
paramMap.put("carNum", carNum);
paramMap.put(TJD_CAR_NUMBER, carNum);
//paramMap.put("carNumColor", ""); //paramMap.put("carNumColor", "");
//paramMap.put("pmParkId", ""); //paramMap.put("pmParkId", "");
paramMap.put("freeMins", freeMins);
paramMap.put(TJD_FREE_MINS, freeMins);
//paramMap.put("tradeId", ""); //paramMap.put("tradeId", "");
paramMap.put("charset", "utf-8");
paramMap.put("partner", partner);
paramMap.put("version", version);
paramMap.put(TJD_CHARSET, "utf-8");
paramMap.put(TJD_ACCOUNT, partner);
paramMap.put(TJD_VERSION, version);


String result = Proc(url, key, service, paramMap); String result = Proc(url, key, service, paramMap);


@@ -314,9 +330,9 @@ public class TJDUtil {
paramMap.put("deductionAmount", deductionAmount); paramMap.put("deductionAmount", deductionAmount);
paramMap.put("outTradeNo", outTradeNo); paramMap.put("outTradeNo", outTradeNo);
paramMap.put("accountId", accountId); paramMap.put("accountId", accountId);
paramMap.put("charset", "utf-8");
paramMap.put("partner", partner);
paramMap.put("version", version);
paramMap.put(TJD_CHARSET, "utf-8");
paramMap.put(TJD_ACCOUNT, partner);
paramMap.put(TJD_VERSION, version);


String result = Proc(url, key, service, paramMap); String result = Proc(url, key, service, paramMap);
/* /*
@@ -362,9 +378,9 @@ public class TJDUtil {
paramMap.put("deductionAmount", deductionAmount); paramMap.put("deductionAmount", deductionAmount);
paramMap.put("outTradeNo", outTradeNo); paramMap.put("outTradeNo", outTradeNo);
paramMap.put("accountId", accountId); paramMap.put("accountId", accountId);
paramMap.put("charset", "utf-8");
paramMap.put("partner", partner);
paramMap.put("version", version);
paramMap.put(TJD_CHARSET, "utf-8");
paramMap.put(TJD_ACCOUNT, partner);
paramMap.put(TJD_VERSION, version);


String result = Proc(url, key, service, paramMap); String result = Proc(url, key, service, paramMap);
/* /*
@@ -413,9 +429,9 @@ public class TJDUtil {
paramMap.put("prePayType", prePayType); paramMap.put("prePayType", prePayType);
paramMap.put("minutes", minutes); paramMap.put("minutes", minutes);
paramMap.put("memo", memo); paramMap.put("memo", memo);
paramMap.put("charset", "utf-8");
paramMap.put("partner", partner);
paramMap.put("version", version);
paramMap.put(TJD_CHARSET, "utf-8");
paramMap.put(TJD_ACCOUNT, partner);
paramMap.put(TJD_VERSION, version);


String result = Proc(url, key, service, paramMap); String result = Proc(url, key, service, paramMap);
/*{ /*{
@@ -469,9 +485,9 @@ public class TJDUtil {
paramMap.put("EndDt", EndDt); paramMap.put("EndDt", EndDt);
paramMap.put("expireDt", expireDt); paramMap.put("expireDt", expireDt);
paramMap.put("memo", memo); paramMap.put("memo", memo);
paramMap.put("charset", "utf-8");
paramMap.put("partner", partner);
paramMap.put("version", version);
paramMap.put(TJD_CHARSET, "utf-8");
paramMap.put(TJD_ACCOUNT, partner);
paramMap.put(TJD_VERSION, version);


String result = Proc(url, key, service, paramMap); String result = Proc(url, key, service, paramMap);
/*{ /*{
@@ -512,9 +528,9 @@ public class TJDUtil {
Map<String, String> paramMap = MapUtil.getOrderMap(); Map<String, String> paramMap = MapUtil.getOrderMap();
paramMap.put("tradeId", tradeId); paramMap.put("tradeId", tradeId);
paramMap.put("ticketid", ticketid); paramMap.put("ticketid", ticketid);
paramMap.put("charset", "utf-8");
paramMap.put("partner", partner);
paramMap.put("version", version);
paramMap.put(TJD_CHARSET, "utf-8");
paramMap.put(TJD_ACCOUNT, partner);
paramMap.put(TJD_VERSION, version);


String result = Proc(url, key, service, paramMap); String result = Proc(url, key, service, paramMap);
/*{ /*{


Laddar…
Avbryt
Spara