fix: 完成系统向智能体数据链路切换
- 切换工作台、聊天历史、资源候选与公共调用到 Agent - 加固资源绑定、删除保护及发布运行并发控制 - 隔离旧 Bot 专属服务和组件并保留兼容入口
This commit is contained in:
@@ -21,7 +21,7 @@ import java.math.BigInteger;
|
||||
@Service
|
||||
public class ChatHistoryManageServiceImpl implements ChatHistoryManageService {
|
||||
|
||||
private static final String ADMIN_ASSISTANT_CODE = "AGENT";
|
||||
private static final String AGENT_ASSISTANT_CODE = "AGENT";
|
||||
|
||||
private final ChatSessionQueryService chatSessionQueryService;
|
||||
private final ChatSessionCommandService chatSessionCommandService;
|
||||
@@ -43,24 +43,26 @@ public class ChatHistoryManageServiceImpl implements ChatHistoryManageService {
|
||||
|
||||
@Override
|
||||
public ChatSessionPage queryUserSessions(BigInteger userId, BigInteger assistantId, ChatPageQuery query) {
|
||||
return chatSessionQueryService.pageSessions(userId, assistantId, query);
|
||||
return chatSessionQueryService.pageSessions(userId, assistantId, AGENT_ASSISTANT_CODE, query);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ChatSessionPage queryAdminSessions(ChatSessionFilterQuery query) {
|
||||
ChatSessionFilterQuery effectiveQuery = query == null ? new ChatSessionFilterQuery() : query;
|
||||
// 管理端聊天历史已经切换为 Agent 专属入口,类型由服务端固定,避免客户端绕过。
|
||||
effectiveQuery.setAssistantCode(ADMIN_ASSISTANT_CODE);
|
||||
effectiveQuery.setAssistantCode(AGENT_ASSISTANT_CODE);
|
||||
return chatAnalyticalDBRepository.pageSessions(effectiveQuery);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ChatSessionSummary getUserSession(BigInteger userId, BigInteger sessionId) {
|
||||
ChatSessionSummary summary = chatSessionQueryService.getSessionSummary(sessionId);
|
||||
if (summary == null || summary.getIsDeleted() != null && summary.getIsDeleted() == 1) {
|
||||
throw new BusinessException("会话不存在");
|
||||
if (summary == null
|
||||
|| Integer.valueOf(1).equals(summary.getIsDeleted())
|
||||
|| !AGENT_ASSISTANT_CODE.equals(summary.getAssistantCode())) {
|
||||
throw new BusinessException("Agent 会话不存在");
|
||||
}
|
||||
if (!summary.getUserId().equals(userId)) {
|
||||
if (summary.getUserId() == null || !summary.getUserId().equals(userId)) {
|
||||
throw new BusinessException("无权访问该会话");
|
||||
}
|
||||
return summary;
|
||||
@@ -71,7 +73,7 @@ public class ChatHistoryManageServiceImpl implements ChatHistoryManageService {
|
||||
ChatSessionSummary summary = chatAnalyticalDBRepository.getSession(sessionId);
|
||||
if (summary == null
|
||||
|| Integer.valueOf(1).equals(summary.getIsDeleted())
|
||||
|| !ADMIN_ASSISTANT_CODE.equals(summary.getAssistantCode())) {
|
||||
|| !AGENT_ASSISTANT_CODE.equals(summary.getAssistantCode())) {
|
||||
throw new BusinessException("Agent 会话不存在");
|
||||
}
|
||||
return summary;
|
||||
|
||||
Reference in New Issue
Block a user