feat(database): add CRUD operations for parsed sessions and update session name functionality

This commit is contained in:
kever
2026-02-16 00:39:24 +08:00
parent 41814a2bc8
commit f0a26e31f9
18 changed files with 1119 additions and 1573 deletions

View File

@@ -45,6 +45,44 @@ func (s *DatabaseService) GetLatestParsedDataFromDatabase() (string, string, err
return itemsJSON, heroesJSON, nil
}
// GetParsedSessions 从数据库获取所有解析会话
func (s *DatabaseService) GetParsedSessions() ([]model.ParsedSession, error) {
sessions, err := s.db.GetParsedSessions()
if err != nil {
s.logger.Error("从数据库获取解析会话失败", "error", err)
return nil, fmt.Errorf("获取解析会话失败: %w", err)
}
return sessions, nil
}
// GetParsedDataByID 从数据库获取指定会话数据
func (s *DatabaseService) GetParsedDataByID(id int64) (string, string, error) {
itemsJSON, heroesJSON, err := s.db.GetParsedDataByID(id)
if err != nil {
s.logger.Error("从数据库获取解析数据失败", "error", err, "id", id)
return "", "", fmt.Errorf("获取解析数据失败: %w", err)
}
return itemsJSON, heroesJSON, nil
}
// UpdateParsedSessionName 更新解析会话名称
func (s *DatabaseService) UpdateParsedSessionName(id int64, name string) error {
if err := s.db.UpdateParsedSessionName(id, name); err != nil {
s.logger.Error("更新解析会话名称失败", "error", err, "id", id)
return fmt.Errorf("更新解析会话名称失败: %w", err)
}
return nil
}
// DeleteParsedSession 删除解析会话
func (s *DatabaseService) DeleteParsedSession(id int64) error {
if err := s.db.DeleteParsedSession(id); err != nil {
s.logger.Error("删除解析会话失败", "error", err, "id", id)
return fmt.Errorf("删除解析会话失败: %w", err)
}
return nil
}
// SaveAppSetting 保存应用设置
func (s *DatabaseService) SaveAppSetting(key, value string) error {
err := s.db.SaveSetting(key, value)
@@ -78,5 +116,3 @@ func (s *DatabaseService) GetAllAppSettings() (map[string]string, error) {
return settings, nil
}