Administrator
2025-07-22 7e9bfaef8b802ea74de2693e7606d058e957daa1
feat(mall): 添加取消收藏功能

- 在 ApiClothesSocialController 中添加 delCollection 方法处理取消收藏请求
- 在 ApiClothesSocialService 接口中添加 delCollection 方法定义
- 在 ApiClothesSocialServiceImpl 类中实现 delCollection 方法逻辑
- 使用 LambdaQueryWrapper 构建删除条件,删除用户指定的收藏项
3 files modified
29 ■■■■■ changed files
src/main/java/cc/mrbird/febs/mall/controller/clothes/ApiClothesSocialController.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/ApiClothesSocialService.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiClothesSocialServiceImpl.java 18 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/clothes/ApiClothesSocialController.java
@@ -1,6 +1,7 @@
package cc.mrbird.febs.mall.controller.clothes;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.mall.dto.ApiColletDelDto;
import cc.mrbird.febs.mall.dto.clothes.*;
import cc.mrbird.febs.mall.service.ApiClothesOrderService;
import cc.mrbird.febs.mall.service.ApiClothesSocialService;
@@ -103,6 +104,13 @@
        return apiClothesSocialService.myCollect(dto);
    }
    @ApiOperation(value = "取消收藏")
    @PostMapping(value = "/del")
    public FebsResponse delCollection(@RequestBody ApiColletDelDto dto) {
        return apiClothesSocialService.delCollection(dto);
    }
    @ApiOperation(value = "我的灵感-跳转到开始设计", notes = "我的灵感-跳转到开始设计")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = ApiClothesSocialMuseVo.class)
src/main/java/cc/mrbird/febs/mall/service/ApiClothesSocialService.java
@@ -1,6 +1,7 @@
package cc.mrbird.febs.mall.service;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.mall.dto.ApiColletDelDto;
import cc.mrbird.febs.mall.dto.clothes.*;
import cc.mrbird.febs.mall.entity.ClothesSocial;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -29,4 +30,6 @@
    FebsResponse comment(ApiClothesSocialCommentDto dto);
    FebsResponse allComment(ApiAllCommentDto dto);
    FebsResponse delCollection(ApiColletDelDto dto);
}
src/main/java/cc/mrbird/febs/mall/service/impl/ApiClothesSocialServiceImpl.java
@@ -4,6 +4,7 @@
import cc.mrbird.febs.common.enumerates.*;
import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.common.utils.LoginUserUtil;
import cc.mrbird.febs.mall.dto.ApiColletDelDto;
import cc.mrbird.febs.mall.dto.clothes.*;
import cc.mrbird.febs.mall.entity.*;
import cc.mrbird.febs.mall.mapper.*;
@@ -651,6 +652,23 @@
        return new FebsResponse().success().data(voPage);
    }
    @Override
    public FebsResponse delCollection(ApiColletDelDto dto) {
        Long memberId = LoginUserUtil.getLoginUser().getId();
        List<Long> ids = dto.getIds();
        if (CollUtil.isEmpty(ids)) {
            return new FebsResponse().success().message("操作成功");
        }
        LambdaQueryWrapper<ClothesSocialFollow> delQuery = new LambdaQueryWrapper<>();
        delQuery.eq(ClothesSocialFollow::getMemberId, memberId);
        delQuery.eq(ClothesSocialFollow::getSourceType, SocialSourceTypeEnum.SOCIAL.getValue());
        delQuery.in(ClothesSocialFollow::getSourceId, ids);
        delQuery.eq(ClothesSocialFollow::getType, SocialTypeEnum.COLLECT.getValue());
        clothesSocialFollowMapper.delete(delQuery);
        return new FebsResponse().success().message("操作成功");
    }
    public static void main(String[] args) {
        JSONObject jsonObject = new JSONObject();
        jsonObject.putByPath("text", "123");