package com.goldenwater.gx.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.goldenwater.common.annotation.Excel;
import com.goldenwater.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 数据共享申请对象 gx_exchange_apply
 */
public class GxExchangeApply extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    private Long id;

    @Excel(name = "申请单位")
    private String unitName;

    private Long userId;

    @Excel(name = "业务编码")
    private String bizCode;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date applyTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "到期时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date applyExpire;

    @Excel(name = "审批状态", readConverterExp = "0=待审批,1=通过,2=驳回")
    private String applyState;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date approveTime;

    private String approveUser;

    private String approveRemark;

    @Excel(name = "删除标志", readConverterExp = "0=存在,1=删除")
    private String delFlag;

    /** 关联的业务域名称（非持久化） */
    private String bizName;

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

    public String getUnitName() { return unitName; }
    public void setUnitName(String unitName) { this.unitName = unitName; }

    public Long getUserId() { return userId; }
    public void setUserId(Long userId) { this.userId = userId; }

    public String getBizCode() { return bizCode; }
    public void setBizCode(String bizCode) { this.bizCode = bizCode; }

    public Date getApplyTime() { return applyTime; }
    public void setApplyTime(Date applyTime) { this.applyTime = applyTime; }

    public Date getApplyExpire() { return applyExpire; }
    public void setApplyExpire(Date applyExpire) { this.applyExpire = applyExpire; }

    public String getApplyState() { return applyState; }
    public void setApplyState(String applyState) { this.applyState = applyState; }

    public Date getApproveTime() { return approveTime; }
    public void setApproveTime(Date approveTime) { this.approveTime = approveTime; }

    public String getApproveUser() { return approveUser; }
    public void setApproveUser(String approveUser) { this.approveUser = approveUser; }

    public String getApproveRemark() { return approveRemark; }
    public void setApproveRemark(String approveRemark) { this.approveRemark = approveRemark; }

    public String getDelFlag() { return delFlag; }
    public void setDelFlag(String delFlag) { this.delFlag = delFlag; }

    public String getBizName() { return bizName; }
    public void setBizName(String bizName) { this.bizName = bizName; }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("unitName", getUnitName())
                .append("bizCode", getBizCode())
                .append("applyState", getApplyState())
                .append("applyTime", getApplyTime())
                .toString();
    }
}
