From 85e05f4a7c93fb4715e26b1b9ee04fab944abf15 Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Fri, 01 Aug 2025 16:31:41 +0800 Subject: [PATCH] feat(ai): 新增 AI 陪练配置功能 --- src/main/java/cc/mrbird/febs/ai/controller/product/ViewController.java | 50 ++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 44 insertions(+), 6 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/ai/controller/product/ViewController.java b/src/main/java/cc/mrbird/febs/ai/controller/product/ViewController.java index 8b34ca6..6a43ac0 100644 --- a/src/main/java/cc/mrbird/febs/ai/controller/product/ViewController.java +++ b/src/main/java/cc/mrbird/febs/ai/controller/product/ViewController.java @@ -1,12 +1,8 @@ package cc.mrbird.febs.ai.controller.product; -import cc.mrbird.febs.ai.entity.AiProduct; -import cc.mrbird.febs.ai.entity.AiProductPoint; -import cc.mrbird.febs.ai.entity.AiProductPointLink; +import cc.mrbird.febs.ai.entity.*; import cc.mrbird.febs.ai.res.AdminMoveChooseInfoVo; -import cc.mrbird.febs.ai.service.AiProductPointLinkService; -import cc.mrbird.febs.ai.service.AiProductPointService; -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; @@ -40,6 +36,8 @@ private final AiProductService aiProductService; private final AiProductPointLinkService aiProductPointLinkService; private final AiProductPointService aiProductPointService; + private final AiProductRoleLinkService aiProductRoleLinkService; + private final AiProductRoleService aiProductRoleService; @GetMapping("list") @RequiresPermissions("productList:view") @@ -102,4 +100,44 @@ model.addAttribute("chooseId", id); return FebsUtil.view("modules/ai/product/pointSet"); } + + + + @GetMapping("productRoleSet/{id}") + @RequiresPermissions("productList:productRoleSet") + public String productRoleSet(@PathVariable String id, Model model) { + List<AdminMoveChooseInfoVo> vos = new ArrayList<>(); + Set<String> productIds = new HashSet<>(); + + AiProduct entity = aiProductService.getById(id); + if(ObjectUtil.isNotNull(entity)){ + //右侧数据 + LambdaQueryWrapper<AiProductRoleLink> query = Wrappers.lambdaQuery(AiProductRoleLink.class); + if(StrUtil.isNotEmpty(id)){ + query.eq(AiProductRoleLink::getProductId, id); + } + List<AiProductRoleLink> selectedList = aiProductRoleLinkService.selectListByQuery(query); + if(CollUtil.isNotEmpty(selectedList)){ + //stream流操作happyMemberLabelRecords,获取memberId的set集合 + productIds = selectedList.stream().map(AiProductRoleLink::getProductRoleId).collect(Collectors.toSet()); + } + + //左侧数据 + List<AiProductRole> allList = aiProductRoleService.productRoleTree(); + if(CollUtil.isNotEmpty(allList)){ + //stream流操作mallMembers,生成一个新的List<MallMemberVo> + vos = allList.stream().map(AiProductRole -> { + AdminMoveChooseInfoVo vo = new AdminMoveChooseInfoVo(); + vo.setId(AiProductRole.getId()); + vo.setName(AiProductRole.getName()); + return vo; + }).collect(Collectors.toList()); + } + } + + model.addAttribute("productRoleAll", vos); + model.addAttribute("productRoleSelected", productIds); + model.addAttribute("chooseId", id); + return FebsUtil.view("modules/ai/product/productRoleSet"); + } } -- Gitblit v1.9.1