diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java index 90b8694b9..f18854dcb 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java @@ -92,6 +92,10 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { logger.error("card's coupon not found: " + cardInfo.getCouponId()); return new ResultData(ErrorCode.CARD_IS_NOT_FOUND); } + if (coupon.getSubsidyNum() == null) { + logger.error("card's coupon not found: " + cardInfo.getCouponId()); + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "券补贴额未填写"); + } // 3. get pay account WxPayAccount payAccount = null; 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 3820a4384..17134df2f 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java @@ -101,20 +101,27 @@ public class WxCouponServiceImpl implements WxCouponService { record.setValidDays(null); } } - if(record.getSubsidyType().equals(EnumCouponSubsidyType.WECHAT_COUPON.getCode())) { - // 微信 立减 - if(record.getSubsidyNum() > record.getSalePrice()) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "补贴额大于售价"); + if(record.getType().equals(EnumCouponType.COUPON_MULTIMCH.getCode()) || + record.getType().equals(EnumCouponType.CARD_MULTIMCH.getCode())) { + Integer subsidyType = record.getSubsidyType(); + if(subsidyType == null) { + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "请填写补贴类型"); } - } else if(record.getSubsidyType().equals(EnumCouponSubsidyType.OFFLINE_SUBSIDY.getCode())) { - // 线下补贴 - int subsidy_num = record.getPrice() - record.getSalePrice(); - if(record.getSubsidyNum() > subsidy_num) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "补贴额大于面额与售价的差值"); - } - } else if(record.getSubsidyType().equals(EnumCouponSubsidyType.WECHAT_MCHPAY.getCode())) { - // TODO 微信转账到银行卡 + if(subsidyType.equals(EnumCouponSubsidyType.WECHAT_COUPON.getCode())) { + // 微信 立减 + if(record.getSubsidyNum() > record.getSalePrice()) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "补贴额大于售价"); + } + } else if(subsidyType.equals(EnumCouponSubsidyType.OFFLINE_SUBSIDY.getCode())) { + // 线下补贴 + int subsidy_num = record.getPrice() - record.getSalePrice(); + if(record.getSubsidyNum() > subsidy_num) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "补贴额大于面额与售价的差值"); + } + } else if(subsidyType.equals(EnumCouponSubsidyType.WECHAT_MCHPAY.getCode())) { + // TODO 微信转账到银行卡 + } } final IdWorker idWorker = IdWorker.get();