Commit 3bb57edc85c48dcb6475ce7c7b98395a3682054b

Authored by YunaiV
1 parent 9126691a

【功能新增】AI:聊天角色,新增 knowledge 的引用绑定

Showing 12 changed files with 59 additions and 55 deletions
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/knowledge/AiKnowledgeController.java
1 package cn.iocoder.yudao.module.ai.controller.admin.knowledge; 1 package cn.iocoder.yudao.module.ai.controller.admin.knowledge;
2 2
  3 +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
3 import cn.iocoder.yudao.framework.common.pojo.CommonResult; 4 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
4 import cn.iocoder.yudao.framework.common.pojo.PageResult; 5 import cn.iocoder.yudao.framework.common.pojo.PageResult;
5 import cn.iocoder.yudao.framework.common.util.object.BeanUtils; 6 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
@@ -17,7 +18,10 @@ import org.springframework.security.access.prepost.PreAuthorize; @@ -17,7 +18,10 @@ import org.springframework.security.access.prepost.PreAuthorize;
17 import org.springframework.validation.annotation.Validated; 18 import org.springframework.validation.annotation.Validated;
18 import org.springframework.web.bind.annotation.*; 19 import org.springframework.web.bind.annotation.*;
19 20
  21 +import java.util.List;
  22 +
20 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; 23 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
  24 +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
21 25
22 // TODO @芋艿:增加权限标识 26 // TODO @芋艿:增加权限标识
23 @Tag(name = "管理后台 - AI 知识库") 27 @Tag(name = "管理后台 - AI 知识库")
@@ -62,4 +66,12 @@ public class AiKnowledgeController { @@ -62,4 +66,12 @@ public class AiKnowledgeController {
62 return success(true); 66 return success(true);
63 } 67 }
64 68
  69 + @GetMapping("/simple-list")
  70 + @Operation(summary = "获得知识库的精简列表")
  71 + public CommonResult<List<AiKnowledgeRespVO>> getKnowledgeSimpleList() {
  72 + List<AiKnowledgeDO> list = knowledgeService.getKnowledgeSimpleListByStatus(CommonStatusEnum.ENABLE.getStatus());
  73 + return success(convertList(list, knowledge -> new AiKnowledgeRespVO()
  74 + .setId(knowledge.getId()).setName(knowledge.getName())));
  75 + }
  76 +
