package com.ozs.base.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ozs.common.annotation.Excel;
import com.ozs.common.vo.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;

/**
 * 政策法规对象 base_policy
 *
 * @author ruoyi
 * @date 2023-01-14
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@ApiModel("政策法规对象")
public class BasePolicy extends BaseDto
{

    /** 主键id */
    @ApiModelProperty("主键ID")
    @TableId(type = IdType.AUTO)
    private Long id;

    /** 法律条文名称 */
    @Excel(name = "法律条文名称")
    @ApiModelProperty("法律条文名称")
    @NotBlank(message = "法律条文名称不能为空")
    private String name;

    /** 发文字号 */
    @Excel(name = "发文字号")
    @ApiModelProperty("发文字号")
    private String issuedNumber;

    /** 发布机关 */
    @Excel(name = "发布机关")
    @ApiModelProperty("发布机关")
    private String issuingAuthority;

    /** 发布时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发布时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("发布时间")
    private Date releaseTime;

    /** 收录时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "收录时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("收录时间")
    private Date includedTime;

    /** 附件名称 */
    @Excel(name = "附件名称")
    @ApiModelProperty("附件名称")
    @NotBlank(message = "附件名称不能为空")
    private String fileName;

    /** 附件下载地址 */
    @Excel(name = "附件下载地址")
    @ApiModelProperty("附件下载地址")
    @NotBlank(message = "附件下载地址不能为空")
    private String fileUrl;

    /** es */
    @Excel(name = "es存储id")
    @ApiModelProperty("es存储id")
    @NotBlank(message = "es存储id")
    private String esId;

}
