From 47be88a9b16c2c58b480b29d8b8c583731c79d60 Mon Sep 17 00:00:00 2001 From: Hentua <wangdoubleone@gmail.com> Date: Wed, 24 Jan 2024 18:43:32 +0800 Subject: [PATCH] fix --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallShoppingCartServiceImpl.java | 65 ++++++++++++++++++++++---------- 1 files changed, 45 insertions(+), 20 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 ad848b1..f0b7090 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,11 +1,14 @@ 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; @@ -28,39 +31,61 @@ public class ApiMallShoppingCartServiceImpl extends ServiceImpl<MallShoppingCartMapper, MallShoppingCart> implements IApiMallShoppingCartService { private final MallGoodsSkuMapper mallGoodsSkuMapper; + private final MallGoodsMapper mallGoodsMapper; @Override - public List<ShoppingCartGoodsVo> findCartGoodsList() { + public List<ShoppingCartGoodsVo> findCartGoodsList(Integer type) { + if (type == null) { + type = 1; + } Long memberId = LoginUserUtil.getLoginUser().getId(); - List<MallShoppingCart> carts = this.baseMapper.selectCartGoodsList(memberId); + List<MallShoppingCart> carts = this.baseMapper.selectCartGoodsList(memberId, type); return MallShoppingCartConversion.INSTANCE.entityListToVoList(carts); } @Override @Transactional(rollbackFor = Exception.class) - public void addGoodsToCart(AddCartDto addCartDto) { - MallGoodsSku sku = mallGoodsSkuMapper.selectById(addCartDto.getSkuId()); + public void addGoodsToCart(List<AddCartDto> addCartDtoList) { + for (AddCartDto addCartDto : addCartDtoList) { + Long goodsId = null; + Long skuId = null; + Long styleId = null; + if (addCartDto.getType() == 1) { + MallGoodsSku sku = mallGoodsSkuMapper.selectById(addCartDto.getSkuId()); - if (sku == null) { - throw new FebsException("sku不存在"); - } + if (sku == null) { + throw new FebsException("sku不存在"); + } - Long memberId = LoginUserUtil.getLoginUser().getId(); + goodsId = sku.getGoodsId(); + skuId = sku.getId(); + styleId = sku.getStyleId(); + } else { + MallGoods mallGoods = mallGoodsMapper.selectById(addCartDto.getSkuId()); + if (mallGoods == null) { + throw new FebsException("积分商品不存在"); + } - MallShoppingCart cartGoods = this.baseMapper.selectCartGoodsBySkuId(sku.getId(), memberId); - if (cartGoods == null) { - cartGoods = new MallShoppingCart(); - cartGoods.setGoodsId(sku.getGoodsId()); - cartGoods.setSkuId(sku.getId()); - cartGoods.setStyleId(sku.getStyleId()); - cartGoods.setCnt(addCartDto.getCnt()); - cartGoods.setMemberId(memberId); + goodsId = mallGoods.getId(); + } + Long memberId = LoginUserUtil.getLoginUser().getId(); - this.baseMapper.insert(cartGoods); - } else { - cartGoods.setCnt(cartGoods.getCnt() + addCartDto.getCnt()); - this.baseMapper.updateById(cartGoods); + MallShoppingCart cartGoods = this.baseMapper.selectCartGoodsBySkuId(addCartDto.getSkuId(), memberId); + if (cartGoods == null) { + cartGoods = new MallShoppingCart(); + 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 { + cartGoods.setCnt(cartGoods.getCnt() + addCartDto.getCnt()); + this.baseMapper.updateById(cartGoods); + } } } } -- Gitblit v1.9.1