Administrator
2025-05-15 64de192527c06f806d3afb5e3b04ca6874b447e3
refactor(mall): 优化购物车删除商品功能

- 在删除商品前增加空列表检查,避免无商品删除的情况
- 修改删除商品的入参类型,从字符串改为长整型列表,提高代码健壮性
2 files modified
14 ■■■■■ changed files
src/main/java/cc/mrbird/febs/mall/controller/order/ApiMallShoppingCartController.java 8 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/dto/DelCartGoodsDto.java 6 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/order/ApiMallShoppingCartController.java
@@ -7,6 +7,7 @@
import cc.mrbird.febs.mall.entity.MallShoppingCart;
import cc.mrbird.febs.mall.service.IApiMallShoppingCartService;
import cc.mrbird.febs.mall.vo.ShoppingCartGoodsVo;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -52,8 +53,11 @@
    @ApiOperation(value = "从购物车中删除商品", notes = "从购物车中删除商品")
    @PostMapping(value = "/delGoods")
    public FebsResponse delGoods(@RequestBody DelCartGoodsDto delCartGoodsDto) {
        List<String> ids = StrUtil.split(delCartGoodsDto.getIds(), ',');
        mallShoppingCartService.removeByIds(ids);
        if(CollUtil.isEmpty(delCartGoodsDto.getIds())){
            return new FebsResponse().fail().data("请选择要删除的商品");
        }
        mallShoppingCartService.removeByIds(delCartGoodsDto.getIds());
        return new FebsResponse().success().data("删除成功");
    }
src/main/java/cc/mrbird/febs/mall/dto/DelCartGoodsDto.java
@@ -5,6 +5,7 @@
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.List;
/**
 * @author wzy
@@ -14,7 +15,6 @@
@ApiModel(value = "DelCartGoodsDto", description = "删除购物车商品接口接收参数类")
public class DelCartGoodsDto {
    @NotBlank(message = "参数不能为空")
    @ApiModelProperty(value = "逗号隔开id", example = "1,2,3")
    private String ids;
    @ApiModelProperty(value = "ids", example = "[1,2,3]")
    private List<Long> ids;
}