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/service/impl/AiMemberRoleServiceImpl.java |   43 ++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 42 insertions(+), 1 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberRoleServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberRoleServiceImpl.java
index 688e684..488e56b 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberRoleServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberRoleServiceImpl.java
@@ -1,17 +1,21 @@
 package cc.mrbird.febs.ai.service.impl;
 
 import cc.mrbird.febs.ai.entity.AiMemberRole;
+import cc.mrbird.febs.ai.entity.AiMemberRolePoint;
 import cc.mrbird.febs.ai.entity.AiMemberRoleProduct;
 import cc.mrbird.febs.ai.mapper.AiMemberRoleMapper;
 import cc.mrbird.febs.ai.req.AdminMoveChooseInfoDto;
+import cc.mrbird.febs.ai.service.AiMemberRolePointService;
 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.util.UUID;
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.entity.QueryRequest;
+import cc.mrbird.febs.system.service.IUserService;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -38,6 +42,8 @@
     private final AiMemberRoleMapper aiMemberRoleMapper;
     private final AiProductService aiProductService;
     private final AiMemberRoleProductService aiMemberRoleProductService;
+    private final AiMemberRolePointService aiMemberRolePointService;
+    private final IUserService iUserService;
 
     @Override
     public AiMemberRole getById(String id) {
@@ -46,9 +52,11 @@
 
     @Override
     public IPage<AiMemberRole> listInPage(AiMemberRole dto, QueryRequest request) {
-
         Page<AiMemberRole> page = new Page<>(request.getPageNum(), request.getPageSize());
         LambdaQueryWrapper<AiMemberRole> query = Wrappers.lambdaQuery(AiMemberRole.class);
+        if (StrUtil.isNotEmpty(dto.getCompanyId())){
+            query.eq(AiMemberRole::getCompanyId, dto.getCompanyId());
+        }
         query.ne(AiMemberRole::getState, 2);
         query.orderByAsc(AiMemberRole::getSort);
         Page<AiMemberRole> pages = aiMemberRoleMapper.selectPage(page, query);
@@ -77,6 +85,7 @@
         entity.setIconImg(dto.getIconImg());
         entity.setSort(dto.getSort());
         entity.setState(dto.getState());
+        entity.setCompanyId(dto.getCompanyId());
         entity.setCreatedTime(new Date());
         this.save( entity);
         return new FebsResponse().success().message("操作成功");
@@ -121,9 +130,11 @@
         List<String> chooseIds = dto.getChooseIds();
         AiMemberRole aiMemberRole = this.getById(chooseId);
         if (ObjectUtil.isNotNull(aiMemberRole)) {
+            String companyId = aiMemberRole.getCompanyId();
             aiMemberRoleProductService.deleteByQuery(
                     Wrappers.lambdaQuery(AiMemberRoleProduct.class)
                             .eq(AiMemberRoleProduct::getRoleId,chooseId)
+                            .eq(AiMemberRoleProduct::getCompanyId,companyId)
             );
             if(CollUtil.isNotEmpty(chooseIds)){
                 Date createdTime = new Date();
@@ -132,6 +143,7 @@
                     entity.setId(UUID.getSimpleUUIDString());
                     entity.setRoleId(chooseId);
                     entity.setProductId(item);
+                    entity.setCompanyId(companyId);
                     entity.setCreatedTime(createdTime);
                     aiMemberRoleProductService.getBaseMapper().insert(entity);
                 }
@@ -139,4 +151,33 @@
         }
         return new FebsResponse().success().message("操作成功");
     }
+
+    @Override
+    public FebsResponse productPointSet(AdminMoveChooseInfoDto dto) {
+
+        String chooseId = dto.getChooseId();
+        List<String> chooseIds = dto.getChooseIds();
+        AiMemberRole aiMemberRole = this.getById(chooseId);
+        if (ObjectUtil.isNotNull(aiMemberRole)) {
+            String companyId = aiMemberRole.getCompanyId();
+            aiMemberRolePointService.deleteByQuery(
+                    Wrappers.lambdaQuery(AiMemberRolePoint.class)
+                            .eq(AiMemberRolePoint::getRoleId,chooseId)
+                            .eq(AiMemberRolePoint::getCompanyId,companyId)
+            );
+            if(CollUtil.isNotEmpty(chooseIds)){
+                Date createdTime = new Date();
+                for (String item : chooseIds){
+                    AiMemberRolePoint entity = new AiMemberRolePoint();
+                    entity.setId(UUID.getSimpleUUIDString());
+                    entity.setRoleId(chooseId);
+                    entity.setProductPointId(item);
+                    entity.setCompanyId(companyId);
+                    entity.setCreatedTime(createdTime);
+                    aiMemberRolePointService.getBaseMapper().insert(entity);
+                }
+            }
+        }
+        return new FebsResponse().success().message("操作成功");
+    }
 }

--
Gitblit v1.9.1