From 1bcd5a3c6447a0a00dc450b8b7780dadbb8e0e56 Mon Sep 17 00:00:00 2001 From: gongzuming <gongzuming> Date: 星期四, 19 九月 2024 18:59:18 +0800 Subject: [PATCH] 优化 --- src/main/java/com/mzl/flower/service/point/PointGoodsService.java | 2 +- src/main/java/com/mzl/flower/service/impl/coupon/CouponTemplateServiceImpl2.java | 9 ++++++++- 2 files changed, 9 insertions(+), 2 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 b33c44a..72c3b73 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 @@ -421,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()){ @@ -439,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); @@ -455,6 +461,7 @@ detail.create(SecurityUtils.getUserId()); customerPointDetailMapper.insert(detail); }catch (Exception e){ + log.error("兑换失败",e); throw new ValidationException("兑换失败"); }finally { lockService.releaseObjectLock(key,""); diff --git a/src/main/java/com/mzl/flower/service/point/PointGoodsService.java b/src/main/java/com/mzl/flower/service/point/PointGoodsService.java index 69c144b..8639525 100644 --- a/src/main/java/com/mzl/flower/service/point/PointGoodsService.java +++ b/src/main/java/com/mzl/flower/service/point/PointGoodsService.java @@ -143,7 +143,7 @@ if(!Constants.POINT_GOODS_STATUS.A.name().equals(p.getStatus())){ throw new ValidationException("商品未上架"); } - if(p.getStock()< dto.getNum()){ + if(p.getStock() <=0 || p.getStock()< dto.getNum()){ throw new ValidationException("商品库存不足"); } CustomerPoint cp = customerPointMapper.selectOne(new LambdaQueryWrapper<CustomerPoint>() -- Gitblit v1.9.3