package com.ruoyi.doubledefense.dtoGov;

import com.alibaba.fastjson2.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 双重预防汇聚计算节点的基础对象
 */
@Data
public class GovBaseEntity implements Serializable {

    private static final long serialVersionUID = 503274936000629249L;
    /**
     * 删除标志（正常：0；已删除：1）同步的数据不可物理删除，如需删除，标志记为1。
     */
    @JsonProperty("DELETED")
    private Integer isDel;
    /**
     * 创建时间
     */
    @JsonProperty("CREATE_DATE")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createDate;

    /**
     * 创建人姓名 varchar(50)
     */
    @JsonProperty("CREATE_BY")
    private String createBy;

    /**
     * 更新时间
     */
    @JsonProperty("UPDATE_DATE")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateDate;

    /**
     * 更新人姓名 varchar(50)
     */
    @JsonProperty("UPDATE_BY")
    private String updateBy;

    /**
     * 企业编码 varchar(9)
     */
    @JsonProperty("COMPANY_CODE")
    private String companyCode;


    /**
     * 分页：页码
     */
    @TableField(exist = false)
    //FastJSON序列化排除该属性
    @JSONField(serialize = false)
    //Jack序列化排除该属性
    @JsonIgnore
    private Integer pageNo;

    /**
     * 分页：每页条数
     */
    @TableField(exist = false)
    //FastJSON序列化排除该属性
    @JSONField(serialize = false)
    //Jack序列化排除该属性
    @JsonIgnore
    private Integer pageSize;

    /**
     * 开始时间
     */
    @TableField(exist = false)
    //FastJSON序列化排除该属性
    @JSONField(serialize = false)
    //Jack序列化排除该属性
    @JsonIgnore
    private Date startUpdateDate;

    /**
     * 结束时间
     */
    @TableField(exist = false)
    //FastJSON序列化排除该属性
    @JSONField(serialize = false)
    //Jack序列化排除该属性
    @JsonIgnore
    private Date endUpdateDate;

}
