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/controller/memberLevel/ViewHappyMemberLevelController.java | 129 +++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 123 insertions(+), 6 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/controller/memberLevel/ViewHappyMemberLevelController.java b/src/main/java/cc/mrbird/febs/mall/controller/memberLevel/ViewHappyMemberLevelController.java index 37f6e3e..ceb2e51 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/memberLevel/ViewHappyMemberLevelController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/memberLevel/ViewHappyMemberLevelController.java @@ -4,15 +4,13 @@ import cc.mrbird.febs.common.entity.FebsConstant; import cc.mrbird.febs.common.utils.FebsUtil; import cc.mrbird.febs.common.utils.RedisUtils; -import cc.mrbird.febs.mall.entity.HappyActivity; -import cc.mrbird.febs.mall.entity.HappyActivityCategory; -import cc.mrbird.febs.mall.entity.HappyActivityOption; -import cc.mrbird.febs.mall.entity.HappyMemberLevel; -import cc.mrbird.febs.mall.mapper.HappyActivityCategoryMapper; -import cc.mrbird.febs.mall.mapper.HappyActivityOptionMapper; +import cc.mrbird.febs.mall.entity.*; +import cc.mrbird.febs.mall.mapper.*; import cc.mrbird.febs.mall.service.AdminMemberLevelService; import cc.mrbird.febs.mall.service.IAdminHappyActivityService; +import cc.mrbird.febs.mall.vo.AdminLabelSetVo; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.RequiredArgsConstructor; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.stereotype.Controller; @@ -21,12 +19,95 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; + @Controller("levelView") @RequestMapping(FebsConstant.VIEW_PREFIX + "modules/levelView") @RequiredArgsConstructor public class ViewHappyMemberLevelController extends BaseController { private final AdminMemberLevelService adminMemberLevelService; + private final HappySaleLevelMapper happySaleLevelMapper; + private final HappyMemberLabelMapper happyMemberLabelMapper; + private final HappyMemberLabelRecordMapper happyMemberLabelRecordMapper; + private final MallMemberMapper mallMemberMapper; + + /** + * 会员标识列表 + */ + @GetMapping("labelList") + @RequiresPermissions("labelList:view") + public String labelList() { + return FebsUtil.view("modules/levelView/labelList"); + } + + /** + * 会员标识新增 + * @return + */ + @GetMapping(value = "/labelAdd") + @RequiresPermissions("labelAdd:add") + public String labelAdd() { + return FebsUtil.view("modules/levelView/labelAdd"); + } + + /** + * 会员标识编辑 + * @param id + * @param model + * @return + */ + @GetMapping("labelInfo/{id}") + @RequiresPermissions("labelInfo:view") + public String labelInfo(@PathVariable long id, Model model) { + HappyMemberLabel happyMemberLabel = happyMemberLabelMapper.selectById(id); + model.addAttribute("happyMemberLabel", happyMemberLabel); + return FebsUtil.view("modules/levelView/labelInfo"); + } + + /** + * 设置会员标识 + * @param id + * @param model + * @return + */ + @GetMapping("labelSet/{id}") + @RequiresPermissions("labelSet:view") + public String labelSet(@PathVariable long id, Model model) { + HappyMemberLabel happyMemberLabel = happyMemberLabelMapper.selectById(id); + + //右侧数据 + List<HappyMemberLabelRecord> happyMemberLabelRecords = happyMemberLabelRecordMapper.selectList( + new LambdaQueryWrapper<HappyMemberLabelRecord>() + .eq(HappyMemberLabelRecord::getLabelId, id) + ); + + //stream流操作happyMemberLabelRecords,获取memberId的set集合 + Set<Long> memberIds = happyMemberLabelRecords.stream().map(HappyMemberLabelRecord::getMemberId).collect(Collectors.toSet()); + + //左侧数据 + List<MallMember> mallMembers = mallMemberMapper.selectList( + new LambdaQueryWrapper<MallMember>() + .select(MallMember::getId, MallMember::getName,MallMember::getRealName, MallMember::getPhone) + .isNotNull(MallMember::getPhone) + .eq(MallMember::getAccountStatus, MallMember.ACCOUNT_STATUS_ENABLE) + ); + //stream流操作mallMembers,生成一个新的List<MallMemberVo> + List<AdminLabelSetVo> adminLabelSetVos = mallMembers.stream().map(mallMember -> { + AdminLabelSetVo adminLabelSetVo = new AdminLabelSetVo(); + adminLabelSetVo.setId(mallMember.getId()); + adminLabelSetVo.setLabelName(mallMember.getName()+"("+mallMember.getRealName()+")"+mallMember.getPhone()); + return adminLabelSetVo; + }).collect(Collectors.toList()); + + + model.addAttribute("adminLabelSetVos", adminLabelSetVos); + model.addAttribute("memberIds", memberIds); + model.addAttribute("labelId", id); + return FebsUtil.view("modules/levelView/labelSet"); + } /** * 会员等级列表 @@ -61,4 +142,40 @@ return FebsUtil.view("modules/levelView/levelInfo"); } + + + + /** + * 分销等级列表 + */ + @GetMapping("saleList") + @RequiresPermissions("saleList:view") + public String saleList() { + return FebsUtil.view("modules/levelView/saleList"); + } + + /** + * 分销等级新增 + * @return + */ + @GetMapping(value = "/saleAdd") + @RequiresPermissions("saleAdd:add") + public String saleAdd() { + return FebsUtil.view("modules/levelView/saleAdd"); + } + + /** + * 分销等级编辑 + * @param id + * @param model + * @return + */ + @GetMapping("saleInfo/{id}") + @RequiresPermissions("saleInfo:view") + public String saleInfo(@PathVariable long id, Model model) { + HappySaleLevel happySaleLevel = happySaleLevelMapper.selectById(id); + model.addAttribute("happySaleLevel", happySaleLevel); + return FebsUtil.view("modules/levelView/saleInfo"); + } + } -- Gitblit v1.9.1