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 | 132 ++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 126 insertions(+), 6 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 92be6af..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 @@ -3,18 +3,21 @@ import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.entity.QueryRequest; import cc.mrbird.febs.common.enumerates.StateUpDownEnum; -import cc.mrbird.febs.mall.dto.memberLevel.AdminMemberLevelAddDto; -import cc.mrbird.febs.mall.dto.memberLevel.AdminMemberLevelDto; -import cc.mrbird.febs.mall.dto.memberLevel.AdminMemberLevelUpdateDto; -import cc.mrbird.febs.mall.entity.HappyActivityCategory; -import cc.mrbird.febs.mall.entity.HappyMemberLevel; +import cc.mrbird.febs.mall.dto.memberLevel.*; +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; @@ -31,6 +34,9 @@ public class AdminMemberLevelServiceImpl extends ServiceImpl<HappyMemberLevelMapper, HappyMemberLevel> implements AdminMemberLevelService { 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) { @@ -42,11 +48,46 @@ } @Override + public IPage<HappyMemberLabel> getLabelListInPage(AdminMemberLabelDto dto, QueryRequest request) { + + Page<HappyMemberLabel> page = new Page<>(request.getPageNum(), request.getPageSize()); + LambdaQueryWrapper<HappyMemberLabel> lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.orderByAsc(HappyMemberLabel::getId); + Page<HappyMemberLabel> happyMemberLevelPage = happyMemberLabelMapper.selectPage(page, lambdaQueryWrapper); + return happyMemberLevelPage; + } + + @Override public FebsResponse levelAdd(AdminMemberLevelAddDto dto) { HappyMemberLevel happyMemberLevel = new HappyMemberLevel(); BeanUtil.copyProperties(dto, happyMemberLevel); happyMemberLevelMapper.insert(happyMemberLevel); return new FebsResponse().success().message("操作成功"); + } + + @Override + 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 @@ -60,12 +101,91 @@ } @Override + public FebsResponse labelUpdate(AdminMemberLabelUpdateDto dto) { + 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>() - .select(HappyMemberLevel::getId, HappyMemberLevel::getName) + .select(HappyMemberLevel::getCode, HappyMemberLevel::getName) .orderByAsc(HappyMemberLevel::getId) ); return new FebsResponse().success().data(happyMemberLevels); } + + @Override + public IPage<HappySaleLevel> getSaleLevelListInPage(AdminSaleLevelDto dto, QueryRequest request) { + + Page<HappySaleLevel> page = new Page<>(request.getPageNum(), request.getPageSize()); + LambdaQueryWrapper<HappySaleLevel> lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.orderByAsc(HappySaleLevel::getId); + Page<HappySaleLevel> happyMemberLevelPage = happySaleLevelMapper.selectPage(page, lambdaQueryWrapper); + return happyMemberLevelPage; + } + + @Override + public FebsResponse saleAdd(AdminSaleLevelAddDto dto) { + HappySaleLevel happySaleLevel = new HappySaleLevel(); + BeanUtil.copyProperties(dto, happySaleLevel); + happySaleLevelMapper.insert(happySaleLevel); + return new FebsResponse().success().message("操作成功"); + } + + @Override + public FebsResponse saleUpdate(AdminSaleLevelUpdateDto dto) { + HappySaleLevel happySaleLevel = happySaleLevelMapper.selectById(dto.getId()); + if (ObjectUtil.isNotNull(happySaleLevel)) { + BeanUtil.copyProperties(dto, happySaleLevel); + happySaleLevelMapper.updateById(happySaleLevel); + } + return new FebsResponse().success().message("操作成功"); + } + + @Override + public FebsResponse saleLevelAll() { + List<HappySaleLevel> happySaleLevels = happySaleLevelMapper.selectList( + new LambdaQueryWrapper<HappySaleLevel>() + .select(HappySaleLevel::getCode, HappySaleLevel::getName) + .orderByAsc(HappySaleLevel::getId) + ); + return new FebsResponse().success().data(happySaleLevels); + } } -- Gitblit v1.9.1