package com.sinata.appointment.entity;
|
|
import com.baomidou.mybatisplus.annotation.FieldFill;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.Version;
|
import com.sinata.appointment.validation.ChangePasswordGroup;
|
import com.sinata.appointment.validation.CreateGroup;
|
import com.sinata.appointment.validation.DeleteGroup;
|
import com.sinata.appointment.validation.UpdateGroup;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.Null;
|
import java.time.LocalDateTime;
|
import lombok.Getter;
|
import lombok.Setter;
|
|
@Schema(description = "基础实体:id/uuid/version + 审计字段 + 逻辑删除 delFlag")
|
@Getter
|
@Setter
|
public class BaseEntity {
|
|
@Schema(description = "id")
|
@Null(groups = CreateGroup.class, message = "新增不能携带 id")
|
@NotNull(
|
groups = {UpdateGroup.class, DeleteGroup.class, ChangePasswordGroup.class},
|
message = "id 不能为空")
|
@TableId(type = IdType.AUTO)
|
private Long id;
|
|
@Schema(description = "UUID")
|
@Null(groups = CreateGroup.class, message = "新增不能携带 uuid")
|
@NotBlank(
|
groups = {UpdateGroup.class, DeleteGroup.class, ChangePasswordGroup.class},
|
message = "uuid 不能为空")
|
@TableField(fill = FieldFill.INSERT)
|
private String uuid;
|
|
@Schema(description = "乐观锁")
|
@Version
|
@Null(groups = CreateGroup.class, message = "新增不能携带 version")
|
@NotNull(
|
groups = {UpdateGroup.class, DeleteGroup.class, ChangePasswordGroup.class},
|
message = "version 不能为空")
|
private Long version;
|
|
@Schema(description = "创建人")
|
private Long createId;
|
|
@Schema(description = "创建时间")
|
@TableField(fill = FieldFill.INSERT)
|
private LocalDateTime createTime;
|
|
@Schema(description = "更新人")
|
private Long updateId;
|
|
@Schema(description = "更新时间")
|
@TableField(fill = FieldFill.UPDATE)
|
private LocalDateTime updateTime;
|
|
@Schema(description = "删除标记(0 未删,1 已删)")
|
private Integer delFlag = 0;
|
}
|