package com.sundot.airport.common.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.sundot.airport.common.annotation.Excel;
import com.sundot.airport.common.core.domain.BaseEntity;

/**
 * 附件对象 base_attachment
 *
 * @author ruoyi
 * @date 2025-07-14
 */
@TableName("base_attachment")
public class BaseAttachment extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 租户号
     */
    private String tenantId;

    /**
     * 乐观锁
     */
    private Long revision;

    /**
     * 来源类型
     */
    @Excel(name = "来源类型")
    private String sourceType;

    /**
     * 来源类型名称
     */
    @Excel(name = "来源类型名称")
    private String sourceTypeName;

    /**
     * 来源表单ID
     */
    @Excel(name = "来源表单ID")
    private Long sourceId;

    /**
     * 来源表单名称
     */
    @Excel(name = "来源表单名称")
    private String sourceName;

    /**
     * 主键
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 附件ID
     */
    @Excel(name = "附件ID")
    private String attachmentId;

    /**
     * 附件名称
     */
    @Excel(name = "附件名称")
    private String attachmentName;

    /**
     * 附件URL
     */
    @Excel(name = "附件URL")
    private String attachmentUrl;

    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    public String getTenantId() {
        return tenantId;
    }

    public void setRevision(Long revision) {
        this.revision = revision;
    }

    public Long getRevision() {
        return revision;
    }

    public void setSourceType(String sourceType) {
        this.sourceType = sourceType;
    }

    public String getSourceType() {
        return sourceType;
    }

    public void setSourceTypeName(String sourceTypeName) {
        this.sourceTypeName = sourceTypeName;
    }

    public String getSourceTypeName() {
        return sourceTypeName;
    }

    public void setSourceId(Long sourceId) {
        this.sourceId = sourceId;
    }

    public Long getSourceId() {
        return sourceId;
    }

    public void setSourceName(String sourceName) {
        this.sourceName = sourceName;
    }

    public String getSourceName() {
        return sourceName;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setAttachmentId(String attachmentId) {
        this.attachmentId = attachmentId;
    }

    public String getAttachmentId() {
        return attachmentId;
    }

    public void setAttachmentName(String attachmentName) {
        this.attachmentName = attachmentName;
    }

    public String getAttachmentName() {
        return attachmentName;
    }

    public void setAttachmentUrl(String attachmentUrl) {
        this.attachmentUrl = attachmentUrl;
    }

    public String getAttachmentUrl() {
        return attachmentUrl;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("tenantId", getTenantId())
                .append("revision", getRevision())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .append("sourceType", getSourceType())
                .append("sourceTypeName", getSourceTypeName())
                .append("sourceId", getSourceId())
                .append("sourceName", getSourceName())
                .append("id", getId())
                .append("attachmentId", getAttachmentId())
                .append("attachmentName", getAttachmentName())
                .append("attachmentUrl", getAttachmentUrl())
                .toString();
    }
}
