From df864d1d636751424fd642d3bdd33c53cf63500d Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 07 Jul 2025 17:51:09 +0800
Subject: [PATCH] feat(mall): 为活动订单项添加积分和成长值奖 - 在活动添加和编辑页面增加积分和成长值输入字段 - 更新活动实体类,添加 scoreCnt 和 growthCnt 字段 - 修改活动订单项处理逻辑,增加积分和成长值奖励的计算和发放 - 优化活动订单项状态检查逻辑,移除冗余代码

---
 src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberCollectionServiceImpl.java |   44 +++++++++++++++++++++++++++++++++++---------
 1 files changed, 35 insertions(+), 9 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..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;
@@ -47,15 +49,12 @@
         queryWrapper.eq(MallMemberCollection::getMemberId, member.getId());
         queryWrapper.eq(MallMemberCollection::getGoodsId, addCollectionDto.getGoodsId());
         List<MallMemberCollection> mallMemberCollections = this.baseMapper.selectList(queryWrapper);
-        if (CollUtil.isNotEmpty(mallMemberCollections)) {
-            throw new FebsException("商品已收藏");
+        if (CollUtil.isEmpty(mallMemberCollections)) {
+            MallMemberCollection collection = new MallMemberCollection();
+            collection.setMemberId(member.getId());
+            collection.setGoodsId(addCollectionDto.getGoodsId());
+            this.baseMapper.insert(collection);
         }
-
-        MallMemberCollection collection = new MallMemberCollection();
-        collection.setMemberId(member.getId());
-        collection.setGoodsId(addCollectionDto.getGoodsId());
-
-        this.baseMapper.insert(collection);
     }
 
     @Override
@@ -76,11 +75,38 @@
     @Override
     public void del(String ids) {
         MallMember member = LoginUserUtil.getLoginUser();
-        List<String> idsList = StrUtil.split(ids, ',');
+        List<String> goodsIdList = StrUtil.split(ids, ',');
+        if (CollUtil.isEmpty(goodsIdList)) {
+            return;
+        }
 
+        LambdaQueryWrapper<MallMemberCollection> query = new LambdaQueryWrapper<>();
+        query.in(MallMemberCollection::getGoodsId, goodsIdList);
+        query.eq(MallMemberCollection::getMemberId, member.getId());
+        List<MallMemberCollection> collections = this.baseMapper.selectList(query);
+        if (CollUtil.isEmpty(collections)) {
+            return;
+        }
+
+        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());
         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