From 92c26cea4de00349b346f71da3cf530b26c31eb0 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 10 Jun 2025 09:40:59 +0800
Subject: [PATCH] fix(mall): 修复用户重复加入标签的问题

---
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMemberLevelServiceImpl.java |   58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 54 insertions(+), 4 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMemberLevelServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMemberLevelServiceImpl.java
index b95426d..39d383b 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMemberLevelServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMemberLevelServiceImpl.java
@@ -4,19 +4,20 @@
 import cc.mrbird.febs.common.entity.QueryRequest;
 import cc.mrbird.febs.common.enumerates.StateUpDownEnum;
 import cc.mrbird.febs.mall.dto.memberLevel.*;
-import cc.mrbird.febs.mall.entity.HappyActivityCategory;
-import cc.mrbird.febs.mall.entity.HappyMemberLabel;
-import cc.mrbird.febs.mall.entity.HappyMemberLevel;
-import cc.mrbird.febs.mall.entity.HappySaleLevel;
+import cc.mrbird.febs.mall.entity.*;
 import cc.mrbird.febs.mall.mapper.HappyMemberLabelMapper;
+import cc.mrbird.febs.mall.mapper.HappyMemberLabelRecordMapper;
 import cc.mrbird.febs.mall.mapper.HappyMemberLevelMapper;
 import cc.mrbird.febs.mall.mapper.HappySaleLevelMapper;
 import cc.mrbird.febs.mall.service.AdminMemberLevelService;
+import cc.mrbird.febs.mall.vo.memberLevel.AdminMemberLabelSetDto;
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
@@ -35,6 +36,7 @@
     private final HappyMemberLevelMapper happyMemberLevelMapper;
     private final HappySaleLevelMapper happySaleLevelMapper;
     private final HappyMemberLabelMapper happyMemberLabelMapper;
+    private final HappyMemberLabelRecordMapper happyMemberLabelRecordMapper;
     @Override
     public IPage<HappyMemberLevel> getLevelListInPage(AdminMemberLevelDto dto, QueryRequest request) {
 
@@ -67,8 +69,25 @@
     public FebsResponse labelAdd(AdminMemberLabelAddDto dto) {
         HappyMemberLabel happyMemberLabel = new HappyMemberLabel();
         BeanUtil.copyProperties(dto, happyMemberLabel);
+        Integer code = 0;
+        if(ObjectUtil.isEmpty(dto.getParentId())){
+            code = dto.getCode();
+        }
+        happyMemberLabel.setCode(code);
         happyMemberLabelMapper.insert(happyMemberLabel);
         return new FebsResponse().success().message("操作成功");
+    }
+
+    @Override
+    public FebsResponse parentAll() {
+
+        List<HappyMemberLabel> happyMemberLabels = happyMemberLabelMapper.selectList(
+                Wrappers.lambdaQuery(HappyMemberLabel.class)
+                        .select(HappyMemberLabel::getId, HappyMemberLabel::getName)
+                        .eq(HappyMemberLabel::getParentId, 0)
+                .eq(HappyMemberLabel::getCode,1)
+        );
+        return new FebsResponse().success().data(happyMemberLabels);
     }
 
     @Override
@@ -86,12 +105,43 @@
         HappyMemberLabel happyMemberLabel = happyMemberLabelMapper.selectById(dto.getId());
         if (ObjectUtil.isNotNull(happyMemberLabel)) {
             BeanUtil.copyProperties(dto, happyMemberLabel);
+
+            Integer code = 0;
+            Long parentId = 0L;
+            if(ObjectUtil.isEmpty(dto.getParentId())){
+                code = dto.getCode();
+            }else{
+                parentId = dto.getParentId();
+            }
+            happyMemberLabel.setCode(code);
+            happyMemberLabel.setParentId(parentId);
             happyMemberLabelMapper.updateById(happyMemberLabel);
         }
         return new FebsResponse().success().message("操作成功");
     }
 
     @Override
+    public FebsResponse labelMemberSet(AdminMemberLabelSetDto dto) {
+        Long labelId = dto.getLabelId();
+        List<Long> memberIdList = dto.getMemberIdList();
+        HappyMemberLabel happyMemberLabel = happyMemberLabelMapper.selectById(labelId);
+        if (ObjectUtil.isNotEmpty(happyMemberLabel)) {
+            LambdaQueryWrapper<HappyMemberLabelRecord> happyMemberLabelRecordLambdaQueryWrapper = new LambdaQueryWrapper<>();
+            happyMemberLabelRecordLambdaQueryWrapper.eq(HappyMemberLabelRecord::getLabelId,labelId);
+            happyMemberLabelRecordMapper.delete(happyMemberLabelRecordLambdaQueryWrapper);
+            if(CollUtil.isNotEmpty(memberIdList)){
+                for (Long memberId:memberIdList){
+                    HappyMemberLabelRecord happyMemberLabelRecord = new HappyMemberLabelRecord();
+                    happyMemberLabelRecord.setMemberId(memberId);
+                    happyMemberLabelRecord.setLabelId(labelId);
+                    happyMemberLabelRecordMapper.insert(happyMemberLabelRecord);
+                }
+            }
+        }
+        return new FebsResponse().success().message("操作成功");
+    }
+
+    @Override
     public FebsResponse levelAll() {
         List<HappyMemberLevel> happyMemberLevels = happyMemberLevelMapper.selectList(
                 new LambdaQueryWrapper<HappyMemberLevel>()

--
Gitblit v1.9.1