package com.oying.base; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; import org.apache.commons.lang3.builder.ToStringBuilder; import org.springframework.data.annotation.CreatedBy; import org.springframework.data.annotation.LastModifiedBy; import java.io.Serializable; import java.lang.reflect.Field; import java.sql.Timestamp; /** * 通用字段, is_del 根据需求自行添加 * @author Z * @date 2019年10月24日20:46:32 */ @Getter @Setter public class BaseEntity implements Serializable { @CreatedBy @TableField(fill = FieldFill.INSERT) @ApiModelProperty(value = "创建人", hidden = true) private String createBy; @LastModifiedBy @TableField(fill = FieldFill.INSERT_UPDATE) @ApiModelProperty(value = "更新人", hidden = true) private String updateBy; @TableField(fill = FieldFill.INSERT) @ApiModelProperty(value = "创建时间: yyyy-MM-dd HH:mm:ss", hidden = true) @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") private Timestamp createTime; @TableField(fill = FieldFill.INSERT_UPDATE) @ApiModelProperty(value = "更新时间: yyyy-MM-dd HH:mm:ss", hidden = true) @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") private Timestamp updateTime; /* 分组校验 */ public @interface Create {} /* 分组校验 */ public @interface Update {} @Override public String toString() { ToStringBuilder builder = new ToStringBuilder(this); Field[] fields = this.getClass().getDeclaredFields(); try { for (Field f : fields) { f.setAccessible(true); builder.append(f.getName(), f.get(this)).append("\n"); } } catch (Exception e) { builder.append("toString builder encounter an error"); } return builder.toString(); } }