package com.artfess.rescue.external.model;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.http.HttpStatus;

import java.io.Serializable;

/**
 * @Author: wsf
 * @Description: 首讯接口统一响应结构Model
 * @DateTime: 2025/4/17 15:12
 **/
@Data
@ApiModel(description = "首讯接口统一响应结构")
public class ApiResponse<T> implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "响应状态码，例如：200 表示成功")
    private int code;

    @ApiModelProperty(value = "响应提示信息，例如：操作成功")
    private String msg;

    @ApiModelProperty(value = "响应数据内容，根据不同接口返回不同类型")
    private T data;

    public ApiResponse(HttpStatus httpStatus, String msg, T data) {
        this.code = httpStatus.value();
        this.msg = msg;
        this.data = data;
    }
}