package com.nanri.aiimage.modules.brand.model.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;

import java.util.List;

@Data
@Schema(description = "品牌任务创建请求。前端将 OSS 文件链接和 originalFilename/relativePath 传入本请求。Java 会创建 brand_crawl_tasks 记录并下载文件返回待爬取数据。")
public class BrandTaskCreateRequest {

    @Valid
    @NotEmpty(message = "请先上传待处理文件")
    @Schema(description = "已上传源文件列表。每个元素对应一个待解析的 Excel 文件。")
    private List<BrandSourceFileDto> files;

    @Schema(description = "品牌匹配方式。支持 Terms=精确匹配、Simple=嵌入匹配。默认 Terms。", example = "Terms")
    private String strategy = "Terms";

    @Schema(description = "任务类型。1=立即处理并返回待爬取数据，2=仅登记任务。当前推荐传 1。", example = "1")
    private Integer taskType = 1;

    @Schema(description = "文件夹上传场景下可选的归档名称。当前版本仅保留字段，不参与主流程。")
    private String archiveName;
}
