From 490bceb5d9e911a5c4f687dd6570b6699ca11915 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 16 Sep 2025 17:27:11 +0800
Subject: [PATCH] feat(ai): 添加会员角色知识点配置功能

---
 src/main/java/cc/mrbird/febs/ai/controller/memberRole/ViewController.java |   58 +++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 51 insertions(+), 7 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/ai/controller/memberRole/ViewController.java b/src/main/java/cc/mrbird/febs/ai/controller/memberRole/ViewController.java
index 24dd069..87396e8 100644
--- a/src/main/java/cc/mrbird/febs/ai/controller/memberRole/ViewController.java
+++ b/src/main/java/cc/mrbird/febs/ai/controller/memberRole/ViewController.java
@@ -1,12 +1,8 @@
 package cc.mrbird.febs.ai.controller.memberRole;
 
-import cc.mrbird.febs.ai.entity.AiMemberRole;
-import cc.mrbird.febs.ai.entity.AiMemberRoleProduct;
-import cc.mrbird.febs.ai.entity.AiProduct;
+import cc.mrbird.febs.ai.entity.*;
 import cc.mrbird.febs.ai.res.AdminMoveChooseInfoVo;
-import cc.mrbird.febs.ai.service.AiMemberRoleProductService;
-import cc.mrbird.febs.ai.service.AiMemberRoleService;
-import cc.mrbird.febs.ai.service.AiProductService;
+import cc.mrbird.febs.ai.service.*;
 import cc.mrbird.febs.common.entity.FebsConstant;
 import cc.mrbird.febs.common.utils.FebsUtil;
 import cn.hutool.core.collection.CollUtil;
@@ -38,7 +34,9 @@
 
     private final AiMemberRoleService aiMemberRoleService;
     private final AiMemberRoleProductService aiMemberRoleProductService;
+    private final AiMemberRolePointService aiMemberRolePointService;
     private final AiProductService aiProductService;
+    private final AiProductPointService aiProductPointService;
 
     @GetMapping("list")
     @RequiresPermissions("memberRoleList:view")
@@ -69,11 +67,15 @@
         Set<String> productIds = new HashSet<>();
 
         AiMemberRole entity = aiMemberRoleService.getById(id);
+        String companyId = entity.getCompanyId();
         if(ObjectUtil.isNotNull(entity)){
             //右侧数据
             LambdaQueryWrapper<AiMemberRoleProduct> query = Wrappers.lambdaQuery(AiMemberRoleProduct.class);
             if(StrUtil.isNotEmpty(id)){
                 query.eq(AiMemberRoleProduct::getRoleId, id);
+            }
+            if(StrUtil.isNotEmpty(companyId)){
+                query.eq(AiMemberRoleProduct::getCompanyId, companyId);
             }
             List<AiMemberRoleProduct> selectedList = aiMemberRoleProductService.selectListByQuery(query);
             if(CollUtil.isNotEmpty(selectedList)){
@@ -82,7 +84,7 @@
             }
 
             //左侧数据
-            List<AiProduct> allList = aiProductService.selectList();
+            List<AiProduct> allList = aiProductService.selectList(companyId);
             if(CollUtil.isNotEmpty(allList)){
                 //stream流操作mallMembers,生成一个新的List<MallMemberVo>
                 vos = allList.stream().map(AiProduct -> {
@@ -99,4 +101,46 @@
         model.addAttribute("chooseId", id);
         return FebsUtil.view("modules/ai/memberRole/productSet");
     }
+
+    @GetMapping("productPointSet/{id}")
+    @RequiresPermissions("memberRoleList:productPointSet")
+    public String productPointSet(@PathVariable String id, Model model) {
+        List<AdminMoveChooseInfoVo> vos = new ArrayList<>();
+        Set<String> productPointIds = new HashSet<>();
+
+        AiMemberRole entity = aiMemberRoleService.getById(id);
+        String companyId = entity.getCompanyId();
+        if(ObjectUtil.isNotNull(entity)){
+            //右侧数据
+            LambdaQueryWrapper<AiMemberRolePoint> query = Wrappers.lambdaQuery(AiMemberRolePoint.class);
+            if(StrUtil.isNotEmpty(id)){
+                query.eq(AiMemberRolePoint::getRoleId, id);
+            }
+            if(StrUtil.isNotEmpty(companyId)){
+                query.eq(AiMemberRolePoint::getCompanyId, companyId);
+            }
+            List<AiMemberRolePoint> selectedList = aiMemberRolePointService.selectListByQuery(query);
+            if(CollUtil.isNotEmpty(selectedList)){
+                //stream流操作happyMemberLabelRecords,获取memberId的set集合
+                productPointIds = selectedList.stream().map(AiMemberRolePoint::getProductPointId).collect(Collectors.toSet());
+            }
+
+            //左侧数据
+            List<AiProductPoint> allList = aiProductPointService.selectList(companyId);
+            if(CollUtil.isNotEmpty(allList)){
+                //stream流操作mallMembers,生成一个新的List<MallMemberVo>
+                vos = allList.stream().map(AiProductPoint -> {
+                    AdminMoveChooseInfoVo vo = new AdminMoveChooseInfoVo();
+                    vo.setId(AiProductPoint.getId());
+                    vo.setName(AiProductPoint.getTitle());
+                    return vo;
+                }).collect(Collectors.toList());
+            }
+        }
+
+        model.addAttribute("productPointAll", vos);
+        model.addAttribute("productPointSelected", productPointIds);
+        model.addAttribute("choosePointId", id);
+        return FebsUtil.view("modules/ai/memberRole/productPointSet");
+    }
 }

--
Gitblit v1.9.1