package com.microservices.pms.document.domain;

import com.microservices.common.core.annotation.Excel;
import com.microservices.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 项目管理-文档库对象 pms_document
 * 
 * @author wanjia
 * @date 2024-01-08
 */
public class PmsDocument extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 文档名称 */
    @Excel(name = "文档名称")
    private String name;

    /** 文档内容 */
    @Excel(name = "文档内容")
    private String content;

    /** 文件类型 1-文档目录 2-文档 3-附件 4-wiki库 */
    @Excel(name = "文件类型 1-文档目录 2-文档 3-附件 4-wiki库")
    private Integer docType;

    /** 父级id */
    @Excel(name = "父级id")
    private Long parentId;

    /** 项目ID */
    @Excel(name = "项目ID")
    private Long pmsProjectId;

    /** 企业ID */
    @Excel(name = "企业ID")
    private Long pmsEnterpriseId;

    /** wiki库归属的gitlink仓库ID */
    @Excel(name = "wiki库归属的gitlink仓库ID")
    private Long wikiGitlinkRepoId;

    /** 附件标识 */
    @Excel(name = "附件标识")
    private String attachmentIdentifier;

    /** 是否置顶（0否，1是） */
    @Excel(name = "是否置顶", readConverterExp = "0=否，1是")
    private Integer isTop;

    /** 权限 1-私有 2-全员读 3-全员读写 */
    @Excel(name = "权限 1-私有 2-全员读 3-全员读写")
    private Integer permission;

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

    public Long getId() 
    {
        return id;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setContent(String content) 
    {
        this.content = content;
    }

    public String getContent() 
    {
        return content;
    }
    public void setDocType(Integer docType) 
    {
        this.docType = docType;
    }

    public Integer getDocType() 
    {
        return docType;
    }
    public void setParentId(Long parentId) 
    {
        this.parentId = parentId;
    }

    public Long getParentId() 
    {
        return parentId;
    }
    public void setPmsProjectId(Long pmsProjectId) 
    {
        this.pmsProjectId = pmsProjectId;
    }

    public Long getPmsProjectId() 
    {
        return pmsProjectId;
    }
    public void setPmsEnterpriseId(Long pmsEnterpriseId) 
    {
        this.pmsEnterpriseId = pmsEnterpriseId;
    }

    public Long getPmsEnterpriseId() 
    {
        return pmsEnterpriseId;
    }
    public void setWikiGitlinkRepoId(Long wikiGitlinkRepoId) 
    {
        this.wikiGitlinkRepoId = wikiGitlinkRepoId;
    }

    public Long getWikiGitlinkRepoId() 
    {
        return wikiGitlinkRepoId;
    }
    public void setAttachmentIdentifier(String attachmentIdentifier) 
    {
        this.attachmentIdentifier = attachmentIdentifier;
    }

    public String getAttachmentIdentifier() 
    {
        return attachmentIdentifier;
    }
    public void setIsTop(Integer isTop) 
    {
        this.isTop = isTop;
    }

    public Integer getIsTop() 
    {
        return isTop;
    }
    public void setPermission(Integer permission) 
    {
        this.permission = permission;
    }

    public Integer getPermission() 
    {
        return permission;
    }

    public PmsDocument() {
        // 设置默认值
        this.parentId = 0L;
        this.pmsProjectId = 0L;
        this.isTop = 0;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("content", getContent())
            .append("docType", getDocType())
            .append("parentId", getParentId())
            .append("pmsProjectId", getPmsProjectId())
            .append("pmsEnterpriseId", getPmsEnterpriseId())
            .append("wikiGitlinkRepoId", getWikiGitlinkRepoId())
            .append("attachmentIdentifier", getAttachmentIdentifier())
            .append("isTop", getIsTop())
            .append("permission", getPermission())
            .append("createTime", getCreateTime())
            .append("createBy", getCreateBy())
            .append("updateTime", getUpdateTime())
            .append("updateBy", getUpdateBy())
            .toString();
    }
}
