23 lines
1.4 KiB
Go
23 lines
1.4 KiB
Go
package interfaces
|
|
|
|
import "github.com/Nanqipro/YunQue-Tech-Projects/ai_english_learning/serve/internal/models"
|
|
|
|
// WritingServiceInterface 定义写作服务接口
|
|
// 包含 WritingService 的所有方法
|
|
type WritingServiceInterface interface {
|
|
GetWritingPrompts(level string, category string, page int, pageSize int) ([]models.WritingPrompt, error)
|
|
GetWritingPrompt(id string) (*models.WritingPrompt, error)
|
|
CreateWritingPrompt(prompt *models.WritingPrompt) error
|
|
UpdateWritingPrompt(id string, prompt *models.WritingPrompt) error
|
|
DeleteWritingPrompt(id string) error
|
|
SearchWritingPrompts(keyword string, level string, category string, page int, pageSize int) ([]models.WritingPrompt, error)
|
|
GetRecommendedPrompts(userID string) ([]models.WritingPrompt, error)
|
|
CreateWritingSubmission(submission *models.WritingSubmission) error
|
|
UpdateWritingSubmission(id string, submission *models.WritingSubmission) error
|
|
GetWritingSubmission(id string) (*models.WritingSubmission, error)
|
|
GetUserWritingSubmissions(userID string, page int, pageSize int) ([]models.WritingSubmission, error)
|
|
SubmitWriting(submission *models.WritingSubmission) error
|
|
GradeWriting(submissionID string, score float64, grammarScore float64, vocabularyScore float64, coherenceScore float64, feedback string, suggestions string) error
|
|
GetUserWritingStats(userID string) (map[string]interface{}, error)
|
|
GetWritingProgress(userID string, promptID string) (*models.WritingSubmission, error)
|
|
} |