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