package org.jeecg.modules.system.entity;

import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
 * 租户信息
 */
@Data
@TableName("sys_tenant")
public class SysTenant implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 编码
     */
    private String id;

    @Excel(name = "删除状态", width = 15,dicCode="del_flag")
    @TableLogic
    private Integer delFlag;
    /**
     * 名称
     */
    private String name;

    private String clientId;

    private String clientSecret;
    /**
     * 创建人
     */
    private String createBy;

    /**
     * 创建时间
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 开始时间
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date beginDate;

    /**
     * 结束时间
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date endDate;

    /**
     * 状态 1正常 0冻结
     */
    @Dict(dicCode = "tenant_status")
    private Integer status;

    /**监管类型*/
    @Excel(name = "监管类型", width = 15)
    @ApiModelProperty(value = "监管类型")
    @Dict(dicCode = "tenant_type")
    private String type;
    /**跳转链接*/
    @Excel(name = "跳转链接", width = 15)
    @ApiModelProperty(value = "跳转链接")
    private String url;
    /**携带参数*/
    @Excel(name = "携带参数", width = 15)
    @ApiModelProperty(value = "携带参数")
    private String params;

    /**修改信息接收地址*/
    @Excel(name = "修改信息接收地址", width = 15)
    @ApiModelProperty(value = "修改信息接收地址")
    private String msgUrl;
    /**消息通知模式*/
    @Excel(name = "消息通知模式", width = 15)
    @ApiModelProperty(value = "消息通知模式")
    private String msgType;
    /**查询子系统是否有数据url*/
    @Excel(name = "查询子系统是否有数据url", width = 15)
    @ApiModelProperty(value = "查询子系统是否有数据url")
    private String queryUrl;
    /**租户权限*/
    @Excel(name = "租户权限", width = 15)
    @ApiModelProperty(value = "租户权限")
    private String tenantPermission;

    private String associatedApplication;
    /**备注*/
    @Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String remark;
    /**系统名称*/
    @Excel(name = "系统名称", width = 15)
    @ApiModelProperty(value = "系统名称")
    private String systemName;

    /**是否消息推送*/
    @Excel(name = "是否消息推送", width = 15)
    @ApiModelProperty(value = "是否消息推送")
    @Dict(dicCode = "yn",dicText = "是否消息推送")
    private String isSend;

    private Integer sortOrder;

    private String icon;

}
