refactor(model): 重构数据模型结构

- 将 Word 和 MemoryRecord 结构体拆分为独立文件
- 创建 request 包用于存放请求结构体
- 创建 response 包用于存放响应结构体
- 将 YoudaoResponse 移至独立模型文件
- 更新服务层接口参数类型为新的请求响应结构体
- 修改处理器层导入路径以使用新包结构
This commit is contained in:
2026-02-26 14:44:40 +08:00
parent e5a245155a
commit c7003c1210
8 changed files with 102 additions and 96 deletions

View File

@@ -15,6 +15,8 @@ import (
"memora-api/internal/config"
"memora-api/internal/model"
"memora-api/internal/request"
"memora-api/internal/response"
"gorm.io/gorm"
)
@@ -359,7 +361,7 @@ func containsAny(def string, ans string) bool {
}
// 提交复习答案
func (s *WordService) SubmitReviewAnswer(req model.ReviewAnswerRequest) (*model.ReviewResult, error) {
func (s *WordService) SubmitReviewAnswer(req request.ReviewAnswerRequest) (*response.ReviewResult, error) {
var record model.MemoryRecord
if err := s.db.Preload("Word").Where("id = ?", req.RecordID).First(&record).Error; err != nil {
return nil, err
@@ -387,7 +389,7 @@ func (s *WordService) SubmitReviewAnswer(req model.ReviewAnswerRequest) (*model.
// 更新记忆记录
s.updateMemoryRecord(record.WordID, correct)
return &model.ReviewResult{
return &response.ReviewResult{
Word: word,
Correct: correct,
Answer: req.Answer,
@@ -422,9 +424,9 @@ func (s *WordService) GetStatistics() (map[string]interface{}, error) {
s.db.Model(&model.MemoryRecord{}).Where("last_reviewed_at >= ?", time.Now().Format("2006-01-02")).Count(&todayReviewed)
return map[string]interface{}{
"total_words": totalWords,
"mastered_words": masteredWords,
"need_review": needReview,
"today_reviewed": todayReviewed,
"total_words": totalWords,
"mastered_words": masteredWords,
"need_review": needReview,
"today_reviewed": todayReviewed,
}, nil
}