50 lines
2.1 KiB
Go
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
|
|
}
|