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.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.gunshi.core.dateformat.DateFormatString; 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.Date; import java.util.List; /** * 描述: 水库预案表 * author: xusan * date: 2024-07-08 17:34:26 */ @Schema(description="水库预案表") @Data @TableName("public.res_plan_b") public class ResPlanB implements Serializable { private static final long serialVersionUID = 1L; /** * 主键 */ @TableId(value="id", type= IdType.AUTO) @Schema(description="主键") @NotNull(message = "主键不能为空") @JsonSerialize(using = ToStringSerializer.class) @JsonFormat(shape = JsonFormat.Shape.STRING) private Long id; /** * 水库代码 */ @TableField(value="res_code") @Schema(description="水库代码") @Size(max = 32,message = "水库代码最大长度要小于 32") @NotBlank(message = "水库代码不能为空") private String resCode; /** * 预案/调度规程名称 */ @TableField(value="plan_name") @Schema(description="预案/调度规程名称") @Size(max = 50,message = "预案/调度规程名称最大长度要小于 50") private String planName; /** * 编制时间 */ @TableField(value="prep_time") @Schema(description="编制时间") // @Size(max = 0,message = "编制时间最大长度要小于 0") @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") private Date prepTime; /** * 编制单位 */ @TableField(value="prep_org") @Schema(description="编制单位") @Size(max = 30,message = "编制单位最大长度要小于 30") private String prepOrg; /** * 批复时间 */ @TableField(value="appr_time") @Schema(description="批复时间") // @Size(max = 0,message = "批复时间最大长度要小于 0") @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") private Date apprTime; /** * 批复部门 */ @TableField(value="appr_org") @Schema(description="批复部门") @Size(max = 30,message = "批复部门最大长度要小于 30") private String apprOrg; /** * 文件id */ @TableField(value="file_id") @Schema(description="文件id") // @Size(max = 0,message = "文件id最大长度要小于 0") private Long fileId; /** * 类型(1防汛预案 2调度规程) */ @TableField(value="type") @Schema(description="类型(1防汛预案 2调度规程)") // @Size(max = 0,message = "类型(1防汛预案 2调度规程)最大长度要小于 0") private Integer type; /** * 时间戳 */ @TableField(value="moditime") @Schema(description="时间戳") // @Size(max = 0,message = "时间戳最大长度要小于 0") @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") private Date moditime; @TableField(exist = false) @Schema(description = "文件集合") private List files; }