From 07b964209ad7ff91def2ed1962c5a02441710d86 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Fri, 12 Jun 2026 09:48:25 +0800
Subject: [PATCH] refactor(mall): 重构DTO和控制器结构并添加验证注解

---
 src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberCollectionServiceImpl.java |   18 +++++++++++++-----
 1 files changed, 13 insertions(+), 5 deletions(-)

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 3b16dcd..817983a 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,5 +1,6 @@
 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;
@@ -35,12 +36,12 @@
     private final IApiMallGoodsService apiMallGoodsService;
 
     @Override
-    public void add(AddCollectionDto addCollectionDto) {
+    public FebsResponse add(AddCollectionDto addCollectionDto) {
         MallMember member = LoginUserUtil.getLoginUser();
 
         MallGoods mallgoods = apiMallGoodsService.getById(addCollectionDto.getGoodsId());
         if (mallgoods == null) {
-            throw new FebsException("商品不存在");
+            throw new FebsException("The product does not exist.");
         }
 
         LambdaQueryWrapper<MallMemberCollection> queryWrapper = new LambdaQueryWrapper<>();
@@ -48,14 +49,15 @@
         queryWrapper.eq(MallMemberCollection::getGoodsId, addCollectionDto.getGoodsId());
         List<MallMemberCollection> mallMemberCollections = this.baseMapper.selectList(queryWrapper);
         if (CollUtil.isNotEmpty(mallMemberCollections)) {
-            throw new FebsException("商品已收藏");
+            throw new FebsException("Product has been favorited");
         }
 
         MallMemberCollection collection = new MallMemberCollection();
         collection.setMemberId(member.getId());
         collection.setGoodsId(addCollectionDto.getGoodsId());
-
         this.baseMapper.insert(collection);
+
+        return new FebsResponse().success().message("Added to favorites");
     }
 
     @Override
@@ -76,8 +78,14 @@
     @Override
     public void del(String ids) {
         MallMember member = LoginUserUtil.getLoginUser();
-        List<String> idsList = StrUtil.split(ids, ',');
+        List<String> goodsIdList = StrUtil.split(ids, ',');
 
+        LambdaQueryWrapper<MallMemberCollection> query = new LambdaQueryWrapper<>();
+        query.in(MallMemberCollection::getGoodsId, goodsIdList);
+        query.eq(MallMemberCollection::getMemberId, member.getId());
+        List<MallMemberCollection> collections = this.baseMapper.selectList(query);
+
+        List<Long> idsList = collections.stream().map(MallMemberCollection::getId).collect(Collectors.toList());
         LambdaQueryWrapper<MallMemberCollection> delQuery = new LambdaQueryWrapper<>();
         delQuery.in(MallMemberCollection::getId, idsList);
         delQuery.eq(MallMemberCollection::getMemberId, member.getId());

--
Gitblit v1.9.1