package com.sf.service.gateway.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.sf.common.annotation.Excel;
import com.sf.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 接口信息列表展示
 * 
 * @author zoukun
 * @date 2024-04-22
 */
@Data
@ApiModel(value = "GatewayInterfaceInfoListVO", description = "接口信息列表展示对象")
public class GatewayInterfaceInfoListVO {
    private static final long serialVersionUID = 1L;

    /** ID */
    @ApiModelProperty("ID")
    private Long id;

    /** 接口名称 */
    @Excel(name = "接口名称")
    @ApiModelProperty("接口名称")
    private String interfaceName;

    /** 接口路径 */
    @Excel(name = "接口路径")
    @ApiModelProperty("接口名称")
    private String interfacePath;

    /** 请求方式 */
    @Excel(name = "请求方式")
    @ApiModelProperty("请求方式")
    private String requestMethod;

    /** 接口描述 */
    @Excel(name = "接口描述")
    @ApiModelProperty("接口描述")
    private String description;

    /** 接口版本 */
    @Excel(name = "接口版本")
    @ApiModelProperty("接口版本")
    private String version;

    /** 接口状态（0停用 1启用） */
    @Excel(name = "接口状态", readConverterExp = "0=停用,1=启用")
    @ApiModelProperty("接口状态(0=停用,1=启用)")
    private String status;

    /** 接口文档（文档地址） */
    @Excel(name = "接口文档", readConverterExp = "文档地址")
    @ApiModelProperty("接口文档（文档地址）")
    private String document;

    @ApiModelProperty("调用次数")
    private Long numberOfCalls;

    @ApiModelProperty("响应时间（平均 ms）")
    private Long averageResponseTime;

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

    @ApiModelProperty("网关服务id")
    private Long serverId;

    @ApiModelProperty("网关服务名称")
    private String serverName;

    @ApiModelProperty
    private List<GatewayStrategyListVO> strategyList;

}
