From 18a3d6e87e6682a19b421155cb168416dd73b349 Mon Sep 17 00:00:00 2001 From: 陶杰 <1378534974@qq.com> Date: 星期六, 21 九月 2024 22:55:58 +0800 Subject: [PATCH] 1.优惠券文件描述修改,“订单金额不能小于折扣金额”修改成“优惠券使用条件不能小于面值金额” --- src/main/java/com/mzl/flower/service/impl/coupon/CouponTemplateServiceImpl2.java | 39 ++++++++++++++++++++++++++++----------- 1 files changed, 28 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/mzl/flower/service/impl/coupon/CouponTemplateServiceImpl2.java b/src/main/java/com/mzl/flower/service/impl/coupon/CouponTemplateServiceImpl2.java index 1a264ea..6e46180 100644 --- a/src/main/java/com/mzl/flower/service/impl/coupon/CouponTemplateServiceImpl2.java +++ b/src/main/java/com/mzl/flower/service/impl/coupon/CouponTemplateServiceImpl2.java @@ -264,6 +264,7 @@ List<CouponRecordDO> couponUsageDOList = couponTemplateCustomerDOList.stream().map(pointCustomRe -> { CouponRecordDO couponRecordDO = new CouponRecordDO(); + couponRecordDO.setId(IdUtil.simpleUUID()); couponRecordDO.setCouponId(pointCustomRe.getCouponId()); couponRecordDO.setCustomerId(pointCustomRe.getCustomId()); @@ -290,7 +291,8 @@ couponRecordDO.setCouponDiscountType(couponTemplateDO.getCouponDiscountType()); couponRecordDO.setGetUserType(couponTemplateDO.getGetUserType()); couponRecordDO.setPoint(couponTemplateDO.getPoint()); - couponRecordDO.setMemberId(couponRecordDO.getMemberId()); + couponRecordDO.setMemberId(couponTemplateDO.getMemberId()); + couponRecordDO.setImageUrl(couponTemplateDO.getImageUrl()); // 创建相关信息 couponRecordDO.create(SecurityUtils.getUserId()); @@ -419,7 +421,9 @@ if(couponTemplateDO==null){ throw new ValidationException("优惠券不存在"); } - + if(couponTemplateDO.getCouponAmount()<=0 ){ + throw new ValidationException("优惠券已兑换完"); + } CustomerPoint cp = customerPointMapper.selectOne(new LambdaQueryWrapper<CustomerPoint>() .eq(CustomerPoint::getUserId, SecurityUtils.getUserId())); if(cp == null || (cp.getTotalPoint()-cp.getUsedPoint()-cp.getExpiredPoint()- cp.getExpiredPoint()) < couponTemplateDO.getPoint() * dto.getNum()){ @@ -437,6 +441,10 @@ recordDTO.setCustomerId(customer.getId()); couponRecordService.createCouponRecord(recordDTO); +// //更新优惠券数量 +// couponTemplateDO.setCouponAmount(couponTemplateDO.getCouponAmount()-dto.getNum()); +// couponTemplateService.updateById(couponTemplateDO); + //更新积分汇总 cp.setUsedPoint(cp.getUsedPoint()+couponTemplateDO.getPoint()); customerPointMapper.updateById(cp); @@ -452,8 +460,6 @@ detail.setRemarks(couponTemplateDO.getCouponName()); detail.create(SecurityUtils.getUserId()); customerPointDetailMapper.insert(detail); - }catch (Exception e){ - throw new ValidationException("兑换失败"); }finally { lockService.releaseObjectLock(key,""); } @@ -462,14 +468,19 @@ @Override public CouponTemplateVO getHomeActivityEffectAlert(QueryActivityEffectCouponDTO dto) { - dto.setUserId(SecurityUtils.getUserId()); + + // 存在用户是空的情况 final CouponTemplateVO homeActivityEffectAlert = couponTemplateMapperCustom.getHomeActivityEffectAlert(dto); - if(null!=homeActivityEffectAlert){ - // 查看当前已经领取了几张 - final Integer getCnt = couponRecordService.getUserGainCouponRecordAmountByUserId(homeActivityEffectAlert.getId(), SecurityUtils.getUserId()); - // 如果当前领取的数量小于限制领取的数量的时候,可以再次领取 - if(null!=homeActivityEffectAlert.getGetLimit() && null!=getCnt - && homeActivityEffectAlert.getGetLimit().compareTo(getCnt)>0){ + if(null!=homeActivityEffectAlert ){ + if(StringUtils.isNotBlank(SecurityUtils.getUserId()) ){ + // 查看当前已经领取了几张 + final Integer getCnt = couponRecordService.getUserGainCouponRecordAmountByUserId(homeActivityEffectAlert.getId(), SecurityUtils.getUserId()); + // 如果当前领取的数量小于限制领取的数量的时候,可以再次领取 + if(null!=homeActivityEffectAlert.getGetLimit() && null!=getCnt + && homeActivityEffectAlert.getGetLimit().compareTo(getCnt)>0){ + return homeActivityEffectAlert; + } + }else{ return homeActivityEffectAlert; } } @@ -478,6 +489,12 @@ } @Override + public boolean expireActivityCouponTemplateAll() { + + return couponTemplateMapperCustom.expireActivityCouponTemplateAll()>0; + } + + @Override public List<CouponTemplateVO> getActivityEffectList(QueryActivityEffectCouponDTO dto) { return couponTemplateMapperCustom.getActivityEffectList(dto); -- Gitblit v1.9.3