115 lines
3.5 KiB
Java
115 lines
3.5 KiB
Java
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 com.gunshi.project.hsz.common.validate.markers.Insert;
|
|
import com.gunshi.project.hsz.common.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 lombok.EqualsAndHashCode;
|
|
|
|
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
|
|
*/
|
|
@EqualsAndHashCode(callSuper = true)
|
|
@Schema(description="法律法规管理表")
|
|
@Data
|
|
@TableName("public.sz_rule_by_law")
|
|
public class SzRuleByLaw extends CommUpdate 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;
|
|
|
|
/**
|
|
* 上传时间
|
|
*/
|
|
@Schema(description="上传时间 格式:" + DateFormatString.YYYY_MM_DD_HH_MM_SS)
|
|
@TableField(value="upload_date")
|
|
@JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8")
|
|
private Date uploadDate;
|
|
|
|
|
|
@TableField(exist = false)
|
|
@Schema(description = "文件集合")
|
|
private List<FileAssociations> files;
|
|
}
|