36 lines
2.0 KiB
Go
36 lines
2.0 KiB
Go
package interfaces
|
|
|
|
import (
|
|
"github.com/Nanqipro/YunQue-Tech-Projects/ai_english_learning/serve/internal/common"
|
|
"github.com/Nanqipro/YunQue-Tech-Projects/ai_english_learning/serve/internal/models"
|
|
)
|
|
|
|
// VocabularyServiceInterface 定义词汇服务接口,需与 VocabularyService 保持一致
|
|
type VocabularyServiceInterface interface {
|
|
// 分类管理
|
|
GetCategories(page, pageSize int, level string) (*common.PaginationData, error)
|
|
CreateCategory(name, description, level string) (*models.VocabularyCategory, error)
|
|
UpdateCategory(categoryID string, updates map[string]interface{}) (*models.VocabularyCategory, error)
|
|
DeleteCategory(categoryID string) error
|
|
|
|
// 词汇管理
|
|
GetVocabulariesByCategory(categoryID string, page, pageSize int, level string) (*common.PaginationData, error)
|
|
GetVocabularyByID(vocabularyID string) (*models.Vocabulary, error)
|
|
CreateVocabulary(word, phonetic, level string, frequency int, categoryID string, definitions, examples, images []string) (*models.Vocabulary, error)
|
|
UpdateVocabulary(id string, vocabulary *models.Vocabulary) error
|
|
DeleteVocabulary(id string) error
|
|
|
|
// 学习进度与统计
|
|
GetUserVocabularyProgress(userID int64, vocabularyID string) (*models.UserVocabularyProgress, error)
|
|
UpdateUserVocabularyProgress(userID int64, vocabularyID string, updates map[string]interface{}) (*models.UserVocabularyProgress, error)
|
|
GetUserVocabularyStats(userID int64) (map[string]interface{}, error)
|
|
|
|
// 测试相关
|
|
GetVocabularyTest(testID string) (*models.VocabularyTest, error)
|
|
CreateVocabularyTest(userID int64, testType, level string, totalWords int) (*models.VocabularyTest, error)
|
|
UpdateVocabularyTestResult(testID string, correctWords int, score float64, duration int) error
|
|
|
|
// 搜索与每日统计
|
|
SearchVocabularies(keyword string, level string, page, pageSize int) (*common.PaginationData, error)
|
|
GetDailyStats(userID string) (map[string]interface{}, error)
|
|
} |