package org.xyzh.common.dto.system;

import org.xyzh.common.dto.BaseDTO;

/**
 * @description 操作日志表
 * @filename TbSysOperationLog.java
 * @author yslg
 * @copyright xyzh
 * @since 2025-10-15
 */
public class TbSysOperationLog extends BaseDTO {
    
    private static final long serialVersionUID = 1L;
    
    /**
     * @description 用户ID
     */
    private String userID;
    
    /**
     * @description 用户名
     */
    private String username;
    
    /**
     * @description 操作模块
     */
    private String module;
    
    /**
     * @description 操作类型
     */
    private String operation;
    
    /**
     * @description 请求方法
     */
    private String method;
    
    /**
     * @description 请求URL
     */
    private String requestUrl;
    
    /**
     * @description 请求方式（GET/POST等）
     */
    private String requestMethod;
    
    /**
     * @description 请求参数
     */
    private String requestParams;
    
    /**
     * @description 响应数据
     */
    private String responseData;
    
    /**
     * @description IP地址
     */
    private String ipAddress;
    
    /**
     * @description IP来源
     */
    private String ipSource;
    
    /**
     * @description 浏览器
     */
    private String browser;
    
    /**
     * @description 操作系统
     */
    private String os;
    
    /**
     * @description 操作状态（0失败 1成功）
     */
    private Integer status;
    
    /**
     * @description 错误消息
     */
    private String errorMessage;
    
    /**
     * @description 执行时长（毫秒）
     */
    private Integer executeTime;

    public String getUserID() {
        return userID;
    }

    public void setUserID(String userID) {
        this.userID = userID;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getModule() {
        return module;
    }

    public void setModule(String module) {
        this.module = module;
    }

    public String getOperation() {
        return operation;
    }

    public void setOperation(String operation) {
        this.operation = operation;
    }

    public String getMethod() {
        return method;
    }

    public void setMethod(String method) {
        this.method = method;
    }

    public String getRequestUrl() {
        return requestUrl;
    }

    public void setRequestUrl(String requestUrl) {
        this.requestUrl = requestUrl;
    }

    public String getRequestMethod() {
        return requestMethod;
    }

    public void setRequestMethod(String requestMethod) {
        this.requestMethod = requestMethod;
    }

    public String getRequestParams() {
        return requestParams;
    }

    public void setRequestParams(String requestParams) {
        this.requestParams = requestParams;
    }

    public String getResponseData() {
        return responseData;
    }

    public void setResponseData(String responseData) {
        this.responseData = responseData;
    }

    public String getIpAddress() {
        return ipAddress;
    }

    public void setIpAddress(String ipAddress) {
        this.ipAddress = ipAddress;
    }

    public String getIpSource() {
        return ipSource;
    }

    public void setIpSource(String ipSource) {
        this.ipSource = ipSource;
    }

    public String getBrowser() {
        return browser;
    }

    public void setBrowser(String browser) {
        this.browser = browser;
    }

    public String getOs() {
        return os;
    }

    public void setOs(String os) {
        this.os = os;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getErrorMessage() {
        return errorMessage;
    }

    public void setErrorMessage(String errorMessage) {
        this.errorMessage = errorMessage;
    }

    public Integer getExecuteTime() {
        return executeTime;
    }

    public void setExecuteTime(Integer executeTime) {
        this.executeTime = executeTime;
    }

    @Override
    public String toString() {
        return "TbSysOperationLog{" +
                "id=" + getID() +
                ", userID='" + userID + '\'' +
                ", username='" + username + '\'' +
                ", module='" + module + '\'' +
                ", operation='" + operation + '\'' +
                ", status=" + status +
                ", executeTime=" + executeTime +
                ", createTime=" + getCreateTime() +
                '}';
    }
}
