From e15c348bc992de7331d14d76451032358aae9289 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Thu, 09 Jan 2025 15:44:14 +0800 Subject: [PATCH] feat(mall): 商品列表增加活动筛选功能 --- src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java | 52 ++++++++++++++++++++++++++++------------------------ 1 files changed, 28 insertions(+), 24 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java index 66b9a5d..32b898a 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java @@ -852,11 +852,13 @@ @Override public FebsResponse couponRuleAdd(CouponRuleAddDto couponRuleAddDto) { String name = couponRuleAddDto.getName(); - QueryWrapper<MallGoodsCoupon> objectQueryWrapper = new QueryWrapper<>(); - objectQueryWrapper.eq("name",name); - List<MallGoodsCoupon> mallGoodsCoupons = mallGoodsCouponMapper.selectList(objectQueryWrapper); + List<MallGoodsCoupon> mallGoodsCoupons = mallGoodsCouponMapper.selectList( + new LambdaQueryWrapper<MallGoodsCoupon>() + .select(MallGoodsCoupon::getId) + .eq(MallGoodsCoupon::getName,name) + ); if(CollUtil.isNotEmpty(mallGoodsCoupons)){ - return new FebsResponse().fail().message("名称不能重复"); + return new FebsResponse().fail().message("优惠卷名称重复了"); } MallGoodsCoupon mallGoodsCoupon = new MallGoodsCoupon(); @@ -868,17 +870,18 @@ mallGoodsCouponMapper.insert(mallGoodsCoupon); Long couponId = mallGoodsCoupon.getId(); - QueryWrapper<CouponGoods> objectQueryWrapperCoupon = new QueryWrapper<>(); - objectQueryWrapperCoupon.eq("coupon_id",couponId); - List<CouponGoods> couponGoodsList = couponGoodsMapper.selectList(objectQueryWrapperCoupon); - if(CollUtil.isNotEmpty(couponGoodsList)){ - for(CouponGoods couponGoods : couponGoodsList){ - couponGoodsMapper.deleteById(couponGoods); - } + // 先判断是否存在关联商品,再进行查询和删除 + if (CollUtil.isNotEmpty(couponGoodsMapper.selectList( + new LambdaQueryWrapper<CouponGoods>() + .select(CouponGoods::getId) + .eq(CouponGoods::getCouponId, couponId)))) { + couponGoodsMapper.delete(new LambdaQueryWrapper<CouponGoods>().eq(CouponGoods::getCouponId, couponId)); } - if(CollUtil.isNotEmpty(couponRuleAddDto.getGoodsIds())){ - List<Long> goodsIds = couponRuleAddDto.getGoodsIds(); - for(Long goodsId : goodsIds){ + + // 处理 goodsIds 为 null 或空的情况 + List<Long> goodsIds = couponRuleAddDto.getGoodsIds(); + if (CollUtil.isNotEmpty(goodsIds)) { + for (Long goodsId : goodsIds) { CouponGoods couponGoods = new CouponGoods(); couponGoods.setGoodsId(goodsId); couponGoods.setCouponId(couponId); @@ -951,17 +954,18 @@ mallGoodsCouponMapper.updateById(mallGoodsCoupon); Long couponId = mallGoodsCoupon.getId(); - QueryWrapper<CouponGoods> objectQueryWrapperCoupon = new QueryWrapper<>(); - objectQueryWrapperCoupon.eq("coupon_id",couponId); - List<CouponGoods> couponGoodsList = couponGoodsMapper.selectList(objectQueryWrapperCoupon); - if(CollUtil.isNotEmpty(couponGoodsList)){ - for(CouponGoods couponGoods : couponGoodsList){ - couponGoodsMapper.deleteById(couponGoods); - } + // 先判断是否存在关联商品,再进行查询和删除 + if (CollUtil.isNotEmpty(couponGoodsMapper.selectList( + new LambdaQueryWrapper<CouponGoods>() + .select(CouponGoods::getId) + .eq(CouponGoods::getCouponId, couponId)))) { + couponGoodsMapper.delete(new LambdaQueryWrapper<CouponGoods>().eq(CouponGoods::getCouponId, couponId)); } - if(CollUtil.isNotEmpty(adminMallGoodsCouponVo.getGoodsIds())){ - List<Long> goodsIds = adminMallGoodsCouponVo.getGoodsIds(); - for(Long goodsId : goodsIds){ + + // 处理 goodsIds 为 null 或空的情况 + List<Long> goodsIds = adminMallGoodsCouponVo.getGoodsIds(); + if (CollUtil.isNotEmpty(goodsIds)) { + for (Long goodsId : goodsIds) { CouponGoods couponGoods = new CouponGoods(); couponGoods.setGoodsId(goodsId); couponGoods.setCouponId(couponId); -- Gitblit v1.9.1