|
@@ -3,17 +3,17 @@ package cn.iocoder.yudao.module.ai.service.impl;
|
|
|
import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil;
|
|
|
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
|
|
import cn.iocoder.yudao.module.ai.ErrorCodeConstants;
|
|
|
-import cn.iocoder.yudao.module.ai.convert.ChatConversationConvert;
|
|
|
+import cn.iocoder.yudao.module.ai.convert.AiChatConversationConvert;
|
|
|
import cn.iocoder.yudao.module.ai.dal.dataobject.AiChatConversationDO;
|
|
|
import cn.iocoder.yudao.module.ai.dal.dataobject.AiChatRoleDO;
|
|
|
-import cn.iocoder.yudao.module.ai.enums.ChatConversationTypeEnum;
|
|
|
+import cn.iocoder.yudao.module.ai.enums.AiChatConversationTypeEnum;
|
|
|
import cn.iocoder.yudao.module.ai.mapper.AiChatConversationMapper;
|
|
|
import cn.iocoder.yudao.module.ai.mapper.AiChatRoleMapper;
|
|
|
-import cn.iocoder.yudao.module.ai.service.ChatConversationService;
|
|
|
-import cn.iocoder.yudao.module.ai.vo.ChatConversationCreateRoleReq;
|
|
|
-import cn.iocoder.yudao.module.ai.vo.ChatConversationCreateUserReq;
|
|
|
-import cn.iocoder.yudao.module.ai.vo.ChatConversationListReq;
|
|
|
-import cn.iocoder.yudao.module.ai.vo.ChatConversationRes;
|
|
|
+import cn.iocoder.yudao.module.ai.service.AiChatConversationService;
|
|
|
+import cn.iocoder.yudao.module.ai.vo.AiChatConversationCreateRoleReq;
|
|
|
+import cn.iocoder.yudao.module.ai.vo.AiChatConversationCreateUserReq;
|
|
|
+import cn.iocoder.yudao.module.ai.vo.AiChatConversationListReq;
|
|
|
+import cn.iocoder.yudao.module.ai.vo.AiChatConversationRes;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.jetbrains.annotations.NotNull;
|
|
@@ -30,51 +30,51 @@ import java.util.List;
|
|
|
@Service
|
|
|
@Slf4j
|
|
|
@AllArgsConstructor
|
|
|
-public class ChatConversationServiceImpl implements ChatConversationService {
|
|
|
+public class AiChatConversationServiceImpl implements AiChatConversationService {
|
|
|
|
|
|
private final AiChatRoleMapper aiChatRoleMapper;
|
|
|
private final AiChatConversationMapper aiChatConversationMapper;
|
|
|
|
|
|
@Override
|
|
|
- public ChatConversationRes createConversation(ChatConversationCreateUserReq req) {
|
|
|
+ public AiChatConversationRes createConversation(AiChatConversationCreateUserReq req) {
|
|
|
// 获取用户id
|
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
// 查询最新的对话
|
|
|
AiChatConversationDO latestConversation = aiChatConversationMapper.selectLatestConversation(loginUserId);
|
|
|
// 如果有对话没有被使用过,那就返回这个
|
|
|
if (latestConversation != null && latestConversation.getChatCount() <= 0) {
|
|
|
- return ChatConversationConvert.INSTANCE.covnertChatConversationRes(latestConversation);
|
|
|
+ return AiChatConversationConvert.INSTANCE.covnertChatConversationRes(latestConversation);
|
|
|
}
|
|
|
// 创建新的 Conversation
|
|
|
AiChatConversationDO insertConversation = saveConversation(req.getTitle(), loginUserId,
|
|
|
- null, null, ChatConversationTypeEnum.USER_CHAT);
|
|
|
+ null, null, AiChatConversationTypeEnum.USER_CHAT);
|
|
|
// 转换 res
|
|
|
- return ChatConversationConvert.INSTANCE.covnertChatConversationRes(insertConversation);
|
|
|
+ return AiChatConversationConvert.INSTANCE.covnertChatConversationRes(insertConversation);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public ChatConversationRes createRoleConversation(ChatConversationCreateRoleReq req) {
|
|
|
+ public AiChatConversationRes createRoleConversation(AiChatConversationCreateRoleReq req) {
|
|
|
// 获取用户id
|
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
// 查询最新的对话
|
|
|
AiChatConversationDO latestConversation = aiChatConversationMapper.selectLatestConversation(loginUserId);
|
|
|
// 如果有对话没有被使用过,那就返回这个
|
|
|
if (latestConversation != null && latestConversation.getChatCount() <= 0) {
|
|
|
- return ChatConversationConvert.INSTANCE.covnertChatConversationRes(latestConversation);
|
|
|
+ return AiChatConversationConvert.INSTANCE.covnertChatConversationRes(latestConversation);
|
|
|
}
|
|
|
AiChatRoleDO aiChatRoleDO = aiChatRoleMapper.selectById(req.getChatRoleId());
|
|
|
// 创建新的 Conversation
|
|
|
AiChatConversationDO insertConversation = saveConversation(req.getTitle(), loginUserId,
|
|
|
- req.getChatRoleId(), aiChatRoleDO.getRoleName(), ChatConversationTypeEnum.ROLE_CHAT);
|
|
|
+ req.getChatRoleId(), aiChatRoleDO.getRoleName(), AiChatConversationTypeEnum.ROLE_CHAT);
|
|
|
// 转换 res
|
|
|
- return ChatConversationConvert.INSTANCE.covnertChatConversationRes(insertConversation);
|
|
|
+ return AiChatConversationConvert.INSTANCE.covnertChatConversationRes(insertConversation);
|
|
|
}
|
|
|
|
|
|
private @NotNull AiChatConversationDO saveConversation(String title,
|
|
|
Long userId,
|
|
|
Long chatRoleId,
|
|
|
String chatRoleName,
|
|
|
- ChatConversationTypeEnum typeEnum) {
|
|
|
+ AiChatConversationTypeEnum typeEnum) {
|
|
|
AiChatConversationDO insertConversation = new AiChatConversationDO();
|
|
|
insertConversation.setId(null);
|
|
|
insertConversation.setUserId(userId);
|
|
@@ -88,22 +88,22 @@ public class ChatConversationServiceImpl implements ChatConversationService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public ChatConversationRes getConversation(Long id) {
|
|
|
+ public AiChatConversationRes getConversation(Long id) {
|
|
|
AiChatConversationDO aiChatConversationDO = aiChatConversationMapper.selectById(id);
|
|
|
if (aiChatConversationDO == null) {
|
|
|
throw ServiceExceptionUtil.exception(ErrorCodeConstants.AI_CHAT_CONTINUE_NOT_EXIST);
|
|
|
}
|
|
|
- return ChatConversationConvert.INSTANCE.covnertChatConversationRes(aiChatConversationDO);
|
|
|
+ return AiChatConversationConvert.INSTANCE.covnertChatConversationRes(aiChatConversationDO);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<ChatConversationRes> listConversation(ChatConversationListReq req) {
|
|
|
+ public List<AiChatConversationRes> listConversation(AiChatConversationListReq req) {
|
|
|
// 获取用户id
|
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
// 查询前100对话
|
|
|
List<AiChatConversationDO> top100Conversation
|
|
|
= aiChatConversationMapper.selectTop100Conversation(loginUserId, req.getSearch());
|
|
|
- return ChatConversationConvert.INSTANCE.covnertChatConversationResList(top100Conversation);
|
|
|
+ return AiChatConversationConvert.INSTANCE.covnertChatConversationResList(top100Conversation);
|
|
|
}
|
|
|
|
|
|
@Override
|