Skip to content

Commit

Permalink
购物车的删除单个,清空购物车
Browse files Browse the repository at this point in the history
  • Loading branch information
Q-1515 committed Jul 24, 2022
1 parent 5360e35 commit f6c6593
Show file tree
Hide file tree
Showing 3 changed files with 68 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -50,4 +50,32 @@ public R<List<ShoppingCart>> list() {
List<ShoppingCart> shoppingCarts = shoppingCartService.list();
return R.success(shoppingCarts);
}

/**
* 清空购物车
*
* @return success
*/
@DeleteMapping("/clean")
@ApiOperation("清空购物车")
public R<String> clean() {
log.info("清空购物车");
shoppingCartService.clean();
return R.success("清空完成");
}


/**
* 删除购物车某个商品
*
* @param shoppingCartDTO 菜名id,套餐id,口味
* @return success
*/
@PostMapping("/sub")
@ApiOperation("删除购物车某个商品")
public R<String> sub(@RequestBody ShoppingCartDTO shoppingCartDTO) {
log.info("删除购物车某个商品:{}", shoppingCartDTO);
shoppingCartService.sub(shoppingCartDTO);
return R.success("删除成功");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,10 @@ public interface ShoppingCartService {

//查询购物车
List<ShoppingCart> list();

//清空购物车
void clean();

//删除购物车某个商品
void sub(ShoppingCartDTO shoppingCartDTO);
}
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public class ShoppingCartServiceImpl implements ShoppingCartService {
public void add(ShoppingCartDTO shoppingCartDTO) {
//拷贝属性值
ShoppingCart shoppingCart = new ShoppingCart();
BeanUtils.copyProperties(shoppingCartDTO,shoppingCart);
BeanUtils.copyProperties(shoppingCartDTO, shoppingCart);

//设置当前用户的id
shoppingCart.setUserId(BaseContext.getCurrentId());
Expand Down Expand Up @@ -86,4 +86,37 @@ public List<ShoppingCart> list() {
.build();
return shoppingCartMapper.list(shoppingCart);
}

/**
* 清空购物车
*/
public void clean() {
//根据用户id删除购物车
shoppingCartMapper.deleteByUserId(BaseContext.getCurrentId());
}

/**
* @param shoppingCartDTO 菜名id,套餐id,口味
*/
public void sub(ShoppingCartDTO shoppingCartDTO) {
//拷贝购物车数据
ShoppingCart shoppingCart = new ShoppingCart();
BeanUtils.copyProperties(shoppingCartDTO, shoppingCart);
shoppingCart.setUserId(BaseContext.getCurrentId());

//查询需要删除的数据
List<ShoppingCart> list = shoppingCartMapper.list(shoppingCart);
if (list != null && list.size() > 0) {
//获取当前套餐/菜品的数据
shoppingCart = list.get(0);
//如果是最后一份就删除整个
if (shoppingCart.getNumber() == 1) {
shoppingCartMapper.deleteById(shoppingCart.getId());
} else {
//当前商品在购物车中的份数不为1,修改份数即可
shoppingCart.setNumber(shoppingCart.getNumber() - 1);
shoppingCartMapper.updateNumberById(shoppingCart);
}
}
}
}

0 comments on commit f6c6593

Please sign in to comment.