From ef96158a41503344fa6a48ea288dbd98f2747901 Mon Sep 17 00:00:00 2001 From: Burce Date: Mon, 19 Aug 2019 16:50:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E6=88=B7=E6=B3=A8=E5=88=B8->=E6=96=B0?= =?UTF-8?q?=E5=BB=BA=E5=95=86=E6=88=B7=E5=8F=91=E5=88=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../market/WxCouponSendController.java | 19 +++++++++++++++++++ .../java/com/iformall/common/ErrorCode.java | 1 + .../com/iformall/domain/po/WxCouponSend.java | 11 +++++++++++ 3 files changed, 31 insertions(+) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponSendController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponSendController.java index 0b2980e74..3ab118926 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponSendController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponSendController.java @@ -1,5 +1,6 @@ package com.iformall.controller.market; +import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageInfo; import com.iformall.annotation.SystemControllerLog; import com.iformall.common.ErrorCode; @@ -105,6 +106,24 @@ public class WxCouponSendController extends BaseController { if (!EnumCouponSendType.PASSIVE.getCode().equals(wxCoupon.getSendType())) { return new ResultData(ErrorCode.COUPON_TYPE_IS_NOT_PASSIVE); } + + //商户卡库存校验 + if(Objects.equals(wxCouponSend.getSendType(),EnumCouponSendSendType.MERCHANT.getCode())) { + JSONObject jo = JSONObject.parseObject(wxCouponSend.getConditions()) ; + if(Objects.isNull(jo)||!jo.containsKey(WxCouponSend.KEY_LIMIT)) { + return new ResultData(ErrorCode.COUPON_SEND_LIMIT_VERIFY); + } + WxCoupon queryById = new WxCoupon() ; + queryById.setId(wxCouponSend.getId()); + WxCoupon wxCouponOfDb = wxCouponService.findById(queryById); + if(Objects.isNull(wxCouponOfDb)) { + return new ResultData(ErrorCode.COUPON_IS_EMPTY); + } + if(jo.getInteger(WxCouponSend.KEY_LIMIT) >wxCouponOfDb.getRemainInventory()) { + return new ResultData(ErrorCode.REMAIN_IS_EMPTY); + } + } + wxCouponSend.setTenantId(wxCoupon.getTenantId()); wxCouponSend.setTitle(wxCoupon.getTitle()); diff --git a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java index f7a11166c..d9f72b137 100644 --- a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java +++ b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java @@ -191,6 +191,7 @@ public enum ErrorCode{ COUPON_ORDER_IS_EARLIER_THAN_VALIDDATE(4006, "卡券使用期还未开始"), COUPON_ORDER_IS_LATER_THAN_VALIDDATE(4007, "卡券使用期已结束"), COUPON_ORDER_IS_PRE_VERIFY(4008, "卡券已被预核销"), + COUPON_SEND_LIMIT_VERIFY(4009, "商户卡库存错误"), /** * 卡 diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCouponSend.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCouponSend.java index cb0d37953..61bf40d58 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCouponSend.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCouponSend.java @@ -16,10 +16,21 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public class WxCouponSend extends BaseEntity { + /** + * 卡券ids + */ @Transient public static final String KEY_COUPONIDS = "couponIds" ; + /** + * beforeDays + */ @Transient public static final String KEY_BEFOREDAYS = "beforeDays" ; + /** + * limit 商户券库存 + */ + @Transient + public static final String KEY_LIMIT = "limit" ; @Id protected Long id;