| @@ -200,24 +200,27 @@ public class WxCarController extends BaseController { | |||||
| logger.info(coupon.toString()); | logger.info(coupon.toString()); | ||||
| // Save to wx_counpon | // Save to wx_counpon | ||||
| Date curDate = new Date(); | 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 | // check End | ||||
| coupon.setTenantId(getTenantId()); | coupon.setTenantId(getTenantId()); | ||||
| @@ -231,8 +234,6 @@ public class WxCarController extends BaseController { | |||||
| WxCouponCar couponCar = new WxCouponCar(); | WxCouponCar couponCar = new WxCouponCar(); | ||||
| couponCar.setId(coupon.getId()); | couponCar.setId(coupon.getId()); | ||||
| couponCar.setTenantId(getTenantId()); | couponCar.setTenantId(getTenantId()); | ||||
| WxPark park = getCurrentPark(); | |||||
| couponCar.setParkId(park.getId()); | couponCar.setParkId(park.getId()); | ||||
| couponCar.setVendorType(park.getVendorType()); | couponCar.setVendorType(park.getVendorType()); | ||||
| couponCar.setVendorParams(coupon.getVendorParams()); | couponCar.setVendorParams(coupon.getVendorParams()); | ||||
| @@ -1,6 +1,7 @@ | |||||
| package com.iformall.utils.car; | package com.iformall.utils.car; | ||||
| import com.alibaba.fastjson.JSON; | import com.alibaba.fastjson.JSON; | ||||
| import com.alibaba.fastjson.JSONArray; | |||||
| import com.alibaba.fastjson.JSONObject; | import com.alibaba.fastjson.JSONObject; | ||||
| import com.iformall.domain.po.WxCoupon; | import com.iformall.domain.po.WxCoupon; | ||||
| import com.iformall.domain.po.WxCouponOrder; | import com.iformall.domain.po.WxCouponOrder; | ||||
| @@ -385,22 +386,24 @@ public class TJDUtil { | |||||
| paramMap.put(TJD_ACCOUNT_ID, accountId); | paramMap.put(TJD_ACCOUNT_ID, accountId); | ||||
| paramMap.put(TJD_PREPAY_TYPE, TJD_PREPAY_TYPE_3); | paramMap.put(TJD_PREPAY_TYPE, TJD_PREPAY_TYPE_3); | ||||
| Map<String, String> 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 = "会员优惠券"; | String memo = "会员优惠券"; | ||||
| if (coupon.getUnit().equals(0)) { | 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 += "-金额"; | memo += "-金额"; | ||||
| } else { | } 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 += "-时长"; | 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_CHARSET, TJD_UTF_8); | ||||
| paramMap.put(TJD_ACCOUNT, partner); | paramMap.put(TJD_ACCOUNT, partner); | ||||
| @@ -639,6 +642,7 @@ public class TJDUtil { | |||||
| paramMap.put("signType", "md5"); | paramMap.put("signType", "md5"); | ||||
| String jsonstr = JSON.toJSONString(paramMap); | String jsonstr = JSON.toJSONString(paramMap); | ||||
| logger.info(jsonstr); | |||||
| try { | try { | ||||
| StringEntity se = new StringEntity(jsonstr, Consts.UTF_8); | StringEntity se = new StringEntity(jsonstr, Consts.UTF_8); | ||||