package com.qingyun.service.domain.vo;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.qingyun.service.domain.ContractCompareTask;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.annotation.write.style.HeadStyle;
import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;


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

/**
 * 对比任务视图对象 contract_compare_task
 *
 * @author jianlu
 * @date 2025-07-11
 */
@Data
@ExcelIgnoreUnannotated
@HeadStyle(horizontalAlignment = HorizontalAlignmentEnum.CENTER)
@ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.CENTER)
@AutoMapper(target = ContractCompareTask.class)
public class ContractCompareTaskVo implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 任务ID
     */
    @ExcelProperty(value = "任务ID")
    private Long taskId;

    /**
     * 任务文件类型 pdf md 纯文本 txt ...
     */
    private String taskType;

    /**
     * 对比规则
     */
    @ExcelProperty(value = "对比规则")
    private String compareRule;

    /**
     * 第一份合同地址
     */
    @ExcelProperty(value = "第一份合同地址")
    private String firstContractUrl;

    /**
     * 第一份合同名称
     */
    private String firstContractName;

    /**
     * 第一份合同 宽度 pt
     */
    private Float firstWidth;

    /**
     * 第一份合同 高度 pt
     */
    private Float firstHeight;

    /**
     * 第一份合同页数
     */
    private Integer firstPageNum;

    /**
     * 第二份合同地址
     */
    @ExcelProperty(value = "第二份合同地址")
    private String secondContractUrl;

    /**
     * 第二份合同名称
     */
    private String secondContractName;

    /**
     * 第二份合同 宽度 pt
     */
    private Float secondWidth;

    /**
     * 第二份合同 高度 pt
     */
    private Float secondHeight;

    /**
     * 第二份合同页数
     */
    private Integer secondPageNum;

    /**
     * 第一份合同内容
     */
    @ExcelProperty(value = "第一份合同内容")
    private String firstContractContent;

    /**
     * 第二份合同内容
     */
    @ExcelProperty(value = "第二份合同内容")
    private String secondContractContent;

    /**
     * 状态(0:未开始 1:获取原文中 2:对比中 3:已完成 4:失败)
     */
    @ExcelProperty(value = "状态(0:未开始 1:获取原文中 2:对比中 3:已完成 4:失败)")
    private Integer status;

    /**
     * 部门ID
     */
    @ExcelProperty(value = "部门ID")
    private Long deptId;

    /**
     * 用户ID
     */
    @ExcelProperty(value = "用户ID")
    private Long userId;

    /**
     * 创建者
     */
    private String createBy;

    /**
     * 创建时间
     */
    private Date createTime;
}
