Files
zt-closet-backend/internal/dto/closet.go
T
2026-09-11 01:41:52 +08:00

53 lines
2.2 KiB
Go

package dto
// ClosetShareCreateRequest 创建衣柜分享
type ClosetShareCreateRequest struct {
ShareType int8 `json:"share_type" binding:"required,oneof=1 2"` // 1=部分衣物分享 2=全量快照分享
ClothesUUIDs []string `json:"clothes_uuids"` // 部分分享时必填(service校验)
ExpireTime int64 `json:"expire_time"` // 过期时间
}
// ClosetShareCreateResponse 创建分享响应
type ClosetShareCreateResponse struct {
ShareUUID string `json:"share_uuid"`
}
// ClosetShareDetailResponse 分享详情(访客视角)
type ClosetShareDetailResponse struct {
ShareUUID string `json:"share_uuid"`
OwnerName string `json:"owner_name"`
OwnerAvatar string `json:"owner_avatar"`
Clothes []ClothesGetByUUIDResponse `json:"clothes"`
ExpireTime int64 `json:"expire_time"`
Status int8 `json:"status"` // 1=正常 2=已取消 3=已过期 4=已封禁
IsOwner bool `json:"is_owner"`
}
// ClosetShareItemResponse 分享列表项
type ClosetShareItemResponse struct {
ShareUUID string `json:"share_uuid"` // 分享UUID
ShareType int8 `json:"share_type"` // 分享类型 1=部分衣物分享 2=全量快照分享
ClothesCount int `json:"clothes_count"` // 衣物数量
ExpireTime int64 `json:"expire_time"` // 过期时间
Status int8 `json:"status"` // 1=正常 2=已取消 3=已过期 4=已封禁
OwnerName string `json:"owner_name"` // 分享者昵称("分享给我的"列表返回)
OwnerAvatar string `json:"owner_avatar"` // 分享者头像("分享给我的"列表返回)
}
// ShareListRequest 我的分享列表
type ClosetShareListRequest struct {
PageRequest
Status int8 `form:"status" json:"status"` // 状态 1=正常 2=已取消 3=已过期 4=已封禁
}
// ShareListResponse 我的分享列表
type ShareListResponse struct {
PageResponse
List []ClosetShareItemResponse `json:"list"`
}
// ClosetShareCancelRequest 取消分享
type ClosetShareCancelRequest struct {
ShareUUID string `json:"share_uuid" binding:"required"`
}