From 4141f2788b52b78c06f60e3c3ca226c1ed2a4f32 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Sat, 21 Sep 2019 19:44:11 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=81=9C=E8=BD=A6][=E4=BF=AE=E6=94=B9]:?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E6=8A=B5=E6=89=A3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/car/WxCarController.java | 41 ++++++++++--------- .../java/com/iformall/utils/car/TJDUtil.java | 24 ++++++----- 2 files changed, 35 insertions(+), 30 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/car/WxCarController.java b/mallinkAdmin/src/main/java/com/iformall/controller/car/WxCarController.java index 4b88649d5..7b6774fee 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/car/WxCarController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/car/WxCarController.java @@ -200,24 +200,27 @@ public class WxCarController extends BaseController { logger.info(coupon.toString()); // Save to wx_counpon Date curDate = new Date(); - // check 同一个模板的券分配额是否超了 - if (StringUtils.isBlank(coupon.getVendorParams())) { - logger.error("请填充停车厂商优免券参数"); - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "停车厂商参数为空"); - } - JSONObject vendorParamsObj = JSON.parseObject(coupon.getVendorParams()); - Long templateId = vendorParamsObj.getLong("id"); - Integer amount = vendorParamsObj.getInteger("amount"); - Integer avaliavleNum = vendorParamsObj.getInteger("avaliavleNum"); - Integer amtCount = wxCouponCarService.getAmtCountByTemplateId(templateId); - Integer availCount = wxCouponCarService.getAvaibleCountByTemplateId(templateId); - if (amtCount >= amount) { - logger.error("总库存已达到停车厂商优免券数量限制"); - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "总库存已达到停车厂商优免券数量限制"); - } - if (availCount >= avaliavleNum) { - logger.error("可用库存已达到停车厂商优免券数量限制"); - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "可用库存已达到停车厂商优免券数量限制"); + WxPark park = getCurrentPark(); + if (park.getVendorType().equals(EnumCarVendor.CAR_ETCP.getCode())) { + // check 同一个模板的券分配额是否超了 + if (StringUtils.isBlank(coupon.getVendorParams())) { + logger.error("请填充停车厂商优免券参数"); + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "停车厂商参数为空"); + } + JSONObject vendorParamsObj = JSON.parseObject(coupon.getVendorParams()); + Long templateId = vendorParamsObj.getLong("id"); + Integer amount = vendorParamsObj.getInteger("amount"); + Integer avaliavleNum = vendorParamsObj.getInteger("avaliavleNum"); + Integer amtCount = wxCouponCarService.getAmtCountByTemplateId(templateId); + Integer availCount = wxCouponCarService.getAvaibleCountByTemplateId(templateId); + if (amtCount >= amount) { + logger.error("总库存已达到停车厂商优免券数量限制"); + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "总库存已达到停车厂商优免券数量限制"); + } + if (availCount >= avaliavleNum) { + logger.error("可用库存已达到停车厂商优免券数量限制"); + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "可用库存已达到停车厂商优免券数量限制"); + } } // check End coupon.setTenantId(getTenantId()); @@ -231,8 +234,6 @@ public class WxCarController extends BaseController { WxCouponCar couponCar = new WxCouponCar(); couponCar.setId(coupon.getId()); couponCar.setTenantId(getTenantId()); - - WxPark park = getCurrentPark(); couponCar.setParkId(park.getId()); couponCar.setVendorType(park.getVendorType()); couponCar.setVendorParams(coupon.getVendorParams()); diff --git a/mallinkService/src/main/java/com/iformall/utils/car/TJDUtil.java b/mallinkService/src/main/java/com/iformall/utils/car/TJDUtil.java index 16627273b..62089fd95 100644 --- a/mallinkService/src/main/java/com/iformall/utils/car/TJDUtil.java +++ b/mallinkService/src/main/java/com/iformall/utils/car/TJDUtil.java @@ -1,6 +1,7 @@ package com.iformall.utils.car; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.iformall.domain.po.WxCoupon; import com.iformall.domain.po.WxCouponOrder; @@ -385,22 +386,24 @@ public class TJDUtil { paramMap.put(TJD_ACCOUNT_ID, accountId); paramMap.put(TJD_PREPAY_TYPE, TJD_PREPAY_TYPE_3); - Map detailMap = MapUtil.getOrderMap(); - detailMap.put(TJD_OUT_TRADE_NO, String.valueOf(couponOrder.getId())); - detailMap.put(TJD_TYPE, TJD_TYPE_COUPON); - detailMap.put(TJD_CHANNEL, "2204"); + JSONArray detailArr = new JSONArray(); + JSONObject detailObj = new JSONObject(); + detailObj.put(TJD_OUT_TRADE_NO, String.valueOf(couponOrder.getId())); + detailObj.put(TJD_TYPE, TJD_TYPE_COUPON); + detailObj.put(TJD_CHANNEL, "2204"); String memo = "会员优惠券"; if (coupon.getUnit().equals(0)) { - detailMap.put(TJD_COUPON_TYPE, "0"); - detailMap.put(TJD_AMOUNT, coupon.getPriceStr()); + detailObj.put(TJD_COUPON_TYPE, "0"); + detailObj.put(TJD_AMOUNT, coupon.getPriceStr()); memo += "-金额"; } else { - detailMap.put(TJD_COUPON_TYPE, "1"); - detailMap.put(TJD_MINUTES, String.valueOf(coupon.getPrice()*60)); + detailObj.put(TJD_COUPON_TYPE, "1"); + detailObj.put(TJD_MINUTES, String.valueOf(coupon.getPrice()*60)); memo += "-时长"; } - detailMap.put(TJD_MEMO, memo); - paramMap.put(TJD_DETAIL_LIST, JSON.toJSONString(detailMap)); + detailObj.put(TJD_MEMO, memo); + detailArr.add(detailObj); + paramMap.put(TJD_DETAIL_LIST, JSON.toJSONString(detailArr)); paramMap.put(TJD_CHARSET, TJD_UTF_8); paramMap.put(TJD_ACCOUNT, partner); @@ -639,6 +642,7 @@ public class TJDUtil { paramMap.put("signType", "md5"); String jsonstr = JSON.toJSONString(paramMap); + logger.info(jsonstr); try { StringEntity se = new StringEntity(jsonstr, Consts.UTF_8);