package com.zhgd.xmgl.modules.basicdata.entity;

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 io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
 * @Description: 政务信息
 * @author： pds
 * @date： 2023-02-15
 * @version： V1.0
 */
@Data
@TableName("government")
@ApiModel(value = "Government实体类", description = "Government")
public class Government implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 政务ID
     */
    @TableId(value = "government_id", type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "政务ID(主键ID)")
    private Long governmentId;
    /**
     * 政务唯一标识
     */
    @Excel(name = "政务唯一标识", width = 15)
    @ApiModelProperty(value = "政务唯一标识")
    private String governmentSn;
    /**
     * 政务名称
     */
    @Excel(name = "政务名称", width = 15)
    @ApiModelProperty(value = "政务名称")
    private String governmentName;
    /**
     * 创建时间
     */
    @Excel(name = "创建时间", width = 15)
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**
     * 政务电话
     */
    @Excel(name = "政务电话", width = 15)
    @ApiModelProperty(value = "政务电话")
    private String governmentTel;
    /**
     * 企业类型，1省，2市，3区/县
     */
    @Excel(name = "企业类型，1省，2市，3区/县", width = 15)
    @ApiModelProperty(value = "企业类型，1省，2市，3区/县")
    private Integer governmentType;
    /**
     * 父级Id
     */
    @Excel(name = "父级Id", width = 15)
    @ApiModelProperty(value = "父级Id")
    private Integer parentId;
    /**
     * 省sn
     */
    @Excel(name = "省sn", width = 15)
    @ApiModelProperty(value = "省sn")
    private String headquartersSn;
    /**
     * 经度
     */
    @Excel(name = "经度", width = 15)
    @ApiModelProperty(value = "经度")
    private String longitude;
    /**
     * 纬度
     */
    @Excel(name = "纬度", width = 15)
    @ApiModelProperty(value = "纬度")
    private String latitude;
    /**
     * 管辖区域范围
     */
    @Excel(name = "管辖区域范围", width = 15)
    @ApiModelProperty(value = "管辖区域范围")
    private String rangeAddr;

    /**
     * 授权状态： 1(可用)；0(禁用)
     */
    @Excel(name = "授权状态： 1(可用)；0(禁用)", width = 15)
    @ApiModelProperty(value = "授权状态： 1(可用)；0(禁用)")
    private Integer state;

    /**
     * 到期日期
     */
    @Excel(name = "到期日期", width = 15)
    @ApiModelProperty(value = "到期日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date expireTime;

    /**
     * 授权项目数
     */
    @Excel(name = "授权项目数", width = 15)
    @ApiModelProperty(value = "授权项目数")
    private Integer authProject;

    /**
     * 是否显示未解锁模块(0:不显示;1:显示)
     */
    @Excel(name = "是否显示未解锁模块(0:不显示;1:显示)", width = 15)
    @ApiModelProperty(value = "是否显示未解锁模块(0:不显示;1:显示)")
    private Integer isShowLockModule;

    /**
     * 系统版本(对应的模块风格)
     */
    @Excel(name = "系统版本(对应的模块风格1:标准版; 2：星璇版本; 3：衢州版本)", width = 15)
    @ApiModelProperty(value = "系统版本(对应的模块风格1:标准版; 2：星璇版本; 3：衢州版本)")
    private Integer moduleStyle;

    @TableField(exist = false)
    @ApiModelProperty(value = "剩余天数")
    private Integer diffDay;

    /**
     * 已有项目数
     */
    @TableField(exist = false)
    @ApiModelProperty(value = "已有项目数")
    private Long installProject;
}
