feat: 增强会话管理和 Agent 服务

- 优化 session_handler 会话处理逻辑
- 增强 agent_service Agent 服务功能
- 新增 chat_repository 仓储方法
- 更新 agent_handler 和 chat_group_handler
- 更新数据模型 agent 和 chat_session

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-15 19:49:27 +08:00
parent bce8b9240b
commit 31f0feafb5
8 changed files with 146 additions and 30 deletions

View File

@@ -56,6 +56,21 @@ func (r *ChatRepository) DeleteSession(id string) error {
return r.db.Delete(&model.ChatSession{}, "id = ?", id).Error
}
// DeleteSessionsByAgentID 删除智能体的所有会话
func (r *ChatRepository) DeleteSessionsByAgentID(agentID string) error {
// 先查询该智能体的所有会话
var sessions []model.ChatSession
if err := r.db.Where("agent_id = ?", agentID).Find(&sessions).Error; err != nil {
return err
}
// 删除每个会话下的所有消息
for _, session := range sessions {
r.db.Where("session_id = ?", session.ID).Delete(&model.ChatMessage{})
}
// 再删除所有会话
return r.db.Where("agent_id = ?", agentID).Delete(&model.ChatSession{}).Error
}
// Message CRUD
// CreateMessage 创建消息