package cn.cetc54.platform.core.base; import cn.cetc54.platform.core.common.constant.CommonConstant; import cn.cetc54.platform.core.common.utils.SnowFlakeUtil; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.data.annotation.CreatedBy; import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.LastModifiedBy; import org.springframework.data.annotation.LastModifiedDate; import org.springframework.data.jpa.domain.support.AuditingEntityListener; import org.springframework.format.annotation.DateTimeFormat; import javax.persistence.EntityListeners; import javax.persistence.Id; import javax.persistence.MappedSuperclass; import java.io.Serializable; import java.util.Date; /** * @author */ @Data @MappedSuperclass @EntityListeners(AuditingEntityListener.class) @JsonIgnoreProperties(value={"hibernateLazyInitializer","handler","fieldHandler"}) public abstract class BaseEntity implements Serializable{ private static final long serialVersionUID = 1L; @Id @TableId @ApiModelProperty(value = "唯一标识") private String id = SnowFlakeUtil.nextId().toString(); @ApiModelProperty(value = "创建者") @CreatedBy @TableField(fill = FieldFill.INSERT) private String createBy; @CreatedDate @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "创建时间") @TableField(fill = FieldFill.INSERT) private Date createTime; @ApiModelProperty(value = "更新者") @LastModifiedBy @TableField(fill = FieldFill.UPDATE) private String updateBy; @LastModifiedDate @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "更新时间") @TableField(fill = FieldFill.UPDATE) private Date updateTime; @ApiModelProperty(value = "删除标志 默认0") private Integer delFlag = CommonConstant.STATUS_NORMAL; }