package com.sooka.sponest.monitor.dahua.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.datascope.base.domain.BaseBusinessEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;
import java.util.List;

/**
 *
 * @author ruoyi
 * @date 2023-12-09
 */
public class CenternonitorTDahuaOperateLog extends BaseBusinessEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    private Long id;

    private String recordId;

    /**
     * 用户名
     */
    @Excel(name = "用户名")
    private String userName;

    /**
     * 操作者ip
     */
    @Excel(name = "操作者ip")
    private String terminalIp;

    /**
     * 操作者mac地址
     */
    @Excel(name = "操作者mac地址")
    private String macAddr;

    /**
     * 通道名
     */
    @Excel(name = "通道名")
    private String channelName;

    /**
     * 设备名称
     */
    @Excel(name = "设备名称")
    private String deviceName;

    /**
     * 模块名称
     */
    @Excel(name = "模块名称")
    private String operateName;

    /**
     * 操作类型
     */
    @Excel(name = "操作类型")
    private String operateType;

    /**
     * 操作结果(1成功；0失败;)
     */
    @Excel(name = "操作结果(1成功；0失败;)")
    private Integer operateResult;

    /**
     * 服务标识
     */
    @Excel(name = "服务标识")
    private String serviceCode;

    /**
     * 服务名称
     */
    @Excel(name = "服务名称")
    private String serviceName;

    /**
     * 操作耗时
     */
    @Excel(name = "操作耗时")
    private Long responseTime;

    /**
     * 事件内容
     */
    @Excel(name = "事件内容")
    private String detail;

    /**
     * 业务操作
     */
    @Excel(name = "业务操作")
    private String behavior;

    /**
     * 通道编码
     */
    @Excel(name = "通道编码")
    private String channelCode;

    /**
     * 设备ip
     */
    @Excel(name = "设备ip")
    private String deviceIp;

    /**
     * url
     */
    @Excel(name = "url")
    private List<String> url;

    /**
     * 操作时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date operateTime;

    /** 部门ID */
    private Long deptId;

    /** 父部门ID */
    private Long parentId;

    /** 祖级列表 */
    private String ancestors;

    /** 部门名称 */
    private String deptName;

    private String year;

    private Integer limit;

    private List<Long> ids;

    /**
     * 操作时间
     */
    private List<String> operateTimeRange;

    @JsonProperty("id")
    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    @JsonProperty("recordId")
    public void setRecordId(String recordId) {
        this.recordId = recordId;
    }

    public String getRecordId() {
        return recordId;
    }

    @JsonProperty("userName")
    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getUserName() {
        return userName;
    }

    @JsonProperty("terminalIp")
    public void setTerminalIp(String terminalIp) {
        this.terminalIp = terminalIp;
    }

    public String getTerminalIp() {
        return terminalIp;
    }

    @JsonProperty("macAddr")
    public void setMacAddr(String macAddr) {
        this.macAddr = macAddr;
    }

    public String getMacAddr() {
        return macAddr;
    }

    @JsonProperty("channelName")
    public void setChannelName(String channelName) {
        this.channelName = channelName;
    }

    public String getChannelName() {
        return channelName;
    }

    @JsonProperty("deviceName")
    public void setDeviceName(String deviceName) {
        this.deviceName = deviceName;
    }

    public String getDeviceName() {
        return deviceName;
    }

    @JsonProperty("operateName")
    public void setOperateName(String operateName) {
        this.operateName = operateName;
    }

    public String getOperateName() {
        return operateName;
    }

    @JsonProperty("operateType")
    public void setOperateType(String operateType) {
        this.operateType = operateType;
    }

    public String getOperateType() {
        return operateType;
    }

    @JsonProperty("operateResult")
    public void setOperateResult(Integer operateResult) {
        this.operateResult = operateResult;
    }

    public Integer getOperateResult() {
        return operateResult;
    }

    @JsonProperty("serviceCode")
    public void setServiceCode(String serviceCode) {
        this.serviceCode = serviceCode;
    }

    public String getServiceCode() {
        return serviceCode;
    }

    @JsonProperty("serviceName")
    public void setServiceName(String serviceName) {
        this.serviceName = serviceName;
    }

    public String getServiceName() {
        return serviceName;
    }

    @JsonProperty("responseTime")
    public void setResponseTime(Long responseTime) {
        this.responseTime = responseTime;
    }

    public Long getResponseTime() {
        return responseTime;
    }

    @JsonProperty("detail")
    public void setDetail(String detail) {
        this.detail = detail;
    }

    public String getDetail() {
        return detail;
    }

    @JsonProperty("behavior")
    public void setBehavior(String behavior) {
        this.behavior = behavior;
    }

    public String getBehavior() {
        return behavior;
    }

    @JsonProperty("channelCode")
    public void setChannelCode(String channelCode) {
        this.channelCode = channelCode;
    }

    public String getChannelCode() {
        return channelCode;
    }

    @JsonProperty("deviceIp")
    public void setDeviceIp(String deviceIp) {
        this.deviceIp = deviceIp;
    }

    public String getDeviceIp() {
        return deviceIp;
    }

    @JsonProperty("operateTime")
    public void setOperateTime(Date operateTime) {
        this.operateTime = operateTime;
    }

    public Date getOperateTime() {
        return operateTime;
    }

    @JsonProperty("url")
    public void setUrl(List<String> url) {
        this.url = url;
    }

    public List<String> getUrl() {
        return url;
    }


    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public Long getParentId() {
        return parentId;
    }

    public void setParentId(Long parentId) {
        this.parentId = parentId;
    }

    public String getAncestors() {
        return ancestors;
    }

    public void setAncestors(String ancestors) {
        this.ancestors = ancestors;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public String getYear() {
        return year;
    }

    public void setYear(String year) {
        this.year = year;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public List<Long> getIds() {
        return ids;
    }

    public void setIds(List<Long> ids) {
        this.ids = ids;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("recordId", getRecordId())
                .append("userName", getUserName())
                .append("terminalIp", getTerminalIp())
                .append("macAddr", getMacAddr())
                .append("channelName", getChannelName())
                .append("deviceName", getDeviceName())
                .append("operateName", getOperateName())
                .append("operateType", getOperateType())
                .append("operateResult", getOperateResult())
                .append("serviceCode", getServiceCode())
                .append("serviceName", getServiceName())
                .append("responseTime", getResponseTime())
                .append("detail", getDetail())
                .append("behavior", getBehavior())
                .append("channelCode", getBehavior())
                .append("deviceIp", getChannelCode())
                .append("operateTime", getOperateTime())
                .append("createTime", getCreateTime())
                .append("deptId", getDeptId())
                .append("parentId", getParentId())
                .append("ancestors", getAncestors())
                .append("deptName", getDeptName())
                .append("year", getYear())
                .toString();
    }
}
