1.添加购物车
产品原型
接口设计
新增类使用post
需求分析
数据库查询过程中设计了冗余字段,意义在于提高查询速度,不用和菜品表中去连接查询,直接查询购物车表。但是冗余字段必须相对稳定不能经常变化
代码开发
在使用DTO与实体类交接的时候,我们在service层进行交接
@Service
@Slf4j
public class ShoppingCartServiceImpl implements ShoppingCartService {
@Autowired
ShoppingCartMapper shoppingCartMapper;
@Override
public void addShoppingCart(ShoppingCartDTO shoppingCartDTO) {
//判断当前加入购物车的商品是否已经存在了,如果存在只需数量加一,如果不存在则插入一条数据
//创建实体类用于查询mapper
ShoppingCart shoppingCart = new ShoppingCart();
/*拷贝DTO*/
BeanUtils.copyProperties(shoppingCartDTO,shoppingCart);
Long userId = BaseContext.getCurrentId();
/*查询mapper*/
List<ShoppingCart> list = shoppingCartMapper.list(shoppingCart);
/*判断list*/
if(list != null && list.size()>0){
ShoppingCart cart = list.get(0);
shoppingCart.setNumber(shoppingCart.getNumber() + 1);
shoppingCartMapper.updateNumberById(cart);
}
shoppingCartMapper.insert(shoppingCart);
}
}