package com.ruoyi.order.service.impl.order;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.ruoyi.common.core.exception.ServiceException;
|
import com.ruoyi.order.domain.dto.AppShoppingCartAddDto;
|
import com.ruoyi.order.domain.dto.AppShoppingCartChangeDto;
|
import com.ruoyi.order.domain.pojo.goods.Goods;
|
import com.ruoyi.order.domain.pojo.order.ShoppingCart;
|
import com.ruoyi.order.domain.vo.AppShoppingCartVo;
|
import com.ruoyi.order.mapper.order.ShoppingCartMapper;
|
import com.ruoyi.order.service.goods.GoodsService;
|
import com.ruoyi.order.service.order.ShoppingCartService;
|
import com.ruoyi.system.api.constant.AppErrorConstant;
|
import com.ruoyi.system.api.domain.dto.AppBaseBathDto;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.util.Arrays;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* <p>
|
* 购物车 服务实现类
|
* </p>
|
*
|
* @author jqs
|
* @since 2023-04-25
|
*/
|
@Service
|
public class ShoppingCartServiceImpl extends ServiceImpl<ShoppingCartMapper, ShoppingCart> implements ShoppingCartService {
|
|
@Resource
|
private GoodsService goodsService;
|
|
@Resource
|
private ShoppingCartMapper shoppingCartMapper;
|
|
/**
|
* 添加购物车
|
* @param appShoppingCartAddDto
|
*/
|
@Override
|
public void addShoppingCart(AppShoppingCartAddDto appShoppingCartAddDto){
|
String goodsId = appShoppingCartAddDto.getGoodsId();
|
Goods goods = goodsService.getById(goodsId);
|
if(goods.getGoodsStatus()!=1){
|
throw new ServiceException(AppErrorConstant.GOODS_DOWN);
|
}
|
LambdaQueryWrapper<ShoppingCart> queryWrapper = Wrappers.lambdaQuery();
|
queryWrapper.eq(ShoppingCart::getDelFlag, 0)
|
.eq(ShoppingCart::getGoodsId, goodsId)
|
.eq(ShoppingCart::getUserId, appShoppingCartAddDto.getUserId())
|
.eq(ShoppingCart::getShopId, appShoppingCartAddDto.getShopId());
|
|
ShoppingCart shoppingCart = this.getOne(queryWrapper,false);
|
if(shoppingCart==null){
|
shoppingCart = new ShoppingCart();
|
shoppingCart.setUserId(appShoppingCartAddDto.getUserId());
|
shoppingCart.setShopId(appShoppingCartAddDto.getShopId());
|
shoppingCart.setGoodsId(appShoppingCartAddDto.getGoodsId());
|
shoppingCart.setBuyNum(appShoppingCartAddDto.getBuyNum());
|
shoppingCart.setDelFlag(0);
|
shoppingCart.setCreateTime(new Date());
|
this.save(shoppingCart);
|
}else{
|
shoppingCart.setBuyNum(shoppingCart.getBuyNum()+appShoppingCartAddDto.getBuyNum());
|
shoppingCart.setUpdateTime(new Date());
|
this.saveOrUpdate(shoppingCart);
|
}
|
}
|
|
/**
|
* 修改购物车数量
|
* @param appShoppingCartChangeDto
|
*/
|
@Override
|
public void changeShoppingCart(AppShoppingCartChangeDto appShoppingCartChangeDto){
|
Long shoppingCartId = appShoppingCartChangeDto.getShoppingCartId();
|
ShoppingCart shoppingCart = this.getById(shoppingCartId);
|
String goodsId = shoppingCart.getGoodsId();
|
Goods goods = goodsService.getById(goodsId);
|
if(goods.getGoodsStatus()!=1){
|
throw new ServiceException(AppErrorConstant.GOODS_DOWN);
|
}
|
shoppingCart.setBuyNum(appShoppingCartChangeDto.getBuyNum());
|
shoppingCart.setUpdateTime(new Date());
|
this.saveOrUpdate(shoppingCart);
|
}
|
|
/**
|
* 删除购物车
|
* @param appBaseBathDto
|
*/
|
@Override
|
public void deleteShoppingCart(AppBaseBathDto appBaseBathDto){
|
String[] ids = appBaseBathDto.getIds().split(",");
|
for(String str : ids){
|
shoppingCartMapper.deleteShoppingCartById(Long.valueOf(str));
|
}
|
/*List<String> list = Arrays.asList(ids);
|
shoppingCartMapper.deleteShoppingCartByIds(list);*/
|
}
|
|
/**
|
*
|
* @param userId
|
* @param shopId
|
* @return
|
*/
|
@Override
|
public List<AppShoppingCartVo> listShoppingCartVo(Long userId, Long shopId){
|
return shoppingCartMapper.listShoppingCartVo(userId, shopId);
|
}
|
|
/**
|
* 删除购物车
|
* @param
|
*/
|
@Override
|
public void deleteByUserIdAndGoodsId(Long userId,String goodsId){
|
shoppingCartMapper.deleteByUserIdAndGoodsId(userId,goodsId);
|
}
|
|
}
|