Files
2026-09-15 23:04:13 +08:00

50 lines
2.1 KiB
Go

package dto
// 发起AI推荐
type AIRecommendCreateRequest struct {
SceneType int8 `json:"scene_type" binding:"required,oneof=1 2"` // 场景类型 1=每日推荐 2=个性化场景
Scene string `json:"scene"` // 用户自定义场景描述
}
// AIRecommendSubmitResponse 提交 AI 推荐任务响应。
// 接口不等待大模型,立即返回 task_id;前端拿到后轮询 AIRecommendStatusRequest 对应的接口获取结果。
type AIRecommendSubmitResponse struct {
TaskID string `json:"task_id"` // 任务ID,用于轮询结果
Status int8 `json:"status"` // 任务状态 1=生成中 2=成功 3=失败
}
// AIRecommendStatusRequest 查询 AI 推荐任务状态
type AIRecommendStatusRequest struct {
TaskID string `form:"task_id" binding:"required"` // 任务ID
}
// AIRecommendStatusResponse 任务状态响应
type AIRecommendStatusResponse struct {
TaskID string `json:"task_id"`
Status int8 `json:"status"` // 1=生成中 2=成功 3=失败
Result *AIRecommendCreateResponse `json:"result,omitempty"` // status=2 时返回推荐结果
ErrorCode int `json:"error_code,omitempty"` // status=3 时返回业务错误码
ErrorMsg string `json:"error_msg,omitempty"` // status=3 时返回失败原因
}
// AI推荐结果
type AIRecommendCreateResponse struct {
OutfitUUID string `json:"outfit_uuid"` // 穿搭UUID
OutfitName string `json:"outfit_name"` // 穿搭名称
OutfitDesc string `json:"outfit_desc"` // 穿搭描述
Scene string `json:"scene"` // 适合场景
Source int8 `json:"source"` // 来源 1=用户创建 2=AI推荐
Status int8 `json:"status"` // 状态 1=正常 2=封禁 3=待用户保存
OutfitItem []OutfitItem `json:"outfit_item"`
}
// AI推荐穿搭的衣物UUID
type OutfitItem struct {
ClothesUUID string `json:"clothes_uuid"` // 衣物UUID
}
// 保存AI推荐穿搭到我的搭配
type AIRecommendSaveRequest struct {
OutfitUUID string `json:"outfit_uuid" binding:"required"` // 穿搭UUID
}