package com.persagy.dmp.common.model.entity;

import com.persagy.dmp.common.lang.PsDateTime;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.SuperBuilder;

/**
 * 审计信息父类
 * @author Charlie Yu
 * @version 1.0 2021-03-04
 */
@EqualsAndHashCode(callSuper = true)
@Data
public abstract class AuditableEntity<T> extends BaseEntity<T> implements IAuditableEntity {

    /** 序列id */
    private static final long serialVersionUID = -6039076670318997447L;

    /** 创建时间 */
    public static final String PROP_CREATIONTIME = "creation_time";
    public static final String DO_PROP_CREATIONTIME = "creationTime";
    /** 创建人 */
    public static final String PROP_CREATOR = "creator";
    /** 最后一次修改时间 */
    public static final String PROP_MODIFIEDTIME = "modified_time";
    public static final String DO_PROP_MODIFIEDTIME = "modifiedTime";
    /** 最后一个修改人 */
    public static final String PROP_MODIFIER = "modifier";

    /** 创建时间 */
    protected PsDateTime creationTime;
    /** 创建人 */
    protected String creator;
    /** 最后一次修改时间 */
    protected PsDateTime modifiedTime;
    /** 最后一个修改人 */
    protected String modifier;
}
