package com.bs.common.core.domain.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.bs.common.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;
import java.util.Date;

/**
 * 租户配置对象 tenant_config
 *
 * @author ruoyi
 * @date 2023-04-02
 */
@Accessors(chain = true)
@TableName("tenant_config")
@Data
public class TenantConfig
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    @TableId(value = "ID",type = IdType.AUTO)
    @ApiModelProperty(value = "${column.columnComment}")
    private Long id;

    /**
     * 创建部门
     */
    @TableField(fill = FieldFill.INSERT)
    private Long createDept;
    @TableField(exist = false)
    private Long tenantId;

    /**
     * 创建者
     */
    @TableField(fill = FieldFill.INSERT)
    private Long createBy;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 更新者
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Long updateBy;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
    /**
     * 逻辑删除标示
     */
    //做删除操作的时候，会变成update，del_flag = '2'
    @TableLogic(value = "0", delval = "2")
    @TableField(fill = FieldFill.INSERT)
    @JsonIgnore
    private String delFlag;


    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "开始时间")
    private Date startData;

    /** 结束时间 */

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "结束时间")
    private Date stopData;

    /** 是否限制用户数 */

    @Excel(name = "是否限制用户数")
    @ApiModelProperty(value = "是否限制用户数")
    private String isUserAstrict;

    @Excel(name = "首页类型")
    @ApiModelProperty(value = "首页类型")
    private String homeType;

    /** 用户数 */

    @Excel(name = "用户数")
    @ApiModelProperty(value = "用户数")
    private Integer userQuantity;

    /** 是否限制在线数 */

    @Excel(name = "是否限制在线数")
    @ApiModelProperty(value = "是否限制在线数")
    private String isOnLine;

    /** 在线数 */

    @Excel(name = "在线数")
    @ApiModelProperty(value = "在线数")
    private Integer onLineUserQuantity;

    /** 是否定义系统名称 */

    @Excel(name = "是否定义系统名称")
    @ApiModelProperty(value = "是否定义系统名称")
    private String isDefinitionName;

    /** 系统名称 */

    @Excel(name = "系统名称")
    @ApiModelProperty(value = "系统名称")
    private String sysName;

    /** 是否定义系统logo */

    @Excel(name = "是否定义系统logo")
    @ApiModelProperty(value = "是否定义系统logo")
    private String isDefinitionLogo;

    /** 系统log */

    @Excel(name = "系统log")
    @ApiModelProperty(value = "系统log")
    private String sysLog;

    /** 是否定义系统色调 */

    @Excel(name = "是否定义系统色调")
    @ApiModelProperty(value = "是否定义系统色调")
    private String isDefinitionHue;

    /** 系统色调 */

    @Excel(name = "系统色调")
    @ApiModelProperty(value = "系统色调")
    private String sysHue;

    /** 定制化数据，键值对{key:{type1:"",type2:"",value:""},key2:{type1:"",type2:"",value:""}}具体操作时候，做具体说明 */

    @ApiModelProperty(value = "定制化数据，键值对{key:{type1:'',type2:'',value:''},key2:{type1:'',type2:'',value:''}}具体操作时候，做具体说明")
    private String customizationFields;



}
