package com.hr.repository.domain;

import jakarta.persistence.*;
import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;

import java.util.Date;


@Schema(description = "接口日志表")
@Data
@Entity
@Table(name = "ip_log")
public class IpLogPO {

    @Id
    /** 主键,; */
    @Schema(description = "主键")
	private Long id ;

    @Column(name="oid")
    /** 调用记录表主键,; */
    @Schema(description = "调用记录表主键")
	private Long oid ;

    /** 调用编号（业务编号）,唯一，格式为年月日时分秒毫秒加6位随机数
20250918010256001000001,; */
    @Column(name="order_no")
    @Schema(description = "调用编号（业务编号）;唯一，格式为年月日时分秒毫秒加6位随机数20250918010256001000001")
	private String orderNo ;

    /** 执行类型,request请求，callback回调,; */
    @Column(name="execute_type")
    @Schema(description = "执行类型;request请求，callback回调")
	private String executeType ;

    /** 请求地址/回调地址,如果是请求类型则记录请求地址。若是回调类型则记录回调地址。,; */
    @Column(name="url")
    @Schema(description = "请求地址/回调地址;如果是请求类型则记录请求地址。若是回调类型则记录回调地址。")
	private String url ;

    /** 请求状态,handle处理中，success成功，fail失败,; */
    @Column(name="status")
    @Schema(description = "请求状态;handle处理中，success成功，fail失败")
	private String status ;

    /** 请求参数,临时存储json格式，通过定时任务上传到OSS后更换为oss存储url,; */
    @Column(name="request_param")
    @Schema(description = "请求参数;临时存储json格式，通过定时任务上传到OSS后更换为oss存储url")
	private String requestParam ;

    /** 响应结果,临时存储json格式，通过定时任务上传到OSS后更换为oss存储url,; */
    @Column(name="response_result")
    @Schema(description = "响应结果;临时存储json格式，通过定时任务上传到OSS后更换为oss存储url")
	private String responseResult ;

    /** 响应状态码,; */
    @Column(name="http_status")
    @Schema(description = "响应状态码")
	private String httpStatus ;

    /** 异常信息,存储调用时的各种程序异常信息,; */
    @Column(name="msg")
    @Schema(description = "异常信息;存储调用时的各种程序异常信息")
	private String msg ;

	/**	
	系统响应体
	*/
    @Column(name="system_response")
    @Schema(description = "系统响应体")
	private String systemResponse;

    /** 创建时间,; */
    @Column(name="add_time")
    @Schema(description = "创建时间")
	private Date addTime ;

    /** 更新时间,; */
    @Column(name="update_time")
    @Schema(description = "更新时间")
	private Date updateTime ;

    /** 创建人id,; */
    @Column(name="add_user_id")
    private Long addUserId ;

    /** 更新人id,; */
    @Column(name="update_user_id")
    private Long updateUserId ;

    /** 创建人姓名,; */
    @Column(name="add_user_name")
    @Schema(description = "创建人姓名")
	private String addUserName ;

    /** 更新人姓名,; */
    @Column(name="update_user_name")
    @Schema(description = "更新人姓名")
	private String updateUserName ;

}
