|  |  |  | 
|---|
|  |  |  | 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.MallGoodsSkuMapper; | 
|---|
|  |  |  | import cc.mrbird.febs.mall.mapper.MallShoppingCartMapper; | 
|---|
|  |  |  | import cc.mrbird.febs.mall.service.IApiMallShoppingCartService; | 
|---|
|  |  |  | import cc.mrbird.febs.mall.vo.ShoppingCartGoodsVo; | 
|---|
|  |  |  | import cn.hutool.core.collection.CollUtil; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | 
|---|
|  |  |  | import lombok.RequiredArgsConstructor; | 
|---|
|  |  |  | import lombok.extern.slf4j.Slf4j; | 
|---|
|  |  |  | import org.springframework.stereotype.Service; | 
|---|
|  |  |  | import org.springframework.transaction.annotation.Transactional; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.math.BigDecimal; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | 
|---|
|  |  |  | public List<ShoppingCartGoodsVo> findCartGoodsList() { | 
|---|
|  |  |  | Long memberId = LoginUserUtil.getLoginUser().getId(); | 
|---|
|  |  |  | List<MallShoppingCart> carts = this.baseMapper.selectCartGoodsList(memberId); | 
|---|
|  |  |  | if(CollUtil.isNotEmpty(carts)){ | 
|---|
|  |  |  | for(MallShoppingCart mallShoppingCart : carts){ | 
|---|
|  |  |  | MallGoods goods = mallShoppingCart.getGoods(); | 
|---|
|  |  |  | Integer scorePercent = goods.getScorePercent(); | 
|---|
|  |  |  | goods.setScorePercentNum(new BigDecimal(scorePercent).multiply(new BigDecimal(0.01))); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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) { | 
|---|
|  |  |  | 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(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Long memberId = LoginUserUtil.getLoginUser().getId(); | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | this.baseMapper.insert(cartGoods); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | cartGoods.setCnt(cartGoods.getCnt() + addCartDto.getCnt()); | 
|---|
|  |  |  | this.baseMapper.updateById(cartGoods); | 
|---|
|  |  |  | this.baseMapper.insert(cartGoods); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | cartGoods.setCnt(cartGoods.getCnt() + addCartDto.getCnt()); | 
|---|
|  |  |  | this.baseMapper.updateById(cartGoods); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|