package org.springblade.file.pojo.dto;

import jakarta.validation.constraints.NotEmpty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serial;
import java.io.Serializable;
import java.util.List;

/**
 *  凭证批量识别参数，所有图像链接统一识别，不分类
 * @author bfhuange
 * @since 2025/3/13
 */
@AllArgsConstructor
@NoArgsConstructor
@Data
public class FileCertificateBatchRecognitionDTO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    /**
     *  所有图像完整 URL 列表
     */
    @NotEmpty(message = "图像 URL 列表不能为空")
    private List<String> objectKeys;
    /**
     *  项目简称
     */
    private String projectAbbreviation;
    /**
     *  凭证编码
     */
    private String code;
    /**
     * 目录名称
     */
    private String dirName;
    /**
     * 磅单完整 URL 列表
     */
    private List<String> poundUrls;
    /**
     * 车头完整 URL 列表
     */
    private List<String> carFrontUrls;
    /**
     * 驾驶证完整 URL 列表
     */
    private List<String> driverLicenseUrls;
    /**
     * 行驶证完整 URL 列表
     */
    private List<String> vehicleLicenseUrls;

    public FileCertificateBatchRecognitionDTO(List<String> objectKeys) {
        this.objectKeys = objectKeys;
    }

    public FileCertificateBatchRecognitionDTO(
            List<String> objectKeys, String projectAbbreviation, String code, String dirName) {
        this.objectKeys = objectKeys;
        this.projectAbbreviation = projectAbbreviation;
        this.code = code;
        this.dirName = dirName;
    }

}
