From e45daea4eba598229815351fd4adf98c3f2a469d Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Sat, 21 Sep 2019 19:53:54 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=81=9C=E8=BD=A6][=E4=BF=AE=E6=94=B9]:?= =?UTF-8?q?=E5=81=9C=E8=BD=A6=E5=88=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iformall/controller/WxCarController.java | 128 ++++++++---------- 1 file changed, 57 insertions(+), 71 deletions(-) diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java index 59a030c5e..e8fd6799a 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java @@ -660,48 +660,6 @@ public class WxCarController extends BaseController { } } - /** - * 停车费抵扣 - * - */ - @ApiOperation(value = "停车费抵扣", notes ="TJD: {\"tradeId\":\"string\",\"accountId\":\"string\",\"couponOrderId\":\"string\"}") - @PostMapping("/deductionFee") - public ResultData deductionFee(@RequestBody Map paramMap) { - /// 1, get mall's park - WxPark park = getCurrentPark(getTenantId()); - if (park.getVendorType() == EnumCarVendor.CAR_TJD.getCode()) { - String tradeId = paramMap.get("tradeId"); - String accountId = paramMap.get("accountId"); - String outTradeNo = paramMap.get("couponOrderId"); - if (StringUtils.isBlank(tradeId)) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "tradeId为空"); - } - if (StringUtils.isBlank(accountId)) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "accountId为空"); - } - if (StringUtils.isBlank(outTradeNo)) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "couponOrderId为空"); - } - WxCouponOrder couponOrder = wxCouponOrderService.getById(Long.valueOf(outTradeNo)); - WxCoupon coupon = couponService.getById(couponOrder.getCouponId()); - 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 ret = tjd.deductionForDetail(url, partner, key, version, - tradeId, accountId, couponOrder, coupon); - JSONObject retObj = JSON.parseObject(ret); - if (retObj.getString(TJDUtil.TJD_RETURN_CODE).equalsIgnoreCase(EnumTJDCode.SUCCESS.getMessage())) { - return new ResultData(); - } else { - return new ResultData(ErrorCode.TJD_DEDUCE_FEE_FAIL.getCode(), "停车费抵扣失败"); - } - } - return new ResultData(ErrorCode.CAR_VENDOR_NOT_SUPPORT.getCode(), "停车费抵扣失败"); - } - private String getETCPBusinessID(Long merchantId) { String businessId; WxMerchant wxMerchant = wxMerchantService.getById(merchantId); @@ -715,44 +673,44 @@ public class WxCarController extends BaseController { * 优免券领取 * 优免券不可退 */ - @ApiOperation(value = "优免券领取", notes="ETCP:={\"etcpToken\":\"string\",\"carNumber\":\"string\",\"couponOrderId\"=\"String\"},输出\n{}") + @ApiOperation(value = "停车券使用", notes="ETCP:={\"etcpToken\":\"string(ETCP专用)\",\"carNumber\":\"string\",\"couponOrderId\"=\"String\"},输出\n{}\n" + + "TJD:{\"carNumber\":\"string\",\"tradeId\":\"string\",\"accountId\":\"string\",\"couponOrderId\":\"string\"}") @PostMapping("/getCoupon") public ResultData getCoupon(@RequestBody Map paramMap) { /// 1, get mall's park WxPark park = getCurrentPark(getTenantId()); + String carNumber = paramMap.get("carNumber"); + String couponOrderIdStr = paramMap.get("couponOrderId"); + if (StringUtils.isBlank(carNumber)) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "carNumber为空"); + } + if (StringUtils.isBlank(couponOrderIdStr)) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "couponOrderId为空"); + } + Long couponOrderId = 0L; + try { + couponOrderId = Long.valueOf(couponOrderIdStr); + } catch (NumberFormatException e) { + logger.error(e.getMessage()); + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "couponOrderId转化失败"); + } + + WxCouponOrderCarCVo userCar = null; + WxCouponOrder userCarQ = new WxCouponOrder(); + userCarQ.setTenantId(getTenantId()); + userCarQ.setCUserId(getUserId()); + userCarQ.setId(couponOrderId); + userCarQ.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode()); + List list = wxCouponOrderService.carListCUserVo(userCarQ); + if (list.size() > 0) { + userCar = list.get(0); + } + if (park.getVendorType() == EnumCarVendor.CAR_ETCP.getCode()) { String etcpToken = paramMap.get("etcpToken"); - String carNumber = paramMap.get("carNumber"); - String couponOrderIdStr = paramMap.get("couponOrderId"); if (StringUtils.isBlank(etcpToken)) { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "etcpToken为空"); } - if (StringUtils.isBlank(carNumber)) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "carNumber为空"); - } - if (StringUtils.isBlank(couponOrderIdStr)) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "couponOrderId为空"); - } - - Long couponOrderId = 0L; - try { - couponOrderId = Long.valueOf(couponOrderIdStr); - } catch (NumberFormatException e) { - logger.error(e.getMessage()); - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "couponOrderId转化失败"); - } - - WxCouponOrderCarCVo userCar = null; - WxCouponOrder userCarQ = new WxCouponOrder(); - userCarQ.setTenantId(getTenantId()); - userCarQ.setCUserId(getUserId()); - userCarQ.setId(couponOrderId); - userCarQ.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode()); - List list = wxCouponOrderService.carListCUserVo(userCarQ); - if (list.size() > 0) { - userCar = list.get(0); - } - String params = park.getVendorParams(); JSONObject objParams = JSON.parseObject(params); String url = objParams.getString("url"); @@ -800,6 +758,34 @@ public class WxCarController extends BaseController { } else { return new ResultData(ErrorCode.ETCP_QUAN_SEND_FAIL.getCode(), retObj.getString("message")); } + } else if (park.getVendorType() == EnumCarVendor.CAR_TJD.getCode()){ + String tradeId = paramMap.get("tradeId"); + String accountId = paramMap.get("accountId"); + if (StringUtils.isBlank(tradeId)) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "tradeId为空"); + } + if (StringUtils.isBlank(accountId)) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "accountId为空"); + } + WxCoupon coupon = couponService.getById(userCar.getCouponId()); + if (coupon == null) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "券为空"); + } + String params = park.getVendorParams(); + JSONObject objParams = JSON.parseObject(params); + 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.deductionForDetail(url, partner, key, version, + tradeId, accountId, userCar, coupon); + JSONObject retObj = JSON.parseObject(ret); + if (retObj.getString(TJDUtil.TJD_RETURN_CODE).equalsIgnoreCase(EnumTJDCode.SUCCESS.getMessage())) { + return new ResultData(); + } else { + return new ResultData(ErrorCode.TJD_DEDUCE_FEE_FAIL.getCode(), "停车费抵扣失败"); + } } return new ResultData(ErrorCode.CAR_VENDOR_NOT_SUPPORT.getCode(), "优免券领取失败"); }