🎨 新增获取已购课程接口&

This commit is contained in:
2025-08-09 08:33:28 +08:00
parent 82c6003b4a
commit e4bfdc31da
4 changed files with 63 additions and 3 deletions

View File

@@ -141,3 +141,36 @@ func (s ArticleService) GetMyArticleList(req request.GetList) (list []article.Ar
err = db.Limit(limit).Offset(offset).Find(&list).Error
return list, total, err
}
func (s ArticleService) GetBuyList(p request.GetList) (articles []article.Article, total int64, err error) {
buyIds := make([]int, 0)
// 获取用户购买的文章ID列表
err = global.GVA_DB.Model(&app.Order{}).Where("user_id = ? AND status = 2", p.UserId).Select("article_id").Find(&buyIds).Error
if err != nil {
global.GVA_LOG.Error("查询用户购买记录失败", zap.Error(err))
return nil, 0, err
}
if len(buyIds) == 0 {
// 如果没有购买记录,直接返回空列表
return []article.Article{}, 0, nil
}
db := global.GVA_DB.Model(&article.Article{}).Where("id IN ?", buyIds)
if p.Title != "" {
db = db.Where("title LIKE ?", "%"+p.Title+"%")
}
err = db.Count(&total).Error
if err != nil {
global.GVA_LOG.Error("查询购买文章总数失败", zap.Error(err))
return nil, 0, err
}
err = db.Limit(p.PageSize).Offset(p.PageSize * (p.Page - 1)).Find(&articles).Error
if err != nil {
global.GVA_LOG.Error("查询购买文章列表失败", zap.Error(err))
return nil, 0, err
}
return articles, total, nil
}