From 53f83462c6b0b5cbf366a1a8eb2243d2927b300b Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 27 May 2025 10:05:04 +0800
Subject: [PATCH] feat(mall): 添加会员标识设置功能

---
 src/main/java/cc/mrbird/febs/mall/controller/memberLevel/ViewHappyMemberLevelController.java |   55 +++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 51 insertions(+), 4 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 362fe38..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
@@ -5,13 +5,12 @@
 import cc.mrbird.febs.common.utils.FebsUtil;
 import cc.mrbird.febs.common.utils.RedisUtils;
 import cc.mrbird.febs.mall.entity.*;
-import cc.mrbird.febs.mall.mapper.HappyActivityCategoryMapper;
-import cc.mrbird.febs.mall.mapper.HappyActivityOptionMapper;
-import cc.mrbird.febs.mall.mapper.HappyMemberLabelMapper;
-import cc.mrbird.febs.mall.mapper.HappySaleLevelMapper;
+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;
@@ -19,6 +18,10 @@
 import org.springframework.web.bind.annotation.GetMapping;
 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")
@@ -28,6 +31,8 @@
     private final AdminMemberLevelService adminMemberLevelService;
     private final HappySaleLevelMapper happySaleLevelMapper;
     private final HappyMemberLabelMapper happyMemberLabelMapper;
+    private final HappyMemberLabelRecordMapper happyMemberLabelRecordMapper;
+    private final MallMemberMapper  mallMemberMapper;
 
     /**
      * 会员标识列表
@@ -63,6 +68,48 @@
     }
 
     /**
+     * 设置会员标识
+     * @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");
+    }
+
+    /**
      * 会员等级列表
      */
     @GetMapping("levelList")

--
Gitblit v1.9.1