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

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

release_toaliyun_real
Stormeye Wu 6 лет назад
Родитель
Сommit
67fe92d801
2 измененных файлов: 98 добавлений и 66 удалений
  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 Просмотреть файл

@@ -241,16 +241,7 @@ public class WxCarController extends BaseController {
* @param paramMap
* @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")
public ResultData bindCar(@RequestBody Map<String, String > paramMap) {
// 1, get mall's park
@@ -258,11 +249,10 @@ public class WxCarController extends BaseController {
// 2. get vendor params
if (park.getVendorType() == EnumCarVendor.CAR_ETCP.getCode()) {
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) {
@@ -292,7 +282,7 @@ public class WxCarController extends BaseController {
}
JSONObject retObj = JSON.parseObject(ret);
if (retObj.getIntValue("code") == 0) {
addCarInfoToDB(carNumber);
addCarInfoToDB(carNumber, EnumCarVendor.CAR_ETCP);
JSONObject dataObj = retObj.getJSONObject("data");
return new ResultData(dataObj);
} 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();
WxCUserCar userCar = new WxCUserCar();
userCar.setCUserId(getUserId());
userCar.setTenantId(getTenantId());
userCar.setCarNumber(carNumber);
userCar.setVendorType(EnumCarVendor.CAR_ETCP.getCode());
userCar.setVendorType(carVendor.getCode());
userCar.setCreateDate(curr);
userCar.setUpdateDate(curr);
wxCUserCarService.saveOrUpdate(userCar);
@@ -409,26 +415,16 @@ public class WxCarController extends BaseController {
" \"code\": 0,\n" +
" \"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")
public ResultData unbindCar(@RequestBody Map<String, String > paramMap) {
// 1, get mall's park
WxPark park = getCurrentPark(getTenantId());
if (park.getVendorType() == EnumCarVendor.CAR_ETCP.getCode()) {
if (park.getVendorType().equals(EnumCarVendor.CAR_ETCP.getCode())) {
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) {
@@ -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) {
String carNumber = paramMap.get("carNumber");
if (StringUtils.isBlank(carNumber)) {
@@ -536,7 +552,7 @@ public class WxCarController extends BaseController {
" \"paidFee\": 0,\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" +
" \"timestamp\": \"1464235239561\",\n" +
" \"returnCode\": \"T\",\n" +
@@ -628,13 +644,13 @@ public class WxCarController extends BaseController {
}
String params = park.getVendorParams();
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);
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);
} else {
return new ResultData(ErrorCode.TJD_STOP_FEE_FAIL.getCode(), "停车费获取失败");


+ 45
- 29
mallinkService/src/main/java/com/iformall/utils/car/TJDUtil.java Просмотреть файл

@@ -30,6 +30,17 @@ import java.util.Map;
@Component
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_ERR_MSG = "errorMSG";
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_PAY_AMT = "payAmount";
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);
@@ -54,6 +66,10 @@ public class TJDUtil {
private static String key = "bc2f09be8f5b4227898346cf6fe451c2";
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 {
String carNumber = "京XAZMF1";

@@ -67,9 +83,9 @@ public class TJDUtil {
paramMap1.put("deductionAmount", obj.getString("totalAmount"));
paramMap1.put("outTradeNo", "utf-8");
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);
*/
@@ -159,9 +175,9 @@ public class TJDUtil {
if (outCarId != null) {
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);

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

Map<String, String> paramMap = MapUtil.getOrderMap();
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);

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

Map<String, String> paramMap = MapUtil.getOrderMap();
paramMap.put("carNum", carNum);
paramMap.put(TJD_CAR_NUMBER, carNum);
//paramMap.put("carNumColor", "");
//paramMap.put("pmParkId", "");
paramMap.put("freeMins", freeMins);
paramMap.put(TJD_FREE_MINS, freeMins);
//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);

@@ -314,9 +330,9 @@ public class TJDUtil {
paramMap.put("deductionAmount", deductionAmount);
paramMap.put("outTradeNo", outTradeNo);
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);
/*
@@ -362,9 +378,9 @@ public class TJDUtil {
paramMap.put("deductionAmount", deductionAmount);
paramMap.put("outTradeNo", outTradeNo);
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);
/*
@@ -413,9 +429,9 @@ public class TJDUtil {
paramMap.put("prePayType", prePayType);
paramMap.put("minutes", minutes);
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);
/*{
@@ -469,9 +485,9 @@ public class TJDUtil {
paramMap.put("EndDt", EndDt);
paramMap.put("expireDt", expireDt);
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);
/*{
@@ -512,9 +528,9 @@ public class TJDUtil {
Map<String, String> paramMap = MapUtil.getOrderMap();
paramMap.put("tradeId", tradeId);
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);
/*{


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