package com.kexue.skills.entity;


import java.io.Serializable;
import com.kexue.skills.entity.base.BaseEntity;
import com.kexue.skills.entity.base.BaseQueryDto;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

/**
 * (SysLog)实体类
 *
 * @author 王志维
 * @since 2025-02-21 23:01:48
 */
@Data
public class SysLog extends BaseEntity implements Serializable  {
    private static final long serialVersionUID = -84681351128482970L;

        @Schema(description ="主键ID")
        private Long logId;

        @Schema(description ="链路ID")
        private String traceId;

        @Schema(description ="日志描述")
        private String description;

        @Schema(description ="所属模块")
        private String module;

        @Schema(description ="请求URL")
        private String requestUrl;

        @Schema(description ="请求方式")
        private String requestMethod;

        @Schema(description ="请求头")
        private String requestHeaders;

        @Schema(description ="请求体")
        private String requestBody;

        @Schema(description ="状态码")
        private Integer statusCode;

        @Schema(description ="响应头")
        private String responseHeaders;

        @Schema(description ="响应体")
        private String responseBody;

        @Schema(description ="耗时（ms）")
        private Long timeTaken;

        @Schema(description ="IP")
        private String ip;

        @Schema(description ="IP归属地")
        private String address;

        @Schema(description ="浏览器")
        private String browser;

        @Schema(description ="操作系统")
        private String os;

        @Schema(description ="状态（1：成功；2：失败）")
        private Integer status;

        @Schema(description ="错误信息")
        private String errorMsg;

        @Schema(description ="创建人")
        private Long createUser;

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

        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
        @Schema(description ="更新时间")
        private Date updateTime;

        @Schema(description ="是否删除 ：0 未删除，1已删除")
        private Integer deleteFlag;

        @Schema(description ="创建人")
        private String createBy;

        @Schema(description ="更新人")
        private String updateBy;

}
