package com.ygtx.worklog.domain;

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

/**
 * 授权配置对象 wl_auth_config
 *
 * @author ruoyi
 * @date 2025-10-21
 */
public class AuthConfig extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 授权ID */
    private Long id;

    /** 被授权用户ID（可以查看他人日报的账号） */
    @Excel(name = "被授权用户ID")
    private Long authUserId;

    /** 被授权用户姓名 */
    @Excel(name = "被授权用户姓名")
    private String authUserName;

    /** 授权类型（1部门 2人员 3角色 4职位） */
    @Excel(name = "授权类型", readConverterExp = "1=部门,2=人员,3=角色,4=职位")
    private String authType;

    /** 目标ID（部门ID/用户ID/角色ID/岗位ID） */
    @Excel(name = "目标ID")
    private Long targetId;

    /** 目标名称 */
    @Excel(name = "目标名称")
    private String targetName;

    /** 状态（0正常 1停用） */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private String status;

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

    public Long getId()
    {
        return id;
    }

    public void setAuthUserId(Long authUserId)
    {
        this.authUserId = authUserId;
    }

    public Long getAuthUserId()
    {
        return authUserId;
    }

    public void setAuthUserName(String authUserName)
    {
        this.authUserName = authUserName;
    }

    public String getAuthUserName()
    {
        return authUserName;
    }

    public void setAuthType(String authType)
    {
        this.authType = authType;
    }

    public String getAuthType()
    {
        return authType;
    }

    public void setTargetId(Long targetId)
    {
        this.targetId = targetId;
    }

    public Long getTargetId()
    {
        return targetId;
    }

    public void setTargetName(String targetName)
    {
        this.targetName = targetName;
    }

    public String getTargetName()
    {
        return targetName;
    }

    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("authUserId", getAuthUserId())
            .append("authUserName", getAuthUserName())
            .append("authType", getAuthType())
            .append("targetId", getTargetId())
            .append("targetName", getTargetName())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
