package com.tongran.rocketmq.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.tongran.common.core.annotation.Excel;
import com.tongran.common.core.web.domain.BaseEntity;
import lombok.Data;

import java.util.Date;

/**
 * FRPC配置管理对象 rm_frpc_config_manage
 * 
 * @author tongran
 * @date 2025-12-19
 */
@Data
public class RmFrpcConfigManage extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 客户端ID */
    @Excel(name = "客户端ID")
    private String clientId;

    /** FRPC服务器地址 */
    @Excel(name = "FRPC服务器地址")
    private String frpcServerAddr;

    /** FRPC服务器端口 */
    @Excel(name = "FRPC服务器端口")
    private String frpcServerPort;

    /** FRPC远程端口 */
    @Excel(name = "FRPC远程端口")
    private String frpcRemotePort;
    /** FRPC远程端口 */
    @Excel(name = "FRPC远程端口")
    private String frpcType;

    /** FRPC本地端口 */
    @Excel(name = "FRPC本地端口")
    private String frpcLocalPort;

    /** FRPC本地IP */
    @Excel(name = "FRPC本地IP")
    private String frpcLocalIp;

    /** FRPC配置名称 */
    @Excel(name = "FRPC配置名称")
    private String frpcName;

    /** FRP连接地址生成状态(0-未生成,1-生成中，2已生成) */
    @Excel(name = "FRP连接地址生成状态", readConverterExp = "0=未生成,1=生成中,2=已生成")
    private Long frpcConnectionStatus;

    /** FRPC服务状态(0-未运行,1-运行) */
    @Excel(name = "FRPC服务状态", readConverterExp = "0=未运行,1=运行")
    private String frpcStatus;

    /** FRPC连接生成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "FRPC连接生成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date frpcCreateTime;
    /** 起始远程端口 */
    private Integer startRemotePort;

    /** 结束远程端口 */
    private Integer endRemotePort;
    // 管理网相关字段

    @Excel(name = "管理网-公网IP")
    private String mgmtPublicIp;    // 管理网-公网IP

    @Excel(name = "管理网-接口名称")
    private String mgmtInterfaceName; // 管理网-接口名称

    @Excel(name = "管理网-mac地址")
    private String mgmtMacAddress;  // 管理网-mac地址

    @Excel(name = "管理网-接口类型")
    private String mgmtInterfaceType; // 管理网-接口类型

    @Excel(name = "管理网-IPv4地址")
    private String mgmtIpv4Address; // 管理网-IPv4地址

    @Excel(name = "管理网-网关")
    private String mgmtGateway; // 管理网-网关地址

}
