Files
assets/model/dto/asset/private_category_dto.go

138 lines
5.6 KiB
Go
Raw Normal View History

2026-03-18 10:18:03 +08:00
package dto
import (
"github.com/gogf/gf/v2/frame/g"
"go.mongodb.org/mongo-driver/v2/bson"
)
// GeneratePrivateCategoryTestDataReq 生成私域分类测试数据请求
type GeneratePrivateCategoryTestDataReq struct {
g.Meta `path:"/generateTestData" method:"post" tags:"私域分类管理" summary:"生成测试数据" dc:"生成私域分类测试数据"`
}
// CreatePrivateCategoryReq 创建私域分类请求
type CreatePrivateCategoryReq struct {
g.Meta `path:"/createPrivateCategory" method:"post" tags:"私域分类管理" summary:"创建私域分类" dc:"创建新的私域分类"`
Name string `json:"name" v:"required" dc:"分类名称"`
ParentID *bson.ObjectID `json:"parentId" dc:"父分类ID为空表示根分类"`
Path string `json:"path" dc:"分类路径,如:/root/parent"`
Level int `json:"level" dc:"分类层级"`
IsLeafNode bool `json:"isLeafNode" dc:"是否叶子节点"`
Sort int `json:"sort" dc:"排序"`
Image string `json:"image" dc:"分类图片"`
}
// CreatePrivateCategoryRes 创建私域分类响应
type CreatePrivateCategoryRes struct {
ID *bson.ObjectID `json:"id"` // 分类ID
}
// BatchCreatePrivateCategoryReq 批量创建私域分类请求
type BatchCreatePrivateCategoryReq struct {
g.Meta `path:"/batchCreatePrivateCategory" method:"post" tags:"私域分类管理" summary:"批量创建私域分类" dc:"批量创建私域分类"`
Categories []CreatePrivateCategoryReq `json:"categories" v:"required" dc:"分类列表"`
}
// BatchCreatePrivateCategoryRes 批量创建私域分类响应
type BatchCreatePrivateCategoryRes struct {
IDs []*bson.ObjectID `json:"ids"` // 创建的ID列表
}
// UpdatePrivateCategoryReq 更新私域分类请求
type UpdatePrivateCategoryReq struct {
g.Meta `path:"/updatePrivateCategory" method:"put" tags:"私域分类管理" summary:"更新私域分类" dc:"更新私域分类信息"`
ID *bson.ObjectID `json:"id" v:"required" dc:"分类ID"`
Name string `json:"name" dc:"分类名称"`
ParentID string `json:"parentId" dc:"父分类ID"`
Path string `json:"path" dc:"分类路径"`
Level int `json:"level" dc:"分类层级"`
IsLeafNode *bool `json:"isLeafNode" dc:"是否叶子节点"`
Sort int `json:"sort" dc:"排序"`
Image string `json:"image" dc:"分类图片"`
}
// DeletePrivateCategoryReq 删除私域分类请求
type DeletePrivateCategoryReq struct {
g.Meta `path:"/deletePrivateCategory" method:"delete" tags:"私域分类管理" summary:"删除私域分类" dc:"删除私域分类"`
ID *bson.ObjectID `json:"id" v:"required" dc:"分类ID"`
}
// GetPrivateCategoryReq 获取私域分类详情请求
type GetPrivateCategoryReq struct {
g.Meta `path:"/getPrivateCategory" method:"get" tags:"私域分类管理" summary:"获取私域分类详情" dc:"获取私域分类详情"`
ID *bson.ObjectID `json:"id" v:"required" dc:"分类ID"`
}
// GetPrivateCategoryRes 获取私域分类详情响应
type GetPrivateCategoryRes struct {
ID *bson.ObjectID `json:"id"`
Name string `json:"name"`
ParentID string `json:"parentId"`
Path string `json:"path"`
Level int `json:"level"`
IsLeafNode bool `json:"isLeafNode"`
Sort int `json:"sort"`
Image string `json:"image"`
CreatedAt string `json:"createdAt"`
UpdatedAt string `json:"updatedAt"`
}
// ListPrivateCategoryReq 获取私域分类列表请求
type ListPrivateCategoryReq struct {
g.Meta `path:"/listPrivateCategory" method:"get" tags:"私域分类管理" summary:"获取私域分类列表" dc:"分页查询私域分类列表"`
Name string `json:"name" dc:"分类名称(模糊查询)"`
ParentID string `json:"parentId" dc:"父分类ID"`
Level int `json:"level" dc:"分类层级"`
IsLeafNode *bool `json:"isLeafNode" dc:"是否叶子节点"`
PageNum int `json:"pageNum" dc:"页码"`
PageSize int `json:"pageSize" dc:"每页大小"`
}
// ListPrivateCategoryRes 获取私域分类列表响应
type ListPrivateCategoryRes struct {
List []*PrivateCategoryListItem `json:"list" dc:"分类列表"`
Total int64 `json:"total" dc:"总数"`
}
// PrivateCategoryListItem 私域分类列表项
type PrivateCategoryListItem struct {
ID *bson.ObjectID `json:"id"`
Name string `json:"name"`
ParentID string `json:"parentId"`
Path string `json:"path"`
Level int `json:"level"`
IsLeafNode bool `json:"isLeafNode"`
Sort int `json:"sort"`
Image string `json:"image"`
CreatedAt string `json:"createdAt"`
UpdatedAt string `json:"updatedAt"`
}
// GetPrivateCategoryTreeReq 获取私域分类树请求
type GetPrivateCategoryTreeReq struct {
g.Meta `path:"/getPrivateCategoryTree" method:"get" tags:"私域分类管理" summary:"获取私域分类树" dc:"获取私域分类树"`
}
// GetPrivateCategoryTreeRes 获取私域分类树响应
type GetPrivateCategoryTreeRes struct {
Tree []*PrivateCategoryTreeItem `json:"tree" dc:"分类树"`
}
// PrivateCategoryTreeItem 私域分类树项
type PrivateCategoryTreeItem struct {
ID *bson.ObjectID `json:"id"`
Name string `json:"name"`
ParentID string `json:"parentId"`
Path string `json:"path"`
Level int `json:"level"`
IsLeafNode bool `json:"isLeafNode"`
Sort int `json:"sort"`
Image string `json:"image"`
}