From 6f36eac9e93e6268374f4fde2fcd9a43f8bf6655 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Fri, 10 Jan 2025 11:00:41 +0800 Subject: [PATCH] feat(mall): 添加客服设置功能 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallShoppingCartServiceImpl.java | 51 +++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 43 insertions(+), 8 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallShoppingCartServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallShoppingCartServiceImpl.java index abfd858..ad51eb4 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallShoppingCartServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallShoppingCartServiceImpl.java @@ -1,15 +1,19 @@ package cc.mrbird.febs.mall.service.impl; import cc.mrbird.febs.common.exception.FebsException; +import cc.mrbird.febs.common.exception.GeneratorException; import cc.mrbird.febs.common.utils.LoginUserUtil; import cc.mrbird.febs.mall.conversion.MallShoppingCartConversion; import cc.mrbird.febs.mall.dto.AddCartDto; +import cc.mrbird.febs.mall.entity.MallGoods; import cc.mrbird.febs.mall.entity.MallGoodsSku; import cc.mrbird.febs.mall.entity.MallShoppingCart; +import cc.mrbird.febs.mall.mapper.MallGoodsMapper; import cc.mrbird.febs.mall.mapper.MallGoodsSkuMapper; import cc.mrbird.febs.mall.mapper.MallShoppingCartMapper; import cc.mrbird.febs.mall.service.IApiMallShoppingCartService; import cc.mrbird.febs.mall.vo.ShoppingCartGoodsVo; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -28,6 +32,7 @@ public class ApiMallShoppingCartServiceImpl extends ServiceImpl<MallShoppingCartMapper, MallShoppingCart> implements IApiMallShoppingCartService { private final MallGoodsSkuMapper mallGoodsSkuMapper; + private final MallGoodsMapper mallGoodsMapper; @Override public List<ShoppingCartGoodsVo> findCartGoodsList(Integer type) { @@ -43,22 +48,52 @@ @Override @Transactional(rollbackFor = Exception.class) public void addGoodsToCart(List<AddCartDto> addCartDtoList) { + Long memberId = LoginUserUtil.getLoginUser().getId(); for (AddCartDto addCartDto : addCartDtoList) { - MallGoodsSku sku = mallGoodsSkuMapper.selectById(addCartDto.getSkuId()); + Long goodsId = null; + Long skuId = null; + Long styleId = null; + MallShoppingCart cartGoods = null; - if (sku == null) { - throw new FebsException("sku不存在"); + if (addCartDto.getType() == null) { + addCartDto.setType(1); } - Long memberId = LoginUserUtil.getLoginUser().getId(); - MallShoppingCart cartGoods = this.baseMapper.selectCartGoodsBySkuId(sku.getId(), memberId); + if (addCartDto.getType() == 1) { + MallGoodsSku sku = mallGoodsSkuMapper.selectById(addCartDto.getSkuId()); + + if (sku == null) { + throw new FebsException("sku不存在"); + } + + goodsId = sku.getGoodsId(); + skuId = sku.getId(); + styleId = sku.getStyleId(); + + cartGoods = this.baseMapper.selectCartGoodsBySkuId(addCartDto.getSkuId(), memberId); + } else { + MallGoods mallGoods = mallGoodsMapper.selectById(addCartDto.getSkuId()); + if (mallGoods == null) { + throw new FebsException("积分商品不存在"); + } + + goodsId = mallGoods.getId(); + + LambdaQueryWrapper<MallShoppingCart> cartQuery = new LambdaQueryWrapper<>(); + cartQuery.eq(MallShoppingCart::getGoodsId, goodsId) + .eq(MallShoppingCart::getMemberId, memberId) + .last("limit 1"); + cartGoods = this.baseMapper.selectOne(cartQuery); + } + if (cartGoods == null) { cartGoods = new MallShoppingCart(); - cartGoods.setGoodsId(sku.getGoodsId()); - cartGoods.setSkuId(sku.getId()); - cartGoods.setStyleId(sku.getStyleId()); + cartGoods.setGoodsId(goodsId); + cartGoods.setSkuId(skuId); + cartGoods.setStyleId(styleId); cartGoods.setCnt(addCartDto.getCnt()); cartGoods.setMemberId(memberId); + cartGoods.setType(addCartDto.getType()); this.baseMapper.insert(cartGoods); } else { -- Gitblit v1.9.1