|
|
|
@@ -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<JSONObject> 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<JSONObject> 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); |
|
|
|
|