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

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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