package controller import ( "context" "slogan-agent/common" "slogan-agent/styleagent/model/dto" "slogan-agent/styleagent/service" "github.com/gogf/gf/v2/frame/g" ) // outfit 为 /outfit/* 簇共享控制器类型(struct 名 kebab-case 决定路由前缀, // 多表拆分文件但保持同一类型,避免路径漂移) type outfit struct{} var Outfit = new(outfit) // Generate 生成穿搭方案(异步任务) func (c *outfit) Generate(ctx context.Context, req *dto.OutfitGenerateReq) (res *dto.OutfitGenerateRes, err error) { taskId, err := service.OutfitService.Generate(ctx, common.GetUserId(g.RequestFromCtx(ctx)), req) if err != nil { return nil, err } return &dto.OutfitGenerateRes{TaskId: taskId}, nil } // TaskStatus 查询生成任务状态 func (c *outfit) TaskStatus(ctx context.Context, req *dto.OutfitTaskStatusReq) (res *dto.OutfitTaskStatusRes, err error) { status, msg, err := service.OutfitService.GetTaskStatus(ctx, common.GetUserId(g.RequestFromCtx(ctx)), req.TaskId) if err != nil { return nil, err } return &dto.OutfitTaskStatusRes{Status: status, Error: msg}, nil }