From 6b372760cba06025812ca81f539f42a80661a99e Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Mon, 13 May 2019 17:49:32 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=BA=93=E5=AD=98=E4=BF=AE=E6=94=B9][?= =?UTF-8?q?=E6=96=B0=E5=A2=9E]:=E9=94=99=E8=AF=AF=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/WxCouponServiceImpl.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java index de1da389d..cc79a82aa 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java @@ -489,30 +489,45 @@ public class WxCouponServiceImpl implements WxCouponService { // 3. check 新的有效期是否合适 // 4. 更新库存及有效期 WxCoupon oldCoupon = wxCouponMapper.selectByPrimaryKey(wxCoupon.getId()); + if(oldCoupon == null) { + logger.error(ErrorCode.COUPON_IS_EMPTY.getMessage()); + return new ResultData(ErrorCode.COUPON_IS_EMPTY); + } + if(wxCoupon.getInventory() < wxCoupon.getRemainInventory()) { + // 总库存数要大于等于可用库存数 + logger.error("总库存数要大于等于可用库存数"); + return new ResultData(ErrorCode.COUPON_STOCK_ERR.getCode(), "总库存数要大于等于可用库存数"); + } if(wxCoupon.getInventory() < wxCoupon.getRemainInventory()) { // 总库存数要大于等于可用库存数 + logger.error("总库存数要大于等于可用库存数"); return new ResultData(ErrorCode.COUPON_STOCK_ERR.getCode(), "总库存数要大于等于可用库存数"); } if(wxCoupon.getInventory() <= oldCoupon.getInventory() - oldCoupon.getRemainInventory()) { // 库存可增, 可减, 但是要保证,总库存数要大于已售卖数 + logger.error("总库存数要大于等于可用库存数"); return new ResultData(ErrorCode.COUPON_STOCK_ERR.getCode(), "总库存数要大于已售卖数"); } if(wxCoupon.getInventory()-wxCoupon.getRemainInventory() != oldCoupon.getInventory() - oldCoupon.getRemainInventory()) { // 已售卖数不变 + logger.error("已售卖数不变"); return new ResultData(ErrorCode.COUPON_STOCK_ERR.getCode(), "已售卖数不变"); } if(wxCoupon.getValidType() != oldCoupon.getValidType()) { // 券有效期类型不能改变 + logger.error("券有效期类型不能改变"); return new ResultData(ErrorCode.COUPON_VALID_DATE_ERR.getCode(), "券有效期类型不能改变"); } if(oldCoupon.getValidType().equals(EnumCouponValidType.BETWEEN_TWO_TIME.getCode())) { if(wxCoupon.getValidEndDate().before(oldCoupon.getValidEndDate())) { // 券有效期只可增加 + logger.error("券有效期只可增加"); return new ResultData(ErrorCode.COUPON_VALID_DATE_ERR.getCode(), "券有效期只可增加"); } } else { if(wxCoupon.getValidDays()