package com.gunshi.project.xyt.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 com.gunshi.project.xyt.validate.markers.Insert; import com.gunshi.project.xyt.validate.markers.Update; import io.swagger.v3.oas.annotations.media.Schema; 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-08-22 14:17:27 */ @Schema(description="风险管控清单") @Data @TableName("public.risk_control_info") public class RiskControlInfo 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="menu_id") @Schema(description="目录id") @NotNull(message = "目录id不能为空",groups = {Insert.class,Update.class}) @JsonSerialize(using = ToStringSerializer.class) private Long menuId; /** * 风险辨识名称 */ @TableField(value="name") @Schema(description="风险辨识名称") @Size(max = 255,message = "风险辨识名称最大长度要小于 255") private String name; /** * 风险等级(1低风险 2一般风险 3较大风险 4重大风险) */ @TableField(value="risk_level") @Schema(description="风险等级(1低风险 2一般风险 3较大风险 4重大风险)") private Integer riskLevel; /** * 责任人id */ @TableField(value="reponser_id") @Schema(description="责任人id") private Long reponserId; /** * 责任人 */ @TableField(value="reponser_name") @Schema(description="责任人") @Size(max = 100,message = "责任人最大长度要小于 100") private String reponserName; /** * 主要防范措施 */ @TableField(value="prevent_measure") @Schema(description="主要防范措施") @Size(max = 255,message = "主要防范措施最大长度要小于 255") private String preventMeasure; /** * 创建日期 */ @TableField(value="create_date") @Schema(description="创建日期") @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") private Date createDate; @TableField(exist = false) @Schema(description = "可能导致的后果") private List result; @TableField(exist = false) @Schema(description = "现场图片") private List files; }