128 lines
4.4 KiB
Go
128 lines
4.4 KiB
Go
package dto
|
|
|
|
// OutfitListRequest 穿搭列表请求。
|
|
type OutfitListRequest struct {
|
|
PageRequest
|
|
UserID int64 `form:"user_id"`
|
|
IsPublic int8 `form:"is_public" binding:"omitempty,oneof=1 2"`
|
|
AuditStatus int8 `form:"audit_status" binding:"omitempty,oneof=1 2 3"`
|
|
Status int8 `form:"status" binding:"omitempty,oneof=1 2 3"`
|
|
Keyword string `form:"keyword"`
|
|
}
|
|
|
|
// OutfitListItem 穿搭列表项。
|
|
type OutfitListItem struct {
|
|
ID int64 `json:"id"`
|
|
OutfitUUID string `json:"outfit_uuid"`
|
|
UserID int64 `json:"user_id"`
|
|
OutfitName string `json:"outfit_name"`
|
|
OutfitDesc string `json:"outfit_desc"`
|
|
Scene string `json:"scene"`
|
|
Source int8 `json:"source"` // 1=用户创建 2=AI 推荐
|
|
IsPublic int8 `json:"is_public"` // 1=不公开 2=公开
|
|
AuditStatus int8 `json:"audit_status"` // 1=待审核 2=审核通过 3=审核不通过
|
|
Status int8 `json:"status"` // 1=正常 2=封禁 3=待用户保存
|
|
CreatedAt int64 `json:"created_at"`
|
|
}
|
|
|
|
// OutfitListResponse 穿搭列表响应。
|
|
type OutfitListResponse struct {
|
|
PageResponse
|
|
List []OutfitListItem `json:"list"`
|
|
}
|
|
|
|
// OutfitClothesItem 穿搭衣物明细项。
|
|
type OutfitClothesItem struct {
|
|
ClothesUUID string `json:"clothes_uuid"`
|
|
Name string `json:"name"`
|
|
CategoryMain string `json:"category_main"`
|
|
CategorySub string `json:"category_sub"`
|
|
ProcessedImage string `json:"processed_image"`
|
|
ImageProcessStatus int8 `json:"image_process_status"`
|
|
}
|
|
|
|
// OutfitDetailResponse 穿搭详情响应。
|
|
type OutfitDetailResponse struct {
|
|
OutfitListItem
|
|
Items []OutfitClothesItem `json:"items"`
|
|
}
|
|
|
|
// OutfitAuditRequest 穿搭审核请求。
|
|
type OutfitAuditRequest struct {
|
|
Result int8 `json:"result" binding:"required,oneof=1 2"` // 1=通过 2=驳回
|
|
Reason string `json:"reason" binding:"omitempty,max=200"` // 驳回原因(result=2 时建议填写)
|
|
}
|
|
|
|
// OutfitBanRequest 穿搭封禁/解封请求。
|
|
type OutfitBanRequest struct {
|
|
Reason string `json:"reason" binding:"omitempty,max=200"`
|
|
}
|
|
|
|
// ClothesListRequest 衣物列表请求。
|
|
type ClothesListRequest struct {
|
|
PageRequest
|
|
UserID int64 `form:"user_id"`
|
|
ImageProcessStatus int8 `form:"image_process_status" binding:"omitempty,oneof=1 2 3 4 5"`
|
|
CategoryMain string `form:"category_main"`
|
|
Keyword string `form:"keyword"`
|
|
}
|
|
|
|
// ClothesItem 衣物信息。
|
|
type ClothesItem struct {
|
|
ID int64 `json:"id"`
|
|
ClothesUUID string `json:"clothes_uuid"`
|
|
UserID int64 `json:"user_id"`
|
|
Name string `json:"name"`
|
|
CategoryMain string `json:"category_main"`
|
|
CategorySub string `json:"category_sub"`
|
|
Style string `json:"style"`
|
|
ColorMain string `json:"color_main"`
|
|
ColorSub string `json:"color_sub"`
|
|
Thickness string `json:"thickness"`
|
|
Version string `json:"version"`
|
|
Material string `json:"material"`
|
|
Pattern string `json:"pattern"`
|
|
SleeveType string `json:"sleeve_type"`
|
|
ClothesType string `json:"clothes_type"`
|
|
NecklineType string `json:"neckline_type"`
|
|
Formality string `json:"formality"`
|
|
Occasions string `json:"occasions"`
|
|
VisualImpact string `json:"visual_impact"`
|
|
Remark string `json:"remark"`
|
|
ProcessedImage string `json:"processed_image"`
|
|
ImageSize int64 `json:"image_size"`
|
|
ImageProcessStatus int8 `json:"image_process_status"`
|
|
FailReason string `json:"fail_reason"`
|
|
CreatedAt int64 `json:"created_at"`
|
|
}
|
|
|
|
// ClothesListResponse 衣物列表响应。
|
|
type ClothesListResponse struct {
|
|
PageResponse
|
|
List []ClothesItem `json:"list"`
|
|
}
|
|
|
|
// ClosetShareListRequest 衣柜分享列表请求。
|
|
type ClosetShareListRequest struct {
|
|
PageRequest
|
|
UserID int64 `form:"user_id"`
|
|
Status int8 `form:"status" binding:"omitempty,oneof=1 2 3 4"`
|
|
}
|
|
|
|
// ClosetShareItem 衣柜分享信息。
|
|
type ClosetShareItem struct {
|
|
ID int64 `json:"id"`
|
|
ShareUUID string `json:"share_uuid"`
|
|
UserID int64 `json:"user_id"`
|
|
ShareType int8 `json:"share_type"` // 1=部分衣物分享 2=全量快照分享
|
|
ExpireTime int64 `json:"expire_time"`
|
|
Status int8 `json:"status"` // 1=正常 2=已取消 3=已过期 4=已封禁
|
|
CreatedAt int64 `json:"created_at"`
|
|
}
|
|
|
|
// ClosetShareListResponse 衣柜分享列表响应。
|
|
type ClosetShareListResponse struct {
|
|
PageResponse
|
|
List []ClosetShareItem `json:"list"`
|
|
}
|