Commit 3bb57edc85c48dcb6475ce7c7b98395a3682054b
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<AiKnowledgeDO> { | @@ -23,4 +25,8 @@ public interface AiKnowledgeMapper extends BaseMapperX<AiKnowledgeDO> { | ||
| 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 |