package com.gunshi.project.hsz.model; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.gunshi.project.hsz.validate.markers.Update; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.Size; import lombok.Data; import java.io.Serializable; import java.util.List; /** * 描述: 风险管控目录 * author: xusan * date: 2024-08-22 14:16:34 */ @Schema(description="风险管控目录") @Data @TableName("public.risk_control_menu") public class RiskControlMenu implements Serializable { private static final long serialVersionUID = 1L; /** * 主键 */ @TableId(value="id", type= IdType.AUTO) @Schema(description="主键") @NotNull(message = "主键不能为空",groups = {Update.class}) @JsonSerialize(using = ToStringSerializer.class) private Long id; /** * 父id */ @TableField(value="parent_id") @Schema(description="父id") @JsonSerialize(using = ToStringSerializer.class) private Long parentId; /** * 名称 */ @TableField(value="name") @Schema(description="名称") @Size(max = 255,message = "名称最大长度要小于 255") @NotBlank(message = "名称不能为空") private String name; /** * 排序 */ @TableField(value="order_index") @Schema(description="排序") private Integer orderIndex; @TableField(exist = false) @Schema(description="子集") private List children; }