65 } 77 }
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/knowledge/AiKnowledgeDocumentController.java
1 package cn.iocoder.yudao.module.ai.controller.admin.knowledge; 1 package cn.iocoder.yudao.module.ai.controller.admin.knowledge;
2 2
3 -import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;  
4 import cn.iocoder.yudao.framework.common.pojo.CommonResult; 3 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
5 import cn.iocoder.yudao.framework.common.pojo.PageResult; 4 import cn.iocoder.yudao.framework.common.pojo.PageResult;
6 import cn.iocoder.yudao.framework.common.util.object.BeanUtils; 5 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
7 -import cn.iocoder.yudao.module.ai.controller.admin.knowledge.vo.document.AiKnowledgeDocumentPageReqVO;  
8 -import cn.iocoder.yudao.module.ai.controller.admin.knowledge.vo.document.AiKnowledgeDocumentRespVO;  
9 -import cn.iocoder.yudao.module.ai.controller.admin.knowledge.vo.document.AiKnowledgeDocumentUpdateReqVO;  
10 -import cn.iocoder.yudao.module.ai.controller.admin.knowledge.vo.document.AiKnowledgeDocumentCreateListReqVO;  
11 -import cn.iocoder.yudao.module.ai.controller.admin.knowledge.vo.document.AiKnowledgeDocumentUpdateStatusReqVO; 6 +import cn.iocoder.yudao.module.ai.controller.admin.knowledge.vo.document.*;
12 import cn.iocoder.yudao.module.ai.controller.admin.knowledge.vo.knowledge.AiKnowledgeDocumentCreateReqVO; 7 import cn.iocoder.yudao.module.ai.controller.admin.knowledge.vo.knowledge.AiKnowledgeDocumentCreateReqVO;
13 import cn.iocoder.yudao.module.ai.dal.dataobject.knowledge.AiKnowledgeDocumentDO; 8 import cn.iocoder.yudao.module.ai.dal.dataobject.knowledge.AiKnowledgeDocumentDO;
14 -import cn.iocoder.yudao.module.ai.dal.mysql.knowledge.AiKnowledgeDocumentMapper;  
15 import cn.iocoder.yudao.module.ai.service.knowledge.AiKnowledgeDocumentService; 9 import cn.iocoder.yudao.module.ai.service.knowledge.AiKnowledgeDocumentService;
16 import io.swagger.v3.oas.annotations.Operation; 10 import io.swagger.v3.oas.annotations.Operation;
17 -import io.swagger.v3.oas.annotations.Parameter;  
18 import io.swagger.v3.oas.annotations.tags.Tag; 11 import io.swagger.v3.oas.annotations.tags.Tag;
19 import jakarta.annotation.Resource; 12 import jakarta.annotation.Resource;
20 import jakarta.validation.Valid; 13 import jakarta.validation.Valid;
@@ -25,7 +18,6 @@ import org.springframework.web.bind.annotation.*; @@ -25,7 +18,6 @@ import org.springframework.web.bind.annotation.*;
25 import java.util.List; 18 import java.util.List;
26 19
27 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; 20 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
28 -import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;  
29 21
30 @Tag(name = "管理后台 - AI 知识库文档") 22 @Tag(name = "管理后台 - AI 知识库文档")
31 @RestController 23 @RestController
@@ -95,13 +87,4 @@ public class AiKnowledgeDocumentController { @@ -95,13 +87,4 @@ public class AiKnowledgeDocumentController {
95 return success(true); 87 return success(true);
96 } 88 }
97 89
98 - @GetMapping("/simple-list")  
99 - @Operation(summary = "获得知识库文档的精简列表")  
100 - public CommonResult<List<AiKnowledgeDocumentRespVO>> getKnowledgeDocumentSimpleList() {  
101 - List<AiKnowledgeDocumentDO> list = documentService  
102 - .getKnowledgeDocumentListByStatus(CommonStatusEnum.ENABLE.getStatus());  
103 - return success(convertList(list, document -> new AiKnowledgeDocumentRespVO()  
104 - .setId(document.getId()).setName(document.getName())));  
105 - }  
106 -  
107 } 90 }
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/model/vo/chatRole/AiChatRoleRespVO.java
@@ -46,8 +46,8 @@ public class AiChatRoleRespVO implements VO { @@ -46,8 +46,8 @@ public class AiChatRoleRespVO implements VO {
46 @Schema(description = "角色设定", requiredMode = Schema.RequiredMode.REQUIRED) 46 @Schema(description = "角色设定", requiredMode = Schema.RequiredMode.REQUIRED)
47 private String systemMessage; 47 private String systemMessage;
48 48
49 - @Schema(description = "知识库文档编号列表", example = "1,2,3")  
50 - private List<Long> documentIds; 49 + @Schema(description = "引用的知识库编号列表", example = "1,2,3")
  50 + private List<Long> knowledgeIds;
51 51
52 @Schema(description = "是否公开", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") 52 @Schema(description = "是否公开", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
53 private Boolean publicStatus; 53 private Boolean publicStatus;
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/model/vo/chatRole/AiChatRoleSaveMyReqVO.java
@@ -31,7 +31,7 @@ public class AiChatRoleSaveMyReqVO { @@ -31,7 +31,7 @@ public class AiChatRoleSaveMyReqVO {
31 @NotEmpty(message = "角色设定不能为空") 31 @NotEmpty(message = "角色设定不能为空")
32 private String systemMessage; 32 private String systemMessage;
33 33
34 - @Schema(description = "知识库文档编号列表", example = "1,2,3")  
35 - private List<Long> documentIds; 34 + @Schema(description = "引用的知识库编号列表", example = "1,2,3")
  35 + private List<Long> knowledgeIds;
36 36
37 } 37 }
38 \ No newline at end of file 38 \ No newline at end of file
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/model/vo/chatRole/AiChatRoleSaveReqVO.java
@@ -44,8 +44,8 @@ public class AiChatRoleSaveReqVO { @@ -44,8 +44,8 @@ public class AiChatRoleSaveReqVO {
44 @NotEmpty(message = "角色设定不能为空") 44 @NotEmpty(message = "角色设定不能为空")
45 private String systemMessage; 45 private String systemMessage;
46 46
47 - @Schema(description = "知识库文档编号列表", example = "1,2,3")  
48 - private List<Long> documentIds; 47 + @Schema(description = "引用的知识库编号列表", example = "1,2,3")
  48 + private List<Long> knowledgeIds;
49 49
50 @Schema(description = "是否公开", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") 50 @Schema(description = "是否公开", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
51 @NotNull(message = "是否公开不能为空") 51 @NotNull(message = "是否公开不能为空")
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/model/AiChatRoleDO.java
@@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.ai.dal.dataobject.model; @@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.ai.dal.dataobject.model;
3 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; 3 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
4 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 4 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
5 import cn.iocoder.yudao.framework.mybatis.core.type.LongListTypeHandler; 5 import cn.iocoder.yudao.framework.mybatis.core.type.LongListTypeHandler;
6 -import cn.iocoder.yudao.module.ai.dal.dataobject.knowledge.AiKnowledgeDocumentDO; 6 +import cn.iocoder.yudao.module.ai.dal.dataobject.knowledge.AiKnowledgeDO;
7 import com.baomidou.mybatisplus.annotation.KeySequence; 7 import com.baomidou.mybatisplus.annotation.KeySequence;
8 import com.baomidou.mybatisplus.annotation.TableField; 8 import com.baomidou.mybatisplus.annotation.TableField;
9 import com.baomidou.mybatisplus.annotation.TableId; 9 import com.baomidou.mybatisplus.annotation.TableId;
@@ -68,12 +68,12 @@ public class AiChatRoleDO extends BaseDO { @@ -68,12 +68,12 @@ public class AiChatRoleDO extends BaseDO {
68 private Long modelId; 68 private Long modelId;
69 69
70 /** 70 /**
71 - * 知识库文档编号列表 71 + * 引用的知识库编号列表
72 * 72 *
73 - * 关联 {@link AiKnowledgeDocumentDO#getId()} 字段 73 + * 关联 {@link AiKnowledgeDO#getId()} 字段
74 */ 74 */
75 @TableField(typeHandler = LongListTypeHandler.class) 75 @TableField(typeHandler = LongListTypeHandler.class)
76 - private List<Long> documentIds; 76 + private List<Long> knowledgeIds;
77 77
78 /** 78 /**
79 * 是否公开 79 * 是否公开
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/mysql/knowledge/AiKnowledgeMapper.java
@@ -7,6 +7,8 @@ import cn.iocoder.yudao.module.ai.controller.admin.knowledge.vo.knowledge.AiKnow @@ -7,6 +7,8 @@ import cn.iocoder.yudao.module.ai.controller.admin.knowledge.vo.knowledge.AiKnow
7 import cn.iocoder.yudao.module.ai.dal.dataobject.knowledge.AiKnowledgeDO; 7 import cn.iocoder.yudao.module.ai.dal.dataobject.knowledge.AiKnowledgeDO;
8 import org.apache.ibatis.annotations.Mapper; 8 import org.apache.ibatis.annotations.Mapper;
9 9
  10 +import java.util.List;
  11 +
10 /** 12 /**
11 * AI 知识库 Mapper 13 * AI 知识库 Mapper
12 * 14 *
@@ -23,4 +25,8 @@ public interface AiKnowledgeMapper extends BaseMapperX&lt;AiKnowledgeDO&gt; { @@ -23,4 +25,8 @@ public interface AiKnowledgeMapper extends BaseMapperX&lt;AiKnowledgeDO&gt; {
23 .orderByDesc(AiKnowledgeDO::getId)); 25 .orderByDesc(AiKnowledgeDO::getId));
24 } 26 }
25 27
  28 + default List<AiKnowledgeDO> selectListByStatus(Integer status) {
  29 + return selectList(AiKnowledgeDO::getStatus, status);
  30 + }
  31 +
26 } 32 }
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/knowledge/AiKnowledgeDocumentService.java
@@ -115,12 +115,4 @@ public interface AiKnowledgeDocumentService { @@ -115,12 +115,4 @@ public interface AiKnowledgeDocumentService {
115 return convertMap(getKnowledgeDocumentList(ids), AiKnowledgeDocumentDO::getId); 115 return convertMap(getKnowledgeDocumentList(ids), AiKnowledgeDocumentDO::getId);
116 } 116 }
117 117
118 - /**  
119 - * 获取指定状态的文档列表  
120 - *  
121 - * @param status 状态  
122 - * @return 文档列表  
123 - */  
124 - List<AiKnowledgeDocumentDO> getKnowledgeDocumentListByStatus(Integer status);  
125 -  
126 } 118 }
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/knowledge/AiKnowledgeDocumentServiceImpl.java
@@ -7,7 +7,6 @@ import cn.hutool.http.HttpUtil; @@ -7,7 +7,6 @@ import cn.hutool.http.HttpUtil;
7 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; 7 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
8 import cn.iocoder.yudao.framework.common.pojo.PageResult; 8 import cn.iocoder.yudao.framework.common.pojo.PageResult;
9 import cn.iocoder.yudao.framework.common.util.object.BeanUtils; 9 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
10 -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;  
11 import cn.iocoder.yudao.module.ai.controller.admin.knowledge.vo.document.AiKnowledgeDocumentCreateListReqVO; 10 import cn.iocoder.yudao.module.ai.controller.admin.knowledge.vo.document.AiKnowledgeDocumentCreateListReqVO;
12 import cn.iocoder.yudao.module.ai.controller.admin.knowledge.vo.document.AiKnowledgeDocumentPageReqVO; 11 import cn.iocoder.yudao.module.ai.controller.admin.knowledge.vo.document.AiKnowledgeDocumentPageReqVO;
13 import cn.iocoder.yudao.module.ai.controller.admin.knowledge.vo.document.AiKnowledgeDocumentUpdateReqVO; 12 import cn.iocoder.yudao.module.ai.controller.admin.knowledge.vo.document.AiKnowledgeDocumentUpdateReqVO;
@@ -211,9 +210,4 @@ public class AiKnowledgeDocumentServiceImpl implements AiKnowledgeDocumentServic @@ -211,9 +210,4 @@ public class AiKnowledgeDocumentServiceImpl implements AiKnowledgeDocumentServic
211 return knowledgeDocumentMapper.selectByIds(ids); 210 return knowledgeDocumentMapper.selectByIds(ids);
212 } 211 }
213 212
214 - @Override  
215 - public List<AiKnowledgeDocumentDO> getKnowledgeDocumentListByStatus(Integer status) {  
216 - return knowledgeDocumentMapper.selectListByStatus(status);  
217 - }  
218 -  
219 } 213 }
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/knowledge/AiKnowledgeService.java
@@ -5,6 +5,8 @@ import cn.iocoder.yudao.module.ai.controller.admin.knowledge.vo.knowledge.AiKnow @@ -5,6 +5,8 @@ import cn.iocoder.yudao.module.ai.controller.admin.knowledge.vo.knowledge.AiKnow
5 import cn.iocoder.yudao.module.ai.controller.admin.knowledge.vo.knowledge.AiKnowledgeSaveReqVO; 5 import cn.iocoder.yudao.module.ai.controller.admin.knowledge.vo.knowledge.AiKnowledgeSaveReqVO;
6 import cn.iocoder.yudao.module.ai.dal.dataobject.knowledge.AiKnowledgeDO; 6 import cn.iocoder.yudao.module.ai.dal.dataobject.knowledge.AiKnowledgeDO;
7 7
  8 +import java.util.List;
  9 +
8 /** 10 /**
9 * AI 知识库-基础信息 Service 接口 11 * AI 知识库-基础信息 Service 接口
10 * 12 *
@@ -50,4 +52,12 @@ public interface AiKnowledgeService { @@ -50,4 +52,12 @@ public interface AiKnowledgeService {
50 */ 52 */
51 PageResult<AiKnowledgeDO> getKnowledgePage(AiKnowledgePageReqVO pageReqVO); 53 PageResult<AiKnowledgeDO> getKnowledgePage(AiKnowledgePageReqVO pageReqVO);
52 54
  55 + /**
  56 + * 获得指定状态的知识库列表
  57 + *
  58 + * @param status 状态
  59 + * @return 知识库列表
  60 + */
  61 + List<AiKnowledgeDO> getKnowledgeSimpleListByStatus(Integer status);
  62 +
53 } 63 }
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/knowledge/AiKnowledgeServiceImpl.java
@@ -12,6 +12,8 @@ import jakarta.annotation.Resource; @@ -12,6 +12,8 @@ import jakarta.annotation.Resource;
12 import lombok.extern.slf4j.Slf4j; 12 import lombok.extern.slf4j.Slf4j;
13 import org.springframework.stereotype.Service; 13 import org.springframework.stereotype.Service;
14 14
  15 +import java.util.List;
  16 +
