package com.yn.bftl.thirdparty.modules.baiduai.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;

/**
 * @Author：Vance
 * @Description：身份证识别请求dto
 * @Date：2022/12/20 11:42
 */
@ApiModel(value = "IdcardRequestDTO", description = "身份证识别请求dto")
@Data
@Builder
public class IdcardRequestDTO {

    @ApiModelProperty(
            "和url二选一，图像数据，base64编码后进行urlencode，" +
            "要求base64编码和urlencode后大小不超过4M，" +
            "最短边至少15px，最长边最大4096px,支持jpg/jpeg/png/bmp格式"
    )
    private String image;

    @ApiModelProperty("和image二选一，图片完整URL，URL长度不超过1024字节，" +
            "URL对应的图片base64编码后大小不超过4M，最短边至少15px，" +
            "最长边最大4096px,支持jpg/jpeg/png/bmp格式，当image字段存在时url字段失效，" +
            "请注意关闭URL防盗链"
    )
    private String url;

    @ApiModelProperty("front：身份证含照片的一面，back：身份证带国徽的一面")
    private String id_card_side;

    @ApiModelProperty("是否开启身份证风险类型(身份证复印件、临时身份证、身份证翻拍、修改过的身份证)检测功能，默认不开启")
    private Boolean detect_risk;

    @ApiModelProperty("是否开启身份证质量类型(边框/四角不完整、头像或关键字段被遮挡/马赛克)检测功能，默认不开启")
    private Boolean detect_quality;

    @ApiModelProperty("是否检测头像内容，默认不检测。可选值：true-检测头像并返回头像的 base64 编码及位置信息")
    private Boolean detect_photo;

    @ApiModelProperty("是否检测身份证进行裁剪，默认不检测。可选值：true-检测身份证并返回证照的 base64 编码及位置信息")
    private Boolean detect_card;

    @ApiModelProperty("false：默认值不进行图像方向自动矫正，true: 开启图像方向自动矫正功能，可对旋转 90/180/270 度的图片进行自动矫正并识别")
    private Boolean detect_direction;
}
