63 lines
2.0 KiB
Go
63 lines
2.0 KiB
Go
package controller
|
|
|
|
import (
|
|
"context"
|
|
|
|
"easygoadmin/api/v1"
|
|
"easygoadmin/internal/service"
|
|
)
|
|
|
|
// ============================== 文章控制器 ==============================
|
|
|
|
// CArticle 文章控制器
|
|
// 薄层控制器,仅负责参数透传,业务逻辑由 service.Article() 处理
|
|
type CArticle struct{}
|
|
|
|
// Page 文章分页
|
|
// 按查询条件分页返回文章列表
|
|
func (c *CArticle) Page(ctx context.Context, req *v1.ArticlePageReq) (res *v1.ArticlePageRes, err error) {
|
|
return service.Article().Page(ctx, req)
|
|
}
|
|
|
|
// List 文章列表
|
|
// 返回符合条件的文章精简列表,供下拉或最新展示使用
|
|
func (c *CArticle) List(ctx context.Context, req *v1.ArticleListReq) (res v1.ArticleListRes, err error) {
|
|
return service.Article().List(ctx, req)
|
|
}
|
|
|
|
// Detail 文章详情
|
|
// 按文章ID查询详情
|
|
func (c *CArticle) Detail(ctx context.Context, req *v1.ArticleDetailReq) (res *v1.ArticleDetailRes, err error) {
|
|
return service.Article().Detail(ctx, req)
|
|
}
|
|
|
|
// Add 新增文章
|
|
// 新增成功后返回新记录ID
|
|
func (c *CArticle) Add(ctx context.Context, req *v1.ArticleAddReq) (res *v1.IdRes, err error) {
|
|
return service.Article().Add(ctx, req)
|
|
}
|
|
|
|
// Update 修改文章
|
|
// 按文章ID更新记录
|
|
func (c *CArticle) Update(ctx context.Context, req *v1.ArticleUpdateReq) (res *v1.ArticleUpdateRes, err error) {
|
|
return service.Article().Update(ctx, req)
|
|
}
|
|
|
|
// Status 文章状态
|
|
// 设置文章的草稿或发布状态
|
|
func (c *CArticle) Status(ctx context.Context, req *v1.ArticleStatusReq) (res *v1.ArticleStatusRes, err error) {
|
|
return service.Article().Status(ctx, req)
|
|
}
|
|
|
|
// Delete 删除文章
|
|
// 按文章ID删除单条记录
|
|
func (c *CArticle) Delete(ctx context.Context, req *v1.ArticleDeleteReq) (res *v1.ArticleDeleteRes, err error) {
|
|
return service.Article().Delete(ctx, req)
|
|
}
|
|
|
|
// BatchDelete 批量删除文章
|
|
// 按文章ID列表批量删除记录
|
|
func (c *CArticle) BatchDelete(ctx context.Context, req *v1.ArticleBatchDeleteReq) (res *v1.ArticleBatchDeleteRes, err error) {
|
|
return service.Article().BatchDelete(ctx, req)
|
|
}
|