15 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; 17 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
16 import static cn.iocoder.yudao.module.ai.enums.ErrorCodeConstants.KNOWLEDGE_NOT_EXISTS; 18 import static cn.iocoder.yudao.module.ai.enums.ErrorCodeConstants.KNOWLEDGE_NOT_EXISTS;
17 19
@@ -76,4 +78,9 @@ public class AiKnowledgeServiceImpl implements AiKnowledgeService { @@ -76,4 +78,9 @@ public class AiKnowledgeServiceImpl implements AiKnowledgeService {
76 return knowledgeMapper.selectPage(pageReqVO); 78 return knowledgeMapper.selectPage(pageReqVO);
77 } 79 }
78 80
  81 + @Override
  82 + public List<AiKnowledgeDO> getKnowledgeSimpleListByStatus(Integer status) {
  83 + return knowledgeMapper.selectListByStatus(status);
  84 + }
  85 +
79 } 86 }
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/model/AiChatRoleServiceImpl.java
@@ -5,14 +5,13 @@ import cn.hutool.core.util.ObjectUtil; @@ -5,14 +5,13 @@ import cn.hutool.core.util.ObjectUtil;
5 import cn.hutool.core.util.StrUtil; 5 import cn.hutool.core.util.StrUtil;
6 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; 6 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
7 import cn.iocoder.yudao.framework.common.pojo.PageResult; 7 import cn.iocoder.yudao.framework.common.pojo.PageResult;
8 -import cn.iocoder.yudao.framework.common.util.json.JsonUtils;  
9 import cn.iocoder.yudao.framework.common.util.object.BeanUtils; 8 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
10 import cn.iocoder.yudao.module.ai.controller.admin.model.vo.chatRole.AiChatRolePageReqVO; 9 import cn.iocoder.yudao.module.ai.controller.admin.model.vo.chatRole.AiChatRolePageReqVO;
11 import cn.iocoder.yudao.module.ai.controller.admin.model.vo.chatRole.AiChatRoleSaveMyReqVO; 10 import cn.iocoder.yudao.module.ai.controller.admin.model.vo.chatRole.AiChatRoleSaveMyReqVO;
12 import cn.iocoder.yudao.module.ai.controller.admin.model.vo.chatRole.AiChatRoleSaveReqVO; 11 import cn.iocoder.yudao.module.ai.controller.admin.model.vo.chatRole.AiChatRoleSaveReqVO;
13 import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatRoleDO; 12 import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatRoleDO;
14 import cn.iocoder.yudao.module.ai.dal.mysql.model.AiChatRoleMapper; 13 import cn.iocoder.yudao.module.ai.dal.mysql.model.AiChatRoleMapper;
15 -import cn.iocoder.yudao.module.ai.service.knowledge.AiKnowledgeDocumentService; 14 +import cn.iocoder.yudao.module.ai.service.knowledge.AiKnowledgeService;
16 import jakarta.annotation.Resource; 15 import jakarta.annotation.Resource;
17 import lombok.extern.slf4j.Slf4j; 16 import lombok.extern.slf4j.Slf4j;
18 import org.springframework.stereotype.Service; 17 import org.springframework.stereotype.Service;
@@ -23,7 +22,8 @@ import java.util.List; @@ -23,7 +22,8 @@ import java.util.List;
23 22
24 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; 23 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
25 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; 24 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
26 -import static cn.iocoder.yudao.module.ai.enums.ErrorCodeConstants.*; 25 +import static cn.iocoder.yudao.module.ai.enums.ErrorCodeConstants.CHAT_ROLE_DISABLE;
  26 +import static cn.iocoder.yudao.module.ai.enums.ErrorCodeConstants.CHAT_ROLE_NOT_EXISTS;
