diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java index 050f2f899..b9fcf2c8b 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java @@ -489,5 +489,15 @@ public class WxCoupon extends TenantEntity { } return valid_date; } + + public boolean checkCreateWithMerchants() { + if(type == null) { + return true; + } + if(type == EnumCouponType.COUPON_DOUYIN_PLAT.getCode()) { + return false; + } + return true; + } } 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 3eb900841..8d8144637 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java @@ -508,32 +508,37 @@ public class WxCouponServiceImpl implements WxCouponService { return giftResult; } - try { - checkCouponMerchantReceiverAndUpdate(record); - }catch(Exception e) { - return new ResultData(Result.ERROR,e.getMessage()); - } + //平台券先不设置商户 + List merchantParamList = null; + if (record.checkCreateWithMerchants()) { + try { + checkCouponMerchantReceiverAndUpdate(record); + }catch(Exception e) { + return new ResultData(Result.ERROR,e.getMessage()); + } + merchantParamList = JSONObject.parseArray(record.getMerchantParams(), JSONObject.class); + } - - List merchantParamList = JSONObject.parseArray(record.getMerchantParams(), JSONObject.class); + final IdWorker idWorker = IdWorker.get(); if (record.getId() == null) { record.setId(idWorker.nextId()); - - merchantParamList.forEach(merchantParam -> { - WxCouponMerchant cm = new WxCouponMerchant(); - WxCouponMerchantDto wxCouponMerchantDto = parseMerchantParam(merchantParam); - cm.setId(idWorker.nextId()); - cm.updateTenantInfo(record); - cm.setMerchantId(wxCouponMerchantDto.getMerchantId()); - cm.setParameter(wxCouponMerchantDto.getParameter()); - cm.setProductId(record.getId()); - cm.setCreateDate(new Date()); - cm.setUpdateDate(new Date()); - cm.setStatus(EnumCouponMerchantStatus.COUPON_MERCHANT_STATUS_VALID.getCode()); - wxCouponMerchantMapper.insert(cm); - }); + if (record.checkCreateWithMerchants()) { + merchantParamList.forEach(merchantParam -> { + WxCouponMerchant cm = new WxCouponMerchant(); + WxCouponMerchantDto wxCouponMerchantDto = parseMerchantParam(merchantParam); + cm.setId(idWorker.nextId()); + cm.updateTenantInfo(record); + cm.setMerchantId(wxCouponMerchantDto.getMerchantId()); + cm.setParameter(wxCouponMerchantDto.getParameter()); + cm.setProductId(record.getId()); + cm.setCreateDate(new Date()); + cm.setUpdateDate(new Date()); + cm.setStatus(EnumCouponMerchantStatus.COUPON_MERCHANT_STATUS_VALID.getCode()); + wxCouponMerchantMapper.insert(cm); + }); + } if (record.getPasswordSupport() != null && record.getPasswordSupport().equals(EnumCouponPasswordSupport.SUPPORTED.getCode())) { // todo 生成卡密无法修改, 调整 @@ -561,7 +566,9 @@ public class WxCouponServiceImpl implements WxCouponService { record.setInventory(oldCoupon.getInventory() + record.getRemainInventory() - oldCoupon.getRemainInventory()); } } - updateCouponMerchants(record,merchantParamList,idWorker); + if (record.checkCreateWithMerchants()) { + updateCouponMerchants(record,merchantParamList,idWorker); + } record.setUpdateDate(new Date()); wxCouponMapper.updateById(record);