From 6b000d0c8b24f3cd65caeaedb0e7f44d638bf284 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 27 May 2025 17:28:38 +0800
Subject: [PATCH] refactor(mall): 重构取消收藏功能

---
 src/main/java/cc/mrbird/febs/mall/dto/ApiColletDelDto.java                            |   15 +++++++++++++++
 src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberCollectionServiceImpl.java   |   17 +++++++++++++++++
 src/main/java/cc/mrbird/febs/mall/service/IMallMemberCollectionService.java           |    4 ++++
 src/main/java/cc/mrbird/febs/mall/controller/goods/ApiMemberCollectionController.java |    8 ++++----
 4 files changed, 40 insertions(+), 4 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/controller/goods/ApiMemberCollectionController.java b/src/main/java/cc/mrbird/febs/mall/controller/goods/ApiMemberCollectionController.java
index 76714de..f039b93 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/goods/ApiMemberCollectionController.java
+++ b/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);
     }
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/ApiColletDelDto.java b/src/main/java/cc/mrbird/febs/mall/dto/ApiColletDelDto.java
new file mode 100644
index 0000000..b34c160
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/dto/ApiColletDelDto.java
@@ -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;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IMallMemberCollectionService.java b/src/main/java/cc/mrbird/febs/mall/service/IMallMemberCollectionService.java
index 2e7e118..b8c3dca 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IMallMemberCollectionService.java
+++ b/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);
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberCollectionServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberCollectionServiceImpl.java
index 933695b..748f162 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberCollectionServiceImpl.java
+++ b/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("操作成功");
+    }
 }

--
Gitblit v1.9.1