|
|
package column
|
|
|
|
|
|
import "time"
|
|
|
|
|
|
// ColumnDto 专栏数据传输对象
|
|
|
type ColumnDto struct {
|
|
|
ID uint64 `json:"id"`
|
|
|
Title string `json:"title"` // 专栏标题
|
|
|
Brief string `json:"brief"` // 专栏简介
|
|
|
Cover string `json:"cover"` // 封面图片
|
|
|
AuthorID uint64 `json:"authorId"` // 作者ID
|
|
|
Status int8 `json:"status"` // 状态
|
|
|
ArticleNum int `json:"articleNum"` // 文章数量
|
|
|
FollowNum int `json:"followNum"` // 关注人数
|
|
|
PurchaseNum int `json:"purchaseNum"` // 购买人数
|
|
|
Unlock bool `json:"unlock"` //是否已经解锁
|
|
|
CreatedAt time.Time `json:"createdAt"` // 创建时间
|
|
|
}
|
|
|
|
|
|
// CreateColumnReq 创建专栏请求
|
|
|
type CreateColumnReq struct {
|
|
|
Title string `json:"title" binding:"required"` // 专栏标题
|
|
|
Brief string `json:"brief" binding:"required"` // 专栏简介
|
|
|
Cover string `json:"cover" binding:"required"` // 封面图片
|
|
|
AuthorID uint64 `json:"authorId" binding:"required"` // 作者ID
|
|
|
}
|
|
|
|
|
|
// UpdateColumnReq 更新专栏请求
|
|
|
type UpdateColumnReq struct {
|
|
|
ID uint64 `json:"id" binding:"required"` // 专栏ID
|
|
|
Title string `json:"title" binding:"required"` // 专栏标题
|
|
|
Brief string `json:"brief" binding:"required"` // 专栏简介
|
|
|
Cover string `json:"cover" binding:"required"` // 封面图片
|
|
|
}
|
|
|
|
|
|
// UpdateStatusReq 更新状态请求
|
|
|
type UpdateStatusReq struct {
|
|
|
ID uint64 `json:"id" binding:"required"` // 专栏ID
|
|
|
Status int8 `json:"status" binding:"required"` // 状态
|
|
|
}
|
|
|
|
|
|
// ColumnListReq 专栏列表请求
|
|
|
type ColumnListReq struct {
|
|
|
Page int `json:"page" binding:"required"` // 页码
|
|
|
PageSize int `json:"pageSize" binding:"required"` // 每页数量
|
|
|
AuthorID uint64 `json:"authorId"` // 作者ID,可选
|
|
|
}
|
|
|
|
|
|
// ColumnListResp 专栏列表响应
|
|
|
type ColumnListResp struct {
|
|
|
Total int64 `json:"total"` // 总数
|
|
|
List []*ColumnDto `json:"list"` // 列表数据
|
|
|
Page int `json:"page"` // 当前页码
|
|
|
PageSize int `json:"pageSize"` // 每页数量
|
|
|
}
|