package com.dora.entity;

import lombok.Data;
import java.time.LocalDateTime;

/**
 * 工具调用记录实体类
 * 记录每次工具调用和积分消耗
 */
@Data
public class ToolUsageLog {
    /**
     * 主键
     */
    private Long id;
    
    /**
     * 调用流水号（唯一）
     */
    private String usageNo;
    
    /**
     * 用户ID
     */
    private Long userId;
    
    /**
     * 工具配置ID
     */
    private Long toolId;
    
    /**
     * 工具编码
     */
    private String toolCode;
    
    /**
     * 工具名称（冗余存储，便于查询）
     */
    private String toolName;
    
    /**
     * 消耗积分数
     */
    private Integer pointsCost;
    
    /**
     * 请求参数（JSON格式）
     */
    private String requestParams;
    
    /**
     * 响应状态（success/failed）
     */
    private String status;
    
    /**
     * 响应数据（JSON格式，可选存储）
     */
    private String responseData;
    
    /**
     * 错误信息
     */
    private String errorMessage;
    
    /**
     * 请求耗时（毫秒）
     */
    private Long requestDuration;
    
    /**
     * 客户端IP
     */
    private String clientIp;
    
    /**
     * 调用时间
     */
    private LocalDateTime createTime;
    
    /**
     * 逻辑删除标识
     */
    private Integer isDeleted;
}
