package com.docus.server.dto.segmentation.ocrfileinfo;

import com.docus.server.enums.OcrStatusEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * ocr文件信息 AddDTO
 *
 * @author AutoGenerator
 * @since 2023-08-29
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "AddOcrFileInfoDTO对象", description = "ocr文件信息")
public class AddOcrFileInfoDTO implements Serializable {

    @ApiModelProperty(value = "id")
    private Long id;

    @ApiModelProperty(value = "病案id")
    private String patientId;

    @ApiModelProperty(value = "图片标题")
    private String fileTitle;

    @ApiModelProperty(value = "图片名称")
    private String picName;

    @ApiModelProperty(value = "文件类型")
    private Integer fileType;

    @ApiModelProperty(value = "图片排序")
    private Integer sort;

    @ApiModelProperty(value = "序列号")
    private String serialNumber;

    @ApiModelProperty(value = "图片地址")
    private String picUrl;

    @ApiModelProperty(value = "图片分割后地址")
    private String picCompressUrl;

    @ApiModelProperty(value = "图片分割后地址")
    private String picCutUrl;

    @ApiModelProperty(value = "图片旋转角度(整数 90 180 360)")
    private Integer angle;

    @ApiModelProperty(value = "识别文本结果")
    private String ocrText;

    @ApiModelProperty(value = "分段完成时间")
    private Date ocrFinishTime;

    @ApiModelProperty(value = "分段状态 0未开始 1分段中,2完成分段")
    private OcrStatusEnum ocrStatus;

    @ApiModelProperty(value = "分段id")
    private String assortId;

    @ApiModelProperty(value = "分段名称")
    private String assortName;

    @ApiModelProperty(value = "命中策略id")
    private Long ruleId;

    @ApiModelProperty(value = "命中关键词")
    private String hitKey;

    @ApiModelProperty(value = "命中占比")
    private Double rate;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    //

    @ApiModelProperty(value = "文件名称")
    private String fileName;

    @ApiModelProperty(value = "文件大小")
    private Long fileSize;

    @ApiModelProperty(value = "高度")
    private int height;

    @ApiModelProperty(value = "宽度")
    private int width;

    @ApiModelProperty(value = "横坐标")
    private int x;

    @ApiModelProperty(value = "纵坐标")
    private int y;

    @ApiModelProperty(value = "额外参数")
    private String jsonStr;

    @ApiModelProperty(value = "原图片路径保存前缀")
    private String saveFilePath;

    @ApiModelProperty(value = "剪切图片路径保存前缀")
    private String saveCutFilePath;

}
