You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
2.1 KiB
Go

3 weeks ago
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"` // 每页数量
}