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