gunshi-project-ss/src/main/java/com/gunshi/project/xyt/model/SzRuleByLaw.java

153 lines
4.5 KiB
Java
Raw Normal View History

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.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;
/**
* Description:
* Created by XuSan on 2024/9/24.
*
* @author XuSan
* @version 1.0
*/
@Schema(description="法律法规管理表")
@Data
@TableName("public.sz_rule_by_law")
public class SzRuleByLaw implements Serializable {
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value="id", type= IdType.AUTO)
@Schema(description="主键")
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
/**
*
*/
@TableField(value="name")
@Schema(description="标题")
@Size(max = 30,message = "标题最大长度要小于 30")
@NotBlank(message = "标题不能为空",groups = {Insert.class, Update.class})
private String name;
/**
*
*/
@TableField(value="fill_unit")
@Schema(description="制定机关")
@Size(max = 50,message = "制定机关最大长度要小于 50")
private String fillUnit;
/**
*
*/
@TableField(value="type")
@Schema(description="法律性质 0:宪法,1:法律,2:行政法规,3:督察法规,4:司法解释,5:地方性法规")
@NotNull(message = "法律性质不能为空",groups = {Insert.class, Update.class})
@Size(max = 1,message = "法律性质最大长度要小于 2")
private Integer type;
/**
*
*/
@TableField(value="timeliness")
@Schema(description="时效性 0:尚未生效,1:有效,2:已修改,3:已废止")
@NotNull(message = "时效性不能为空",groups = {Insert.class, Update.class})
@Size(max = 1,message = "时效性最大长度要小于 2")
private Integer timeliness;
/**
*
*/
@Schema(description="公布日期 格式:" + DateFormatString.YYYY_MM_DD)
@TableField(value="announcement_date")
@JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8")
private Date announcementDate;
/**
*
*/
@Schema(description="施行日期 格式:" + DateFormatString.YYYY_MM_DD)
@TableField(value="implementation_date")
@JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8")
private Date implementationDate;
/**
* Id
*/
@TableField(value="create_by")
@Schema(description="填报人Id")
@JsonSerialize(using = ToStringSerializer.class)
private Long createBy;
/**
*
*/
@TableField(value="create_name")
@Schema(description="填报人名字")
@Size(max = 30,message = "填报人名字最大长度要小于 30")
private String createName;
/**
*
*/
@Schema(description="填报时间 格式:" + DateFormatString.YYYY_MM_DD_HH_MM_SS)
@TableField(value="create_time")
@JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8")
private Date createTime;
/**
* Id
*/
@TableField(value="update_by")
@Schema(description="更新人Id")
@JsonSerialize(using = ToStringSerializer.class)
private Long updateBy;
/**
*
*/
@TableField(value="update_name")
@Schema(description="更新人名字")
@Size(max = 30,message = "更新人名字最大长度要小于 30")
private String updateName;
/**
*
*/
@Schema(description="更新时间 格式:" + DateFormatString.YYYY_MM_DD_HH_MM_SS)
@TableField(value="update_time")
@JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8")
private Date updateTime;
@TableField(exist = false)
@Schema(description = "文件集合")
private List<FileAssociations> files;
}