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 | 61 +++++++++++++++++------------- 1 files changed, 34 insertions(+), 27 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 10cd251..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 @@ -13,6 +13,7 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -851,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(); @@ -867,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); @@ -950,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); @@ -1008,9 +1013,11 @@ @Override public List<AdminMallGoodsCouponTreeListVo> findAdminMallGoodsVoTreeList() { - QueryWrapper<MallGoods> objectQueryWrapper = new QueryWrapper<>(); - objectQueryWrapper.eq("is_sale",1); - List<MallGoods> mallGoodsList = mallGoodsMapper.selectList(objectQueryWrapper); + List<MallGoods> mallGoodsList = mallGoodsMapper.selectList( + new LambdaQueryWrapper<MallGoods>() + .select(MallGoods::getId, MallGoods::getGoodsName) + .eq(MallGoods::getIsSale, MallGoods.ISSALE_STATUS_ENABLE) + ); List<AdminMallGoodsCouponTreeListVo> objects = new ArrayList<>(); if(CollUtil.isNotEmpty(mallGoodsList)){ -- Gitblit v1.9.1