27 27
28 /** 28 /**
29 * AI 聊天角色 Service 实现类 29 * AI 聊天角色 Service 实现类
@@ -38,12 +38,12 @@ public class AiChatRoleServiceImpl implements AiChatRoleService { @@ -38,12 +38,12 @@ public class AiChatRoleServiceImpl implements AiChatRoleService {
38 private AiChatRoleMapper chatRoleMapper; 38 private AiChatRoleMapper chatRoleMapper;
39 39
40 @Resource 40 @Resource
41 - private AiKnowledgeDocumentService knowledgeDocumentService; 41 + private AiKnowledgeService knowledgeService;
42 42
43 @Override 43 @Override
44 public Long createChatRole(AiChatRoleSaveReqVO createReqVO) { 44 public Long createChatRole(AiChatRoleSaveReqVO createReqVO) {
45 // 校验文档 45 // 校验文档
46 - validateDocuments(createReqVO.getDocumentIds()); 46 + validateDocuments(createReqVO.getKnowledgeIds());
47 47
48 // 保存角色 48 // 保存角色
49 AiChatRoleDO chatRole = BeanUtils.toBean(createReqVO, AiChatRoleDO.class); 49 AiChatRoleDO chatRole = BeanUtils.toBean(createReqVO, AiChatRoleDO.class);
@@ -54,7 +54,7 @@ public class AiChatRoleServiceImpl implements AiChatRoleService { @@ -54,7 +54,7 @@ public class AiChatRoleServiceImpl implements AiChatRoleService {
54 @Override 54 @Override
55 public Long createChatRoleMy(AiChatRoleSaveMyReqVO createReqVO, Long userId) { 55 public Long createChatRoleMy(AiChatRoleSaveMyReqVO createReqVO, Long userId) {
56 // 校验文档 56 // 校验文档
57 - validateDocuments(createReqVO.getDocumentIds()); 57 + validateDocuments(createReqVO.getKnowledgeIds());
58 58
59 // 保存角色 59 // 保存角色
60 AiChatRoleDO chatRole = BeanUtils.toBean(createReqVO, AiChatRoleDO.class).setUserId(userId) 60 AiChatRoleDO chatRole = BeanUtils.toBean(createReqVO, AiChatRoleDO.class).setUserId(userId)
@@ -68,7 +68,7 @@ public class AiChatRoleServiceImpl implements AiChatRoleService { @@ -68,7 +68,7 @@ public class AiChatRoleServiceImpl implements AiChatRoleService {
68 // 校验存在 68 // 校验存在
69 validateChatRoleExists(updateReqVO.getId()); 69 validateChatRoleExists(updateReqVO.getId());
70 // 校验文档 70 // 校验文档
71 - validateDocuments(updateReqVO.getDocumentIds()); 71 + validateDocuments(updateReqVO.getKnowledgeIds());
72 72
73 // 更新角色 73 // 更新角色
74 AiChatRoleDO updateObj = BeanUtils.toBean(updateReqVO, AiChatRoleDO.class); 74 AiChatRoleDO updateObj = BeanUtils.toBean(updateReqVO, AiChatRoleDO.class);
@@ -83,7 +83,7 @@ public class AiChatRoleServiceImpl implements AiChatRoleService { @@ -83,7 +83,7 @@ public class AiChatRoleServiceImpl implements AiChatRoleService {
83 throw exception(CHAT_ROLE_NOT_EXISTS); 83 throw exception(CHAT_ROLE_NOT_EXISTS);
84 } 84 }
85 // 校验文档 85 // 校验文档
86 - validateDocuments(updateReqVO.getDocumentIds()); 86 + validateDocuments(updateReqVO.getKnowledgeIds());
87 87
88 // 更新 88 // 更新
89 AiChatRoleDO updateObj = BeanUtils.toBean(updateReqVO, AiChatRoleDO.class); 89 AiChatRoleDO updateObj = BeanUtils.toBean(updateReqVO, AiChatRoleDO.class);
@@ -91,16 +91,16 @@ public class AiChatRoleServiceImpl implements AiChatRoleService { @@ -91,16 +91,16 @@ public class AiChatRoleServiceImpl implements AiChatRoleService {
91 } 91 }
92 92
93 /** 93 /**
94 - * 校验文档是否存在 94 + * 校验知识库是否存在
95 * 95 *
96 - * @param documentIds 文档编号列表 96 + * @param knowledgeIds 知识库编号列表
97 */ 97 */
98 - private void validateDocuments(List<Long> documentIds) {  
99 - if (CollUtil.isEmpty(documentIds)) { 98 + private void validateDocuments(List<Long> knowledgeIds) {
  99 + if (CollUtil.isEmpty(knowledgeIds)) {
100 return; 100 return;
101 } 101 }
102 // 校验文档是否存在 102 // 校验文档是否存在
103 - documentIds.forEach(knowledgeDocumentService::validateKnowledgeDocumentExists); 103 + knowledgeIds.forEach(knowledgeService::validateKnowledgeExists);
104 } 104 }
105 105
106 @Override 106 @Override