package com.engine.salary.entity.auth.po;

import com.engine.hrmelog.annotation.ElogTransform;
import com.engine.salary.enums.auth.DataLinkEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Collection;
import java.util.Date;

/**
 * 数据
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AuthDataPO {
    @ElogTransform(name = "id")
    private Long id;

    /**
     * 角色id
     */
    @ElogTransform(name = "角色id")
    private Long roleId;

    /**
     * 连接符，交、并、补
     * @see DataLinkEnum
     */
    @ElogTransform(name = "连接符，交、并、补")
    private Integer link;

    /**
     * 数据类型，1：人员、2：部门、3：岗位、4：分部、5：角色、6：安全级别  、7：所有人 、8：登录人、9：账套、10：sql
     */
    @ElogTransform(name = "数据类型")
    private Integer targetType;

    /**
     * 对象id
     */
    @ElogTransform(name = "对象id")
    private String target;

    /**
     * 对象名称
     */
    @ElogTransform(name = "对象名称")
    private String targetName;

    @ElogTransform(name = "排序")
    private Integer sortedIndex;

    /**
     * 创建人
     */
    @ElogTransform(name = "创建人")
    private Long creator;

    /**
     * 创建时间
     */
    @ElogTransform(name = "创建时间")
    private Date createTime;

    /**
     * 更新时间
     */
    @ElogTransform(name = "更新时间")
    private Date updateTime;

    /**
     * 是否已删除。0：未删除、1：已删除
     */
    @ElogTransform(name = "是否已删除。0：未删除、1：已删除")
    private Integer deleteType;

    /**
     * 租户ID
     */
    @ElogTransform(name = "租户ID")
    private String tenantKey;


    //主键id集合
    private Collection<Long> ids;

}