Administrator
2025-05-27 6b000d0c8b24f3cd65caeaedb0e7f44d638bf284
refactor(mall): 重构取消收藏功能

- 新增 ApiColletDelDto 类用于接收取消收藏的参数
- 修改 ApiMemberCollectionController 中的 del 方法,使用 ApiColletDelDto 作为参数- 在 IMallMemberCollectionService接口中新增 delCollection 方法
- 实现 MallMemberCollectionServiceImpl 中的 delCollection 方法
- 优化了参数校验和处理逻辑,提高了代码的可读性和可维护性
3 files modified
1 files added
44 ■■■■■ changed files
src/main/java/cc/mrbird/febs/mall/controller/goods/ApiMemberCollectionController.java 8 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/dto/ApiColletDelDto.java 15 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/IMallMemberCollectionService.java 4 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberCollectionServiceImpl.java 17 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/goods/ApiMemberCollectionController.java
@@ -2,6 +2,7 @@
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.mall.dto.AddCollectionDto;
import cc.mrbird.febs.mall.dto.ApiColletDelDto;
import cc.mrbird.febs.mall.dto.MemberCollectionListDto;
import cc.mrbird.febs.mall.service.IMallMemberCollectionService;
import cc.mrbird.febs.mall.vo.AddCollectionVo;
@@ -38,9 +39,8 @@
    }
    @ApiOperation(value = "取消收藏")
    @PostMapping(value = "/del/{ids}")
    public FebsResponse del(@PathVariable("ids") String ids) {
        mallMemberCollectionService.del(ids);
        return new FebsResponse().success().message("取消成功");
    @PostMapping(value = "/del")
    public FebsResponse delCollection(@RequestBody ApiColletDelDto dto) {
        return mallMemberCollectionService.delCollection(dto);
    }
}
src/main/java/cc/mrbird/febs/mall/dto/ApiColletDelDto.java
New file
@@ -0,0 +1,15 @@
package cc.mrbird.febs.mall.dto;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import java.util.List;
@Data
@ApiModel(value = "ApiColletDelDto", description = "参数接收类")
public class ApiColletDelDto {
    @NotEmpty(message = "商品不能为空")
    private List<Long> ids;
}
src/main/java/cc/mrbird/febs/mall/service/IMallMemberCollectionService.java
@@ -1,6 +1,8 @@
package cc.mrbird.febs.mall.service;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.mall.dto.AddCollectionDto;
import cc.mrbird.febs.mall.dto.ApiColletDelDto;
import cc.mrbird.febs.mall.dto.MemberCollectionListDto;
import cc.mrbird.febs.mall.entity.MallMemberCollection;
import cc.mrbird.febs.mall.vo.AddCollectionVo;
@@ -16,4 +18,6 @@
    List<CollectionListVo> findMemberCollectionList(MemberCollectionListDto memberCollectionListDto);
    void del(String ids);
    FebsResponse delCollection(ApiColletDelDto dto);
}
src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberCollectionServiceImpl.java
@@ -1,8 +1,10 @@
package cc.mrbird.febs.mall.service.impl;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.common.utils.LoginUserUtil;
import cc.mrbird.febs.mall.dto.AddCollectionDto;
import cc.mrbird.febs.mall.dto.ApiColletDelDto;
import cc.mrbird.febs.mall.dto.MemberCollectionListDto;
import cc.mrbird.febs.mall.entity.MallGoods;
import cc.mrbird.febs.mall.entity.MallMember;
@@ -92,4 +94,19 @@
        delQuery.eq(MallMemberCollection::getMemberId, member.getId());
        this.baseMapper.delete(delQuery);
    }
    @Override
    public FebsResponse delCollection(ApiColletDelDto dto) {
        MallMember member = LoginUserUtil.getLoginUser();
        List<Long> ids = dto.getIds();
        if (CollUtil.isEmpty(ids)) {
            return new FebsResponse().success().message("操作成功");
        }
        LambdaQueryWrapper<MallMemberCollection> delQuery = new LambdaQueryWrapper<>();
        delQuery.in(MallMemberCollection::getId, ids);
        delQuery.eq(MallMemberCollection::getMemberId, member.getId());
        this.baseMapper.delete(delQuery);
        return new FebsResponse().success().message("操作成功");
    }
}