| @@ -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(), "停车费获取失败"); | ||||
| @@ -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); | ||||
| /*{ | /*{ | ||||